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

12694 Commits

Author SHA1 Message Date
Thomas Heartman
20749cf771
1-3121: fix wrong counting for unhealthy flags (#8772)
This PR fixes the counting of unhealthy flags for the project status
page. The issue was that we were looking for `archived = false`, but we
don't set that flag in the db anymore. Instead, we set the `archived_at`
date, which should be null if the flag is unarchived.
2024-11-20 10:16:53 +01:00
Mateusz Kwasniewski
ec44c5b5e4
chore: remove personal dashboard UI flag (#8795) 2024-11-20 09:24:08 +01:00
David Leek
5406d4d8d5
chore: addReleasePlan api hook use template id in payload (#8801) 2024-11-20 08:52:24 +01:00
Jaanus Sellin
4234020b8d
feat: backfill licensed users (#8791)
**This migration introduces a query that calculates the licensed user
counts and inserts them into the licensed_users table.**

**The logic ensures that:**

1. All users created up to a specific date are included as active users
until they are explicitly deleted.
2. Deleted users are excluded after their deletion date, except when
their deletion date falls within the last 30 days or before their
creation date.
3. The migration avoids duplicating data by ensuring records are only
inserted if they don’t already exist in the licensed_users table.


**Logic Breakdown:**

**Identify User Events (user_events):** Extracts email addresses from
user-related events (user-created and user-deleted) and tracks the type
and timestamp of the event. This step ensures the ability to
differentiate between user creation and deletion activities.
**Generate a Date Range (dates):** Creates a continuous range of dates
spanning from the earliest recorded event up to the current date. This
ensures we analyze every date, even those without events.
**Determine Active Users (active_emails):** Links dates with user events
to calculate the status of each email address (active or deleted) on a
given day. This step handles:

- The user's creation date.
- The user's deletion date (if applicable).

**Calculate Daily Active User Counts (result):** 
For each date, counts the distinct email addresses that are active based
on the conditions:

- The user has no deletion date.
- The user's deletion date is within the last 30 days relative to the
current date.
- The user's creation date is before the deletion date.
2024-11-20 09:10:07 +02:00
David Leek
74535e98a3
chore: hide release plan template permissions behind feature flag (#8799) 2024-11-20 07:59:45 +01:00
Thomas Heartman
b23dd940af
feat: add potentially stale filter to flags filter (#8798)
This PR adds the option to select potentially stale flags from the UI.

It also updates the name we use for parsing from the API: instead of
`potentiallyStale` we use `potentially-stale`. This follows the
precedent set by "kill switch" (which we send as 'kill-switch'), the
only other multi-word option that I could find in our filters.
2024-11-19 16:37:32 +02:00
Thomas Heartman
8da201aed8
feat: add potentiallyStale filter (#8784)
This PR adds support for the `potentiallyStale` value in the feature
search API. The value is added as a third option for `state` (in
addition to `stale` and `active`). Potentially stale is a subset of
active flags, so stale flags are never considered potentially stale,
even if they have the flag set in the db.

Because potentially stale is a separate column in the db, this
complicates the query a bit. As such, I've created a specialized
handling function in the feature search store: if the query doesn't
include `potentiallyStale`, handle it as we did before (the mapping has
just been moved). If the query *does* contain potentially stale, though,
the handling is quite a bit more involved because we need to check
multiple different columns against each other.

In essence, it's based on this logic:

when you’re searching for potentially stale flags, you should only get flags that are active and marked as potentially stale. You should not get stale flags.

This can cause some confusion, because in the db, we don’t clear the potentially stale status when we mark a flag as stale, so we can get flags that are both stale and potentially stale.

However, as a user, if you’re looking for potentially stale flags, I’d be surprised to also get (only some) stale flags, because if a flag is stale, it’s definitely stale, not potentially stale.

This leads us to these six different outcomes we need to handle when your search includes potentially stale and stale or active:

1. You filter for “potentially stale” flags only. The API will give you only flags that are active and marked as potentially stale. You will not get stale flags.
2. You filter only for flags that are not potentially stale. You will get all flags that are active and not potentially stale and all stale flags.
3. You search for “is any of stale, potentially stale”. This is our “unhealthy flags” metric. You get all stale flags and all flags that are active and potentially stale
4. You search for “is none of stale, potentially stale”: This gives you all flags that are active and not potentially stale. Healthy flags, if you will.
5. “is any of active, potentially stale”: you get all active flags. Because we treat potentially stale as a subset of active, this is the same as “is active”
6. “is none of active, potentially stale”: you get all stale flags. As in the previous point, this is the same as “is not active”
2024-11-19 14:53:01 +01:00
David Leek
8935a01d90
feat: create and edit release plan template milestones (#8768) 2024-11-19 13:52:07 +01:00
Thomas Heartman
82e752be45
1-3131: db migration to make potentially stale non-nullable (#8796)
This change adds a db migration to make the potentially_stale column
non-nullable. It'll set any NULL values to `false`.

In the down-migration, make the column nullable again.
2024-11-19 12:27:22 +01:00
Tymoteusz Czech
9d96052a3b
fix: update users session warning in users table (#8794) 2024-11-19 10:36:04 +00:00
Mateusz Kwasniewski
04a7b05ac3
chore: stop using personal dashboard UI flag (#8793) 2024-11-19 10:51:37 +01:00
Tymoteusz Czech
cd0a65a279
feat: change max session count warning to 4 devices (#8792) 2024-11-19 10:26:52 +01:00
dependabot[bot]
ec19ab03c1
chore(deps): bump cross-spawn from 7.0.3 to 7.0.6 in /website (#8788) 2024-11-19 08:49:51 +01:00
renovate[bot]
ba7cad6c45
chore(deps): update dependency vite to v5.4.11 (#8790)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [vite](https://vite.dev)
([source](https://redirect.github.com/vitejs/vite/tree/HEAD/packages/vite))
| [`5.4.10` ->
`5.4.11`](https://renovatebot.com/diffs/npm/vite/5.4.10/5.4.11) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/vite/5.4.11?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vite/5.4.11?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vite/5.4.10/5.4.11?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vite/5.4.10/5.4.11?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>vitejs/vite (vite)</summary>

###
[`v5.4.11`](https://redirect.github.com/vitejs/vite/releases/tag/v5.4.11)

[Compare
Source](https://redirect.github.com/vitejs/vite/compare/v5.4.10...v5.4.11)

Please refer to
[CHANGELOG.md](https://redirect.github.com/vitejs/vite/blob/v5.4.11/packages/vite/CHANGELOG.md)
for details.

</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 is behind base branch, 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://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/Unleash/unleash).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4xOS4wIiwidXBkYXRlZEluVmVyIjoiMzkuMTkuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-19 03:49:07 +00:00
renovate[bot]
7345ad9990
chore(deps): update dependency nock to v13.5.6 (#8789)
This PR contains the following updates:

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

---

### Release Notes

<details>
<summary>nock/nock (nock)</summary>

###
[`v13.5.6`](https://redirect.github.com/nock/nock/releases/tag/v13.5.6)

[Compare
Source](https://redirect.github.com/nock/nock/compare/v13.5.5...v13.5.6)

##### Bug Fixes

- **types:** return type of BackOptions.afterRecord
([#&#8203;2782](https://redirect.github.com/nock/nock/issues/2782))
([fc90bd3](fc90bd3a86))

</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 is behind base branch, 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://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/Unleash/unleash).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4xOS4wIiwidXBkYXRlZEluVmVyIjoiMzkuMTkuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-19 02:14:06 +00:00
renovate[bot]
5a39efe707
chore(deps): update dependency msw to v2.6.4 (#8786)
This PR contains the following updates:

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

---

### Release Notes

<details>
<summary>mswjs/msw (msw)</summary>

###
[`v2.6.4`](https://redirect.github.com/mswjs/msw/releases/tag/v2.6.4)

[Compare
Source](https://redirect.github.com/mswjs/msw/compare/v2.6.3...v2.6.4)

#### v2.6.4 (2024-11-10)

##### Bug Fixes

- prevent infinite loop when bypassing `sendBeacon()` requests
([#&#8203;2353](https://redirect.github.com/mswjs/msw/issues/2353))
([`2fa98c3`](2fa98c327a))
[@&#8203;kettanaito](https://redirect.github.com/kettanaito)
- remove the internal bypass request header before performing the
request as-is in Node.js
([#&#8203;2353](https://redirect.github.com/mswjs/msw/issues/2353))
([`2fa98c3`](2fa98c327a))
[@&#8203;kettanaito](https://redirect.github.com/kettanaito)

###
[`v2.6.3`](https://redirect.github.com/mswjs/msw/releases/tag/v2.6.3)

[Compare
Source](https://redirect.github.com/mswjs/msw/compare/v2.6.2...v2.6.3)

#### v2.6.3 (2024-11-10)

##### Bug Fixes

- **handleRequest:** remove `transformResponse` option
([#&#8203;2351](https://redirect.github.com/mswjs/msw/issues/2351))
([`74c4a3a`](74c4a3a899))
[@&#8203;kettanaito](https://redirect.github.com/kettanaito)

</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 is behind base branch, 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://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/Unleash/unleash).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4xOS4wIiwidXBkYXRlZEluVmVyIjoiMzkuMTkuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-18 22:16:14 +00:00
renovate[bot]
e52011ee93
chore(deps): update dependency @swc/core to v1.9.2 (#8785)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@swc/core](https://swc.rs)
([source](https://redirect.github.com/swc-project/swc)) | [`1.9.1` ->
`1.9.2`](https://renovatebot.com/diffs/npm/@swc%2fcore/1.9.1/1.9.2) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/@swc%2fcore/1.9.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@swc%2fcore/1.9.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@swc%2fcore/1.9.1/1.9.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@swc%2fcore/1.9.1/1.9.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>swc-project/swc (@&#8203;swc/core)</summary>

###
[`v1.9.2`](https://redirect.github.com/swc-project/swc/blob/HEAD/CHANGELOG.md#192---2024-11-11)

[Compare
Source](https://redirect.github.com/swc-project/swc/compare/v1.9.1...v1.9.2)

##### Bug Fixes

- **(es)** Fix typo in feature name
([#&#8203;9721](https://redirect.github.com/swc-project/swc/issues/9721))
([aff9de5](aff9de5ea3))

##### Features

- **(es/codegen)** Implement proper `inline_script` support
([#&#8203;9729](https://redirect.github.com/swc-project/swc/issues/9729))
([e732a36](e732a36373))

</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 is behind base branch, 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://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/Unleash/unleash).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4xOS4wIiwidXBkYXRlZEluVmVyIjoiMzkuMTkuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-18 19:37:00 +00:00
Tymoteusz Czech
7820ca62ad
feat: show max count of sessions that users have to an admin (#8781)
Add info about large number of parallel sessions per user.
2024-11-18 15:15:56 +00:00
weekwith.me
695873132e
fix: Remove idNumberMiddleware and change to use parameters in validPath method instead (#8734)
## About the changes

- Remove `idNumberMiddleware` method and change to use `parameters`
field in `openApiService.validPath` method for the flexibility.
- Remove unnecessary `Number` type converting method and change them to
use `<{id: number}>` to specify the type.

### Reference

The changed response looks like the one below.

```JSON
{
   "id":"8174a692-7427-4d35-b7b9-6543b9d3db6e",
   "name":"BadDataError",
   "message":"Request validation failed: your request body or params contain invalid data. Refer to the `details` list for more information.",
   "details":[
      {
         "message":"The `/params/id` property must be integer. You sent undefined.",
         "path":"/params/id"
      }
   ]
}
```

I think it might be better to customize the error response, especially
`"You sent undefined."`, on another pull request if this one is
accepted. I prefer to separate jobs to divide the context and believe
that it helps reviewer easier to understand.
2024-11-18 15:08:07 +01:00
Thomas Heartman
18591dd017
fix: use the correct design token color for the health chart background (#8783)
This change swaps out the color of the health chart "unfilled" section
for `theme.palette.background.application`. This is the same color
that's used in the sketches, so it should apply better for dark mode.

Why? I noticed that the graph looks choppy in dark mode, so figured
I'd go and investigate. This update makes it look a lot smoother.

Light mode looks the same as before.

Before (notice the leaking light grey):

![image](https://github.com/user-attachments/assets/535ca24b-756b-460c-a7ab-78daf28d68ba)


After:

![image](https://github.com/user-attachments/assets/98d4c0de-bde3-4d10-9210-fdd0bf5dc572)
2024-11-18 14:07:40 +02:00
Thomas Heartman
a55a956772
1-3120: remove project connected environments (#8775)
Remove everything related to the connected environment count for project
status. We decided that because we don't have anywhere to link it to at
the moment, we don't want to show it yet.
2024-11-18 12:01:25 +01:00
Thomas Heartman
fb9c754008
feat: combine health and status widgets (#8782)
This PR combines the health and status widgets into a single widget. It
adds a new row with information on your unhealthy flags.

The stat prettifies large numbers to avoid overflows for very large
numbers. To keep it in line with the SVG, I've extracted some of the
constants so we can share them for size calculation.


![image](https://github.com/user-attachments/assets/0b66b6ba-b88c-412e-838f-bd5e7867cdc3)

When it folds, it uses the "space-around" algorithm to make the two
stats occupy their own positions:

![image](https://github.com/user-attachments/assets/eb3a4f0e-31fa-4895-ba12-c6f910112204)

The number uses a custom background color in dark mode because elevation
1 and 2 are the same there:

![image](https://github.com/user-attachments/assets/fa405c33-f38a-4fea-bf20-e1d9bf21bb1c)
2024-11-18 12:01:08 +01:00
dependabot[bot]
e712a65dff
chore(deps): bump cross-spawn from 7.0.3 to 7.0.5 in /frontend (#8779) 2024-11-18 11:28:25 +01:00
dependabot[bot]
9bc64a91b0
chore(deps): bump cross-spawn from 7.0.3 to 7.0.5 (#8780) 2024-11-18 11:25:42 +01:00
Gastón Fournier
f297d861ea
chore: use memoized stats for version (#8776)
## About the changes
Builds on top of #8766 to use memoized results from stats-service.
Because stats service depends on version service, and to avoid making
the version service depend on stats service creating a cyclic
dependency. I've introduced a telemetry data provider. It's not clean
code, but it does the job.

After validating this works as expected I'll clean up

Added an e2e test validating that the replacement is correct:
[8475492](847549234c)
and it did:
https://github.com/Unleash/unleash/actions/runs/11861854341/job/33060032638?pr=8776#step:9:294

Finally, cleaning up version service
2024-11-18 10:47:29 +01:00
Gastón Fournier
39d227c33b
chore: improve the performance of our instance stats (#8766)
## About the changes
Our stats are used for many places and many times to publish prometheus
metrics and some other things.

Some of these queries are heavy, traversing all tables to calculate
aggregates.

This adds a feature flag to be able to memoize 1 minute (by default) how
long to keep the calculated values in memory.

We can use the key of the function to individually control which ones
are memoized or not and for how long using a numeric variant.

Initially, this will be disabled and we'll test in our instances first
2024-11-18 08:45:34 +00:00
David Leek
0ce976a0d5
feat: implement call to add release-plan to feature environment (#8778) 2024-11-18 09:30:29 +01:00
renovate[bot]
69f73f45f4
fix(deps): update dependency unleash-client to v6.1.3 (#8777)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[unleash-client](https://redirect.github.com/Unleash/unleash-client-node)
| [`6.1.2` ->
`6.1.3`](https://renovatebot.com/diffs/npm/unleash-client/6.1.2/6.1.3) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/unleash-client/6.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/unleash-client/6.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/unleash-client/6.1.2/6.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/unleash-client/6.1.2/6.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>Unleash/unleash-client-node (unleash-client)</summary>

###
[`v6.1.3`](https://redirect.github.com/Unleash/unleash-client-node/releases/tag/v6.1.3)

[Compare
Source](https://redirect.github.com/Unleash/unleash-client-node/compare/v6.1.2...v6.1.3)

#### What's Changed

- fix: stop storage save on repository stop by
[@&#8203;kwasniew](https://redirect.github.com/kwasniew) in
[https://github.com/Unleash/unleash-client-node/pull/673](https://redirect.github.com/Unleash/unleash-client-node/pull/673)

**Full Changelog**:
https://github.com/Unleash/unleash-client-node/compare/v6.1.2...v6.1.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 is behind base branch, 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://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/Unleash/unleash).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4xMS41IiwidXBkYXRlZEluVmVyIjoiMzkuMTEuNSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-18 08:06:37 +00:00
Mateusz Kwasniewski
56db988a86
feat: log excessive logins (#8774) 2024-11-18 09:01:41 +01:00
Tymoteusz Czech
6d4e2e991f
fix: device count flag without variant (#8773) 2024-11-15 13:05:50 +01:00
Tymoteusz Czech
2ffff25a4a
test: device count without experimental env key (#8771) 2024-11-15 11:28:17 +00:00
Tymoteusz Czech
9d5fceb5bf
feat: show users with multiple parallel sessions (#8756) 2024-11-15 10:34:38 +00:00
Thomas Heartman
f89bc33645
1-3125: Update project navigation for the simplified view (#8770)
The changes are:
- Change "Flags" to "Overview"
- Also hide "Insights" and "Health"
- Change "Project settings" to "Settings"
2024-11-15 09:56:41 +00:00
Thomas Heartman
046573174b
fix(a11y): Fix keyboard navigation issues with sidebar (#8769)
This PR fixes a number of keyboard accessibility issues with the
feedback sidebar. They are (in no particular order):
1. The radio inputs don't have a focus style for `focus-visible` (when
keyboard focused).
2. There's two close buttons there for some reason? One is invisible,
but you can tab to it?
3. The sidebar doesn't trap focus, so you can tab out of the modal and
continue tabbing through the main page (with the modal still open)
4. The sidebar doesn't steal focus. When you open it, your focus remains
on the button you used to open it. So if you want to navigate to it, you
have to go through the entire page (behind the modal) to get to it.
5. The sidebar can't be closed by 'escape'.

The fixes are:
1. Apply the same styles when focus visible as when hover
2. Wrap the component in the `BaseModal` component
3. Wrap the component in the `BaseModal` component
4. Wrap the component in the `BaseModal` component
5. Wrap the component in the `BaseModal` component

(see a theme here?)

Additionally, because the base modal has its own `open` state, I removed
the wrapping conditionally render, reducing nesting by one stop. Most of
the changes in the file are just whitespace changes.


![image](https://github.com/user-attachments/assets/28832756-cfb3-4ced-8b8c-a344edced036)

I considered also applying an auto-focus to the first input in the
sidebar, but our linter doesn't like it. Additionally MDN lists the
following [accessibility
concerns](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/autofocus#accessibility_concerns)

> Automatically focusing a form control can confuse visually-impaired
people using screen-reading technology and people with cognitive
impairments. When autofocus is assigned, screen-readers "teleport" their
user to the form control without warning them beforehand.
>
> Use careful consideration for accessibility when applying the
autofocus attribute. Automatically focusing on a control can cause the
page to scroll on load. The focus can also cause dynamic keyboards to
display on some touch devices. While a screen reader will announce the
label of the form control receiving focus, the screen reader will not
announce anything before the label, and the sighted user on a small
device will equally miss the context created by the preceding content.

So I'll leave it off.
2024-11-15 10:24:53 +01:00
Thomas Heartman
b4d19862d7
1-3122: refetch CR notifs on actions (#8767)
Refetch actionable change requests whenever you perform an action on a
change request. This ensures that the change request notifications are
up-to-date for you. Of course, it can still get out of sync if someone
else performs an action on the change request, but that's more of an
edge case.
2024-11-15 10:02:36 +01:00
Mateusz Kwasniewski
b3437b8c34
feat: Max sessions limit (#8765) 2024-11-15 09:57:17 +01:00
Thomas Heartman
5d36862ddb
feat: add project status feedback (#8764)
This PR adds the feedback component to the project status page. When you
open the feedback modal, we close the status sidebar. Exiting the
feedback modal takes you back to the project page.

As a bonus: fixes the background color of the health grid, which was a
little bit off.


![image](https://github.com/user-attachments/assets/6e7e61cb-75f4-44ac-9efd-632b40ccab51)


![image](https://github.com/user-attachments/assets/6e049719-cff3-4b85-8f02-e0174b515ab2)
2024-11-15 10:51:00 +02:00
Nuno Góis
6db6cc2bd6
refactor: remove unused component UserSeats (#8757)
https://linear.app/unleash/issue/2-2974/remove-unused-component-userseats

Removes the unused component `UserSeats`.
2024-11-15 08:45:32 +00:00
Mateusz Kwasniewski
5a2663a451
test: session deleted toast (#8754) 2024-11-15 09:31:42 +01:00
Thomas Heartman
2014d367f8
1-3073: close sidebar when you click a link within it (#8763)
This change makes it so that the project status sidebar will close
when you follow a link within it. We do that by using JS event
bubbling and attaching a handler on the modal parent. We can listen
for events and check whether the target is an anchor and, if so, close
the modal.
2024-11-15 07:36:22 +00:00
Jaanus Sellin
1af204e0f0
feat: now pay as you go billing banner has link (#8761)
My intuition wanted to click on it to start paying, but it did not work.
Changed condition to show it for pay as you go.


![image](https://github.com/user-attachments/assets/d14ad947-ce4a-48cb-8bbd-c1d6dfb84a0a)
2024-11-15 09:26:49 +02:00
Thomas Heartman
c9b674f7ab
fix: Project Status UI fixes (#8762)
This PR fixes a few small UI issues reported by UX. It:
- Adds hover colors to the lifecycle boxes
- Adjusts the font size for the health widget to match project resources
and lifecycle
- Makes the `view health over time tooltip` take you to the insights
page with the current project preselected


![image](https://github.com/user-attachments/assets/f672a577-1b01-4d45-98da-d5c367c9a0bc)
2024-11-15 07:16:09 +00:00
renovate[bot]
7f9588618f
chore(deps): update swc monorepo (#8760)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@swc/core](https://swc.rs)
([source](https://redirect.github.com/swc-project/swc)) | [`1.7.39` ->
`1.9.1`](https://renovatebot.com/diffs/npm/@swc%2fcore/1.7.39/1.9.1) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/@swc%2fcore/1.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@swc%2fcore/1.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@swc%2fcore/1.7.39/1.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@swc%2fcore/1.7.39/1.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[@swc/jest](https://redirect.github.com/swc-project/pkgs/tree/main/packages/jest)
([source](https://redirect.github.com/swc-project/pkgs)) | [`0.2.36` ->
`0.2.37`](https://renovatebot.com/diffs/npm/@swc%2fjest/0.2.36/0.2.37) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/@swc%2fjest/0.2.37?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@swc%2fjest/0.2.37?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@swc%2fjest/0.2.36/0.2.37?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@swc%2fjest/0.2.36/0.2.37?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>swc-project/swc (@&#8203;swc/core)</summary>

###
[`v1.9.1`](https://redirect.github.com/swc-project/swc/blob/HEAD/CHANGELOG.md#191---2024-11-06)

[Compare
Source](https://redirect.github.com/swc-project/swc/compare/v1.9.0...v1.9.1)

##### Bug Fixes

- **(es/codegen)** Fix `ends_with_alpha_num`
([#&#8203;9720](https://redirect.github.com/swc-project/swc/issues/9720))
([569c799](569c799c2e))

###
[`v1.9.0`](https://redirect.github.com/swc-project/swc/blob/HEAD/CHANGELOG.md#190---2024-11-06)

[Compare
Source](https://redirect.github.com/swc-project/swc/compare/v1.8.0...v1.9.0)

##### Bug Fixes

- **(es/minifier)** Avoid generating reserved mangling names
([#&#8203;9710](https://redirect.github.com/swc-project/swc/issues/9710))
([b49317a](b49317a403))

- **(es/plugin)** Revert
[#&#8203;9696](https://redirect.github.com/swc-project/swc/issues/9696)
([#&#8203;9717](https://redirect.github.com/swc-project/swc/issues/9717))
([772f023](772f023fd2))

##### Features

- **(typescript)** Port deno `isolatedDeclarations` updates
([#&#8203;9712](https://redirect.github.com/swc-project/swc/issues/9712))
([6194044](6194044b42))

##### Miscellaneous Tasks

- **(deps)** Update rust crate is-macro to v0.3.7
([#&#8203;9713](https://redirect.github.com/swc-project/swc/issues/9713))
([d48e6e8](d48e6e838b))

###
[`v1.8.0`](https://redirect.github.com/swc-project/swc/blob/HEAD/CHANGELOG.md#180---2024-11-04)

[Compare
Source](https://redirect.github.com/swc-project/swc/compare/v1.7.42...v1.8.0)

##### Bug Fixes

- **(es/typescript)** Handle multiline type parameters in async arrow
functions
([#&#8203;9704](https://redirect.github.com/swc-project/swc/issues/9704))
([c5ed19c](c5ed19c710))

- **(es/typescript)** Handle ASI hazards in fast type strip
([#&#8203;9707](https://redirect.github.com/swc-project/swc/issues/9707))
([c135f71](c135f718ed))

##### Features

- **(es)** Add `es2023` and `es2024` to `EsVersion`
([#&#8203;9700](https://redirect.github.com/swc-project/swc/issues/9700))
([5a6f0e6](5a6f0e644e))

- **(es/plugin)** Introduce `manual-tokio-runtmie` to `swc` crate
([#&#8203;9701](https://redirect.github.com/swc-project/swc/issues/9701))
([97298c4](97298c4e36))

##### Performance

- **(common)** Make character analysis lazy
([#&#8203;9696](https://redirect.github.com/swc-project/swc/issues/9696))
([1c3eaf6](1c3eaf684a))

- **(es/renamer)** Modify parallel renaming threshold
([#&#8203;9706](https://redirect.github.com/swc-project/swc/issues/9706))
([91a9106](91a9106624))

###
[`v1.7.42`](https://redirect.github.com/swc-project/swc/blob/HEAD/CHANGELOG.md#1742---2024-10-31)

[Compare
Source](https://redirect.github.com/swc-project/swc/compare/v1.7.40...v1.7.42)

##### Bug Fixes

- **(es/generator)** Fix code generation for `break` in nested while
([#&#8203;9684](https://redirect.github.com/swc-project/swc/issues/9684))
([65872af](65872afaf1))

- **(es/parser)** Parse `await using()` call
([#&#8203;9693](https://redirect.github.com/swc-project/swc/issues/9693))
([bcf05de](bcf05de2eb))

- **(es/resolver)** Skip resolving lowercase `JSXIdentifiers`
([#&#8203;9686](https://redirect.github.com/swc-project/swc/issues/9686))
([6ed1715](6ed1715b93))

- **(es/types)** Add `jsc.experimental.keepImportAssertions` to types
([#&#8203;9691](https://redirect.github.com/swc-project/swc/issues/9691))
([4b4dcfa](4b4dcfa4d8))

##### Features

- **(es/minifier)** Optimize switch with side effect and termination
tests
([#&#8203;9677](https://redirect.github.com/swc-project/swc/issues/9677))
([7344a63](7344a638b5))

- **(es/parser)** Ability to get script's potential module errors
([#&#8203;9682](https://redirect.github.com/swc-project/swc/issues/9682))
([2bbd1e8](2bbd1e8485))

##### Miscellaneous Tasks

- **(deps)** Update cargo (patch)
([#&#8203;9607](https://redirect.github.com/swc-project/swc/issues/9607))
([3597b0f](3597b0f53d))

##### Performance

- **(es)** Cache `current_dir()` system calls
([#&#8203;9683](https://redirect.github.com/swc-project/swc/issues/9683))
([7aab945](7aab945a21))

- **(es/lints)** Disable lints by default
([#&#8203;9689](https://redirect.github.com/swc-project/swc/issues/9689))
([4d887d0](4d887d062b))

- **(visit)** Introduce `Pass` API and adjust visitor APIs for it
([#&#8203;9680](https://redirect.github.com/swc-project/swc/issues/9680))
([581aafb](581aafb4df))

###
[`v1.7.40`](https://redirect.github.com/swc-project/swc/blob/HEAD/CHANGELOG.md#1740---2024-10-26)

[Compare
Source](https://redirect.github.com/swc-project/swc/compare/v1.7.39...v1.7.40)

##### Bug Fixes

- **(bindings)** Update napi to handle string with `\0`
([#&#8203;9665](https://redirect.github.com/swc-project/swc/issues/9665))
([8f45eaf](8f45eaf837))

- **(bindings/node)** Add `VisitTsPropertySignature`
([#&#8203;9670](https://redirect.github.com/swc-project/swc/issues/9670))
([715c42c](715c42c0bf))

- **(es/codegen)** Improve EndsWithAlphaNum
([#&#8203;9675](https://redirect.github.com/swc-project/swc/issues/9675))
([ba2a942](ba2a942f56))

- **(es/renamer)** Check `preserved` in normal renaming mode
([#&#8203;9666](https://redirect.github.com/swc-project/swc/issues/9666))
([87b4e10](87b4e10e5d))

- **(typescript)** Check whether the method is abstract when checking
`is_overload`
([#&#8203;9678](https://redirect.github.com/swc-project/swc/issues/9678))
([78500af](78500af546))

##### Documentation

- **(contributing)** Document changeset
([#&#8203;9667](https://redirect.github.com/swc-project/swc/issues/9667))
([602c667](602c667b9d))

##### Miscellaneous Tasks

- **(deps)** Update dependency swc-plugin-coverage-instrument to ^0.0.25
([#&#8203;9676](https://redirect.github.com/swc-project/swc/issues/9676))
([b8d255b](b8d255bf5a))

</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 is behind base branch, or you tick the
rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config
help](https://redirect.github.com/renovatebot/renovate/discussions) if
that's undesired.

---

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

---

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

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4xMS41IiwidXBkYXRlZEluVmVyIjoiMzkuMTEuNSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-15 00:14:40 +00:00
renovate[bot]
efd1cce90d
chore(deps): update dependency react-dropzone to v14.3.5 (#8759)
This PR contains the following updates:

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

---

### Release Notes

<details>
<summary>react-dropzone/react-dropzone (react-dropzone)</summary>

###
[`v14.3.5`](https://redirect.github.com/react-dropzone/react-dropzone/releases/tag/v14.3.5)

[Compare
Source](https://redirect.github.com/react-dropzone/react-dropzone/compare/v14.3.4...v14.3.5)

##### Bug Fixes

- fix wrong file type msg ux and close
[#&#8203;1221](https://redirect.github.com/react-dropzone/react-dropzone/issues/1221)
([4ca683b](4ca683b9ed))

###
[`v14.3.4`](https://redirect.github.com/react-dropzone/react-dropzone/releases/tag/v14.3.4)

[Compare
Source](https://redirect.github.com/react-dropzone/react-dropzone/compare/v14.3.3...v14.3.4)

##### Bug Fixes

- set {isDragRejected} on drop and close
[#&#8203;1238](https://redirect.github.com/react-dropzone/react-dropzone/issues/1238)
([589d01e](589d01ec00))

###
[`v14.3.3`](https://redirect.github.com/react-dropzone/react-dropzone/releases/tag/v14.3.3)

[Compare
Source](https://redirect.github.com/react-dropzone/react-dropzone/compare/v14.3.2...v14.3.3)

##### Bug Fixes

- visually hide the input and close
[#&#8203;1268](https://redirect.github.com/react-dropzone/react-dropzone/issues/1268)
([edeef15](edeef159c4))

###
[`v14.3.2`](https://redirect.github.com/react-dropzone/react-dropzone/compare/v14.3.1...e35de09e0a8f4d492d02c7c1566cb9d89880bc77)

[Compare
Source](https://redirect.github.com/react-dropzone/react-dropzone/compare/v14.3.1...v14.3.2)

###
[`v14.3.1`](4288d8e3c3...72c6c34866)

[Compare
Source](https://redirect.github.com/react-dropzone/react-dropzone/compare/v14.3.0...v14.3.1)

###
[`v14.3.0`](https://redirect.github.com/react-dropzone/react-dropzone/compare/v14.2.10...4288d8e3c3e811e8ed4303b696adc7cb951455b1)

[Compare
Source](https://redirect.github.com/react-dropzone/react-dropzone/compare/v14.2.10...v14.3.0)

</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 is behind base branch, 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://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/Unleash/unleash).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4xMS41IiwidXBkYXRlZEluVmVyIjoiMzkuMTEuNSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-14 22:15:12 +00:00
renovate[bot]
0cbdc1439c
chore(deps): update dependency msw to v2.6.2 (#8758)
This PR contains the following updates:

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

---

### Release Notes

<details>
<summary>mswjs/msw (msw)</summary>

###
[`v2.6.2`](https://redirect.github.com/mswjs/msw/releases/tag/v2.6.2)

[Compare
Source](https://redirect.github.com/mswjs/msw/compare/v2.6.1...v2.6.2)

##### v2.6.2 (2024-11-07)

##### Bug Fixes

- update `@bundled-es-modules/cookie` to 2.0.1
([#&#8203;2312](https://redirect.github.com/mswjs/msw/issues/2312))
([`c134352`](c134352e82))
[@&#8203;kettanaito](https://redirect.github.com/kettanaito)

###
[`v2.6.1`](https://redirect.github.com/mswjs/msw/releases/tag/v2.6.1)

[Compare
Source](https://redirect.github.com/mswjs/msw/compare/v2.6.0...v2.6.1)

##### v2.6.1 (2024-11-06)

##### Bug Fixes

- prevent `instanceof` handler check failures between different MSW
versions
([#&#8203;2349](https://redirect.github.com/mswjs/msw/issues/2349))
([`28d26bd`](28d26bd7fa))
[@&#8203;kettanaito](https://redirect.github.com/kettanaito)

###
[`v2.6.0`](https://redirect.github.com/mswjs/msw/releases/tag/v2.6.0)

[Compare
Source](https://redirect.github.com/mswjs/msw/compare/v2.5.2...v2.6.0)

#### v2.6.0 (2024-10-29)

##### Features

- support mocking WebSocket APIs
([#&#8203;2011](https://redirect.github.com/mswjs/msw/issues/2011))
([`ae786f5`](ae786f59eb))
[@&#8203;kettanaito](https://redirect.github.com/kettanaito)
[@&#8203;DanielleHuisman](https://redirect.github.com/DanielleHuisman)

###
[`v2.5.2`](https://redirect.github.com/mswjs/msw/releases/tag/v2.5.2)

[Compare
Source](https://redirect.github.com/mswjs/msw/compare/v2.5.1...v2.5.2)

#### v2.5.2 (2024-10-27)

##### Bug Fixes

- enable provenance for publishing
([#&#8203;2334](https://redirect.github.com/mswjs/msw/issues/2334))
([`e9b0636`](e9b0636c2c))
[@&#8203;kettanaito](https://redirect.github.com/kettanaito)

</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 is behind base branch, 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://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/Unleash/unleash).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4xMS41IiwidXBkYXRlZEluVmVyIjoiMzkuMTEuNSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-14 18:23:00 +00:00
Thomas Heartman
7e96033c4a
3111-1: Wires up stale data from the API (#8752)
Builds on the backend code added in
https://github.com/Unleash/unleash/pull/8751

This wires up the front end to use the data returned from the API
2024-11-14 14:23:05 +00:00
Thomas Heartman
5d32d149cd
feat: add stale flag count to project status payload (#8751)
This PR adds stale flag count to the project status payload. This is
useful for the project status page to show the number of stale flags in
the project.
2024-11-14 14:10:10 +00:00
Thomas Heartman
b4e2d5d270
Add close button, fix layout, refactor (#8755)
This PR consists of cleanup for the project status modal as well as
adding the missing button.

I've added inline comments to explain the different steps.

It now looks like this:

![image](https://github.com/user-attachments/assets/29a3c0b7-770c-4019-aaed-b363c5804138)
2024-11-14 15:00:32 +01:00
Nuno Góis
395a4b6be3
chore: PAYG billing (#8743)
https://linear.app/unleash/issue/CTO-95/unleash-billing-page-for-enterprise-payg

Adds support for PAYG in Unleash's billing page.

Includes some refactoring, like splitting Pro and PAYG into different
details components. We're now also relying on shared billing-related
constants (see `BillingPlan.tsx`). This should make it much easier to
change any of these values in the future. I already changed a few that
were static / wrongly relying on instanceStatus.seats (we decided we're
not doing that for now).


![image](https://github.com/user-attachments/assets/97a5a420-a4f6-4b6c-93d6-3fffddbacbc7)
2024-11-14 11:29:05 +00:00
Alvin Bryan
54444a395c
Fixed OpenAPI URL renaming (#8726)
## Problem

Our API docs are generated from a specfile that is hosted in
https://us.app.unleash-hosted.com/ushosted

By default the API docs UI will show that URL, which we don't want


![image](https://github.com/user-attachments/assets/c125cf6c-8c97-4a56-84a8-3989725d2e95)

## Previously

We ran a find-and-replace after the mdx files were generated with
`replace-in-file`

## Now

The previous solution is no longer possible because the openapi plugin
changed. Basically, before it generated markdown files that looked like
this:

```
# Create API Key

https://unleash-hosted/whatever

bla bla bla
```
Now it generates files that do not contain the URL and look like this:

```
import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint";
import ParamsDetails from "@theme/ParamsDetails";

<Heading
  as={"h1"}
  className={"openapi__heading"}
  children={"Configure project access"}
>
</Heading>
```
which themselves get compiled.

## Solution

This PR now downloads the specfile, makes a local copy, then an alters
the server URL in the copy, then uses that local file to generate the
docs.


![image](https://github.com/user-attachments/assets/039644a6-1e72-4145-9c67-9e6203b1673b)


I didn't want to make any changes to the actual spec logic because this
essentially just a plugin quirk

---

[PREVIEW
LINK](https://unleash-docs-git-alvin-fix-openapi-rename-unleash-team.vercel.app/reference/api/unleash/get-addon)
2024-11-14 11:07:23 +00:00