1
0
mirror of https://github.com/Unleash/unleash.git synced 2024-12-28 00:06:53 +01:00
Commit Graph

7717 Commits

Author SHA1 Message Date
Mateusz Kwasniewski
5569101f30
feat: import feature strategies (#2885) 2023-01-12 15:24:34 +01:00
Nuno Góis
b12962e7d2
fix: improve hidden envs UI/UX (#2887)
Some small UI/UX fixes related to user-scoped hidden environments in the
feature overview after aligning with @NicolaeUnleash


![image](https://user-images.githubusercontent.com/14320932/212077468-ee830ccf-7a82-4006-bd12-b87116160574.png)
2023-01-12 13:29:38 +00:00
Mateusz Kwasniewski
a52d3b0f77
test: fix test runs to 1 (#2886) 2023-01-12 13:53:05 +01:00
Fredrik Strand Oseberg
0dcf28a0f0
Refactor/lazy load (#2842)
Currently our bundle size is clocking in at: 1,798.28 kB │ gzip: 558.42 kB
After the changes: 1,299.32 kB │ gzip: 403.26 kB
2023-01-12 11:34:45 +01:00
Gastón Fournier
ce815e5f29
feat: report app names only if below a threshold (#2737)
## About the changes
Introduce a snapshot version of instanceStats inside
instance-stats-service to provide a cached state of the statistics
without compromising the DB.

### Important notes
Some rule-of-thumb applied in the PR that can be changed:
1. The snapshot refresh time
2. The threshold to report appName with the metrics

## Discussion points
1. The snapshot could be limited to just the information needed (things
like `hasOIDC` don't change until there's a restart), to optimize the memory usage
3. metrics.ts (used to expose Prometheus metrics) has a [refresh
interval of
2hs](2d16730cc2/src/lib/metrics.ts (L189-L195)),
but with this implementation, we could remove that background task and
rely on the snapshot
4. We could additionally update the snapshot every time someone queries
the DB to fetch stats (`getStats()` method), but it may increase
complexity without a significant benefit

Co-authored-by: Mateusz Kwasniewski <kwasniewski.mateusz@gmail.com>
Co-authored-by: Simon Hornby <liquidwicked64@gmail.com>
2023-01-12 11:26:59 +01:00
Fredrik Strand Oseberg
ea31154d9a
Fix/use swr bug (#2884)
This PR fixes an error where useSWR would throw a TypeError: `subs[i] is
not a function`: https://github.com/vercel/swr/issues/2357

I can't be totally sure why this is happening but we had a design flaw
in our setup that caused our group overview to first fetch all groups,
and then subsequently fetch each individual group after the groups were
rendered. This was happening because GroupCard was rendering the
EditGroupUsers component which used the `useGroup(groupId)` getter.

The flow in the old version looked like this: 

1. Fetch all the groups
2. Use the groups data to render all the `GroupCard` elements
3. Once the GroupCard was rendered the EditGroupComponent would be
mounted and set up a recurring GET on the individual group, causing each
group to be fetched recurringly in the Group overview.

The useSWR error seems to be connected to setting up these
subscriptions, and then removing the element from the DOM. We were able
to trigger this error by removing the group.

## How did we fix it? 

We refactored the components concerned with editing group users and
removing groups to exist outside of the `GroupCard` and have the group
card supply the base data through a state setter. This pattern is also
better for the remove functionality because the remove functionality in
its current state could trigger a react update on a component removed
from the DOM if you awaited the refetching of the data. This is because
the groups data is controlling the rendering of the `GroupCard` and when
the `RemoveGroup` modal is nested underneath the `GroupCard` a refetch
would trigger an update, re-render the overview and remove the entire
`GroupCard` and the associated `RemoveGroup` component.

I'm still not sure if this is a bug with SWR or a side-effect of how we
architected the functionality, but this change seems to remove the
problem.
2023-01-12 11:25:42 +01:00
andreas-unleash
aa19ad57eb
Conditionally fetch change request config to fix 404 (#2874) 2023-01-12 11:18:11 +01:00
Tymoteusz Czech
fb11a892f0
fix: unexpected ligatures (#2883) 2023-01-12 09:22:37 +00:00
Ivar Conradi Østhus
0ffd4549a5
fix: add resolution from json5 in frontend 2023-01-12 10:09:59 +01:00
Mateusz Kwasniewski
58b81e40f0
fix: prevent margin collapsing (#2879) 2023-01-11 18:44:21 +01:00
Tymoteusz Czech
ddb9d11039
refactor: styles batch 3 (#2821) 2023-01-11 17:44:21 +01:00
Mateusz Kwasniewski
be1762d33f
Scheduler abstraction (#2829) 2023-01-11 16:15:53 +01:00
Nuno Góis
7f3ec5acb8
fix: SA UI/UX improvements and fixes (#2875)
https://linear.app/unleash/issue/2-559/check-if-uiux-and-overall-design-looks-correct

We're happy with the overall design and behaviour for a first iteration,
only identified these small changes for now.


![image](https://user-images.githubusercontent.com/14320932/211798037-7b6a74c5-fbc9-434a-a848-9efd00094a9c.png)


![image](https://user-images.githubusercontent.com/14320932/211798093-44db9330-f767-4790-964a-e94f8cf3ed87.png)


![image](https://user-images.githubusercontent.com/14320932/211798148-9a1ddb5a-5564-47f4-aeed-2857ac186896.png)
2023-01-11 16:08:50 +01:00
sjaanus
eb7e82dff2
Export with strategies (#2877) 2023-01-11 15:00:20 +00:00
Mateusz Kwasniewski
afdcd45042
feat: first skeleton of the batch import (#2868)
First skeleton of batch import:
* injecting feature toggle service because I want to reuse logic and not
just the store
2023-01-11 15:19:16 +01:00
Mateusz Kwasniewski
3e4e0e4df9
fix: make close button visible on small devices (#2880) 2023-01-11 15:10:43 +01:00
renovate[bot]
0d238cdef6
fix(deps): update dependency knex to v2.4.0 [security] (#2871)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [knex](https://knex.github.io/documentation/)
([source](https://togithub.com/knex/knex)) | [`2.3.0` ->
`2.4.0`](https://renovatebot.com/diffs/npm/knex/2.3.0/2.4.0) |
[![age](https://badges.renovateapi.com/packages/npm/knex/2.4.0/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/knex/2.4.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/knex/2.4.0/compatibility-slim/2.3.0)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/knex/2.4.0/confidence-slim/2.3.0)](https://docs.renovatebot.com/merge-confidence/)
|

### GitHub Vulnerability Alerts

#### [CVE-2016-20018](https://nvd.nist.gov/vuln/detail/CVE-2016-20018)

Knex Knex.js through 2.3.0 has a limited SQL injection vulnerability
that can be exploited to ignore the WHERE clause of a SQL query. This
vulnerability has been fixed in version 2.4.0.

---

### Release Notes

<details>
<summary>knex/knex</summary>

###
[`v2.4.0`](https://togithub.com/knex/knex/blob/HEAD/CHANGELOG.md#&#8203;240---06-January-2022)

[Compare Source](https://togithub.com/knex/knex/compare/2.3.0...2.4.0)

##### New features:

- Support partial unique indexes
[#&#8203;5316](https://togithub.com/knex/knex/issues/5316)
- Make compiling SQL in error message optional
[#&#8203;5282](https://togithub.com/knex/knex/issues/5282)

##### Bug fixes

- Insert array into json column
[#&#8203;5321](https://togithub.com/knex/knex/issues/5321)
- Fix unexpected max acquire-timeout
[#&#8203;5377](https://togithub.com/knex/knex/issues/5377)
- Fix: orWhereJson
[#&#8203;5361](https://togithub.com/knex/knex/issues/5361)
- MySQL: Add assertion for basic where clause not to be object or array
[#&#8203;1227](https://togithub.com/knex/knex/issues/1227)
- SQLite: Fix changing the default value of a boolean column in SQLite
[#&#8203;5319](https://togithub.com/knex/knex/issues/5319)

##### Typings:

- add missing type for 'expirationChecker' on PgConnectionConfig
[#&#8203;5334](https://togithub.com/knex/knex/issues/5334)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "" (UTC), 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 has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://app.renovatebot.com/dashboard#github/Unleash/unleash).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNC45Ny4wIiwidXBkYXRlZEluVmVyIjoiMzQuOTcuMCJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-01-11 14:31:52 +01:00
dependabot[bot]
1a894eb3a0
chore(deps): bump json5 from 1.0.1 to 1.0.2 in /website (#2815)
Bumps [json5](https://github.com/json5/json5) from 1.0.1 to 1.0.2.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/json5/json5/releases">json5's
releases</a>.</em></p>
<blockquote>
<h2>v1.0.2</h2>
<ul>
<li>Fix: Properties with the name <code>__proto__</code> are added to
objects and arrays. (<a
href="https://github-redirect.dependabot.com/json5/json5/issues/199">#199</a>)
This also fixes a prototype pollution vulnerability reported by Jonathan
Gregson! (<a
href="https://github-redirect.dependabot.com/json5/json5/issues/295">#295</a>).
This has been backported to v1. (<a
href="https://github-redirect.dependabot.com/json5/json5/issues/298">#298</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/json5/json5/blob/main/CHANGELOG.md">json5's
changelog</a>.</em></p>
<blockquote>
<h3>Unreleased [<a
href="https://github.com/json5/json5/tree/main">code</a>, <a
href="https://github.com/json5/json5/compare/v2.2.3...HEAD">diff</a>]</h3>
<h3>v2.2.3 [<a
href="https://github.com/json5/json5/tree/v2.2.3">code</a>, <a
href="https://github.com/json5/json5/compare/v2.2.2...v2.2.3">diff</a>]</h3>
<ul>
<li>Fix: json5@2.2.3 is now the 'latest' release according to npm
instead of
v1.0.2. (<a
href="https://github-redirect.dependabot.com/json5/json5/issues/299">#299</a>)</li>
</ul>
<h3>v2.2.2 [<a
href="https://github.com/json5/json5/tree/v2.2.2">code</a>, <a
href="https://github.com/json5/json5/compare/v2.2.1...v2.2.2">diff</a>]</h3>
<ul>
<li>Fix: Properties with the name <code>__proto__</code> are added to
objects and arrays.
(<a
href="https://github-redirect.dependabot.com/json5/json5/issues/199">#199</a>)
This also fixes a prototype pollution vulnerability reported by
Jonathan Gregson! (<a
href="https://github-redirect.dependabot.com/json5/json5/issues/295">#295</a>).</li>
</ul>
<h3>v2.2.1 [<a
href="https://github.com/json5/json5/tree/v2.2.1">code</a>, <a
href="https://github.com/json5/json5/compare/v2.2.0...v2.2.1">diff</a>]</h3>
<ul>
<li>Fix: Removed dependence on minimist to patch CVE-2021-44906. (<a
href="https://github-redirect.dependabot.com/json5/json5/issues/266">#266</a>)</li>
</ul>
<h3>v2.2.0 [<a
href="https://github.com/json5/json5/tree/v2.2.0">code</a>, <a
href="https://github.com/json5/json5/compare/v2.1.3...v2.2.0">diff</a>]</h3>
<ul>
<li>New: Accurate and documented TypeScript declarations are now
included. There
is no need to install <code>@types/json5</code>. (<a
href="https://github-redirect.dependabot.com/json5/json5/issues/236">#236</a>,
<a
href="https://github-redirect.dependabot.com/json5/json5/issues/244">#244</a>)</li>
</ul>
<h3>v2.1.3 [<a
href="https://github.com/json5/json5/tree/v2.1.3">code</a>, <a
href="https://github.com/json5/json5/compare/v2.1.2...v2.1.3">diff</a>]</h3>
<ul>
<li>Fix: An out of memory bug when parsing numbers has been fixed. (<a
href="https://github-redirect.dependabot.com/json5/json5/issues/228">#228</a>,
<a
href="https://github-redirect.dependabot.com/json5/json5/issues/229">#229</a>)</li>
</ul>
<h3>v2.1.2 [<a
href="https://github.com/json5/json5/tree/v2.1.2">code</a>, <a
href="https://github.com/json5/json5/compare/v2.1.1...v2.1.2">diff</a>]</h3>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="a62db1e51e"><code>a62db1e</code></a>
1.0.2</li>
<li><a
href="e0c23fe458"><code>e0c23fe</code></a>
docs: update CHANGELOG for v1.0.2</li>
<li><a
href="62a6540840"><code>62a6540</code></a>
fix: add <strong>proto</strong> to objects and arrays</li>
<li>See full diff in <a
href="https://github.com/json5/json5/compare/v1.0.1...v1.0.2">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=json5&package-manager=npm_and_yarn&previous-version=1.0.1&new-version=1.0.2)](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 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)
- `@dependabot use these labels` will set the current labels as the
default for future PRs for this repo and language
- `@dependabot use these reviewers` will set the current reviewers as
the default for future PRs for this repo and language
- `@dependabot use these assignees` will set the current assignees as
the default for future PRs for this repo and language
- `@dependabot use this milestone` will set the current milestone as the
default for future PRs for this repo and language

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>
2023-01-11 14:31:30 +01:00
dependabot[bot]
e9809c0ff0
chore(deps): bump knex from 2.2.0 to 2.4.0 in /docker (#2869)
Bumps [knex](https://github.com/knex/knex) from 2.2.0 to 2.4.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/knex/knex/releases">knex's
releases</a>.</em></p>
<blockquote>
<h2>2.4.0</h2>
<h3>New features:</h3>
<ul>
<li>Support partial unique indexes <a
href="https://github-redirect.dependabot.com/knex/knex/issues/5316">#5316</a></li>
<li>Make compiling SQL in error message optional <a
href="https://github-redirect.dependabot.com/knex/knex/issues/5282">#5282</a></li>
</ul>
<h3>Bug fixes</h3>
<ul>
<li>Insert array into json column <a
href="https://github-redirect.dependabot.com/knex/knex/issues/5321">#5321</a></li>
<li>Fix unexpected max acquire-timeout <a
href="https://github-redirect.dependabot.com/knex/knex/issues/5377">#5377</a></li>
<li>Fix: orWhereJson <a
href="https://github-redirect.dependabot.com/knex/knex/issues/5361">#5361</a></li>
<li>MySQL: Add assertion for basic where clause not to be object or
array <a
href="https://github-redirect.dependabot.com/knex/knex/issues/1227">#1227</a></li>
<li>SQLite: Fix changing the default value of a boolean column in SQLite
<a
href="https://github-redirect.dependabot.com/knex/knex/issues/5319">#5319</a></li>
</ul>
<h3>Typings:</h3>
<ul>
<li>add missing type for 'expirationChecker' on PgConnectionConfig <a
href="https://github-redirect.dependabot.com/knex/knex/issues/5334">#5334</a></li>
</ul>
<h2>2.3.0</h2>
<h3>New features:</h3>
<ul>
<li>PostgreSQL: Explicit jsonb support for custom pg clients <a
href="https://github-redirect.dependabot.com/knex/knex/issues/5201">#5201</a></li>
<li>SQLite: Support returning with sqlite3 and better-sqlite3 <a
href="https://github-redirect.dependabot.com/knex/knex/issues/5285">#5285</a></li>
<li>MSSQL: Implement mapBinding mssql dialect option <a
href="https://github-redirect.dependabot.com/knex/knex/issues/5292">#5292</a></li>
</ul>
<h3>Typings:</h3>
<ul>
<li>Update types for TS 4.8 <a
href="https://github-redirect.dependabot.com/knex/knex/issues/5279">#5279</a></li>
<li>Fix typo <a
href="https://github-redirect.dependabot.com/knex/knex/issues/5267">#5267</a></li>
<li>Fix WhereJsonObject withCompositeTableType <a
href="https://github-redirect.dependabot.com/knex/knex/issues/5306">#5306</a></li>
<li>Fix AnalyticFunction type <a
href="https://github-redirect.dependabot.com/knex/knex/issues/5304">#5304</a></li>
<li>Infer specific column value type in aggregations <a
href="https://github-redirect.dependabot.com/knex/knex/issues/5297">#5297</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/knex/knex/blob/master/CHANGELOG.md">knex's
changelog</a>.</em></p>
<blockquote>
<h1>2.4.0 - 06 January, 2022</h1>
<h3>New features:</h3>
<ul>
<li>Support partial unique indexes <a
href="https://github-redirect.dependabot.com/knex/knex/issues/5316">#5316</a></li>
<li>Make compiling SQL in error message optional <a
href="https://github-redirect.dependabot.com/knex/knex/issues/5282">#5282</a></li>
</ul>
<h3>Bug fixes</h3>
<ul>
<li>Insert array into json column <a
href="https://github-redirect.dependabot.com/knex/knex/issues/5321">#5321</a></li>
<li>Fix unexpected max acquire-timeout <a
href="https://github-redirect.dependabot.com/knex/knex/issues/5377">#5377</a></li>
<li>Fix: orWhereJson <a
href="https://github-redirect.dependabot.com/knex/knex/issues/5361">#5361</a></li>
<li>MySQL: Add assertion for basic where clause not to be object or
array <a
href="https://github-redirect.dependabot.com/knex/knex/issues/1227">#1227</a></li>
<li>SQLite: Fix changing the default value of a boolean column in SQLite
<a
href="https://github-redirect.dependabot.com/knex/knex/issues/5319">#5319</a></li>
</ul>
<h3>Typings:</h3>
<ul>
<li>add missing type for 'expirationChecker' on PgConnectionConfig <a
href="https://github-redirect.dependabot.com/knex/knex/issues/5334">#5334</a></li>
</ul>
<h1>2.3.0 - 31 August, 2022</h1>
<h3>New features:</h3>
<ul>
<li>PostgreSQL: Explicit jsonb support for custom pg clients <a
href="https://github-redirect.dependabot.com/knex/knex/issues/5201">#5201</a></li>
<li>SQLite: Support returning with sqlite3 and better-sqlite3 <a
href="https://github-redirect.dependabot.com/knex/knex/issues/5285">#5285</a></li>
<li>MSSQL: Implement mapBinding mssql dialect option <a
href="https://github-redirect.dependabot.com/knex/knex/issues/5292">#5292</a></li>
</ul>
<h3>Typings:</h3>
<ul>
<li>Update types for TS 4.8 <a
href="https://github-redirect.dependabot.com/knex/knex/issues/5279">#5279</a></li>
<li>Fix typo <a
href="https://github-redirect.dependabot.com/knex/knex/issues/5267">#5267</a></li>
<li>Fix WhereJsonObject withCompositeTableType <a
href="https://github-redirect.dependabot.com/knex/knex/issues/5306">#5306</a></li>
<li>Fix AnalyticFunction type <a
href="https://github-redirect.dependabot.com/knex/knex/issues/5304">#5304</a></li>
<li>Infer specific column value type in aggregations <a
href="https://github-redirect.dependabot.com/knex/knex/issues/5297">#5297</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="3475d81668"><code>3475d81</code></a>
Prepare to release 2.4.0</li>
<li><a
href="e97f92201a"><code>e97f922</code></a>
Bump tsd from 0.24.1 to 0.25.0 (<a
href="https://github-redirect.dependabot.com/knex/knex/issues/5396">#5396</a>)</li>
<li><a
href="e145322da9"><code>e145322</code></a>
1227: add assertion for basic where clause values (<a
href="https://github-redirect.dependabot.com/knex/knex/issues/5417">#5417</a>)</li>
<li><a
href="962bb0a635"><code>962bb0a</code></a>
Bump sinon from 14.0.2 to 15.0.1 (<a
href="https://github-redirect.dependabot.com/knex/knex/issues/5413">#5413</a>)</li>
<li><a
href="ab45314e70"><code>ab45314</code></a>
Add JSDoc (TS Flavour) to mjs stub file (<a
href="https://github-redirect.dependabot.com/knex/knex/issues/5390">#5390</a>)</li>
<li><a
href="72bd1f7396"><code>72bd1f7</code></a>
Fix: orWhereJson (<a
href="https://github-redirect.dependabot.com/knex/knex/issues/5361">#5361</a>)</li>
<li><a
href="4fc939a176"><code>4fc939a</code></a>
Fixes unexpected max acquire-timeout (<a
href="https://github-redirect.dependabot.com/knex/knex/issues/5377">#5377</a>)</li>
<li><a
href="5c4837cd4f"><code>5c4837c</code></a>
Fix lib/.gitignore path separator on Windows. (<a
href="https://github-redirect.dependabot.com/knex/knex/issues/5325">#5325</a>)</li>
<li><a
href="7dbbd00701"><code>7dbbd00</code></a>
Bump actions/setup-node from 3.4.1 to 3.5.1 (<a
href="https://github-redirect.dependabot.com/knex/knex/issues/5356">#5356</a>)</li>
<li><a
href="d39051f4a5"><code>d39051f</code></a>
fix: add missing type for 'expirationChecker' on PgConnectionConfig (<a
href="https://github-redirect.dependabot.com/knex/knex/issues/5334">#5334</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/knex/knex/compare/2.2.0...2.4.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=knex&package-manager=npm_and_yarn&previous-version=2.2.0&new-version=2.4.0)](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 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)
- `@dependabot use these labels` will set the current labels as the
default for future PRs for this repo and language
- `@dependabot use these reviewers` will set the current reviewers as
the default for future PRs for this repo and language
- `@dependabot use these assignees` will set the current assignees as
the default for future PRs for this repo and language
- `@dependabot use this milestone` will set the current milestone as the
default for future PRs for this repo and language

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>
2023-01-11 14:29:01 +01:00
dependabot[bot]
e2398dfde1
chore(deps): bump json5 from 1.0.1 to 1.0.2 in /frontend (#2814)
Bumps [json5](https://github.com/json5/json5) from 1.0.1 to 1.0.2.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/json5/json5/releases">json5's
releases</a>.</em></p>
<blockquote>
<h2>v1.0.2</h2>
<ul>
<li>Fix: Properties with the name <code>__proto__</code> are added to
objects and arrays. (<a
href="https://github-redirect.dependabot.com/json5/json5/issues/199">#199</a>)
This also fixes a prototype pollution vulnerability reported by Jonathan
Gregson! (<a
href="https://github-redirect.dependabot.com/json5/json5/issues/295">#295</a>).
This has been backported to v1. (<a
href="https://github-redirect.dependabot.com/json5/json5/issues/298">#298</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/json5/json5/blob/main/CHANGELOG.md">json5's
changelog</a>.</em></p>
<blockquote>
<h3>Unreleased [<a
href="https://github.com/json5/json5/tree/main">code</a>, <a
href="https://github.com/json5/json5/compare/v2.2.3...HEAD">diff</a>]</h3>
<h3>v2.2.3 [<a
href="https://github.com/json5/json5/tree/v2.2.3">code</a>, <a
href="https://github.com/json5/json5/compare/v2.2.2...v2.2.3">diff</a>]</h3>
<ul>
<li>Fix: json5@2.2.3 is now the 'latest' release according to npm
instead of
v1.0.2. (<a
href="https://github-redirect.dependabot.com/json5/json5/issues/299">#299</a>)</li>
</ul>
<h3>v2.2.2 [<a
href="https://github.com/json5/json5/tree/v2.2.2">code</a>, <a
href="https://github.com/json5/json5/compare/v2.2.1...v2.2.2">diff</a>]</h3>
<ul>
<li>Fix: Properties with the name <code>__proto__</code> are added to
objects and arrays.
(<a
href="https://github-redirect.dependabot.com/json5/json5/issues/199">#199</a>)
This also fixes a prototype pollution vulnerability reported by
Jonathan Gregson! (<a
href="https://github-redirect.dependabot.com/json5/json5/issues/295">#295</a>).</li>
</ul>
<h3>v2.2.1 [<a
href="https://github.com/json5/json5/tree/v2.2.1">code</a>, <a
href="https://github.com/json5/json5/compare/v2.2.0...v2.2.1">diff</a>]</h3>
<ul>
<li>Fix: Removed dependence on minimist to patch CVE-2021-44906. (<a
href="https://github-redirect.dependabot.com/json5/json5/issues/266">#266</a>)</li>
</ul>
<h3>v2.2.0 [<a
href="https://github.com/json5/json5/tree/v2.2.0">code</a>, <a
href="https://github.com/json5/json5/compare/v2.1.3...v2.2.0">diff</a>]</h3>
<ul>
<li>New: Accurate and documented TypeScript declarations are now
included. There
is no need to install <code>@types/json5</code>. (<a
href="https://github-redirect.dependabot.com/json5/json5/issues/236">#236</a>,
<a
href="https://github-redirect.dependabot.com/json5/json5/issues/244">#244</a>)</li>
</ul>
<h3>v2.1.3 [<a
href="https://github.com/json5/json5/tree/v2.1.3">code</a>, <a
href="https://github.com/json5/json5/compare/v2.1.2...v2.1.3">diff</a>]</h3>
<ul>
<li>Fix: An out of memory bug when parsing numbers has been fixed. (<a
href="https://github-redirect.dependabot.com/json5/json5/issues/228">#228</a>,
<a
href="https://github-redirect.dependabot.com/json5/json5/issues/229">#229</a>)</li>
</ul>
<h3>v2.1.2 [<a
href="https://github.com/json5/json5/tree/v2.1.2">code</a>, <a
href="https://github.com/json5/json5/compare/v2.1.1...v2.1.2">diff</a>]</h3>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="a62db1e51e"><code>a62db1e</code></a>
1.0.2</li>
<li><a
href="e0c23fe458"><code>e0c23fe</code></a>
docs: update CHANGELOG for v1.0.2</li>
<li><a
href="62a6540840"><code>62a6540</code></a>
fix: add <strong>proto</strong> to objects and arrays</li>
<li>See full diff in <a
href="https://github.com/json5/json5/compare/v1.0.1...v1.0.2">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=json5&package-manager=npm_and_yarn&previous-version=1.0.1&new-version=1.0.2)](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 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)
- `@dependabot use these labels` will set the current labels as the
default for future PRs for this repo and language
- `@dependabot use these reviewers` will set the current reviewers as
the default for future PRs for this repo and language
- `@dependabot use these assignees` will set the current assignees as
the default for future PRs for this repo and language
- `@dependabot use this milestone` will set the current milestone as the
default for future PRs for this repo and language

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>
2023-01-11 14:28:25 +01:00
sjaanus
3a25b5f2db
Maintenance mode fix (#2876)
Maintenance mode fix
2023-01-11 14:56:55 +02:00
Gastón Fournier
fa47fee55e
feat: RBAC read params from body (#2846)
## About the changes
This is a follow-up on #1953

This implementation generalizes how we fetch some standard parameters
from the query parameters or request body.

## Discussion points
Unfortunately, we have not used standard names for our APIs and one
example is our `projectId` (in some cases we just used `project`).
Ideally, we're only using one way of sending these parameters either
`projectId` or `project` (same applies to `environment` vs
`environmentId`).

If both parameters are present, due to historical reasons, we'll give
precedence to:
- `projectId` over `project`
- `environment` over `environmentId` 

In the presence of both query parameters and body, we'll give precedence
to query parameters also for historical reasons.
2023-01-11 10:48:27 +01:00
andreas-unleash
7c8647f9f3
fix track invite-link user created event (#2689)
Signed-off-by: andreas-unleash <andreas@getunleash.ai>

<!-- Thanks for creating a PR! To make it easier for reviewers and
everyone else to understand what your changes relate to, please add some
relevant content to the headings below. Feel free to ignore or delete
sections that you don't think are relevant. Thank you! ❤️ -->

Adds plausible tracking of invite-link use for all auth types.



## About the changes
<!-- Describe the changes introduced. What are they and why are they
being introduced? Feel free to also add screenshots or steps to view the
changes if they're visual. -->

<!-- Does it close an issue? Multiple? -->
Closes #

<!-- (For internal contributors): Does it relate to an issue on public
roadmap? -->
<!--
Relates to [roadmap](https://github.com/orgs/Unleash/projects/10) item:
#
-->

### Important files
<!-- PRs can contain a lot of changes, but not all changes are equally
important. Where should a reviewer start looking to get an overview of
the changes? Are any files particularly important? -->


## Discussion points
<!-- Anything about the PR you'd like to discuss before it gets merged?
Got any questions or doubts? -->

Signed-off-by: andreas-unleash <andreas@getunleash.ai>
2023-01-11 11:24:11 +02:00
andreas-unleash
fc548164a9
MakeStyles refactor 1-4 (#2845)
Signed-off-by: andreas-unleash <andreas@getunleash.ai>

Make styles refactoring

<!-- Thanks for creating a PR! To make it easier for reviewers and
everyone else to understand what your changes relate to, please add some
relevant content to the headings below. Feel free to ignore or delete
sections that you don't think are relevant. Thank you! ❤️ -->

## About the changes
<!-- Describe the changes introduced. What are they and why are they
being introduced? Feel free to also add screenshots or steps to view the
changes if they're visual. -->

<!-- Does it close an issue? Multiple? -->
Closes #

<!-- (For internal contributors): Does it relate to an issue on public
roadmap? -->
<!--
Relates to [roadmap](https://github.com/orgs/Unleash/projects/10) item:
#
-->

### Important files
<!-- PRs can contain a lot of changes, but not all changes are equally
important. Where should a reviewer start looking to get an overview of
the changes? Are any files particularly important? -->


## Discussion points
<!-- Anything about the PR you'd like to discuss before it gets merged?
Got any questions or doubts? -->

Signed-off-by: andreas-unleash <andreas@getunleash.ai>
2023-01-11 11:02:10 +02:00
andreas-unleash
e050495199
fix feature-schema.ts (#2729)
Signed-off-by: andreas-unleash <andreas@getunleash.ai>

<!-- Thanks for creating a PR! To make it easier for reviewers and
everyone else to understand what your changes relate to, please add some
relevant content to the headings below. Feel free to ignore or delete
sections that you don't think are relevant. Thank you! ❤️ -->
This PR fixes the admin feature schema by moving the `strategies`
(featureStrategySchema) from the root of `feature` object to
`feature.environment`
## About the changes
<!-- Describe the changes introduced. What are they and why are they
being introduced? Feel free to also add screenshots or steps to view the
changes if they're visual. -->

<!-- Does it close an issue? Multiple? -->
Closes #

<!-- (For internal contributors): Does it relate to an issue on public
roadmap? -->
<!--
Relates to [roadmap](https://github.com/orgs/Unleash/projects/10) item:
#
-->

### Important files
<!-- PRs can contain a lot of changes, but not all changes are equally
important. Where should a reviewer start looking to get an overview of
the changes? Are any files particularly important? -->


## Discussion points
<!-- Anything about the PR you'd like to discuss before it gets merged?
Got any questions or doubts? -->

Signed-off-by: andreas-unleash <andreas@getunleash.ai>
2023-01-11 10:53:43 +02:00
andreas-unleash
cf3987ed2d
Refactor App.styles (#2822)
Signed-off-by: andreas-unleash <andreas@getunleash.ai>
Refactor App.styles.ts to styled components
<!-- Thanks for creating a PR! To make it easier for reviewers and
everyone else to understand what your changes relate to, please add some
relevant content to the headings below. Feel free to ignore or delete
sections that you don't think are relevant. Thank you! ❤️ -->

## About the changes
<!-- Describe the changes introduced. What are they and why are they
being introduced? Feel free to also add screenshots or steps to view the
changes if they're visual. -->

<!-- Does it close an issue? Multiple? -->
Closes #

<!-- (For internal contributors): Does it relate to an issue on public
roadmap? -->
<!--
Relates to [roadmap](https://github.com/orgs/Unleash/projects/10) item:
#
-->

### Important files
<!-- PRs can contain a lot of changes, but not all changes are equally
important. Where should a reviewer start looking to get an overview of
the changes? Are any files particularly important? -->


## Discussion points
<!-- Anything about the PR you'd like to discuss before it gets merged?
Got any questions or doubts? -->

Signed-off-by: andreas-unleash <andreas@getunleash.ai>
2023-01-11 10:52:53 +02:00
andreas-unleash
186accdef7
MakeStyles refactor 1-5 (#2850)
ConstraintAccordion

Signed-off-by: andreas-unleash <andreas@getunleash.ai>

<!-- Thanks for creating a PR! To make it easier for reviewers and
everyone else to understand what your changes relate to, please add some
relevant content to the headings below. Feel free to ignore or delete
sections that you don't think are relevant. Thank you! ❤️ -->

## About the changes
<!-- Describe the changes introduced. What are they and why are they
being introduced? Feel free to also add screenshots or steps to view the
changes if they're visual. -->

<!-- Does it close an issue? Multiple? -->
Closes #

<!-- (For internal contributors): Does it relate to an issue on public
roadmap? -->
<!--
Relates to [roadmap](https://github.com/orgs/Unleash/projects/10) item:
#
-->

### Important files
<!-- PRs can contain a lot of changes, but not all changes are equally
important. Where should a reviewer start looking to get an overview of
the changes? Are any files particularly important? -->


## Discussion points
<!-- Anything about the PR you'd like to discuss before it gets merged?
Got any questions or doubts? -->

Signed-off-by: andreas-unleash <andreas@getunleash.ai>
2023-01-11 10:51:25 +02:00
Gastón Fournier
9ea67a74b4
feat: add error logs for addons (#2739)
## About the changes
This uses log-level warning so we can turn off the log without turning
off all error logs. This could potentially be tweaked further by using
log categories in the log configuration.

Closes #2057
2023-01-11 09:13:22 +01:00
sjaanus
6c9ef53ea4
Export import flag (#2866)
Export import flag
2023-01-11 09:23:47 +02:00
sjaanus
11d5a157c4
Remove E flag (#2832) 2023-01-11 09:00:26 +02:00
Fredrik Strand Oseberg
da193e7aa0
Feat/export UI (#2867)
MVP for the export feature scoped export UI
2023-01-10 16:47:19 +01:00
Nuno Góis
8964c3c23d
fix: PageContent bodyContainer overflowX (#2852)
https://linear.app/unleash/issue/1-546/project-overview-table-is-missing-overflow-x-auto

Fixes an issue where the PageContent body doesn't scroll horizontally
when needed.

This regression seems to have been included with
https://github.com/Unleash/unleash/pull/2811, more specifically:

https://github.com/Unleash/unleash/pull/2811/files#diff-a1c10fdcd539d988f74d4c3742cc6b8844152999a6c7e509ed8b1765c604524fL491
2023-01-10 16:46:53 +01:00
sjaanus
f3f3a59e5e
Import export (#2865) 2023-01-10 15:59:02 +02:00
Ivar Conradi Østhus
0c1e997f0b
fix: store snapshots in temp folder (#2864) 2023-01-10 13:53:00 +01:00
Mateusz Kwasniewski
8e5aeff1a7
fix: table accessor should handle dots (#2863) 2023-01-10 13:15:55 +01:00
Nuno Góis
6be21fc1bd
feat: track uncaught UI errors in plausible (#2860)
https://linear.app/unleash/issue/2-567/add-plausible-tracking-to-unknown-uncaught-frontend-errors

Based on the discussion from
https://github.com/Unleash/unleash/pull/2851, something like this could
help us track uncaught/unknown errors on the frontend.

Just a quick suggestion, since there might be something better we could
use for this.
2023-01-10 10:33:56 +00:00
Nuno Góis
4d93532307
fix: SA duplicate autoResetHiddenColumns (#2861)
Seems like merging both https://github.com/Unleash/unleash/pull/2851 and
https://github.com/Unleash/unleash/pull/2848 made us end up with a
duplicate `autoResetHiddenColumns` option in the `ServiceAccountsTable`
table component.
2023-01-10 08:58:13 +00:00
Nuno Góis
233e06ec6a
fix: disable autoResetHiddenColumns when useConditionallyHiddenColumns (#2851)
https://linear.app/unleash/issue/2-563/fix-issue-with-useconditionallyhiddencolumns-and-react-table

It seems like we should add `autoResetHiddenColumns: false` to
`useTable` whenever we use `useConditionallyHiddenColumns`.

Basically the thought is that, if we're controlling column visibility in
our own way, we should not want other things to change that state
unpredictably, otherwise this may make React go _brrrrrr_. And it can be
very hard to pinpoint what exactly may be causing React to go _brrrrrr_.


![image](https://user-images.githubusercontent.com/14320932/211332339-95918c5c-e3ea-40e9-b8b4-756a798a4702.png)

First detected this issue apparently randomly while developing the new
SA table. Around 10-20 page refreshes would eventually trigger it. Was
not easy to find, but hopefully this fixes it permanently. At least I
haven't been able to reproduce it since. Maybe someone has a better idea
of where the issue could be or if this is a pretty good guess. Doesn't
seem like this change hurts us anyways.

I love React, `useEffect` and these very to-the-point error messages.
Very fun and productive.

Reference: https://react-table-v7.tanstack.com/docs/api/useTable
2023-01-10 08:15:12 +00:00
Nuno Góis
297f9579fd
feat: move createdAt col on users (#2853)
Small UI/UX change. 

After discussing with @NicolaeUnleash we decided that moving this column
in the users table over to the right next to "last login" would improve
readability and consistency.


![image](https://user-images.githubusercontent.com/14320932/211355575-bd9cbf87-baa5-4133-9fb4-14882d58dd07.png)
2023-01-09 19:36:49 +00:00
Nuno Góis
997dbbbea5
Feat sa table info (#2848)
https://linear.app/unleash/issue/2-543/show-relevant-information-on-the-service-accounts-table

Shows relevant information on the table, like total PATs and the last
time a service account was active based on latest seen PAT for that
account. Adapts to the latest related PR on enterprise.


![image](https://user-images.githubusercontent.com/14320932/211312719-c4ed940a-723b-4b2e-a79e-8e7cdbda7c58.png)
2023-01-09 16:18:37 +00:00
sjaanus
7b075954a1
Maintenance UI fixes (#2849)
Maintenance UI fixes
2023-01-09 15:54:14 +02:00
sjaanus
d13401b6ed
Plausible for hidden environments (#2837)
Plausible for hidden environments
2023-01-09 15:36:10 +02:00
andreas-unleash
74410d292b
MakeStyles refactor 1-3 (#2835)
Signed-off-by: andreas-unleash <andreas@getunleash.ai>

MakeStyles refactor 1-3
<!-- Thanks for creating a PR! To make it easier for reviewers and
everyone else to understand what your changes relate to, please add some
relevant content to the headings below. Feel free to ignore or delete
sections that you don't think are relevant. Thank you! ❤️ -->

## About the changes
<!-- Describe the changes introduced. What are they and why are they
being introduced? Feel free to also add screenshots or steps to view the
changes if they're visual. -->

<!-- Does it close an issue? Multiple? -->
Closes #

<!-- (For internal contributors): Does it relate to an issue on public
roadmap? -->
<!--
Relates to [roadmap](https://github.com/orgs/Unleash/projects/10) item:
#
-->

### Important files
<!-- PRs can contain a lot of changes, but not all changes are equally
important. Where should a reviewer start looking to get an overview of
the changes? Are any files particularly important? -->


## Discussion points
<!-- Anything about the PR you'd like to discuss before it gets merged?
Got any questions or doubts? -->

Signed-off-by: andreas-unleash <andreas@getunleash.ai>
2023-01-09 10:41:58 +02:00
andreas-telco
13a78dfc69
Chore/make styles batch 1 2 (#2828)
<!-- Thanks for creating a PR! To make it easier for reviewers and
everyone else to understand what your changes relate to, please add some
relevant content to the headings below. Feel free to ignore or delete
sections that you don't think are relevant. Thank you! ❤️ -->
ApiTokenForm refactoring

## About the changes
<!-- Describe the changes introduced. What are they and why are they
being introduced? Feel free to also add screenshots or steps to view the
changes if they're visual. -->

<!-- Does it close an issue? Multiple? -->
Closes #

<!-- (For internal contributors): Does it relate to an issue on public
roadmap? -->
<!--
Relates to [roadmap](https://github.com/orgs/Unleash/projects/10) item:
#
-->

### Important files
<!-- PRs can contain a lot of changes, but not all changes are equally
important. Where should a reviewer start looking to get an overview of
the changes? Are any files particularly important? -->


## Discussion points
<!-- Anything about the PR you'd like to discuss before it gets merged?
Got any questions or doubts? -->

Signed-off-by: andreas-unleash <andreas@getunleash.ai>
Co-authored-by: andreas-unleash <andreas@getunleash.ai>
2023-01-09 10:01:44 +02:00
Nuno Góis
c244cd6823
feat: show token info when deleting SA (#2841)
https://linear.app/unleash/issue/2-544/delete-service-account-show-latest-activity-for-that-service-account


![image](https://user-images.githubusercontent.com/14320932/211002311-835c4435-4a06-446b-9585-ed7b679e3532.png)
2023-01-06 13:07:33 +00:00
Nuno Góis
b10d9c435e
feat: manage SA tokens through UI (#2840)
https://linear.app/unleash/issue/2-542/manage-service-account-tokens-through-the-ui


![image](https://user-images.githubusercontent.com/14320932/210998202-b3cd14ca-0ae2-4301-8a6e-9fb887b9b517.png)
2023-01-06 12:56:54 +00:00
GitHub Actions Bot
2b8f1ee0d7 4.20.0-beta.2 2023-01-06 09:43:07 +00:00
sjaanus
7a1c18bd35
Ability to add AJV schemas runtime (#2792) 2023-01-06 11:41:39 +02:00
sjaanus
2139d8342a
Allow hiding environments from the feature overview screen fix (#2831) 2023-01-06 11:32:26 +02:00
Thomas Heartman
89c6c09db3
docs: add /docs redirects to _all_ redirect paths (#2839)
## What

For each defined doc redirect path (that doesn't start with `/docs/`),
this PR adds an additional redirect that starts with `/docs`. The rest
of the path is otherwise identical.

For instance, if we have a redirect that goes from `/user_guide/x`, then
this change will ensure that we also have redirect that goes from
`/docs/user_guide/x`.

## Why

As reported by Roman, we've had some 404s recently when people have
tried to access pages that used to exist (wayyyy back) and that used to
redirect.

The reason these redirects stopped working is that we changed the url
structure recently. Before then, the `createRedirects` function would go
and create redirects that started with `/docs/` for all the paths that
required it. However, now that we've changed the structure of the URLs,
a blanket implementation like that won't work anymore.

Luckily, though, we already have all the redirects for pages we have
moved (just not redirecting from the `/docs/...` paths), so we can map
over the paths and add the missing redirects.
2023-01-05 21:47:04 +01:00