1
0
mirror of https://github.com/Unleash/unleash.git synced 2024-12-22 19:07:54 +01:00
Commit Graph

12870 Commits

Author SHA1 Message Date
David Leek
37b55eff5a
fix: check for enterprise in the create/edit templates UI (#8985) 2024-12-16 15:09:34 +01:00
Jaanus Sellin
3696420c51
chore: rebrand cache to delta (#8986)
The cache is too generic, we will be using delta from now on.
2024-12-16 12:51:03 +02:00
Jaanus Sellin
a2f82716d1
fix: now null sdks will also be handled nicely (#8984)
We had some error logs, that when SDK is null, then the application
overview query was failing.

This solves it
2024-12-16 12:11:48 +02:00
Fredrik Strand Oseberg
39ca516823
feat: add prom metrics (#8980)
This PR adds prometheus metrics that allows us to see whether or not
tags and namePrefix is used at all in our cloud offering.
2024-12-16 10:48:33 +01:00
Gastón Fournier
b1cced77c2
fix: can't sort on undefined sdks (#8982)
## About the changes
According to some logs, sdks can be undefined:
```
TypeError: Cannot read properties of null (reading 'sort')\n    at /unleash/node_modules/unleash-server/dist/lib/db/client-applications-store.js:330:22\n 
```
2024-12-16 10:12:21 +01:00
David Leek
76dfa3c979
fix: use strategyName instead of name property for component to load (#8983) 2024-12-16 09:18:58 +01:00
Jaanus Sellin
eb0699ca03
feat: move delta controller to new path (#8981)
Feature delta is now at api//client/delta
2024-12-16 08:46:15 +02:00
Alvin Bryan
3afcf690de
Go tutorial 🐿️ (#8904)
And examples 😄

---------

Co-authored-by: melindafekete <melinda.fekete@getunleash.io>
Co-authored-by: Nnenna Ndukwe <nnenna.s.ndukwe@gmail.com>
2024-12-13 20:39:44 +00:00
Github Actions Bot
abafa84ea5 6.5.2 2024-12-13 13:34:59 +00:00
Github Actions Bot
b52f6380b2 docs: Update CHANGELOG.md 2024-12-13 13:34:47 +00:00
Gastón Fournier
59828cf5ac
feat: enable docker version tag on main (#8979)
Since we're releasing from main now...
2024-12-13 14:24:22 +01:00
Jaanus Sellin
a257ca4474
feat: deleted feature names should come from event (#8978)
This is still raw and experimental.
We started to pull deleted features from event payload.
Now we put full query towards read model.

Co-Author:  @FredrikOseberg
2024-12-13 14:54:15 +02:00
Melinda Fekete
b211c9c33f
ISO27K compliance doc (#8973) 2024-12-13 13:04:42 +01:00
David Leek
a738be68b0
fix: template edit UI issues (#8974) 2024-12-13 11:25:57 +01:00
Fredrik Strand Oseberg
b2cf0e4e6b
Feat/refactor polling (#8976)
This PR refactors the method that listens on revision changes:
- Now supports all environments
- Removed unnecessary populate cache method

# Discussion point

In the listen method, should we implement logic to look into which
environments the events touched? By doing this we would:
- Reduce cache size
- Save some memory/CPU if the environment is not initialized in the
cache, because we could skip the DB calls.
2024-12-13 11:25:37 +02:00
Thomas Heartman
428b0b370b
fix: only call project overview from connect dialog when open (#8977)
Fixes a bug where we'd call the project overview every second when on a
project page.

The reason this happens is that the connect SDK dialog sets up a fetcher
to re-fetch it every second.

The request should only be fired when the dialog is open, but because of
the way it's set up, we we're setting up the repeated fetch regardless
of whether the dialog was open or not.

This PR moves the dialog and all it's content into a nested component
that's only rendered if the dialog should be opened.
2024-12-13 09:41:49 +01:00
Jaanus Sellin
63d2359dec
feat: new read model for client feature toggle cache (#8975)
This is based on the exising client feature toggle store, but some
alterations.

1. We support all of the querying it did before.
2. Added support to filter by **featureNames**
3. Simplified logic, so we do not have admin API logic
- no return of tags
- no return of last seen
- no return of favorites
- no playground logic


Next PR will try to include the revision ID.
2024-12-13 10:23:46 +02:00
Fredrik Strand Oseberg
8eb84e9645
fix: initialize cache when we get the first request (#8971)
This PR changes the caching functionality so that we initialize the
cache when we receive the first request instead of frontloading the
caches.
2024-12-13 08:39:40 +01:00
Tymoteusz Czech
67864e7008
migration: add permissions for instance maintenance (#8885)
after #8875
2024-12-12 16:53:46 +01:00
Mateusz Kwasniewski
1008f9d105
feat: streaming headers with app name (#8972) 2024-12-12 16:28:28 +01:00
Github Actions Bot
d57063c3e6 6.5.1 2024-12-12 14:49:58 +00:00
Github Actions Bot
05e40ccac5 docs: Update CHANGELOG.md 2024-12-12 14:49:47 +00:00
Ivar Conradi Østhus
55b63db6f3
fix: upgrade make-fetch-happen (#8970) 2024-12-12 14:23:04 +01:00
Jaanus Sellin
c0925ea75c
fix: do not initialize cache when flag is off (#8969)
This feature is still in early alpha. We do not want to populate any
cache on startup. We might not want to do it ever.
2024-12-12 15:06:33 +02:00
Tymoteusz Czech
de7b95a691
fix: e2e cypress create flag delay (#8968) 2024-12-12 13:43:01 +01:00
Ivar Conradi Østhus
bdfccc534a
fix: remove unused vulnerable transitive dependency 'prompt' (#8953)
My goal was to remove the "revalidator" dependency coming as a
transitive dependency from db-migrate. Everything seems to still work on
my machine...
2024-12-12 12:38:50 +00:00
dependabot[bot]
e88cbb4185
chore(deps): bump nanoid from 3.3.7 to 3.3.8 in /frontend (#8962)
Bumps [nanoid](https://github.com/ai/nanoid) from 3.3.7 to 3.3.8.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/ai/nanoid/blob/main/CHANGELOG.md">nanoid's
changelog</a>.</em></p>
<blockquote>
<h2>3.3.8</h2>
<ul>
<li>Fixed a way to break Nano ID by passing non-integer size (by <a
href="https://github.com/myndzi"><code>@​myndzi</code></a>).</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="3044cd5e73"><code>3044cd5</code></a>
Release 3.3.8 version</li>
<li><a
href="4fe34959c3"><code>4fe3495</code></a>
Update size limit</li>
<li><a
href="d643045f40"><code>d643045</code></a>
Fix pool pollution, infinite loop (<a
href="https://redirect.github.com/ai/nanoid/issues/510">#510</a>)</li>
<li>See full diff in <a
href="https://github.com/ai/nanoid/compare/3.3.7...3.3.8">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=nanoid&package-manager=npm_and_yarn&previous-version=3.3.7&new-version=3.3.8)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/Unleash/unleash/network/alerts).

</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-12 13:36:06 +01:00
Jaanus Sellin
59bdfcd84b
feat: first revision of delta api (#8967)
This is not changing existing logic.
We are creating a new endpoint, which is guarded behind a flag.

---------

Co-authored-by: Simon Hornby <liquidwicked64@gmail.com>
Co-authored-by: FredrikOseberg <fredrik.no@gmail.com>
2024-12-12 14:18:11 +02:00
Mateusz Kwasniewski
fe8308da1f
feat: productivity email action text (#8966) 2024-12-12 12:00:08 +01:00
Fredrik Strand Oseberg
7c646bc523
Chore/increase client api test coverage (#8950)
Added more tests around specific plans. Also added snapshot as per our
conversation @gastonfournier, but I'm unsure how much value it will give
because it seems that the tests should already catch this using
respondWithValidation and the OpenAPI schema. The problem here is that
empty array is a valid state, so there were no reason for the schema to
break the tests.
2024-12-12 11:42:18 +01:00
David Leek
8ad63bc035
feat: make segments editing work with template milestone strategies (#8964) 2024-12-12 11:27:32 +01:00
Tymoteusz Czech
828ecf8d63
fix: migrations e2e test (#8965)
Onboarding changed e2e test that should run before migration.
2024-12-12 11:19:03 +01:00
Thomas Heartman
7a436347cb
fix(1-3173): clear "removed tags" when you bulk update tags (#8952)
This PR fixes a bug wherein the list of tags to remove from a group of
tags wouldn't be correctly updated.

## Repro steps
- Add a console log line to
`frontend/src/component/feature/FeatureView/FeatureOverview/ManageTagsDialog/ManageBulkTagsDialog.tsx`'s
`ManagebulkTagsDialog`. Log the value of the`payload` variable.
- Pick a flag with no tags.
- Add tag A -> before submitting, you should have one added tag and zero
removed flags. After submitting, both should be empty.
- Now remove tag A -> before submitting, you should have one removed tag
and zero added tag. After submitting, both should be empty
- Notice that removed flags hasn't been emptied, but still contains tag
A.
- Now add tab B -> before submitting, you should have tag B in added and
nothing in removed. Notice that tag A is still in removed.



## Discussion points

This gives us both a `clear` and a `reset` event, which is unfortunate
because they sound like they do the same thing. I'd suggest renaming the
`clear` event (because it doesn't really clear the state completely),
but I'm not sure to what. Happy to do that if you have a suggestion.

I have not tested that submission of the form actually resets the state.
I spent about 45 minutes looking at it, but couldn't find a way that was
sensible and worked (considered spying: couldn't make it work;
considered refactoring and extracting components: think that's too much
of a change). I think this is benign enough that it can go without a
test for that thing actually being called.

I did, however, test the different reducer commands.
2024-12-12 09:31:39 +01:00
Mateusz Kwasniewski
37a3ec9599
fix: productivity report small screens (#8963) 2024-12-12 09:21:55 +01:00
Jaanus Sellin
17d3b5c2fb
fix: make project ui query optimized (#8961)
From 13 seconds to 0.1 seconds.

1. Joining 1 million events to projects/features is slow. **Solved by
using CTE.**
2. Running grouping on 1 million rows is slow. **Solved by adding
index.**
2024-12-12 08:41:10 +02:00
Michael Ferranti
c3f50263c8
Update fedramp and soc2 docs to point to Unleash Enterprise (#8957) 2024-12-11 14:35:55 +01:00
Christopher Kolstad
f8f7b55a53
task: Remove docker package setup. (#8959)
Keeping the index.js inside the docker folder to avoid our tsconfig
having to be changed. In addition, updated the build to copy less of the
folders into our final image, since we really only needed build and
node_modules.

Should reduce attack surface of the container.
2024-12-11 13:50:38 +01:00
Mateusz Kwasniewski
a1f147dfef
fix: move productivity report to features dir (#8960) 2024-12-11 12:06:50 +01:00
Mateusz Kwasniewski
48b21591f6
feat: productivity report trends visualization (#8956) 2024-12-11 11:19:08 +01:00
Melinda Fekete
311df82d37
Strategy docs updates (#8711)
- New navigation for Unleash Concepts
- Updated and restructured activation strategies and related concepts
2024-12-11 10:38:39 +01:00
gitar-bot[bot]
8c189cabd2
[Gitar] Cleaning up stale flag: purchaseAdditionalEnvironments with value false (#8955)
[![Gitar](https://raw.githubusercontent.com/gitarcode/.github/main/assets/gitar-banner.svg)](https://gitar.ai)
This automated PR permanently removes the
`purchaseAdditionalEnvironments` feature flag.
  
  ---
This automated PR was generated by [Gitar](https://gitar.ai). View
[docs](https://gitar.ai/docs).

---------

Co-authored-by: Gitar <noreply@gitar.ai>
Co-authored-by: sjaanus <sellinjaanus@gmail.com>
2024-12-11 10:11:23 +02:00
dependabot[bot]
eb7e2a655d
chore(deps): bump nanoid from 3.3.7 to 3.3.8 in /website (#8947)
Bumps [nanoid](https://github.com/ai/nanoid) from 3.3.7 to 3.3.8.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/ai/nanoid/blob/main/CHANGELOG.md">nanoid's
changelog</a>.</em></p>
<blockquote>
<h2>3.3.8</h2>
<ul>
<li>Fixed a way to break Nano ID by passing non-integer size (by <a
href="https://github.com/myndzi"><code>@​myndzi</code></a>).</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="3044cd5e73"><code>3044cd5</code></a>
Release 3.3.8 version</li>
<li><a
href="4fe34959c3"><code>4fe3495</code></a>
Update size limit</li>
<li><a
href="d643045f40"><code>d643045</code></a>
Fix pool pollution, infinite loop (<a
href="https://redirect.github.com/ai/nanoid/issues/510">#510</a>)</li>
<li>See full diff in <a
href="https://github.com/ai/nanoid/compare/3.3.7...3.3.8">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=nanoid&package-manager=npm_and_yarn&previous-version=3.3.7&new-version=3.3.8)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/Unleash/unleash/network/alerts).

</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-10 16:08:28 +01:00
Alvin Bryan
708fce4428
docs: Fixed diff syntax (#8937)
The blocks with `diff` syntax didn't render correctly. This is a result
of Docusaurus v3 [changing the included languages
](https://docusaurus.io/docs/migration/v3#prism-react-renderer-v20).
2024-12-10 14:48:09 +00:00
Tymoteusz Czech
5cc0e589e8
feat(cjux-278): maintenance root roles (#8875)
Custom root roles for changing maintenance mode state and banners.

Internal ticket: CJUX-278
2024-12-10 15:22:46 +01:00
Thomas Heartman
c860d8e434
chore: remove console.log 2024-12-10 14:39:57 +01:00
Thomas Heartman
b2c58102dd
chore(unl-204): remove uses of toast text and confetti (#8941)
As of PR #8935, we no longer support both text and title, and confetti
has been removed.

This PR:
- removes `confetti` from the toast interface
- merges `text` and `title` into `text` and updates its uses across the
codebase.
- readjusts the text where necessary.
2024-12-10 13:38:04 +00:00
Thomas Heartman
2f7beceb21
chore(unl-204): make toasts smaller (#8935)
This PR makes toasts smaller and less intrusive, and gives them a new
color scheme.

Changes include:
- new color scheme
- no description, only title
- new padding
- removes confetti code (even when rendered, they're invisible; UX also
says to cut it)
- use warning triangle for error messages 

I've also set a max height on the container and made it scrollable if
it's too tall to deal with super long messages.

I'll remove the description and confetti props in a separate PR to keep
this one cleaner.

Light mode:

![image](https://github.com/user-attachments/assets/05666259-bc40-4c87-8e51-9900bc67310e)

![image](https://github.com/user-attachments/assets/25dfca09-af5f-4a2a-8490-1169f6d8accb)


Dark mode:

![image](https://github.com/user-attachments/assets/8fa199aa-3cb5-47b4-acaa-1b0fcfd668eb)

![image](https://github.com/user-attachments/assets/eca7d26e-f695-43f9-b281-a64315544212)


With line break (min-width):

![image](https://github.com/user-attachments/assets/2ebd9117-a7c2-4a96-8b4b-c217ba12993b)

With line break (max-width):

![image](https://github.com/user-attachments/assets/8015c761-fc1e-4ff9-992d-a0e9ec27a4f9)

With very long message on phone in landscape mode:


![image](https://github.com/user-attachments/assets/7dc34d25-026c-46c3-9906-dc1348daf208)
2024-12-10 13:10:04 +00:00
Mateusz Kwasniewski
7ff6a9c5c8
chore: remove oidc UI flag (#8949) 2024-12-10 11:56:50 +01:00
Fredrik Strand Oseberg
dfcb196b20
feat: add core feature alert gh action (#8948)
Adds a GH action that notifies us that core features were changed. The
action listens on paths in the source code where our client api and
frontend api are located. If there is a change to these files, we add a
comment to the PR to review carefully and add principals and CTO as
reviewers.
2024-12-10 10:09:52 +01:00
Mateusz Kwasniewski
9de96c8004
feat: OIDC redirect flag (#8944) 2024-12-10 09:07:00 +01:00