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

11979 Commits

Author SHA1 Message Date
renovate[bot]
8df2fe0d41
chore(deps): update dependency cypress to v13.13.1 (#7727)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [cypress](https://cypress.io)
([source](https://togithub.com/cypress-io/cypress)) | [`13.13.0` ->
`13.13.1`](https://renovatebot.com/diffs/npm/cypress/13.13.0/13.13.1) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/cypress/13.13.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/cypress/13.13.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/cypress/13.13.0/13.13.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/cypress/13.13.0/13.13.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>cypress-io/cypress (cypress)</summary>

###
[`v13.13.1`](https://togithub.com/cypress-io/cypress/releases/tag/v13.13.1)

[Compare
Source](https://togithub.com/cypress-io/cypress/compare/v13.13.0...v13.13.1)

Changelog: https://docs.cypress.io/guides/references/changelog#13-13-1

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "after 7pm every weekday,before 5am
every weekday" in timezone Europe/Madrid, Automerge - At any time (no
schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View the
[repository job log](https://developer.mend.io/github/Unleash/unleash).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40NDAuNyIsInVwZGF0ZWRJblZlciI6IjM3LjQ0MC43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-01 18:09:14 +00:00
Tymoteusz Czech
8aa812e0f5
feat: Orphaned tokens - new API tokens list icon (#7693)
Moving warning icon from "projects" column, to left icon.
2024-08-01 14:31:42 +00:00
Gastón Fournier
fc02581a10
docs: add subpages of edge documentation (#7720)
When all edge documentation was in a single page, we had all of it here:
https://docs.getunleash.io/reference/unleash-edge but after splitting up
https://github.com/Unleash/unleash-edge/pull/475 some of that
documentation is not present in our docs and we should probably have
them as sub-pages

This change allows us to include subpages for external documentation.
Note that the key of the subpage needs to match the remote path

Checkout the preview:
https://unleash-docs-git-add-edge-subpages-unleash-team.vercel.app/

![image](https://github.com/user-attachments/assets/4b87fe25-fca6-4995-b296-aa58caab4f62)

---------

Co-authored-by: Thomas Heartman <thomas@getunleash.io>
2024-08-01 14:48:58 +02:00
Mateusz Kwasniewski
bbefff5d5a
refactor: rename rollback to more explicit rollbackTransaction (#7723) 2024-08-01 13:49:49 +02:00
Tymoteusz Czech
d1e70eefbe
feat: Remove orphaned tokens flags (#7714)
Cleanup of `allowOrphanedWildcardTokens` and `cleanApiTokenWhenOrphaned`
2024-08-01 13:31:52 +02:00
Mateusz Kwasniewski
5668bfb7d4
feat: preview changes button (#7722) 2024-08-01 11:59:35 +02:00
Tymoteusz Czech
4aa3a64530
feat: UI for playground of change requests (#7721)
## About the changes
UI draft
2024-08-01 11:16:35 +02:00
Thomas Heartman
f1e95108d1
Wip: split out avatar group; use same tooltip for all avatars (#7681)
Extracts the Avatar Group component into a `common` component and adds a
standard tooltip to all avatars.

Relates to linear issue 1-2606

This is a suggestion / proof of concept for how we can solve it. While I
think we can merge this as is, I'd also be happy to take any discussions
on other ways to approach it etc.

## Why are these changes made together?

Because extracting the avatar group without adding the new tooltip data
made the existing tooltip misbehave (it'd show up in the top left of the
screen, not synced to the avatar in any way).

I probably could have (and still can if you think it's prudent) split it
out such that the avatar gets a standardized tooltip first (and disable
it for the group card avatars), and split out the avatars in a
follow-up. Happy to do that if you think it's better.

## What does this mean? 

It used to be that we had no consistent way of dealing with avatars and
tooltips. Some places had them, some places didn't. This change makes it
so that all avatars that we can show tooltips for will get the same
tooltip.

Previously, we had at least 4 different ways of dealing with tooltips:
- The HTML tooltip (that would be standardized with this PR) in the
project flags table

![image](https://github.com/user-attachments/assets/91098d31-a5e3-4091-9125-332fe5d106fd)
- The "title" that you'd get on your user avatar

![image](https://github.com/user-attachments/assets/39062b61-db8c-4bd5-9fa3-3ecc9bc192ee)
- The group card list tooltip

![image](https://github.com/user-attachments/assets/0d4a696a-e944-446c-8bff-4dcec02d8afb)
- And sometimes you'd get nothing at all

![image](https://github.com/user-attachments/assets/8975afaf-9ca1-4eb6-b443-9ab94b52bbd8)

with this change, we'll always show the same kind of tooltip if we can:


![image](https://github.com/user-attachments/assets/974c592c-c844-4b65-8a55-05e84d3df130)

## What goes in the tooltip? 

We use the `UserAvatar` component for a fair few different things and I
didn't want to extract separate components for all the different use
cases. Instead, I wanted to get an overview over what we use it for and
what is relevant info to show.

I found all the places we used it and tried to form an opinion. 

This tooltip will work with a user's email, name, username, and id. If
there is no user (such as for empty avatars and avatars displaying only
"+n" for remaining members), we show no tooltip.

Following the example set by the group card avatars, we'll try to use
email or username (in that order) as the main bit of text. If the user
has an email or a username and also a name, the name will be used as
secondary text.

If the user does not have an email or username, but has a name, we'll
use the name as the main text.

If the user does not have an email, a username, or a name, we'll try to
show "User ID: N" if they have an id.

If they do not have a username, a name, an email, or an ID, we bail out
and show nothing.

## Why can you disable the tooltip?

In some cases, you might want to disable the tooltip because you have
more information to feed into it. An example of that is in the project
flags table, where we want to show more information in cases where the
user is 'unknown':


![image](https://github.com/user-attachments/assets/758b4e86-e934-47e3-91ce-ce900f76bc54)


## Additional fixes

This PR also adds a few lines of CSS to fix a minor avatar layout bug.

Before:

![image](https://github.com/user-attachments/assets/0150efbf-c51a-40bb-898f-7ddd3565ce21)


After:

![image](https://github.com/user-attachments/assets/f337cf68-c572-4610-b1de-a27749325da8)
2024-08-01 10:45:24 +02:00
Thomas Heartman
0c53f7d21b
feat: create gauges for all resource limits (#7718)
This PR adds Grafana gauges for all the existing resource limits. The
primary purpose is to be able to use this in alerting. Secondarily, we
can also use it to get better insights into how many customers have
increased their limits, as well as how many people are approaching their
limit, regdardless of whether it's been increased or not.

## Discussion points

### Implementation

The first approach I took (in
87528b4c67),
was to add a new gauge for each resource limit. However, there's a lot
of boilerplate for it.

I thought doing it like this (the current implementation) would make it
easier. We should still be able to use the labelName to collate this in
Grafana, as far as I understand? As a bonus, we'd automatically get new
resource limits when we add them to the schema.

``` tsx
        const resourceLimit = createGauge({
            name: 'resource_limit',
            help: 'The maximum number of resources allowed.',
            labelNames: ['resource'],
        });

        // ...

        for (const [resource, limit] of Object.entries(config.resourceLimits)) {
            resourceLimit.labels({ resource }).set(limit);
        }
```

That way, when checking the stats, we should be able to do something
like this:

``` promql
resource_limit{resource="constraintValues"}
```

### Do we need to reset gauges?

I noticed that we reset gauges before setting values in them all over
the place. I don't know if that's necessary. I'd like to get that double
clarified before merging this.
2024-08-01 09:59:25 +02:00
Thomas Heartman
7db42453b1
feat: add filter dropdowns to event log pages (#7711)
Adds placeholder filter buttons (that don't work at all) yet to the
three event logs.

Flag logs get to choose to and from dates, created by, and event type.

Project logs get all that flag logs get + a filter for flag.

The global log gets all project log filters + a project filter.

There's still work to be done to add data to createdBy, eventType, to
hook it up to the API, and to finalize the layout, but I wanted to get a
rough outline in to iterate on later. The eventType icon will also need
to be decided on.


![image](https://github.com/user-attachments/assets/06a65301-9cc5-45ed-b753-2b9235d64ea6)
2024-08-01 08:23:22 +02:00
renovate[bot]
cab18d2881
chore(deps): update dependency browserslist to v4.23.2 (#7717)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [browserslist](https://togithub.com/browserslist/browserslist) |
[`4.23.1` ->
`4.23.2`](https://renovatebot.com/diffs/npm/browserslist/4.23.1/4.23.2)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/browserslist/4.23.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/browserslist/4.23.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/browserslist/4.23.1/4.23.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/browserslist/4.23.1/4.23.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>browserslist/browserslist (browserslist)</summary>

###
[`v4.23.2`](https://togithub.com/browserslist/browserslist/blob/HEAD/CHANGELOG.md#4232)

[Compare
Source](https://togithub.com/browserslist/browserslist/compare/4.23.1...4.23.2)

-   Updated Firefox ESR.

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "after 7pm every weekday,before 5am
every weekday" in timezone Europe/Madrid, Automerge - At any time (no
schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about these
updates again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View the
[repository job log](https://developer.mend.io/github/Unleash/unleash).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40NDAuNyIsInVwZGF0ZWRJblZlciI6IjM3LjQ0MC43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-01 00:50:21 +00:00
renovate[bot]
d2e633af0b
chore(deps): update dependency @types/node to v20.14.12 (#7716)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[@types/node](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node)
([source](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node))
| [`20.14.10` ->
`20.14.12`](https://renovatebot.com/diffs/npm/@types%2fnode/20.14.10/20.14.12)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2fnode/20.14.12?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2fnode/20.14.12?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2fnode/20.14.10/20.14.12?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2fnode/20.14.10/20.14.12?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Configuration

📅 **Schedule**: Branch creation - "after 7pm every weekday,before 5am
every weekday" in timezone Europe/Madrid, Automerge - At any time (no
schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View the
[repository job log](https://developer.mend.io/github/Unleash/unleash).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40NDAuNyIsInVwZGF0ZWRJblZlciI6IjM3LjQ0MC43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-31 21:54:41 +00:00
renovate[bot]
a60dc6b917
chore(deps): update dependency @testing-library/jest-dom to v6.4.8 (#7715)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[@testing-library/jest-dom](https://togithub.com/testing-library/jest-dom)
| [`6.4.6` ->
`6.4.8`](https://renovatebot.com/diffs/npm/@testing-library%2fjest-dom/6.4.6/6.4.8)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@testing-library%2fjest-dom/6.4.8?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@testing-library%2fjest-dom/6.4.8?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@testing-library%2fjest-dom/6.4.6/6.4.8?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@testing-library%2fjest-dom/6.4.6/6.4.8?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>testing-library/jest-dom
(@&#8203;testing-library/jest-dom)</summary>

###
[`v6.4.8`](https://togithub.com/testing-library/jest-dom/compare/v6.4.7...d02e80b1b7ed38090975bdfe49ab8063eec040f5)

[Compare
Source](https://togithub.com/testing-library/jest-dom/compare/v6.4.7...v6.4.8)

###
[`v6.4.7`](https://togithub.com/testing-library/jest-dom/compare/v6.4.6...5cc6298847e08872b79f827921c64c9ba261cc54)

[Compare
Source](https://togithub.com/testing-library/jest-dom/compare/v6.4.6...v6.4.7)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "after 7pm every weekday,before 5am
every weekday" in timezone Europe/Madrid, Automerge - At any time (no
schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View the
[repository job log](https://developer.mend.io/github/Unleash/unleash).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40NDAuNyIsInVwZGF0ZWRJblZlciI6IjM3LjQ0MC43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-31 19:54:11 +00:00
Mateusz Kwasniewski
a4c49e7d7f
fix: rollback should await a result (#7712) 2024-07-31 16:46:15 +02:00
Nuno Góis
49fecb2005
chore: request origin prom metrics (#7709)
https://linear.app/unleash/issue/2-2501/adapt-origin-middleware-to-stop-logging-ui-requests-and-start

This adapts the new origin middleware to stop logging UI requests (too
noisy) and adds new Prometheus metrics.

<img width="745" alt="image"
src="https://github.com/user-attachments/assets/d0c7f51d-feb6-4ff5-b856-77661be3b5a9">

This should allow us to better analyze this data. If we see a lot of API
requests, we can dive into the logs for that instance and check the
logged data, like the user agent.

This PR adds some helper methods to make listening and emitting metric
events more strict in terms of types. I think it's a positive change
aligned with our scouting principle, but if you think it's complex and
does not belong here I'm happy with dropping it.
2024-07-31 13:52:39 +01:00
Mateusz Kwasniewski
987ba5ea0a
chore: composition root playground service (#7710) 2024-07-31 14:44:57 +02:00
Mateusz Kwasniewski
126dff2344
chore: change request playground flag (#7707) 2024-07-31 11:38:55 +02:00
Mateusz Kwasniewski
6170d10e62
feat: rollback transaction wrapper (#7706) 2024-07-31 10:22:05 +02:00
Nuno Góis
9fff29a080
chore: change log level to info in origin middleware (#7705)
https://linear.app/unleash/issue/2-2492/change-origin-middleware-log-level-to-info

Changes origin middleware log level to `info` instead of `debug`.
2024-07-31 09:01:48 +01:00
Thomas Heartman
2822746fc1
refactor: Make event log look and act like other pages (#7704)
Updates the way the event log works. Previously, we'd use the
`displayInline` parameter to disable padding and border. However,
recent pages (including project overview etc) have moved away from
this look.

By bringing the event log into line with how those other pages look,
it'll be easier to make designs for the new filtering capability align
with other Unleash filters.

## Changes

The eventlog is used in three places. In two of them, it used to not
have a separating border. However, when we look at other screens that
have seen recent work (such as feature flags), we see that they *do*
have a separator, so bringing the event log in line seems like a
reasonable change.

Project flags list (notice the separator):

![image](https://github.com/user-attachments/assets/9b56a53d-38ef-4492-b1f8-f40ad5f3b6eb)


Here's what they look like before and after the change:

### Global event log
Before: 

![image](https://github.com/user-attachments/assets/ccf428f6-3491-4c60-a853-13c50ae771f0)

After (no change):

![image](https://github.com/user-attachments/assets/cfc74538-285c-4565-bd38-dfb5e421e966)


### Project event log

Before:

![image](https://github.com/user-attachments/assets/80ef1a36-3b13-4e76-8d59-534d63f0e6bd)


After:

![image](https://github.com/user-attachments/assets/7380518c-f6dc-4d4f-b085-48ed3761bb20)


### Flag event log

Before:

![image](https://github.com/user-attachments/assets/345a5d72-d358-49fd-967c-f6cb0706a4f6)


After:

![image](https://github.com/user-attachments/assets/b4e0d8e9-e79c-477e-8fc4-181c366207fc)
2024-07-31 09:46:47 +02:00
Jaanus Sellin
24e2c4030b
feat: new event search flag (#7699)
Add `newEventSearch` flag
2024-07-31 08:59:42 +02:00
renovate[bot]
c3d2ae08d6
chore(deps): update dependency @tanstack/react-table to v8.19.3 (#7703)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@tanstack/react-table](https://tanstack.com/table)
([source](https://togithub.com/TanStack/table/tree/HEAD/packages/react-table))
| [`8.19.2` ->
`8.19.3`](https://renovatebot.com/diffs/npm/@tanstack%2freact-table/8.19.2/8.19.3)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@tanstack%2freact-table/8.19.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@tanstack%2freact-table/8.19.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@tanstack%2freact-table/8.19.2/8.19.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@tanstack%2freact-table/8.19.2/8.19.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>TanStack/table (@&#8203;tanstack/react-table)</summary>

###
[`v8.19.3`](https://togithub.com/TanStack/table/releases/tag/v8.19.3)

[Compare
Source](https://togithub.com/TanStack/table/compare/v8.19.2...v8.19.3)

Version 8.19.3 - 7/14/24, 8:44 AM

#### Changes

##### Fix

- table-core: assign unassign parentId in grouped row model
([#&#8203;5657](https://togithub.com/TanStack/table/issues/5657))
([`a71ce10`](https://togithub.com/TanStack/table/commit/a71ce10)) by PiR

##### Ci

- enable npm provenance
([#&#8203;5654](https://togithub.com/TanStack/table/issues/5654))
([`0054eb3`](https://togithub.com/TanStack/table/commit/0054eb3)) by
Lachlan Collins
- Add pkg-pr-new previews
([#&#8203;5648](https://togithub.com/TanStack/table/issues/5648))
([`241f26f`](https://togithub.com/TanStack/table/commit/241f26f)) by
Lachlan Collins

##### Docs

- use
[@&#8203;tanstack/lit-virtual](https://togithub.com/tanstack/lit-virtual)
for the virtualized table example
([#&#8203;5655](https://togithub.com/TanStack/table/issues/5655))
([`bb0a536`](https://togithub.com/TanStack/table/commit/bb0a536)) by
[@&#8203;kadoshms](https://togithub.com/kadoshms)
- Fix typo in docs/guide/data.md
([#&#8203;5642](https://togithub.com/TanStack/table/issues/5642))
([`6a4a10d`](https://togithub.com/TanStack/table/commit/6a4a10d)) by
Joseph Markus
- vue: vue filters example
([#&#8203;5644](https://togithub.com/TanStack/table/issues/5644))
([`e749f31`](https://togithub.com/TanStack/table/commit/e749f31)) by
Radu Suciu
- fix rowpinningstate
([`7548860`](https://togithub.com/TanStack/table/commit/7548860)) by
Kevin Vandy

#### Packages

-
[@&#8203;tanstack/table-core](https://togithub.com/tanstack/table-core)[@&#8203;8](https://togithub.com/8).19.3
-
[@&#8203;tanstack/angular-table](https://togithub.com/tanstack/angular-table)[@&#8203;8](https://togithub.com/8).19.3
-
[@&#8203;tanstack/lit-table](https://togithub.com/tanstack/lit-table)[@&#8203;8](https://togithub.com/8).19.3
-
[@&#8203;tanstack/qwik-table](https://togithub.com/tanstack/qwik-table)[@&#8203;8](https://togithub.com/8).19.3
-
[@&#8203;tanstack/react-table](https://togithub.com/tanstack/react-table)[@&#8203;8](https://togithub.com/8).19.3
-
[@&#8203;tanstack/solid-table](https://togithub.com/tanstack/solid-table)[@&#8203;8](https://togithub.com/8).19.3
-
[@&#8203;tanstack/svelte-table](https://togithub.com/tanstack/svelte-table)[@&#8203;8](https://togithub.com/8).19.3
-
[@&#8203;tanstack/vue-table](https://togithub.com/tanstack/vue-table)[@&#8203;8](https://togithub.com/8).19.3
-
[@&#8203;tanstack/react-table-devtools](https://togithub.com/tanstack/react-table-devtools)[@&#8203;8](https://togithub.com/8).19.3

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "after 7pm every weekday,before 5am
every weekday" in timezone Europe/Madrid, Automerge - At any time (no
schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View the
[repository job log](https://developer.mend.io/github/Unleash/unleash).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40NDAuNyIsInVwZGF0ZWRJblZlciI6IjM3LjQ0MC43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-31 01:02:24 +00:00
renovate[bot]
5c6ff8c565
chore(deps): update dependency @cyclonedx/yarn-plugin-cyclonedx to v1.0.2 (#7702)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[@cyclonedx/yarn-plugin-cyclonedx](https://togithub.com/CycloneDX/cyclonedx-node-yarn)
| [`1.0.1` ->
`1.0.2`](https://renovatebot.com/diffs/npm/@cyclonedx%2fyarn-plugin-cyclonedx/1.0.1/1.0.2)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@cyclonedx%2fyarn-plugin-cyclonedx/1.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@cyclonedx%2fyarn-plugin-cyclonedx/1.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@cyclonedx%2fyarn-plugin-cyclonedx/1.0.1/1.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@cyclonedx%2fyarn-plugin-cyclonedx/1.0.1/1.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>CycloneDX/cyclonedx-node-yarn
(@&#8203;cyclonedx/yarn-plugin-cyclonedx)</summary>

###
[`v1.0.2`](https://togithub.com/CycloneDX/cyclonedx-node-yarn/blob/HEAD/HISTORY.md#102----2024-07-15)

[Compare
Source](https://togithub.com/CycloneDX/cyclonedx-node-yarn/compare/v1.0.1...v1.0.2)

-   Dependencies
- Upgraded runtime-dependency `@cyclonedx/cyclonedx-library@6.11.0`, was
`@6.10.0` (via [#&#8203;151], [#&#8203;157])\
This was done to incorporate non-breaking upstream changes and fixes.
-   Build
    -   Use *TypeScript* `v5.5.3` now, was `v5.5.2` (via [#&#8203;149])

[#&#8203;149]:
https://togithub.com/CycloneDX/cyclonedx-node-yarn/pull/149

[#&#8203;151]:
https://togithub.com/CycloneDX/cyclonedx-node-yarn/pull/151

[#&#8203;157]:
https://togithub.com/CycloneDX/cyclonedx-node-yarn/pull/157

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "after 7pm every weekday,before 5am
every weekday" in timezone Europe/Madrid, Automerge - At any time (no
schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View the
[repository job log](https://developer.mend.io/github/Unleash/unleash).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40NDAuNyIsInVwZGF0ZWRJblZlciI6IjM3LjQ0MC43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-30 22:08:38 +00:00
renovate[bot]
3fd31ea7cd
chore(deps): update dependency @babel/core to v7.24.9 (#7701)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@babel/core](https://babel.dev/docs/en/next/babel-core)
([source](https://togithub.com/babel/babel/tree/HEAD/packages/babel-core))
| [`7.24.7` ->
`7.24.9`](https://renovatebot.com/diffs/npm/@babel%2fcore/7.24.7/7.24.9)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@babel%2fcore/7.24.9?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@babel%2fcore/7.24.9?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@babel%2fcore/7.24.7/7.24.9?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@babel%2fcore/7.24.7/7.24.9?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>babel/babel (@&#8203;babel/core)</summary>

###
[`v7.24.9`](https://togithub.com/babel/babel/blob/HEAD/CHANGELOG.md#v7249-2024-07-15)

[Compare
Source](https://togithub.com/babel/babel/compare/v7.24.8...v7.24.9)

##### 🐛 Bug Fix

-   `babel-core`, `babel-standalone`
- [#&#8203;16639](https://togithub.com/babel/babel/pull/16639) Avoid
`require()` call in `@babel/standalone` bundle
([@&#8203;nicolo-ribaudo](https://togithub.com/nicolo-ribaudo))
-   `babel-types`
- [#&#8203;16638](https://togithub.com/babel/babel/pull/16638) fix:
provide legacy typings for TS < 4.1
([@&#8203;JLHwung](https://togithub.com/JLHwung))

##### 💅 Polish

-   `babel-generator`, `babel-plugin-transform-optional-chaining`
- [#&#8203;16617](https://togithub.com/babel/babel/pull/16617) Avoid
extra parens in TS `as`/`satisfies`
([@&#8203;nicolo-ribaudo](https://togithub.com/nicolo-ribaudo))

##### 🏠 Internal

-   `babel-helper-module-transforms`
- [#&#8203;16629](https://togithub.com/babel/babel/pull/16629) Lazy
top-level initializations for module transforms
([@&#8203;guybedford](https://togithub.com/guybedford))

###
[`v7.24.8`](https://togithub.com/babel/babel/blob/HEAD/CHANGELOG.md#v7248-2024-07-11)

[Compare
Source](https://togithub.com/babel/babel/compare/v7.24.7...v7.24.8)

##### 👓 Spec Compliance

-   `babel-parser`
- [#&#8203;16567](https://togithub.com/babel/babel/pull/16567) Do not
use strict mode in TS `declare`
([@&#8203;liuxingbaoyu](https://togithub.com/liuxingbaoyu))

##### 🐛 Bug Fix

-   `babel-generator`
- [#&#8203;16630](https://togithub.com/babel/babel/pull/16630) Correctly
print parens around `in` in `for` heads
([@&#8203;nicolo-ribaudo](https://togithub.com/nicolo-ribaudo))
- [#&#8203;16626](https://togithub.com/babel/babel/pull/16626) Fix
printing of comments in `await using`
([@&#8203;nicolo-ribaudo](https://togithub.com/nicolo-ribaudo))
- [#&#8203;16591](https://togithub.com/babel/babel/pull/16591) fix
typescript code generation for yield expression inside type expre…
([@&#8203;SreeXD](https://togithub.com/SreeXD))
-   `babel-parser`
- [#&#8203;16613](https://togithub.com/babel/babel/pull/16613) Disallow
destructuring assignment in `using` declarations
([@&#8203;H0onnn](https://togithub.com/H0onnn))
- [#&#8203;16490](https://togithub.com/babel/babel/pull/16490) fix: do
not add `.value: undefined` to regexp literals
([@&#8203;liuxingbaoyu](https://togithub.com/liuxingbaoyu))
-   `babel-types`
- [#&#8203;16615](https://togithub.com/babel/babel/pull/16615) Remove
boolean props from `ObjectTypeInternalSlot` visitor keys
([@&#8203;nicolo-ribaudo](https://togithub.com/nicolo-ribaudo))
-   `babel-plugin-transform-typescript`
- [#&#8203;16566](https://togithub.com/babel/babel/pull/16566) fix:
Correctly handle `export import x =`
([@&#8203;liuxingbaoyu](https://togithub.com/liuxingbaoyu))

##### 💅 Polish

-   `babel-generator`
- [#&#8203;16625](https://togithub.com/babel/babel/pull/16625) Avoid
unnecessary parens around `async` in `for await`
([@&#8203;nicolo-ribaudo](https://togithub.com/nicolo-ribaudo))
-   `babel-traverse`
- [#&#8203;16619](https://togithub.com/babel/babel/pull/16619) Avoid
checking `Scope.globals` multiple times
([@&#8203;liuxingbaoyu](https://togithub.com/liuxingbaoyu))

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "after 7pm every weekday,before 5am
every weekday" in timezone Europe/Madrid, Automerge - At any time (no
schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View the
[repository job log](https://developer.mend.io/github/Unleash/unleash).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40NDAuNyIsInVwZGF0ZWRJblZlciI6IjM3LjQ0MC43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-30 19:49:09 +00:00
Tymoteusz Czech
b585ead6df
fix: avoid react key warnings in tables (#7694)
Refactoring to get rid of `A props object containing a "key" prop is being spread into JSX` warning
2024-07-30 13:09:12 +02:00
Mateusz Kwasniewski
c828d01135
refactor: encapsulate playground limit in service (#7700) 2024-07-30 12:40:27 +02:00
Nuno Góis
50167d4f9e
chore: origin middleware (#7695)
https://linear.app/unleash/issue/2-2489/create-a-first-iteration-of-an-origin-middleware-that-logs-ui-and-api

Small spike around what the first iteration of an "origin middleware"
would look like.

No strong feelings all around, so feel free to tell me this is all wrong
and we should go a different route. However diving a little bit into it
personally helps me wrap my head around it, so it may help you too.
2024-07-30 10:42:50 +01:00
Gastón Fournier
d8e756586a
security: bump ws dependency (#7697)
Should fix https://github.com/Unleash/unleash/security/dependabot/146
and https://github.com/Unleash/unleash/security/dependabot/147
2024-07-30 11:15:04 +02:00
renovate[bot]
8a6bcb8038
chore(deps): update docker/setup-buildx-action action to v3 (#7366) 2024-07-30 10:43:56 +02:00
Thomas Heartman
08aba91832
fix: flex layout used the wrong axes for layout. (#7696)
This change fixes an issue where the flex layouts for collaborator
info used the wrong axes for layout (row instead of column and vice
versa), causing the component to look wonky.

Before:

![image](https://github.com/user-attachments/assets/695a9f67-ef07-4b3c-936f-69b2f2d62a28)

After:

![image](https://github.com/user-attachments/assets/a0a2c73a-2787-4985-807b-012bb4db94a4)
2024-07-30 09:17:02 +02:00
Thomas Heartman
344e599b09
fix: don't cut off hover-color of favorite button (#7691)
This PR fixes a minor visual issue where the "favorite project" button's
hover outline would get cut off due to its container having `overflow:
hidden`.

The overflow value was introduced in
[#7575](https://github.com/Unleash/unleash/pull/7575) as way to handle
long project names. We didn't discover the hover issue back then because
it's not apparent unless you hover the fav star.

I found the solution in the CSS-tricks post [Preventing a Grid
Blowout](https://css-tricks.com/preventing-a-grid-blowout/). To quote
the article, the reason this works is that:

> the minimum width of a grid column is auto. (The same is true for flex
items, by the way.)
>
> And since auto is entirely based on content, we can say it is
“indefinitely” sized, its dimensions flex. If we were to put an explicit
width on the column, like 50% or 400px, then we would say it is
“definitely” sized.
>
> To apply our fix, we need to make sure that there is the column has a
definite minimum width instead of auto.

Before:

![image](https://github.com/user-attachments/assets/d9296afd-326e-4712-a389-f1bc3a1f821e)


After:

![image](https://github.com/user-attachments/assets/2fd88a51-08be-4bc4-8969-cd6ebbaf255c)

Additionally, I've removed a duplicate declaration of font size,
removing the deprecated version.
2024-07-29 17:03:47 +02:00
Mateusz Kwasniewski
21ab80b753
feat: health stats insights explanation (#7690) 2024-07-29 15:19:20 +02:00
Thomas Heartman
0fe0079053
fix: use nested flexboxes instead of grid area (#7654)
This change removes the use of grid area from the collaborators
component, replacing it with a nested flexbox setup.
2024-07-29 12:55:52 +02:00
Tymoteusz Czech
d825b49f43
fix: health stats number (#7688)
Prevent showing "undefined%" in new Health statistics.
2024-07-29 12:49:03 +02:00
Tymoteusz Czech
5c4bc6f7a0
fix: FeatureForm - not jsx comment (#7689) 2024-07-29 11:32:14 +01:00
Mateusz Kwasniewski
94588c12d4
feat: human readable project names in insight charts (#7686) 2024-07-29 11:52:14 +02:00
Thomas Heartman
1cd1f982ee
fix: allow editors to submit flag form (#7687)
This change is a follow-up to
https://github.com/Unleash/unleash/pull/7685 and fixes another
instance of the same issue.

It wasn't caught previously, because the permissions are passed as
props here, and not used directly.


![image](https://github.com/user-attachments/assets/e8c4cb90-92e3-42ca-9c15-458b5b9d37c2)
2024-07-29 09:45:52 +00:00
Thomas Heartman
80cff0a5fa
fix: allow editors to create flags again (#7685)
This change fixes a bug where editors were suddenly unable to create
flags. The issue is that the new project creation dialog used a
permission button, but didn't supply the project ID.
2024-07-29 09:24:32 +00:00
Thomas Heartman
f24f8a896c
fix: break long project/flag names in the event log to prevent overflow (#7684)
This change sets the `overflow-wrap` property for the definition list
values in the event log. This is to prevent long project/flag names
from making the left-hand side of the card suuuper wide, causing
overflow of the whole container.

Before: 

![image](https://github.com/user-attachments/assets/4f813d71-731d-4bb8-86b0-89ff235b2244)

After:

![image](https://github.com/user-attachments/assets/6739d3f0-552b-47c7-8dca-4235a737367e)
2024-07-29 08:54:43 +00:00
Thomas Heartman
a42970a153
fix: Avoid weird spacing between title and collab mode icon (#7683)
This change fixes an issue where the title of the project would be
pushed all the way to the right when the project was set to "private".

The cause was that the container with the project mode and the title
was a flex box with `justifyContent` set to `space-between`.

Removing that line fixes the issue, and the contents align to the
start of the box. There are no other elements in that container, so it
does not affect anything else.

Before:

![image](https://github.com/user-attachments/assets/e8024e3f-8c68-4ed8-b135-ae49f24664b4)


After:

![image](https://github.com/user-attachments/assets/c5039e59-4ea4-49bb-b391-89864e7520d0)
2024-07-29 08:18:52 +00:00
Thomas Heartman
3a3aaad37d
feat: Use a toggling button for impression data on/off (#7682)
Instead of using a dropdown list for impression data, this PR introduces
a new config button that is a switch type button. It will be filled
(contained) when impression data is on and will be outlined when
impression data is off.

Off:

![image](https://github.com/user-attachments/assets/4710c8aa-a853-43c3-bf3b-86dbbf1a2779)


On:

![image](https://github.com/user-attachments/assets/08316155-83d1-45a2-941f-1c49c254a02b)
2024-07-29 08:05:35 +00:00
Tymoteusz Czech
1f2d47bd91
fix: on project delete with tokens put token deleted in audit log (#7675)
Use service with audit tracking instead of store directly.
2024-07-26 14:06:15 +02:00
Alvin Bryan
5bec8ea508
Made the Rust tutorial simpler (#7680)
This makes the Rust tutorial simpler, by converting to JPEG and Webp,
which means
- Compiles on Ubuntu
- Removes the need for the `rgb` and `ravif` crate
- Makes the `process_images` function a lot simpler
2024-07-26 12:29:31 +01:00
Jaanus Sellin
4df8fd3810
feat: redirect to new feature flag creation (#7679)
Currently found only one instance that is using `create-toggle`. So
changed behaviour for that.
2024-07-26 14:27:02 +03:00
Alvin Bryan
049b26fb77 Revert "Docs: Made the Rust tutorial simpler"
This reverts commit 21e8c9f66f.
2024-07-26 11:37:34 +01:00
Alvin Bryan
21e8c9f66f Docs: Made the Rust tutorial simpler 2024-07-26 11:34:41 +01:00
Thomas Heartman
9b2c0bf55b
fix: shorten max project name width in feature toggles creation form (#7678)
This change sets the max project name label width to 20ch instead of
30ch.

At 30ch, the button is wide enough that it causes the buttons always
to overflow. At 20, it's about as wide as the impression data button,
and it renders on one line.


Before:

![image](https://github.com/user-attachments/assets/8d28a948-dfa1-4f75-bc8d-473ceb322631)

After:

![image](https://github.com/user-attachments/assets/c73ccc58-13ab-4b33-a82e-275130494c3d)
2024-07-26 12:08:58 +02:00
Thomas Heartman
39cda30dab
chore: update description/docs for the new feature creation dialog fields (#7677)
This PR updates the text used to describe the different fields used in
the new creation dialog.

It also removes a redundant aria attribute (that MUI already handles).
2024-07-26 09:57:22 +00:00
Thomas Heartman
c7bb6c5179
fix: prevent long project names from blowing out the form (#7673)
This change prevents long project names from blowing the form out of
proportion.

To do so, it:
1. sets `whitespace: no-wrap` on the button labels. Judging by the other
styles, this was the intention all along, but it didn't really come up
until now.

2. It also sets the label width for projects to 30ch,so that you'll get
to see quite a bit of the project name before it gets cut off.

It would be possible to set a dynamic width for this button based on the
longest project name, but I'm not sure it adds much value, so I'm
leaning towards keeping it simple.

Here's what the dynamic width would look like:

``` tsx
    const projectButtonLabelWidth = useMemo(() => {
        const longestProjectName = projects.reduce(
            (prev: number, type: { name: string }) =>
                prev >= type.name.length ? prev : type.name.length,
            0,
        );
        return `${Math.min(longestProjectName, 30)}ch`;
    }, [projects]);
```

What it looks like:

![image](https://github.com/user-attachments/assets/51bca3f6-aeb3-4a41-b57e-5ebd9baa3ef6)
2024-07-26 11:39:43 +02:00
Thomas Heartman
c0d7be040d
fix: make config dropdown list generic over values (#7676)
This PR makes the config dropdown list generic over its values, so that
you can pass stuff that isn't strings.

It also updates the existing impression data button to use booleans
instead.
2024-07-26 11:38:29 +02:00