* web: fix esbuild issue with style sheets
Getting ESBuild, Lit, and Storybook to all agree on how to read and parse stylesheets is a serious
pain. This fix better identifies the value types (instances) being passed from various sources in
the repo to the three *different* kinds of style processors we're using (the native one, the
polyfill one, and whatever the heck Storybook does internally).
Falling back to using older CSS instantiating techniques one era at a time seems to do the trick.
It's ugly, but in the face of the aggressive styling we use to avoid Flashes of Unstyled Content
(FLoUC), it's the logic with which we're left.
In standard mode, the following warning appears on the console when running a Flow:
```
Autofocus processing was blocked because a document already has a focused element.
```
In compatibility mode, the following **error** appears on the console when running a Flow:
```
crawler-inject.js:1106 Uncaught TypeError: Failed to execute 'observe' on 'MutationObserver': parameter 1 is not of type 'Node'.
at initDomMutationObservers (crawler-inject.js:1106:18)
at crawler-inject.js:1114:24
at Array.forEach (<anonymous>)
at initDomMutationObservers (crawler-inject.js:1114:10)
at crawler-inject.js:1549:1
initDomMutationObservers @ crawler-inject.js:1106
(anonymous) @ crawler-inject.js:1114
initDomMutationObservers @ crawler-inject.js:1114
(anonymous) @ crawler-inject.js:1549
```
Despite this error, nothing seems to be broken and flows work as anticipated.
* web: add more linting
* A reliable test for the extra code needed in analyzer, passing shellcheck
* web: re-enable custom-element-manifest and enable component checking in Typescript
This commit includes a monkeypatch to allow custom-element-manifest (CEM) to work correctly again
despite our rich collection of mixins, reactive controllers, symbol-oriented event handlers, and the
like. With that monkeypatch in place, we can now create the CEM manifest file and then exploit it so
that IDEs and the Typescript compilation pass can tell when a component is being used incorrectly;
when the wrong types are being passed to it, or when a required attribute is not initialized.
* Added building the manifest to the build process, rather than storing it. It is not appreciably slow.
* web: the most boring PR in the universe: Add HTMLTagNameElementMap to everyhing
This commit adds HTMLTagNameElementMap entries to every web component in the front end. Activating
and associating the HTMLTagNamElementMap with its class has enabled
[LitAnalyzer](https://github.com/runem/lit-analyzer/tree/master/packages/lit-analyzer) to reveal a
*lot* of basic problems within the UI, the most popular of which is "missing import." We usually get
away with it because the object being imported was already registered with the browser elsewhere,
but it still surprises me that we haven't gotten any complaints over things like:
```
./src/flow/stages/base.ts
Missing import for <ak-form-static>
96: <ak-form-static
no-missing-import
```
Given how early and fundamental that seems to be in our code, I'd have expected to hear _something_
about it.
I have not enabled most of the possible checks because, well, there are just a ton of warnings when
I do. I'd like to get in and fix those.
Aside from this, I have also _removed_ `customElement` declarations from anything declared as an
`abstract class`. It makes no sense to try and instantiate something that cannot, by definition, be
instantiated. If the class is capable of running on its own, it's not abstract, it just needs to be
overridden in child classes. Before removing the declaration I did check to make sure no other
piece of code was even *trying* to instantiate it, and so far I have detected no failures. Those
elements were:
- elements/forms/Form.ts
- element-/wizard/WizardFormPage.ts
The one that blows my mind, though, is this:
```
src/elements/forms/ProxyForm.ts
6-@customElement("ak-proxy-form")
7:export abstract class ProxyForm extends Form<unknown> {
```
Which, despite being `abstract`, is somehow instantiable?
```
src/admin/outposts/ServiceConnectionListPage.ts: <ak-proxy-form
src/admin/providers/ProviderListPage.ts: <ak-proxy-form
src/admin/sources/SourceWizard.ts: <ak-proxy-form
src/admin/sources/SourceListPage.ts: <ak-proxy-form
src/admin/providers/ProviderWizard.ts: <ak-proxy-form type=${type.component}></ak-proxy-form>
src/admin/stages/StageListPage.ts: <ak-proxy-form
```
I've made a note to investigate.
I've started a new folder where all of my one-off tools for *how* a certain PR was run. It has a
README describing what it's for, and the first tool, `add-htmlelementtagnamemaps-to-everything`, is
its first entry. That tool is also documented internally.
``` Gilbert & Sullivan
I've got a little list,
I've got a little list,
Of all the code that would never be missed,
The duplicate code of cute-and-paste,
The weak abstractions that lead to waste,
The embedded templates-- you get the gist,
There ain't none of 'em that will ever be missed,
And that's why I've got them on my list!
```
* web: fix esbuild issue with style sheets
Getting ESBuild, Lit, and Storybook to all agree on how to read and parse stylesheets is a serious
pain. This fix better identifies the value types (instances) being passed from various sources in
the repo to the three *different* kinds of style processors we're using (the native one, the
polyfill one, and whatever the heck Storybook does internally).
Falling back to using older CSS instantiating techniques one era at a time seems to do the trick.
It's ugly, but in the face of the aggressive styling we use to avoid Flashes of Unstyled Content
(FLoUC), it's the logic with which we're left.
In standard mode, the following warning appears on the console when running a Flow:
```
Autofocus processing was blocked because a document already has a focused element.
```
In compatibility mode, the following **error** appears on the console when running a Flow:
```
crawler-inject.js:1106 Uncaught TypeError: Failed to execute 'observe' on 'MutationObserver': parameter 1 is not of type 'Node'.
at initDomMutationObservers (crawler-inject.js:1106:18)
at crawler-inject.js:1114:24
at Array.forEach (<anonymous>)
at initDomMutationObservers (crawler-inject.js:1114:10)
at crawler-inject.js:1549:1
initDomMutationObservers @ crawler-inject.js:1106
(anonymous) @ crawler-inject.js:1114
initDomMutationObservers @ crawler-inject.js:1114
(anonymous) @ crawler-inject.js:1549
```
Despite this error, nothing seems to be broken and flows work as anticipated.
* web: provide a test framework
As is typical of a system where a new build engine is involved, this thing is sadly fragile. Use the
wrong import style in wdio.conf.js and it breaks; there are several notes in tsconfig.test.conf and
wdio.conf.ts to tell eslint or tsc not to complain, it's just a different build with different
criteria, the native criteria don't apply.
On the other hand, writing tests is easy and predictable. We can test behaviors at the unit and
component scale in a straightforward manner, and validate our expectations that things work the way
we believe they should.
* Rolling back a reversion.
* web: update storybook, storybook a few things, fix a few things
After examining how people like Adobe and Salesforce do things, I have updated the storybook
configuration to provide run-time configuration of light/dark mode (although right now nothing
happens), inject the correct styling into the page, and update the preview handling so that we can
see the components better. We'll see how this pans out.
I have provided stories for the AggregateCard, AggregatePromiseCard, and a new QuickActionsCard. I
also fixed a bug in AggregatePromiseCard where it would fail to report a fetch error. It will only
report that "the operation falied," but it will give the full error into the console.
**As an experiment**, I have changed the interpreter for `lint:precommit` and `build:watch` to use
[Bun](https://bun.sh/) instead of NodeJS. We have observed significant speed-ups and much better
memory management with Bun for these two operations. Those are both developer-facing operations, the
behavior of the system undur current CI/CD should not change.
And finally, I've switched the QuickActionsCard view in Admin-Overview to use the new component.
Looks the same. Reads *way* easier. :-)
* Slight revision in exception logic.
* Added a ton of documentation; made the failure message configurable.
* A few documentation changes.
* Adjusting paths to work with tests.
* add ci to test
Signed-off-by: Jens Langhammer <jens@goauthentik.io>
* linting shenanigans
Signed-off-by: Jens Langhammer <jens@goauthentik.io>
* web: patch spotlight on the fly to fix syntax issue that blocked storybook build
This should be a temporary hack. I have an [open
issue](https://github.com/getsentry/spotlight/issues/419) and [pull
request](https://github.com/getsentry/spotlight/pull/420) with the
Spotlight people already to fix the issue.
* Somehow missed these in the merge.
* Merge missed something.
* Fix for incorrect path to patch file; fix for running patch multiple times.
* Prettier is still havin' opinions.
---------
Signed-off-by: Jens Langhammer <jens@goauthentik.io>
Co-authored-by: Jens Langhammer <jens@goauthentik.io>
* main:
core: bump setuptools from 69.5.1 to 70.0.0 (#10503)
web: replace multi-select with dual-select for all propertyMapping invocations (#9359)
web: enable custom-element-manifest and DOM/JS integration checking. (#10177)
* web: fix esbuild issue with style sheets
Getting ESBuild, Lit, and Storybook to all agree on how to read and parse stylesheets is a serious
pain. This fix better identifies the value types (instances) being passed from various sources in
the repo to the three *different* kinds of style processors we're using (the native one, the
polyfill one, and whatever the heck Storybook does internally).
Falling back to using older CSS instantiating techniques one era at a time seems to do the trick.
It's ugly, but in the face of the aggressive styling we use to avoid Flashes of Unstyled Content
(FLoUC), it's the logic with which we're left.
In standard mode, the following warning appears on the console when running a Flow:
```
Autofocus processing was blocked because a document already has a focused element.
```
In compatibility mode, the following **error** appears on the console when running a Flow:
```
crawler-inject.js:1106 Uncaught TypeError: Failed to execute 'observe' on 'MutationObserver': parameter 1 is not of type 'Node'.
at initDomMutationObservers (crawler-inject.js:1106:18)
at crawler-inject.js:1114:24
at Array.forEach (<anonymous>)
at initDomMutationObservers (crawler-inject.js:1114:10)
at crawler-inject.js:1549:1
initDomMutationObservers @ crawler-inject.js:1106
(anonymous) @ crawler-inject.js:1114
initDomMutationObservers @ crawler-inject.js:1114
(anonymous) @ crawler-inject.js:1549
```
Despite this error, nothing seems to be broken and flows work as anticipated.
* web: replace multi-select with dual-select for all propertyMapping invocations
All of the uses of <select> to show propertyMappings have been replaced with an invocation to a
variant of dual select that allows for dynamic production of the "selected" list. Instead of giving
a "selected" list of elements, a "selector" function is passed that can, given the elements listed
by the provider, generated the "selected" list dynamically.
This feature is required for propertyMappings because many of the propertyMappings have an alternative
"default selected" feature whereby an object with no property mappings is automatically granted some
by the `.managed` field of the property mapping. The `DualSelectPair` type is now tragically
mis-named, as it it's now a 4-tuple, the fourth being whatever object or field is necessary to
figure out what the default value might be. For example, the Oauth2PropertyMappingsSelector looks
like this:
```
export function makeOAuth2PropertyMappingsSelector(instanceMappings: string[] | undefined) {
const localMappings = instanceMappings ? new Set(instanceMappings) : undefined;
return localMappings
? ([pk, _]: DualSelectPair) => localMappings.has(pk)
: ([_0, _1, _2, scope]: DualSelectPair<ScopeMapping>) =>
scope?.managed?.startsWith("goauthentik.io/providers/oauth2/scope-") &&
scope?.managed !== "goauthentik.io/providers/oauth2/scope-offline_access";
}
```
If there are instanceMappings, we create a Set of them and just look up the pk for "is this
selected" as we generate the component.
If there is not, we look at the `scope` object itself (Oauth2PropertyMappings were called "scopes"
in the original source) and perform a token analysis.
It works well, is reasonably fast, and reasonably memory-friendly.
In the case of RAC, OAuth2, and ProxyProviders, I've also provided external definitions of the
MappingProvider and MappingSelector, so that they can be shared between the Provider and the
ApplicationWizard.
The algorithm for finding the "alternative (default) selections" was *different* between the two
instances of both Oauth and Proxy. I'm not marking this as "ready" until Jens (@BeryJu) and I can go
over why that might have been so, and decide if using a common implementation for both is the
correct thing to do.
Also, a lot of this is (still) cut-and-paste; the dual-select invocation, and the definitions of
Providers and Selectors have a bit of boilerplate that it just didn't make sense to try and abstract
away; the code is DAMP (Descriptive and Meaningful Phrases), and I can live with it. Unfortunately,
that also points to the possibility of something being off; the wrong default token, or the wrong
phrase to describe the "Available" and "Selected" columns. So this is not (yet) ready for a full
pull review.
On the other hand, if this passes muster and we're happy with it, there are 11 more places to put
DualSelect, four of which are pure cut-and-paste lookups of the PaginatedOauthSourceList, plus a
miscellany of Prompts, Sources, Stages, Roles, EventTransports and Policies.
Despite the churn, the difference between the two implementations is 438 lines removed, 231 lines
added, 121 lines new. 86 LOC deleted. Could be better. :-)
* web: make the ...Selector semantics uniform across the definition set.
* web: fix proxy property mapping default criteria
* web: restoring dropped message to user.
* Ensuring the neccessary components are imported.
* web: fix problem with 'selector' overselecting
The 'selector' feature was overselecting, preventing items from
being removed from the "selected" list if they were part of the
host object. This has the shortcoming that `default` items *must*
be in the first page of options from the server, or they probably
won't be registered. Fortunately, that's currently the case.
* web: fix esbuild issue with style sheets
Getting ESBuild, Lit, and Storybook to all agree on how to read and parse stylesheets is a serious
pain. This fix better identifies the value types (instances) being passed from various sources in
the repo to the three *different* kinds of style processors we're using (the native one, the
polyfill one, and whatever the heck Storybook does internally).
Falling back to using older CSS instantiating techniques one era at a time seems to do the trick.
It's ugly, but in the face of the aggressive styling we use to avoid Flashes of Unstyled Content
(FLoUC), it's the logic with which we're left.
In standard mode, the following warning appears on the console when running a Flow:
```
Autofocus processing was blocked because a document already has a focused element.
```
In compatibility mode, the following **error** appears on the console when running a Flow:
```
crawler-inject.js:1106 Uncaught TypeError: Failed to execute 'observe' on 'MutationObserver': parameter 1 is not of type 'Node'.
at initDomMutationObservers (crawler-inject.js:1106:18)
at crawler-inject.js:1114:24
at Array.forEach (<anonymous>)
at initDomMutationObservers (crawler-inject.js:1114:10)
at crawler-inject.js:1549:1
initDomMutationObservers @ crawler-inject.js:1106
(anonymous) @ crawler-inject.js:1114
initDomMutationObservers @ crawler-inject.js:1114
(anonymous) @ crawler-inject.js:1549
```
Despite this error, nothing seems to be broken and flows work as anticipated.
* web: add more linting
* A reliable test for the extra code needed in analyzer, passing shellcheck
* web: re-enable custom-element-manifest and enable component checking in Typescript
This commit includes a monkeypatch to allow custom-element-manifest (CEM) to work correctly again
despite our rich collection of mixins, reactive controllers, symbol-oriented event handlers, and the
like. With that monkeypatch in place, we can now create the CEM manifest file and then exploit it so
that IDEs and the Typescript compilation pass can tell when a component is being used incorrectly;
when the wrong types are being passed to it, or when a required attribute is not initialized.
* Added building the manifest to the build process, rather than storing it. It is not appreciably slow.
* main: (213 commits)
website/docs: configuration: fix typo in kubectl command (#10492)
website/integrations: fix typo in minio instructions (#10500)
web: bump @typescript-eslint/eslint-plugin from 7.5.0 to 7.16.0 in /tests/wdio (#10496)
website: bump prettier from 3.3.2 to 3.3.3 in /website (#10493)
core: bump ruff from 0.5.1 to 0.5.2 (#10494)
web: bump @typescript-eslint/parser from 7.5.0 to 7.16.0 in /tests/wdio (#10495)
web: bump eslint-plugin-sonarjs from 0.25.1 to 1.0.3 in /tests/wdio (#10498)
web: bump prettier from 3.3.2 to 3.3.3 in /tests/wdio (#10497)
web: bump pseudolocale from 2.0.0 to 2.1.0 in /web (#10499)
core: bump goauthentik.io/api/v3 from 3.2024061.1 to 3.2024061.2 (#10491)
web: bump API Client version (#10488)
flows: remove stage challenge type (#10476)
core: bump github.com/redis/go-redis/v9 from 9.5.3 to 9.5.4 (#10469)
core: bump goauthentik.io/api/v3 from 3.2024060.6 to 3.2024061.1 (#10470)
web: bump the babel group across 1 directory with 2 updates (#10471)
web: bump the storybook group across 1 directory with 7 updates (#10472)
core: bump coverage from 7.5.4 to 7.6.0 (#10473)
website/docs: air gapped: clarify .env usage at the top for Kubernetes installations (#10447)
website/docs: air gapped: update "see configuration" wording (#10448)
website/docs: Add Kubernetes Bootstrap Instructions (#9541)
...
* main: (213 commits)
website/docs: configuration: fix typo in kubectl command (#10492)
website/integrations: fix typo in minio instructions (#10500)
web: bump @typescript-eslint/eslint-plugin from 7.5.0 to 7.16.0 in /tests/wdio (#10496)
website: bump prettier from 3.3.2 to 3.3.3 in /website (#10493)
core: bump ruff from 0.5.1 to 0.5.2 (#10494)
web: bump @typescript-eslint/parser from 7.5.0 to 7.16.0 in /tests/wdio (#10495)
web: bump eslint-plugin-sonarjs from 0.25.1 to 1.0.3 in /tests/wdio (#10498)
web: bump prettier from 3.3.2 to 3.3.3 in /tests/wdio (#10497)
web: bump pseudolocale from 2.0.0 to 2.1.0 in /web (#10499)
core: bump goauthentik.io/api/v3 from 3.2024061.1 to 3.2024061.2 (#10491)
web: bump API Client version (#10488)
flows: remove stage challenge type (#10476)
core: bump github.com/redis/go-redis/v9 from 9.5.3 to 9.5.4 (#10469)
core: bump goauthentik.io/api/v3 from 3.2024060.6 to 3.2024061.1 (#10470)
web: bump the babel group across 1 directory with 2 updates (#10471)
web: bump the storybook group across 1 directory with 7 updates (#10472)
core: bump coverage from 7.5.4 to 7.6.0 (#10473)
website/docs: air gapped: clarify .env usage at the top for Kubernetes installations (#10447)
website/docs: air gapped: update "see configuration" wording (#10448)
website/docs: Add Kubernetes Bootstrap Instructions (#9541)
...
* add link to frontend executor
* add links, tweaks
* fix link
* trying to fix link
* ken's edits
* still fighting link
* ken's edits
* remove extension
---------
Co-authored-by: Tana M Berry <tana@goauthentik.com>
* web: fix esbuild issue with style sheets
Getting ESBuild, Lit, and Storybook to all agree on how to read and parse stylesheets is a serious
pain. This fix better identifies the value types (instances) being passed from various sources in
the repo to the three *different* kinds of style processors we're using (the native one, the
polyfill one, and whatever the heck Storybook does internally).
Falling back to using older CSS instantiating techniques one era at a time seems to do the trick.
It's ugly, but in the face of the aggressive styling we use to avoid Flashes of Unstyled Content
(FLoUC), it's the logic with which we're left.
In standard mode, the following warning appears on the console when running a Flow:
```
Autofocus processing was blocked because a document already has a focused element.
```
In compatibility mode, the following **error** appears on the console when running a Flow:
```
crawler-inject.js:1106 Uncaught TypeError: Failed to execute 'observe' on 'MutationObserver': parameter 1 is not of type 'Node'.
at initDomMutationObservers (crawler-inject.js:1106:18)
at crawler-inject.js:1114:24
at Array.forEach (<anonymous>)
at initDomMutationObservers (crawler-inject.js:1114:10)
at crawler-inject.js:1549:1
initDomMutationObservers @ crawler-inject.js:1106
(anonymous) @ crawler-inject.js:1114
initDomMutationObservers @ crawler-inject.js:1114
(anonymous) @ crawler-inject.js:1549
```
Despite this error, nothing seems to be broken and flows work as anticipated.
* web: remove some minor lint
While working on other projects, a few small lint issues came up:
- Duplicate imports of a web component
- A switch statement with a single condition
- Empty returns
All of these made eslint complain, so I have edited the code to meet our standards. They are all
quite small.
* web: move rbac under .../admin (#10213)
* admin: system api: fix FIPS status schema (cherry-pick #10110) (#10112)
admin: system api: fix FIPS status schema (#10110)
Co-authored-by: Marc 'risson' Schmitt <marc.schmitt@risson.space>
* web: bump API Client version (cherry-pick #10113) (#10114)
* website/docs: update 2024.6 release notes with latest changes (cherry-pick #10109) (#10115)
Co-authored-by: Marc 'risson' Schmitt <marc.schmitt@risson.space>
* release: 2024.6.0-rc1
* policies/reputation: fix existing reputation update (cherry-pick #10124) (#10125)
policies/reputation: fix existing reputation update (#10124)
* add failing test case
* fix reputation update
* lint
---------
Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space>
Co-authored-by: Marc 'risson' Schmitt <marc.schmitt@risson.space>
* core: include version in built JS files (cherry-pick #9558) (#10148)
core: include version in built JS files (#9558)
* web: fix esbuild issue with style sheets
Getting ESBuild, Lit, and Storybook to all agree on how to read and parse stylesheets is a serious
pain. This fix better identifies the value types (instances) being passed from various sources in
the repo to the three *different* kinds of style processors we're using (the native one, the
polyfill one, and whatever the heck Storybook does internally).
Falling back to using older CSS instantiating techniques one era at a time seems to do the trick.
It's ugly, but in the face of the aggressive styling we use to avoid Flashes of Unstyled Content
(FLoUC), it's the logic with which we're left.
In standard mode, the following warning appears on the console when running a Flow:
```
Autofocus processing was blocked because a document already has a focused element.
```
In compatibility mode, the following **error** appears on the console when running a Flow:
```
crawler-inject.js:1106 Uncaught TypeError: Failed to execute 'observe' on 'MutationObserver': parameter 1 is not of type 'Node'.
at initDomMutationObservers (crawler-inject.js:1106:18)
at crawler-inject.js:1114:24
at Array.forEach (<anonymous>)
at initDomMutationObservers (crawler-inject.js:1114:10)
at crawler-inject.js:1549:1
initDomMutationObservers @ crawler-inject.js:1106
(anonymous) @ crawler-inject.js:1114
initDomMutationObservers @ crawler-inject.js:1114
(anonymous) @ crawler-inject.js:1549
```
Despite this error, nothing seems to be broken and flows work as anticipated.
* core: include version in built JS files
* add fallback
* include build hash
* format
* fix stuff
why does this even work locally
* idk man node
* just not use import assertions
* web: add no-console, use proper dirname path
* web: retarget to use the base package.json file.
* web: encode path to root package.json using git
This is the most authoritative way of finding the root of the git project.
* use full version to match frontend
* add fallback for missing .git folder
---------
Signed-off-by: Jens Langhammer <jens@goauthentik.io>
Co-authored-by: Jens L <jens@goauthentik.io>
Co-authored-by: Ken Sternberg <ken@goauthentik.io>
* web: fix needed because recent upgrade to task breaks spinner button (cherry-pick #10142) (#10150)
web: fix needed because recent upgrade to task breaks spinner button (#10142)
web: fix broken Task plug-in
rebase and fix package json
Signed-off-by: Jens Langhammer <jens@goauthentik.io>
Co-authored-by: Ken Sternberg <133134217+kensternberg-authentik@users.noreply.github.com>
Co-authored-by: Jens Langhammer <jens@goauthentik.io>
* root: use custom model serializer that saves m2m without bulk (cherry-pick #10139) (#10151)
root: use custom model serializer that saves m2m without bulk (#10139)
* use custom model serializer that saves m2m without bulk
* sigh
---------
Signed-off-by: Jens Langhammer <jens@goauthentik.io>
Co-authored-by: Jens L <jens@goauthentik.io>
* web: fix docker build for non-release versions (cherry-pick #10154) (#10155)
Co-authored-by: Marc 'risson' Schmitt <marc.schmitt@risson.space>
fix docker build for non-release versions (#10154)
* website/docs: update 2024.6 release notes with latest changes (cherry-pick #10167) (#10168)
Co-authored-by: Marc 'risson' Schmitt <marc.schmitt@risson.space>
* core: fix error when raising SkipObject in mapping (cherry-pick #10153) (#10173)
core: fix error when raising SkipObject in mapping (#10153)
* core: fix error when raising SkipObject in mapping
* fix events not being saved
thanks tests
---------
Signed-off-by: Jens Langhammer <jens@goauthentik.io>
Co-authored-by: Jens L <jens@goauthentik.io>
* website/docs: 2024.6 release notes: add note about group names (cherry-pick #10170) (#10171)
Co-authored-by: Marc 'risson' Schmitt <marc.schmitt@risson.space>
Co-authored-by: Tana M Berry <tanamarieberry@yahoo.com>
* website/docs: update 2024.6 release notes with latest changes (cherry-pick #10174) (#10175)
Co-authored-by: Marc 'risson' Schmitt <marc.schmitt@risson.space>
* release: 2024.6.0-rc2 (#10176)
* website/docs: Remove hyphen in read replica in Release Notes (cherry-pick #10178) (#10188)
Co-authored-by: Tana M Berry <tanamarieberry@yahoo.com>
Co-authored-by: Tana M Berry <tana@goauthentik.com>
* core: rework base for SkipObject exception to better support control flow exceptions (cherry-pick #10186) (#10187)
core: rework base for SkipObject exception to better support control flow exceptions (#10186)
Signed-off-by: Jens Langhammer <jens@goauthentik.io>
Co-authored-by: Jens L <jens@goauthentik.io>
* web/flows: update flow background (cherry-pick #10206) (#10207)
web/flows: update flow background (#10206)
* web/flows: update flow background
* Optimised images with calibre/image-actions
---------
Signed-off-by: Jens Langhammer <jens@goauthentik.io>
Co-authored-by: Jens L <jens@goauthentik.io>
Co-authored-by: authentik-automation[bot] <135050075+authentik-automation[bot]@users.noreply.github.com>
* web: move rbac under .../admin
The RBAC code segment, while it is an aspect and not a vertical, is entirely used within the Admin
interface, and references other components within the Admin interface. It is not used by nor
references Flows or Users. It's placement in the `elements` folder breaks the DAG of foundational
versus client code, (`common -> elements -> interfaces`), and I'd like to keep that DAG clean to
facilitate future development.
All this PR does is move `elements/rbac` to `admin/rbac`, and adjusts all of the import statements
accordingly. The entirety of this PR is two commands:
```shell
$ cd web/src
$ git mv elements/rbac admin
$ cd admin
$ perl -pi -e 's{goauthentik/elements/rbac/}{goauthentik/admin/rbac/}' $(rg -l 'goauthentik/elements/rbac')
```
* website/docs: fix#9552 openssl rand base64 line wrap (#10211)
* website/integrations: fix typo in documentation for OIDC setup with Paperless-ngx (#10218)
Update index.md
Missing " cost me more time than I'd like to admit. Paying it forward.
Signed-off-by: Russ Harvey <53157589+rwh85@users.noreply.github.com>
* security: fix CVE-2024-38371 (#10229)
* security: fix CVE-2024-38371 (cherry-pick #10229) (#10234)
Co-authored-by: Jens L <jens@goauthentik.io>
fix CVE-2024-38371 (#10229)
* security: fix CVE-2024-37905 (#10230)
Co-authored-by: Marc 'risson' Schmitt <marc.schmitt@risson.space>
* core: bump debugpy from 1.8.1 to 1.8.2 (#10225)
Bumps [debugpy](https://github.com/microsoft/debugpy) from 1.8.1 to 1.8.2.
- [Release notes](https://github.com/microsoft/debugpy/releases)
- [Commits](https://github.com/microsoft/debugpy/compare/v1.8.1...v1.8.2)
---
updated-dependencies:
- dependency-name: debugpy
dependency-type: direct:development
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* web: bump @sentry/browser from 8.11.0 to 8.12.0 in /web in the sentry group (#10226)
web: bump @sentry/browser in /web in the sentry group
Bumps the sentry group in /web with 1 update: [@sentry/browser](https://github.com/getsentry/sentry-javascript).
Updates `@sentry/browser` from 8.11.0 to 8.12.0
- [Release notes](https://github.com/getsentry/sentry-javascript/releases)
- [Changelog](https://github.com/getsentry/sentry-javascript/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/getsentry/sentry-javascript/compare/8.11.0...8.12.0)
---
updated-dependencies:
- dependency-name: "@sentry/browser"
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: sentry
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* core: bump webauthn from 2.1.0 to 2.2.0 (#10224)
Bumps [webauthn](https://github.com/duo-labs/py_webauthn) from 2.1.0 to 2.2.0.
- [Release notes](https://github.com/duo-labs/py_webauthn/releases)
- [Changelog](https://github.com/duo-labs/py_webauthn/blob/master/CHANGELOG.md)
- [Commits](https://github.com/duo-labs/py_webauthn/compare/v2.1.0...v2.2.0)
---
updated-dependencies:
- dependency-name: webauthn
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* web: bump chromedriver from 126.0.3 to 126.0.4 in /tests/wdio (#10223)
Bumps [chromedriver](https://github.com/giggio/node-chromedriver) from 126.0.3 to 126.0.4.
- [Commits](https://github.com/giggio/node-chromedriver/compare/126.0.3...126.0.4)
---
updated-dependencies:
- dependency-name: chromedriver
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* core: bump pdoc from 14.5.0 to 14.5.1 (#10221)
Bumps [pdoc](https://github.com/mitmproxy/pdoc) from 14.5.0 to 14.5.1.
- [Changelog](https://github.com/mitmproxy/pdoc/blob/main/CHANGELOG.md)
- [Commits](https://github.com/mitmproxy/pdoc/compare/v14.5.0...v14.5.1)
---
updated-dependencies:
- dependency-name: pdoc
dependency-type: direct:development
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* security: fix CVE-2024-37905 (cherry-pick #10230) (#10237)
Co-authored-by: Jens L <jens@goauthentik.io>
Co-authored-by: Marc 'risson' Schmitt <marc.schmitt@risson.space>
fix CVE-2024-37905 (#10230)
* release: 2024.6.0
* website/docs: update 2024.6 release notes with latest changes (#10228)
* website/docs: update 2024.2 release notes with security fixes (#10232)
* website/docs: update 2024.4 release notes with latest changes (#10231)
* website/docs: update 2024.6 release notes with latest changes (cherry-pick #10228) (#10243)
Co-authored-by: Marc 'risson' Schmitt <marc.schmitt@risson.space>
* website/docs: remove RC disclaimer from 2024.6 release notes (#10245)
Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space>
* website/docs: remove RC disclaimer from 2024.6 release notes (cherry-pick #10245) (#10246)
Co-authored-by: Marc 'risson' Schmitt <marc.schmitt@risson.space>
* security: update supported versions (#10247)
* security: update supported versions (cherry-pick #10247) (#10248)
Co-authored-by: Marc 'risson' Schmitt <marc.schmitt@risson.space>
* website/docs: update geoip and asn example to use the proper syntax (#10249)
* website/docs: update the Welcome page (#10222)
* update to mention Enterprise
* moved sections
* tweaks
---------
Co-authored-by: Tana M Berry <tana@goauthentik.com>
* website/docs: update geoip and asn example to use the proper syntax (cherry-pick #10249) (#10250)
website/docs: update geoip and asn example to use the proper syntax (#10249)
Co-authored-by: Marc 'risson' Schmitt <marc.schmitt@risson.space>
* web: bump API Client version (#10252)
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: authentik-automation[bot] <135050075+authentik-automation[bot]@users.noreply.github.com>
* web/flows: remove continue button from AutoSubmit stage (#10253)
Signed-off-by: Jens Langhammer <jens@goauthentik.io>
* web: disable reading dark mode out of the UI by default (#10256)
* web: fix esbuild issue with style sheets
Getting ESBuild, Lit, and Storybook to all agree on how to read and parse stylesheets is a serious
pain. This fix better identifies the value types (instances) being passed from various sources in
the repo to the three *different* kinds of style processors we're using (the native one, the
polyfill one, and whatever the heck Storybook does internally).
Falling back to using older CSS instantiating techniques one era at a time seems to do the trick.
It's ugly, but in the face of the aggressive styling we use to avoid Flashes of Unstyled Content
(FLoUC), it's the logic with which we're left.
In standard mode, the following warning appears on the console when running a Flow:
```
Autofocus processing was blocked because a document already has a focused element.
```
In compatibility mode, the following **error** appears on the console when running a Flow:
```
crawler-inject.js:1106 Uncaught TypeError: Failed to execute 'observe' on 'MutationObserver': parameter 1 is not of type 'Node'.
at initDomMutationObservers (crawler-inject.js:1106:18)
at crawler-inject.js:1114:24
at Array.forEach (<anonymous>)
at initDomMutationObservers (crawler-inject.js:1114:10)
at crawler-inject.js:1549:1
initDomMutationObservers @ crawler-inject.js:1106
(anonymous) @ crawler-inject.js:1114
initDomMutationObservers @ crawler-inject.js:1114
(anonymous) @ crawler-inject.js:1549
```
Despite this error, nothing seems to be broken and flows work as anticipated.
* web: disable reading dark mode out of the UI by default
This patch disables "dark mode" as a browser preference. It still honors
the user preference, but it will always default to Light mode and will not
pay attention to the browser setting.
Thank GNU that dark mode availablity is not a requirement to sell to
governments: https://www.section508.gov/content/guide-accessible-web-design-development/#
* Prettier had opinions.
* Prettier having more opinions.
* Preserve knowledge.
* Updated eslint to stop warning us out about deprecated features.
* web: provide better feedback on Application Library page about search results (#9386)
* web: fix esbuild issue with style sheets
Getting ESBuild, Lit, and Storybook to all agree on how to read and parse stylesheets is a serious
pain. This fix better identifies the value types (instances) being passed from various sources in
the repo to the three *different* kinds of style processors we're using (the native one, the
polyfill one, and whatever the heck Storybook does internally).
Falling back to using older CSS instantiating techniques one era at a time seems to do the trick.
It's ugly, but in the face of the aggressive styling we use to avoid Flashes of Unstyled Content
(FLoUC), it's the logic with which we're left.
In standard mode, the following warning appears on the console when running a Flow:
```
Autofocus processing was blocked because a document already has a focused element.
```
In compatibility mode, the following **error** appears on the console when running a Flow:
```
crawler-inject.js:1106 Uncaught TypeError: Failed to execute 'observe' on 'MutationObserver': parameter 1 is not of type 'Node'.
at initDomMutationObservers (crawler-inject.js:1106:18)
at crawler-inject.js:1114:24
at Array.forEach (<anonymous>)
at initDomMutationObservers (crawler-inject.js:1114:10)
at crawler-inject.js:1549:1
initDomMutationObservers @ crawler-inject.js:1106
(anonymous) @ crawler-inject.js:1114
initDomMutationObservers @ crawler-inject.js:1114
(anonymous) @ crawler-inject.js:1549
```
Despite this error, nothing seems to be broken and flows work as anticipated.
* web: improve state management of Fuze application search
This commit rewrites a bit (just a bit, really!) of the relationship between
`ak-library-application-impl` and `ak-library-application-search`.
The "show only apps with launch URLs filter" has been moved up to the retrieval layer; there was no
reason for the renderer to repeatedly call a *required* filter; just call it on the list of
applications once and be done.
The search component exchanges the two-state guesswork and custom events for a concrete three-state
solution and *private* events. The search handler now sends the events "reset," "updated," and the
new "updated and empty," which we could not previously track.
By limiting the Impl layer to only those apps with launchUrls, we can now distinguish between "all
apps," and "filtered apps," and understand that when "all apps" is empty we have no apps, and when
"filtered apps" is empty the search has returned nothing.
I also tried to add a lot more comments.
In keeping with ES2020, I've put `.js` extensions on all the local imports.
In keeping with a variety of [best practice
recommendations](https://webcomponents.today/best-practices/), I've renamed web component files to
match the custom element they deploy:
```
ak-library-application-search-empty.ts
19:@customElement("ak-library-application-search-empty")
ak-library-impl.ts
44:@customElement("ak-library-impl")
ak-library.ts
30:@customElement("ak-library")
ak-library-application-list.ts
34:@customElement("ak-library-application-list")
ak-library-application-empty-list.ts
22:@customElement("ak-library-application-empty-list")
ak-library-application-search.ts
46:@customElement("ak-library-application-search")
```
The only effect(s) external to the changes in this vertical is that the Route() had to be updated,
and I have done that.
* web: updated the improved search to Google's Lit standards for events.
* website/docs: update geoip and asn documentation following field changes (#10265)
Co-authored-by: Tana M Berry <tanamarieberry@yahoo.com>
* core, web: update translations (#10259)
Co-authored-by: rissson <18313093+rissson@users.noreply.github.com>
* core: bump goauthentik.io/api/v3 from 3.2024042.13 to 3.2024060.1 (#10260)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* translate: Updates for file locale/en/LC_MESSAGES/django.po in ru (#10268)
Translate locale/en/LC_MESSAGES/django.po in ru
100% translated source file: 'locale/en/LC_MESSAGES/django.po'
on 'ru'.
Co-authored-by: transifex-integration[bot] <43880903+transifex-integration[bot]@users.noreply.github.com>
* core: bump drf-jsonschema-serializer from 2.0.0 to 3.0.0 (#10262)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* translate: Updates for file web/xliff/en.xlf in zh_CN (#10271)
Translate web/xliff/en.xlf in zh_CN
100% translated source file: 'web/xliff/en.xlf'
on 'zh_CN'.
Co-authored-by: transifex-integration[bot] <43880903+transifex-integration[bot]@users.noreply.github.com>
* translate: Updates for file web/xliff/en.xlf in zh-Hans (#10272)
Translate web/xliff/en.xlf in zh-Hans
100% translated source file: 'web/xliff/en.xlf'
on 'zh-Hans'.
Co-authored-by: transifex-integration[bot] <43880903+transifex-integration[bot]@users.noreply.github.com>
* web: provide a test framework (#9681)
* web: fix esbuild issue with style sheets
Getting ESBuild, Lit, and Storybook to all agree on how to read and parse stylesheets is a serious
pain. This fix better identifies the value types (instances) being passed from various sources in
the repo to the three *different* kinds of style processors we're using (the native one, the
polyfill one, and whatever the heck Storybook does internally).
Falling back to using older CSS instantiating techniques one era at a time seems to do the trick.
It's ugly, but in the face of the aggressive styling we use to avoid Flashes of Unstyled Content
(FLoUC), it's the logic with which we're left.
In standard mode, the following warning appears on the console when running a Flow:
```
Autofocus processing was blocked because a document already has a focused element.
```
In compatibility mode, the following **error** appears on the console when running a Flow:
```
crawler-inject.js:1106 Uncaught TypeError: Failed to execute 'observe' on 'MutationObserver': parameter 1 is not of type 'Node'.
at initDomMutationObservers (crawler-inject.js:1106:18)
at crawler-inject.js:1114:24
at Array.forEach (<anonymous>)
at initDomMutationObservers (crawler-inject.js:1114:10)
at crawler-inject.js:1549:1
initDomMutationObservers @ crawler-inject.js:1106
(anonymous) @ crawler-inject.js:1114
initDomMutationObservers @ crawler-inject.js:1114
(anonymous) @ crawler-inject.js:1549
```
Despite this error, nothing seems to be broken and flows work as anticipated.
* web: provide a test framework
As is typical of a system where a new build engine is involved, this thing is sadly fragile. Use the
wrong import style in wdio.conf.js and it breaks; there are several notes in tsconfig.test.conf and
wdio.conf.ts to tell eslint or tsc not to complain, it's just a different build with different
criteria, the native criteria don't apply.
On the other hand, writing tests is easy and predictable. We can test behaviors at the unit and
component scale in a straightforward manner, and validate our expectations that things work the way
we believe they should.
* Rolling back a reversion.
* Adjusting paths to work with tests.
* add ci to test
Signed-off-by: Jens Langhammer <jens@goauthentik.io>
* web: patch spotlight on the fly to fix syntax issue that blocked storybook build
This should be a temporary hack. I have an [open
issue](https://github.com/getsentry/spotlight/issues/419) and [pull
request](https://github.com/getsentry/spotlight/pull/420) with the
Spotlight people already to fix the issue.
* Somehow missed these in the merge.
* Merge missed something.
* Fixed an issue where npm install and npm ci had different shell script behaviors.
* Removed debugging messages.
---------
Signed-off-by: Jens Langhammer <jens@goauthentik.io>
Co-authored-by: Jens Langhammer <jens@goauthentik.io>
* web: lint package-lock.json file (#10157)
* web: fix esbuild issue with style sheets
Getting ESBuild, Lit, and Storybook to all agree on how to read and parse stylesheets is a serious
pain. This fix better identifies the value types (instances) being passed from various sources in
the repo to the three *different* kinds of style processors we're using (the native one, the
polyfill one, and whatever the heck Storybook does internally).
Falling back to using older CSS instantiating techniques one era at a time seems to do the trick.
It's ugly, but in the face of the aggressive styling we use to avoid Flashes of Unstyled Content
(FLoUC), it's the logic with which we're left.
In standard mode, the following warning appears on the console when running a Flow:
```
Autofocus processing was blocked because a document already has a focused element.
```
In compatibility mode, the following **error** appears on the console when running a Flow:
```
crawler-inject.js:1106 Uncaught TypeError: Failed to execute 'observe' on 'MutationObserver': parameter 1 is not of type 'Node'.
at initDomMutationObservers (crawler-inject.js:1106:18)
at crawler-inject.js:1114:24
at Array.forEach (<anonymous>)
at initDomMutationObservers (crawler-inject.js:1114:10)
at crawler-inject.js:1549:1
initDomMutationObservers @ crawler-inject.js:1106
(anonymous) @ crawler-inject.js:1114
initDomMutationObservers @ crawler-inject.js:1114
(anonymous) @ crawler-inject.js:1549
```
Despite this error, nothing seems to be broken and flows work as anticipated.
* web: replace ad-hoc test for package-lock.json file with a tool
Testing to see if a package-lock entry has a `resolved` field hasn't
been a reliable test of that entry's validity for several years
now. The best options we have now are to ensure that every download
occurs over https, and that every download only happens from fully
vetted sources such as NPM and Github. [Liran Tal's Lockfile-Lint
tool](https://snyk.io/blog/why-npm-lockfiles-can-be-a-security-blindspot-for-injecting-malicious-modules/)
does this for package-lock.json files made with NPM or Yarn.
* web: update CI workflows to use `lockfile-lint` for validity checking
* Still getting familiar with the workflows thing.
* ci: refactor ci-web linting
Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space>
* ci fix
Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space>
* try again
Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space>
* and again
Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space>
* rework ci-website
Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space>
---------
Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space>
Co-authored-by: Marc 'risson' Schmitt <marc.schmitt@risson.space>
* events: associate login_failed events to a user if possible (#10270)
Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space>
* core: adjust styling to meet our standards (#10277)
* core: adjust styling to meet our standards
* Fix version correspondence bug in website (#10278)
web: update lockfile to correspond to package.json, enabling npm-ci
Looks like someone updated `package.json` to have the latest version
of Typescript, but failed to update `package-lock.json` to get that
version into the cache. `npm ci` won't work if the versions in the
two files don't correspond, as that means, well, exactly that: no
one has checked that the versioning is correct.
The actual diff to `package-lock.json` is small enough it can be
verified by eye, and it's fine.
* web: bump @sentry/browser from 8.12.0 to 8.13.0 in /web in the sentry group (#10286)
web: bump @sentry/browser in /web in the sentry group
Bumps the sentry group in /web with 1 update: [@sentry/browser](https://github.com/getsentry/sentry-javascript).
Updates `@sentry/browser` from 8.12.0 to 8.13.0
- [Release notes](https://github.com/getsentry/sentry-javascript/releases)
- [Changelog](https://github.com/getsentry/sentry-javascript/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/getsentry/sentry-javascript/compare/8.12.0...8.13.0)
---
updated-dependencies:
- dependency-name: "@sentry/browser"
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: sentry
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* core: bump ruff from 0.4.10 to 0.5.0 (#10285)
Bumps [ruff](https://github.com/astral-sh/ruff) from 0.4.10 to 0.5.0.
- [Release notes](https://github.com/astral-sh/ruff/releases)
- [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md)
- [Commits](https://github.com/astral-sh/ruff/compare/v0.4.10...0.5.0)
---
updated-dependencies:
- dependency-name: ruff
dependency-type: direct:development
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* core: bump swagger-spec-validator from 3.0.3 to 3.0.4 (#10284)
Bumps [swagger-spec-validator](https://github.com/Yelp/swagger_spec_validator) from 3.0.3 to 3.0.4.
- [Changelog](https://github.com/Yelp/swagger_spec_validator/blob/master/CHANGELOG.rst)
- [Commits](https://github.com/Yelp/swagger_spec_validator/compare/v3.0.3...v3.0.4)
---
updated-dependencies:
- dependency-name: swagger-spec-validator
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* core: bump twilio from 9.2.1 to 9.2.2 (#10283)
Bumps [twilio](https://github.com/twilio/twilio-python) from 9.2.1 to 9.2.2.
- [Release notes](https://github.com/twilio/twilio-python/releases)
- [Changelog](https://github.com/twilio/twilio-python/blob/main/CHANGES.md)
- [Commits](https://github.com/twilio/twilio-python/compare/9.2.1...9.2.2)
---
updated-dependencies:
- dependency-name: twilio
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* core: bump google-api-python-client from 2.134.0 to 2.135.0 (#10281)
Bumps [google-api-python-client](https://github.com/googleapis/google-api-python-client) from 2.134.0 to 2.135.0.
- [Release notes](https://github.com/googleapis/google-api-python-client/releases)
- [Commits](https://github.com/googleapis/google-api-python-client/compare/v2.134.0...v2.135.0)
---
updated-dependencies:
- dependency-name: google-api-python-client
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* core: bump sentry-sdk from 2.5.1 to 2.7.1 (#10282)
Bumps [sentry-sdk](https://github.com/getsentry/sentry-python) from 2.5.1 to 2.7.1.
- [Release notes](https://github.com/getsentry/sentry-python/releases)
- [Changelog](https://github.com/getsentry/sentry-python/blob/master/CHANGELOG.md)
- [Commits](https://github.com/getsentry/sentry-python/compare/2.5.1...2.7.1)
---
updated-dependencies:
- dependency-name: sentry-sdk
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* core, web: update translations (#10279)
Co-authored-by: rissson <18313093+rissson@users.noreply.github.com>
* root: allow extra sentry settings (#10269)
* core: fix URLValidator regex to allow single digit port (#10280)
* root: fix web docker build (#10287)
* tests/e2e: fix ldap tests following #10270 (#10288)
* web/admin: show matching user reputation scores in user details (#10276)
Co-authored-by: Jens Langhammer <jens@goauthentik.io>
* web: bump API Client version (#10290)
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: authentik-automation[bot] <135050075+authentik-automation[bot]@users.noreply.github.com>
* web: restore hasLaunchUrl to client-side criteria for filtering apps (#10291)
* web: fix esbuild issue with style sheets
Getting ESBuild, Lit, and Storybook to all agree on how to read and parse stylesheets is a serious
pain. This fix better identifies the value types (instances) being passed from various sources in
the repo to the three *different* kinds of style processors we're using (the native one, the
polyfill one, and whatever the heck Storybook does internally).
Falling back to using older CSS instantiating techniques one era at a time seems to do the trick.
It's ugly, but in the face of the aggressive styling we use to avoid Flashes of Unstyled Content
(FLoUC), it's the logic with which we're left.
In standard mode, the following warning appears on the console when running a Flow:
```
Autofocus processing was blocked because a document already has a focused element.
```
In compatibility mode, the following **error** appears on the console when running a Flow:
```
crawler-inject.js:1106 Uncaught TypeError: Failed to execute 'observe' on 'MutationObserver': parameter 1 is not of type 'Node'.
at initDomMutationObservers (crawler-inject.js:1106:18)
at crawler-inject.js:1114:24
at Array.forEach (<anonymous>)
at initDomMutationObservers (crawler-inject.js:1114:10)
at crawler-inject.js:1549:1
initDomMutationObservers @ crawler-inject.js:1106
(anonymous) @ crawler-inject.js:1114
initDomMutationObservers @ crawler-inject.js:1114
(anonymous) @ crawler-inject.js:1549
```
Despite this error, nothing seems to be broken and flows work as anticipated.
* web: restore `hasLaunchUrl` to the The `filteredApps` criteria
I misunderstood where this information was coming from. Sorry about that.
* Use the most efficient operator here.
* core: applications api: prefetch related policies (#10273)
* stages/user_login: fix ?next parameter not carried through broken session binding (#10301)
Signed-off-by: Jens Langhammer <jens@goauthentik.io>
* core: bump psycopg from 3.1.19 to 3.2.1 (#10313)
Bumps [psycopg](https://github.com/psycopg/psycopg) from 3.1.19 to 3.2.1.
- [Changelog](https://github.com/psycopg/psycopg/blob/master/docs/news.rst)
- [Commits](https://github.com/psycopg/psycopg/compare/3.1.19...3.2.1)
---
updated-dependencies:
- dependency-name: psycopg
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* core: bump goauthentik.io/api/v3 from 3.2024060.1 to 3.2024060.2 (#10311)
Bumps [goauthentik.io/api/v3](https://github.com/goauthentik/client-go) from 3.2024060.1 to 3.2024060.2.
- [Release notes](https://github.com/goauthentik/client-go/releases)
- [Commits](https://github.com/goauthentik/client-go/compare/v3.2024060.1...v3.2024060.2)
---
updated-dependencies:
- dependency-name: goauthentik.io/api/v3
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* website: bump postcss from 8.4.38 to 8.4.39 in /website (#10310)
Bumps [postcss](https://github.com/postcss/postcss) from 8.4.38 to 8.4.39.
- [Release notes](https://github.com/postcss/postcss/releases)
- [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/postcss/postcss/compare/8.4.38...8.4.39)
---
updated-dependencies:
- dependency-name: postcss
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* web: bump esbuild from 0.21.5 to 0.22.0 in /web (#10309)
Bumps [esbuild](https://github.com/evanw/esbuild) from 0.21.5 to 0.22.0.
- [Release notes](https://github.com/evanw/esbuild/releases)
- [Changelog](https://github.com/evanw/esbuild/blob/main/CHANGELOG.md)
- [Commits](https://github.com/evanw/esbuild/compare/v0.21.5...v0.22.0)
---
updated-dependencies:
- dependency-name: esbuild
dependency-type: direct:development
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* web: bump the esbuild group in /web with 2 updates (#10308)
Bumps the esbuild group in /web with 2 updates: [@esbuild/darwin-arm64](https://github.com/evanw/esbuild) and [@esbuild/linux-arm64](https://github.com/evanw/esbuild).
Updates `@esbuild/darwin-arm64` from 0.21.5 to 0.22.0
- [Release notes](https://github.com/evanw/esbuild/releases)
- [Changelog](https://github.com/evanw/esbuild/blob/main/CHANGELOG.md)
- [Commits](https://github.com/evanw/esbuild/compare/v0.21.5...v0.22.0)
Updates `@esbuild/linux-arm64` from 0.21.5 to 0.22.0
- [Release notes](https://github.com/evanw/esbuild/releases)
- [Changelog](https://github.com/evanw/esbuild/blob/main/CHANGELOG.md)
- [Commits](https://github.com/evanw/esbuild/compare/v0.21.5...v0.22.0)
---
updated-dependencies:
- dependency-name: "@esbuild/darwin-arm64"
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: esbuild
- dependency-name: "@esbuild/linux-arm64"
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: esbuild
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* stages/authenticator_webauthn: Update FIDO MDS3 & Passkey aaguid blobs (#10306)
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: authentik-automation[bot] <135050075+authentik-automation[bot]@users.noreply.github.com>
* core, web: update translations (#10294)
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: rissson <18313093+rissson@users.noreply.github.com>
* web: fix package lock out of sync (#10314)
* translate: Updates for file web/xliff/en.xlf in zh_CN (#10315)
Translate web/xliff/en.xlf in zh_CN
100% translated source file: 'web/xliff/en.xlf'
on 'zh_CN'.
Co-authored-by: transifex-integration[bot] <43880903+transifex-integration[bot]@users.noreply.github.com>
* web/flows: remove background image link (#10318)
Signed-off-by: Jens Langhammer <jens@goauthentik.io>
* core: remove transitionary old JS urls (#10317)
Signed-off-by: Jens Langhammer <jens@goauthentik.io>
* web: set noopener and noreferrer on all external links (#10304)
Signed-off-by: Jens Langhammer <jens@goauthentik.io>
* web: bump typescript from 5.5.2 to 5.5.3 in /web (#10332)
Bumps [typescript](https://github.com/Microsoft/TypeScript) from 5.5.2 to 5.5.3.
- [Release notes](https://github.com/Microsoft/TypeScript/releases)
- [Changelog](https://github.com/microsoft/TypeScript/blob/main/azure-pipelines.release.yml)
- [Commits](https://github.com/Microsoft/TypeScript/compare/v5.5.2...v5.5.3)
---
updated-dependencies:
- dependency-name: typescript
dependency-type: direct:development
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* web: bump the esbuild group in /web with 2 updates (#10330)
Bumps the esbuild group in /web with 2 updates: [@esbuild/darwin-arm64](https://github.com/evanw/esbuild) and [@esbuild/linux-arm64](https://github.com/evanw/esbuild).
Updates `@esbuild/darwin-arm64` from 0.22.0 to 0.23.0
- [Release notes](https://github.com/evanw/esbuild/releases)
- [Changelog](https://github.com/evanw/esbuild/blob/main/CHANGELOG.md)
- [Commits](https://github.com/evanw/esbuild/compare/v0.22.0...v0.23.0)
Updates `@esbuild/linux-arm64` from 0.22.0 to 0.23.0
- [Release notes](https://github.com/evanw/esbuild/releases)
- [Changelog](https://github.com/evanw/esbuild/blob/main/CHANGELOG.md)
- [Commits](https://github.com/evanw/esbuild/compare/v0.22.0...v0.23.0)
---
updated-dependencies:
- dependency-name: "@esbuild/darwin-arm64"
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: esbuild
- dependency-name: "@esbuild/linux-arm64"
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: esbuild
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* web: bump typescript from 5.5.2 to 5.5.3 in /tests/wdio (#10327)
Bumps [typescript](https://github.com/Microsoft/TypeScript) from 5.5.2 to 5.5.3.
- [Release notes](https://github.com/Microsoft/TypeScript/releases)
- [Changelog](https://github.com/microsoft/TypeScript/blob/main/azure-pipelines.release.yml)
- [Commits](https://github.com/Microsoft/TypeScript/compare/v5.5.2...v5.5.3)
---
updated-dependencies:
- dependency-name: typescript
dependency-type: direct:development
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* core: bump pydantic from 2.7.4 to 2.8.0 (#10325)
Bumps [pydantic](https://github.com/pydantic/pydantic) from 2.7.4 to 2.8.0.
- [Release notes](https://github.com/pydantic/pydantic/releases)
- [Changelog](https://github.com/pydantic/pydantic/blob/main/HISTORY.md)
- [Commits](https://github.com/pydantic/pydantic/compare/v2.7.4...v2.8.0)
---
updated-dependencies:
- dependency-name: pydantic
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* website: bump typescript from 5.5.2 to 5.5.3 in /website (#10326)
Bumps [typescript](https://github.com/Microsoft/TypeScript) from 5.5.2 to 5.5.3.
- [Release notes](https://github.com/Microsoft/TypeScript/releases)
- [Changelog](https://github.com/microsoft/TypeScript/blob/main/azure-pipelines.release.yml)
- [Commits](https://github.com/Microsoft/TypeScript/compare/v5.5.2...v5.5.3)
---
updated-dependencies:
- dependency-name: typescript
dependency-type: direct:development
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* core, web: update translations (#10324)
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: rissson <18313093+rissson@users.noreply.github.com>
* web: fixed missed internationalized strings (#10323)
* web: fix esbuild issue with style sheets
Getting ESBuild, Lit, and Storybook to all agree on how to read and parse stylesheets is a serious
pain. This fix better identifies the value types (instances) being passed from various sources in
the repo to the three *different* kinds of style processors we're using (the native one, the
polyfill one, and whatever the heck Storybook does internally).
Falling back to using older CSS instantiating techniques one era at a time seems to do the trick.
It's ugly, but in the face of the aggressive styling we use to avoid Flashes of Unstyled Content
(FLoUC), it's the logic with which we're left.
In standard mode, the following warning appears on the console when running a Flow:
```
Autofocus processing was blocked because a document already has a focused element.
```
In compatibility mode, the following **error** appears on the console when running a Flow:
```
crawler-inject.js:1106 Uncaught TypeError: Failed to execute 'observe' on 'MutationObserver': parameter 1 is not of type 'Node'.
at initDomMutationObservers (crawler-inject.js:1106:18)
at crawler-inject.js:1114:24
at Array.forEach (<anonymous>)
at initDomMutationObservers (crawler-inject.js:1114:10)
at crawler-inject.js:1549:1
initDomMutationObservers @ crawler-inject.js:1106
(anonymous) @ crawler-inject.js:1114
initDomMutationObservers @ crawler-inject.js:1114
(anonymous) @ crawler-inject.js:1549
```
Despite this error, nothing seems to be broken and flows work as anticipated.
* web: you have no missed messages
This commit uncovers a few places where a human-readable string was not property cast into the
internationalized form and internationalizes them in order to conform to our policy of keeping the
product viable outside of the English-speaking world.
* Restored SAML spacing manually. Not sure why that was necessary.
* Restored WS spacing manually. Not sure why that was necessary.
* Restored RouteMatch spacing manually. Not sure why that was necessary.
* Restored RAC spacing manually. Not sure why that was necessary.
* web: bump esbuild from 0.22.0 to 0.23.0 in /web (#10331)
Bumps [esbuild](https://github.com/evanw/esbuild) from 0.22.0 to 0.23.0.
- [Release notes](https://github.com/evanw/esbuild/releases)
- [Changelog](https://github.com/evanw/esbuild/blob/main/CHANGELOG.md)
- [Commits](https://github.com/evanw/esbuild/compare/v0.22.0...v0.23.0)
---
updated-dependencies:
- dependency-name: esbuild
dependency-type: direct:development
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* translate: Updates for file web/xliff/en.xlf in zh-Hans (#10293)
Co-authored-by: transifex-integration[bot] <43880903+transifex-integration[bot]@users.noreply.github.com>
Co-authored-by: Marc 'risson' Schmitt <marc.schmitt@risson.space>
* translate: Updates for file web/xliff/en.xlf in fr (#10334)
Translate web/xliff/en.xlf in fr
100% translated source file: 'web/xliff/en.xlf'
on 'fr'.
Co-authored-by: transifex-integration[bot] <43880903+transifex-integration[bot]@users.noreply.github.com>
* provider/scim: Fix exception handling for missing ServiceProviderConfig (#10322)
* web: provide default endpoint api configuration (#10319)
* web: fix esbuild issue with style sheets
Getting ESBuild, Lit, and Storybook to all agree on how to read and parse stylesheets is a serious
pain. This fix better identifies the value types (instances) being passed from various sources in
the repo to the three *different* kinds of style processors we're using (the native one, the
polyfill one, and whatever the heck Storybook does internally).
Falling back to using older CSS instantiating techniques one era at a time seems to do the trick.
It's ugly, but in the face of the aggressive styling we use to avoid Flashes of Unstyled Content
(FLoUC), it's the logic with which we're left.
In standard mode, the following warning appears on the console when running a Flow:
```
Autofocus processing was blocked because a document already has a focused element.
```
In compatibility mode, the following **error** appears on the console when running a Flow:
```
crawler-inject.js:1106 Uncaught TypeError: Failed to execute 'observe' on 'MutationObserver': parameter 1 is not of type 'Node'.
at initDomMutationObservers (crawler-inject.js:1106:18)
at crawler-inject.js:1114:24
at Array.forEach (<anonymous>)
at initDomMutationObservers (crawler-inject.js:1114:10)
at crawler-inject.js:1549:1
initDomMutationObservers @ crawler-inject.js:1106
(anonymous) @ crawler-inject.js:1114
initDomMutationObservers @ crawler-inject.js:1114
(anonymous) @ crawler-inject.js:1549
```
Despite this error, nothing seems to be broken and flows work as anticipated.
* Intermediate; prepping for remove that may fail.
* web: provide a default table endpoint configuration
This commit finds 19 places where the exact same configuration is
used to describe a table's API endpoint, and replaces that configuration
with a provided default from a parent class.
While examining the logs for our build, I noted that this particular
sequence is duplicated multiple times throughout our code base,
accounting for a bloat of 169 lines or so of the estimated 5552
lines of bloat. By providing a default endpoint configuration and
substituting it (mechanically) wherever the default is required,
we reduce our code duplication issue from 9.26% of the codesabe
to 8.99%.
... which is a start.
* Didn't need the duplication.
* remove page argument while we're at it
Signed-off-by: Jens Langhammer <jens@goauthentik.io>
* actually use it everywhere
Signed-off-by: Jens Langhammer <jens@goauthentik.io>
* web: fix inconsistent method signature for LogViewer
Removed the `_page` parameter from LogViewer's apiEndpoint() method.
The `page: number` parameter is no longer a part of this method's signature.
* web: restore reduced page size to Overview:Recent Events card
---------
Signed-off-by: Jens Langhammer <jens@goauthentik.io>
Co-authored-by: Jens Langhammer <jens@goauthentik.io>
---------
Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space>
Signed-off-by: Jens Langhammer <jens@goauthentik.io>
Signed-off-by: Russ Harvey <53157589+rwh85@users.noreply.github.com>
Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: gcp-cherry-pick-bot[bot] <98988430+gcp-cherry-pick-bot[bot]@users.noreply.github.com>
Co-authored-by: Marc 'risson' Schmitt <marc.schmitt@risson.space>
Co-authored-by: Jens L <jens@goauthentik.io>
Co-authored-by: Tana M Berry <tanamarieberry@yahoo.com>
Co-authored-by: Tana M Berry <tana@goauthentik.com>
Co-authored-by: authentik-automation[bot] <135050075+authentik-automation[bot]@users.noreply.github.com>
Co-authored-by: Jonathan Joewono <30559735+jogerj@users.noreply.github.com>
Co-authored-by: Russ Harvey <53157589+rwh85@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: rissson <18313093+rissson@users.noreply.github.com>
Co-authored-by: transifex-integration[bot] <43880903+transifex-integration[bot]@users.noreply.github.com>
Co-authored-by: ztelliot <1141480995@qq.com>
Co-authored-by: Michael Poutre <m1kep.my.mail@gmail.com>
---------
Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space>
Signed-off-by: Jens Langhammer <jens@goauthentik.io>
Signed-off-by: Russ Harvey <53157589+rwh85@users.noreply.github.com>
Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: gcp-cherry-pick-bot[bot] <98988430+gcp-cherry-pick-bot[bot]@users.noreply.github.com>
Co-authored-by: Marc 'risson' Schmitt <marc.schmitt@risson.space>
Co-authored-by: Jens L <jens@goauthentik.io>
Co-authored-by: Tana M Berry <tanamarieberry@yahoo.com>
Co-authored-by: Tana M Berry <tana@goauthentik.com>
Co-authored-by: authentik-automation[bot] <135050075+authentik-automation[bot]@users.noreply.github.com>
Co-authored-by: Jonathan Joewono <30559735+jogerj@users.noreply.github.com>
Co-authored-by: Russ Harvey <53157589+rwh85@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: rissson <18313093+rissson@users.noreply.github.com>
Co-authored-by: transifex-integration[bot] <43880903+transifex-integration[bot]@users.noreply.github.com>
Co-authored-by: ztelliot <1141480995@qq.com>
Co-authored-by: Michael Poutre <m1kep.my.mail@gmail.com>
* web: fix esbuild issue with style sheets
Getting ESBuild, Lit, and Storybook to all agree on how to read and parse stylesheets is a serious
pain. This fix better identifies the value types (instances) being passed from various sources in
the repo to the three *different* kinds of style processors we're using (the native one, the
polyfill one, and whatever the heck Storybook does internally).
Falling back to using older CSS instantiating techniques one era at a time seems to do the trick.
It's ugly, but in the face of the aggressive styling we use to avoid Flashes of Unstyled Content
(FLoUC), it's the logic with which we're left.
In standard mode, the following warning appears on the console when running a Flow:
```
Autofocus processing was blocked because a document already has a focused element.
```
In compatibility mode, the following **error** appears on the console when running a Flow:
```
crawler-inject.js:1106 Uncaught TypeError: Failed to execute 'observe' on 'MutationObserver': parameter 1 is not of type 'Node'.
at initDomMutationObservers (crawler-inject.js:1106:18)
at crawler-inject.js:1114:24
at Array.forEach (<anonymous>)
at initDomMutationObservers (crawler-inject.js:1114:10)
at crawler-inject.js:1549:1
initDomMutationObservers @ crawler-inject.js:1106
(anonymous) @ crawler-inject.js:1114
initDomMutationObservers @ crawler-inject.js:1114
(anonymous) @ crawler-inject.js:1549
```
Despite this error, nothing seems to be broken and flows work as anticipated.
* Intermediate; prepping for remove that may fail.
* web: provide a default table endpoint configuration
This commit finds 19 places where the exact same configuration is
used to describe a table's API endpoint, and replaces that configuration
with a provided default from a parent class.
While examining the logs for our build, I noted that this particular
sequence is duplicated multiple times throughout our code base,
accounting for a bloat of 169 lines or so of the estimated 5552
lines of bloat. By providing a default endpoint configuration and
substituting it (mechanically) wherever the default is required,
we reduce our code duplication issue from 9.26% of the codesabe
to 8.99%.
... which is a start.
* Didn't need the duplication.
* remove page argument while we're at it
Signed-off-by: Jens Langhammer <jens@goauthentik.io>
* actually use it everywhere
Signed-off-by: Jens Langhammer <jens@goauthentik.io>
* web: fix inconsistent method signature for LogViewer
Removed the `_page` parameter from LogViewer's apiEndpoint() method.
The `page: number` parameter is no longer a part of this method's signature.
* web: restore reduced page size to Overview:Recent Events card
---------
Signed-off-by: Jens Langhammer <jens@goauthentik.io>
Co-authored-by: Jens Langhammer <jens@goauthentik.io>
* web: fix esbuild issue with style sheets
Getting ESBuild, Lit, and Storybook to all agree on how to read and parse stylesheets is a serious
pain. This fix better identifies the value types (instances) being passed from various sources in
the repo to the three *different* kinds of style processors we're using (the native one, the
polyfill one, and whatever the heck Storybook does internally).
Falling back to using older CSS instantiating techniques one era at a time seems to do the trick.
It's ugly, but in the face of the aggressive styling we use to avoid Flashes of Unstyled Content
(FLoUC), it's the logic with which we're left.
In standard mode, the following warning appears on the console when running a Flow:
```
Autofocus processing was blocked because a document already has a focused element.
```
In compatibility mode, the following **error** appears on the console when running a Flow:
```
crawler-inject.js:1106 Uncaught TypeError: Failed to execute 'observe' on 'MutationObserver': parameter 1 is not of type 'Node'.
at initDomMutationObservers (crawler-inject.js:1106:18)
at crawler-inject.js:1114:24
at Array.forEach (<anonymous>)
at initDomMutationObservers (crawler-inject.js:1114:10)
at crawler-inject.js:1549:1
initDomMutationObservers @ crawler-inject.js:1106
(anonymous) @ crawler-inject.js:1114
initDomMutationObservers @ crawler-inject.js:1114
(anonymous) @ crawler-inject.js:1549
```
Despite this error, nothing seems to be broken and flows work as anticipated.
* web: you have no missed messages
This commit uncovers a few places where a human-readable string was not property cast into the
internationalized form and internationalizes them in order to conform to our policy of keeping the
product viable outside of the English-speaking world.
* Restored SAML spacing manually. Not sure why that was necessary.
* Restored WS spacing manually. Not sure why that was necessary.
* Restored RouteMatch spacing manually. Not sure why that was necessary.
* Restored RAC spacing manually. Not sure why that was necessary.
* web: fix esbuild issue with style sheets
Getting ESBuild, Lit, and Storybook to all agree on how to read and parse stylesheets is a serious
pain. This fix better identifies the value types (instances) being passed from various sources in
the repo to the three *different* kinds of style processors we're using (the native one, the
polyfill one, and whatever the heck Storybook does internally).
Falling back to using older CSS instantiating techniques one era at a time seems to do the trick.
It's ugly, but in the face of the aggressive styling we use to avoid Flashes of Unstyled Content
(FLoUC), it's the logic with which we're left.
In standard mode, the following warning appears on the console when running a Flow:
```
Autofocus processing was blocked because a document already has a focused element.
```
In compatibility mode, the following **error** appears on the console when running a Flow:
```
crawler-inject.js:1106 Uncaught TypeError: Failed to execute 'observe' on 'MutationObserver': parameter 1 is not of type 'Node'.
at initDomMutationObservers (crawler-inject.js:1106:18)
at crawler-inject.js:1114:24
at Array.forEach (<anonymous>)
at initDomMutationObservers (crawler-inject.js:1114:10)
at crawler-inject.js:1549:1
initDomMutationObservers @ crawler-inject.js:1106
(anonymous) @ crawler-inject.js:1114
initDomMutationObservers @ crawler-inject.js:1114
(anonymous) @ crawler-inject.js:1549
```
Despite this error, nothing seems to be broken and flows work as anticipated.
* web: restore `hasLaunchUrl` to the The `filteredApps` criteria
I misunderstood where this information was coming from. Sorry about that.
* Use the most efficient operator here.
* core: adjust styling to meet our standards
* Fix version correspondence bug in website (#10278)
web: update lockfile to correspond to package.json, enabling npm-ci
Looks like someone updated `package.json` to have the latest version
of Typescript, but failed to update `package-lock.json` to get that
version into the cache. `npm ci` won't work if the versions in the
two files don't correspond, as that means, well, exactly that: no
one has checked that the versioning is correct.
The actual diff to `package-lock.json` is small enough it can be
verified by eye, and it's fine.
* web: fix esbuild issue with style sheets
Getting ESBuild, Lit, and Storybook to all agree on how to read and parse stylesheets is a serious
pain. This fix better identifies the value types (instances) being passed from various sources in
the repo to the three *different* kinds of style processors we're using (the native one, the
polyfill one, and whatever the heck Storybook does internally).
Falling back to using older CSS instantiating techniques one era at a time seems to do the trick.
It's ugly, but in the face of the aggressive styling we use to avoid Flashes of Unstyled Content
(FLoUC), it's the logic with which we're left.
In standard mode, the following warning appears on the console when running a Flow:
```
Autofocus processing was blocked because a document already has a focused element.
```
In compatibility mode, the following **error** appears on the console when running a Flow:
```
crawler-inject.js:1106 Uncaught TypeError: Failed to execute 'observe' on 'MutationObserver': parameter 1 is not of type 'Node'.
at initDomMutationObservers (crawler-inject.js:1106:18)
at crawler-inject.js:1114:24
at Array.forEach (<anonymous>)
at initDomMutationObservers (crawler-inject.js:1114:10)
at crawler-inject.js:1549:1
initDomMutationObservers @ crawler-inject.js:1106
(anonymous) @ crawler-inject.js:1114
initDomMutationObservers @ crawler-inject.js:1114
(anonymous) @ crawler-inject.js:1549
```
Despite this error, nothing seems to be broken and flows work as anticipated.
* web: replace ad-hoc test for package-lock.json file with a tool
Testing to see if a package-lock entry has a `resolved` field hasn't
been a reliable test of that entry's validity for several years
now. The best options we have now are to ensure that every download
occurs over https, and that every download only happens from fully
vetted sources such as NPM and Github. [Liran Tal's Lockfile-Lint
tool](https://snyk.io/blog/why-npm-lockfiles-can-be-a-security-blindspot-for-injecting-malicious-modules/)
does this for package-lock.json files made with NPM or Yarn.
* web: update CI workflows to use `lockfile-lint` for validity checking
* Still getting familiar with the workflows thing.
* ci: refactor ci-web linting
Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space>
* ci fix
Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space>
* try again
Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space>
* and again
Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space>
* rework ci-website
Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space>
---------
Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space>
Co-authored-by: Marc 'risson' Schmitt <marc.schmitt@risson.space>
* web: fix esbuild issue with style sheets
Getting ESBuild, Lit, and Storybook to all agree on how to read and parse stylesheets is a serious
pain. This fix better identifies the value types (instances) being passed from various sources in
the repo to the three *different* kinds of style processors we're using (the native one, the
polyfill one, and whatever the heck Storybook does internally).
Falling back to using older CSS instantiating techniques one era at a time seems to do the trick.
It's ugly, but in the face of the aggressive styling we use to avoid Flashes of Unstyled Content
(FLoUC), it's the logic with which we're left.
In standard mode, the following warning appears on the console when running a Flow:
```
Autofocus processing was blocked because a document already has a focused element.
```
In compatibility mode, the following **error** appears on the console when running a Flow:
```
crawler-inject.js:1106 Uncaught TypeError: Failed to execute 'observe' on 'MutationObserver': parameter 1 is not of type 'Node'.
at initDomMutationObservers (crawler-inject.js:1106:18)
at crawler-inject.js:1114:24
at Array.forEach (<anonymous>)
at initDomMutationObservers (crawler-inject.js:1114:10)
at crawler-inject.js:1549:1
initDomMutationObservers @ crawler-inject.js:1106
(anonymous) @ crawler-inject.js:1114
initDomMutationObservers @ crawler-inject.js:1114
(anonymous) @ crawler-inject.js:1549
```
Despite this error, nothing seems to be broken and flows work as anticipated.
* web: provide a test framework
As is typical of a system where a new build engine is involved, this thing is sadly fragile. Use the
wrong import style in wdio.conf.js and it breaks; there are several notes in tsconfig.test.conf and
wdio.conf.ts to tell eslint or tsc not to complain, it's just a different build with different
criteria, the native criteria don't apply.
On the other hand, writing tests is easy and predictable. We can test behaviors at the unit and
component scale in a straightforward manner, and validate our expectations that things work the way
we believe they should.
* Rolling back a reversion.
* Adjusting paths to work with tests.
* add ci to test
Signed-off-by: Jens Langhammer <jens@goauthentik.io>
* web: patch spotlight on the fly to fix syntax issue that blocked storybook build
This should be a temporary hack. I have an [open
issue](https://github.com/getsentry/spotlight/issues/419) and [pull
request](https://github.com/getsentry/spotlight/pull/420) with the
Spotlight people already to fix the issue.
* Somehow missed these in the merge.
* Merge missed something.
* Fixed an issue where npm install and npm ci had different shell script behaviors.
* Removed debugging messages.
---------
Signed-off-by: Jens Langhammer <jens@goauthentik.io>
Co-authored-by: Jens Langhammer <jens@goauthentik.io>
* web: fix esbuild issue with style sheets
Getting ESBuild, Lit, and Storybook to all agree on how to read and parse stylesheets is a serious
pain. This fix better identifies the value types (instances) being passed from various sources in
the repo to the three *different* kinds of style processors we're using (the native one, the
polyfill one, and whatever the heck Storybook does internally).
Falling back to using older CSS instantiating techniques one era at a time seems to do the trick.
It's ugly, but in the face of the aggressive styling we use to avoid Flashes of Unstyled Content
(FLoUC), it's the logic with which we're left.
In standard mode, the following warning appears on the console when running a Flow:
```
Autofocus processing was blocked because a document already has a focused element.
```
In compatibility mode, the following **error** appears on the console when running a Flow:
```
crawler-inject.js:1106 Uncaught TypeError: Failed to execute 'observe' on 'MutationObserver': parameter 1 is not of type 'Node'.
at initDomMutationObservers (crawler-inject.js:1106:18)
at crawler-inject.js:1114:24
at Array.forEach (<anonymous>)
at initDomMutationObservers (crawler-inject.js:1114:10)
at crawler-inject.js:1549:1
initDomMutationObservers @ crawler-inject.js:1106
(anonymous) @ crawler-inject.js:1114
initDomMutationObservers @ crawler-inject.js:1114
(anonymous) @ crawler-inject.js:1549
```
Despite this error, nothing seems to be broken and flows work as anticipated.
* web: improve state management of Fuze application search
This commit rewrites a bit (just a bit, really!) of the relationship between
`ak-library-application-impl` and `ak-library-application-search`.
The "show only apps with launch URLs filter" has been moved up to the retrieval layer; there was no
reason for the renderer to repeatedly call a *required* filter; just call it on the list of
applications once and be done.
The search component exchanges the two-state guesswork and custom events for a concrete three-state
solution and *private* events. The search handler now sends the events "reset," "updated," and the
new "updated and empty," which we could not previously track.
By limiting the Impl layer to only those apps with launchUrls, we can now distinguish between "all
apps," and "filtered apps," and understand that when "all apps" is empty we have no apps, and when
"filtered apps" is empty the search has returned nothing.
I also tried to add a lot more comments.
In keeping with ES2020, I've put `.js` extensions on all the local imports.
In keeping with a variety of [best practice
recommendations](https://webcomponents.today/best-practices/), I've renamed web component files to
match the custom element they deploy:
```
ak-library-application-search-empty.ts
19:@customElement("ak-library-application-search-empty")
ak-library-impl.ts
44:@customElement("ak-library-impl")
ak-library.ts
30:@customElement("ak-library")
ak-library-application-list.ts
34:@customElement("ak-library-application-list")
ak-library-application-empty-list.ts
22:@customElement("ak-library-application-empty-list")
ak-library-application-search.ts
46:@customElement("ak-library-application-search")
```
The only effect(s) external to the changes in this vertical is that the Route() had to be updated,
and I have done that.
* web: updated the improved search to Google's Lit standards for events.
* web: fix esbuild issue with style sheets
Getting ESBuild, Lit, and Storybook to all agree on how to read and parse stylesheets is a serious
pain. This fix better identifies the value types (instances) being passed from various sources in
the repo to the three *different* kinds of style processors we're using (the native one, the
polyfill one, and whatever the heck Storybook does internally).
Falling back to using older CSS instantiating techniques one era at a time seems to do the trick.
It's ugly, but in the face of the aggressive styling we use to avoid Flashes of Unstyled Content
(FLoUC), it's the logic with which we're left.
In standard mode, the following warning appears on the console when running a Flow:
```
Autofocus processing was blocked because a document already has a focused element.
```
In compatibility mode, the following **error** appears on the console when running a Flow:
```
crawler-inject.js:1106 Uncaught TypeError: Failed to execute 'observe' on 'MutationObserver': parameter 1 is not of type 'Node'.
at initDomMutationObservers (crawler-inject.js:1106:18)
at crawler-inject.js:1114:24
at Array.forEach (<anonymous>)
at initDomMutationObservers (crawler-inject.js:1114:10)
at crawler-inject.js:1549:1
initDomMutationObservers @ crawler-inject.js:1106
(anonymous) @ crawler-inject.js:1114
initDomMutationObservers @ crawler-inject.js:1114
(anonymous) @ crawler-inject.js:1549
```
Despite this error, nothing seems to be broken and flows work as anticipated.
* web: disable reading dark mode out of the UI by default
This patch disables "dark mode" as a browser preference. It still honors
the user preference, but it will always default to Light mode and will not
pay attention to the browser setting.
Thank GNU that dark mode availablity is not a requirement to sell to
governments: https://www.section508.gov/content/guide-accessible-web-design-development/#
* Prettier had opinions.
* Prettier having more opinions.
* Preserve knowledge.
* Updated eslint to stop warning us out about deprecated features.
This commit adds HTMLTagNameElementMap entries to every web component in the front end. Activating
and associating the HTMLTagNamElementMap with its class has enabled
[LitAnalyzer](https://github.com/runem/lit-analyzer/tree/master/packages/lit-analyzer) to reveal a
*lot* of basic problems within the UI, the most popular of which is "missing import." We usually get
away with it because the object being imported was already registered with the browser elsewhere,
but it still surprises me that we haven't gotten any complaints over things like:
```
./src/flow/stages/base.ts
Missing import for <ak-form-static>
96: <ak-form-static
no-missing-import
```
Given how early and fundamental that seems to be in our code, I'd have expected to hear _something_
about it.
I have not enabled most of the possible checks because, well, there are just a ton of warnings when
I do. I'd like to get in and fix those.
Aside from this, I have also _removed_ `customElement` declarations from anything declared as an
`abstract class`. It makes no sense to try and instantiate something that cannot, by definition, be
instantiated. If the class is capable of running on its own, it's not abstract, it just needs to be
overridden in child classes. Before removing the declaration I did check to make sure no other
piece of code was even *trying* to instantiate it, and so far I have detected no failures. Those
elements were:
- elements/forms/Form.ts
- element-/wizard/WizardFormPage.ts
The one that blows my mind, though, is this:
```
src/elements/forms/ProxyForm.ts
6-@customElement("ak-proxy-form")
7:export abstract class ProxyForm extends Form<unknown> {
```
Which, despite being `abstract`, is somehow instantiable?
```
src/admin/outposts/ServiceConnectionListPage.ts: <ak-proxy-form
src/admin/providers/ProviderListPage.ts: <ak-proxy-form
src/admin/sources/SourceWizard.ts: <ak-proxy-form
src/admin/sources/SourceListPage.ts: <ak-proxy-form
src/admin/providers/ProviderWizard.ts: <ak-proxy-form type=${type.component}></ak-proxy-form>
src/admin/stages/StageListPage.ts: <ak-proxy-form
```
I've made a note to investigate.
I've started a new folder where all of my one-off tools for *how* a certain PR was run. It has a
README describing what it's for, and the first tool, `add-htmlelementtagnamemaps-to-everything`, is
its first entry. That tool is also documented internally.
``` Gilbert & Sullivan
I've got a little list,
I've got a little list,
Of all the code that would never be missed,
The duplicate code of cute-and-paste,
The weak abstractions that lead to waste,
The embedded templates-- you get the gist,
There ain't none of 'em that will ever be missed,
And that's why I've got them on my list!
```
core: rework base for SkipObject exception to better support control flow exceptions (#10186)
Signed-off-by: Jens Langhammer <jens@goauthentik.io>
Co-authored-by: Jens L <jens@goauthentik.io>
This commit includes a monkeypatch to allow custom-element-manifest (CEM) to work correctly again
despite our rich collection of mixins, reactive controllers, symbol-oriented event handlers, and the
like. With that monkeypatch in place, we can now create the CEM manifest file and then exploit it so
that IDEs and the Typescript compilation pass can tell when a component is being used incorrectly;
when the wrong types are being passed to it, or when a required attribute is not initialized.
* main:
website/docs: update 2024.6 release notes with latest changes (#10174)
core: fix error when raising SkipObject in mapping (#10153)
website/docs: 2024.6 release notes: add note about group names (#10170)
website/docs: update 2024.6 release notes with latest changes (#10167)
core: bump twilio from 9.1.1 to 9.2.0 (#10162)
web: bump chromedriver from 126.0.1 to 126.0.2 in /tests/wdio (#10161)
web: bump the wdio group in /tests/wdio with 4 updates (#10160)
website/integrations: jellyfin: add OIDC configuration (#9538)
website/docs: Describe where to apply the auto setup env vars (#9863)
website/integrations: gitlab: better service description (#9923)
web: fix docker build for non-release versions (#10154)
root: makefile: add codespell to make-website (#10116)
core: fix error when raising SkipObject in mapping (#10153)
* core: fix error when raising SkipObject in mapping
* fix events not being saved
thanks tests
---------
Signed-off-by: Jens Langhammer <jens@goauthentik.io>
Co-authored-by: Jens L <jens@goauthentik.io>
Update automated-install.md
Took me a good half an hour to find out why my env setup vars are not working: Set the on the server, not the worker container!
Signed-off-by: m1212e <14091540+m1212e@users.noreply.github.com>
* main: (27 commits)
root: use custom model serializer that saves m2m without bulk (#10139)
core: bump urllib3 from 2.2.1 to 2.2.2 (#10143)
ci: bump docker/build-push-action from 5 to 6 (#10144)
web: bump the storybook group in /web with 7 updates (#10147)
web: bump ws from 8.16.0 to 8.17.1 in /web (#10149)
web: fix needed because recent upgrade to task breaks spinner button (#10142)
core: include version in built JS files (#9558)
website/integations/services: Slack integration docs (#9933)
web: fix early modal stack depletion (#10068)
website: bump react-tooltip from 5.26.4 to 5.27.0 in /website (#10129)
web: bump @patternfly/elements from 3.0.1 to 3.0.2 in /web (#10132)
core: bump github.com/gorilla/sessions from 1.2.2 to 1.3.0 (#10135)
web: bump chromedriver from 126.0.0 to 126.0.1 in /tests/wdio (#10136)
core: bump github.com/spf13/cobra from 1.8.0 to 1.8.1 (#10133)
core, web: update translations (#10127)
core: bump ruff from 0.4.8 to 0.4.9 (#10128)
core: bump goauthentik.io/api/v3 from 3.2024042.11 to 3.2024042.13 (#10134)
core, web: update translations (#10118)
translate: Updates for file web/xliff/en.xlf in zh-Hans (#10121)
translate: Updates for file web/xliff/en.xlf in zh_CN (#10120)
...
root: use custom model serializer that saves m2m without bulk (#10139)
* use custom model serializer that saves m2m without bulk
* sigh
---------
Signed-off-by: Jens Langhammer <jens@goauthentik.io>
Co-authored-by: Jens L <jens@goauthentik.io>
core: include version in built JS files (#9558)
* web: fix esbuild issue with style sheets
Getting ESBuild, Lit, and Storybook to all agree on how to read and parse stylesheets is a serious
pain. This fix better identifies the value types (instances) being passed from various sources in
the repo to the three *different* kinds of style processors we're using (the native one, the
polyfill one, and whatever the heck Storybook does internally).
Falling back to using older CSS instantiating techniques one era at a time seems to do the trick.
It's ugly, but in the face of the aggressive styling we use to avoid Flashes of Unstyled Content
(FLoUC), it's the logic with which we're left.
In standard mode, the following warning appears on the console when running a Flow:
```
Autofocus processing was blocked because a document already has a focused element.
```
In compatibility mode, the following **error** appears on the console when running a Flow:
```
crawler-inject.js:1106 Uncaught TypeError: Failed to execute 'observe' on 'MutationObserver': parameter 1 is not of type 'Node'.
at initDomMutationObservers (crawler-inject.js:1106:18)
at crawler-inject.js:1114:24
at Array.forEach (<anonymous>)
at initDomMutationObservers (crawler-inject.js:1114:10)
at crawler-inject.js:1549:1
initDomMutationObservers @ crawler-inject.js:1106
(anonymous) @ crawler-inject.js:1114
initDomMutationObservers @ crawler-inject.js:1114
(anonymous) @ crawler-inject.js:1549
```
Despite this error, nothing seems to be broken and flows work as anticipated.
* core: include version in built JS files
* add fallback
* include build hash
* format
* fix stuff
why does this even work locally
* idk man node
* just not use import assertions
* web: add no-console, use proper dirname path
* web: retarget to use the base package.json file.
* web: encode path to root package.json using git
This is the most authoritative way of finding the root of the git project.
* use full version to match frontend
* add fallback for missing .git folder
---------
Signed-off-by: Jens Langhammer <jens@goauthentik.io>
Co-authored-by: Jens L <jens@goauthentik.io>
Co-authored-by: Ken Sternberg <ken@goauthentik.io>
* web: fix esbuild issue with style sheets
Getting ESBuild, Lit, and Storybook to all agree on how to read and parse stylesheets is a serious
pain. This fix better identifies the value types (instances) being passed from various sources in
the repo to the three *different* kinds of style processors we're using (the native one, the
polyfill one, and whatever the heck Storybook does internally).
Falling back to using older CSS instantiating techniques one era at a time seems to do the trick.
It's ugly, but in the face of the aggressive styling we use to avoid Flashes of Unstyled Content
(FLoUC), it's the logic with which we're left.
In standard mode, the following warning appears on the console when running a Flow:
```
Autofocus processing was blocked because a document already has a focused element.
```
In compatibility mode, the following **error** appears on the console when running a Flow:
```
crawler-inject.js:1106 Uncaught TypeError: Failed to execute 'observe' on 'MutationObserver': parameter 1 is not of type 'Node'.
at initDomMutationObservers (crawler-inject.js:1106:18)
at crawler-inject.js:1114:24
at Array.forEach (<anonymous>)
at initDomMutationObservers (crawler-inject.js:1114:10)
at crawler-inject.js:1549:1
initDomMutationObservers @ crawler-inject.js:1106
(anonymous) @ crawler-inject.js:1114
initDomMutationObservers @ crawler-inject.js:1114
(anonymous) @ crawler-inject.js:1549
```
Despite this error, nothing seems to be broken and flows work as anticipated.
* core: include version in built JS files
Signed-off-by: Jens Langhammer <jens@goauthentik.io>
* add fallback
Signed-off-by: Jens Langhammer <jens@goauthentik.io>
* include build hash
Signed-off-by: Jens Langhammer <jens@goauthentik.io>
* format
Signed-off-by: Jens Langhammer <jens@goauthentik.io>
* fix stuff
why does this even work locally
Signed-off-by: Jens Langhammer <jens@goauthentik.io>
* idk man node
Signed-off-by: Jens Langhammer <jens@goauthentik.io>
* just not use import assertions
Signed-off-by: Jens Langhammer <jens@goauthentik.io>
* web: add no-console, use proper dirname path
* web: retarget to use the base package.json file.
* web: encode path to root package.json using git
This is the most authoritative way of finding the root of the git project.
* use full version to match frontend
Signed-off-by: Jens Langhammer <jens@goauthentik.io>
* add fallback for missing .git folder
Signed-off-by: Jens Langhammer <jens@goauthentik.io>
---------
Signed-off-by: Jens Langhammer <jens@goauthentik.io>
Co-authored-by: Ken Sternberg <ken@goauthentik.io>
* web: fix esbuild issue with style sheets
Getting ESBuild, Lit, and Storybook to all agree on how to read and parse stylesheets is a serious
pain. This fix better identifies the value types (instances) being passed from various sources in
the repo to the three *different* kinds of style processors we're using (the native one, the
polyfill one, and whatever the heck Storybook does internally).
Falling back to using older CSS instantiating techniques one era at a time seems to do the trick.
It's ugly, but in the face of the aggressive styling we use to avoid Flashes of Unstyled Content
(FLoUC), it's the logic with which we're left.
In standard mode, the following warning appears on the console when running a Flow:
```
Autofocus processing was blocked because a document already has a focused element.
```
In compatibility mode, the following **error** appears on the console when running a Flow:
```
crawler-inject.js:1106 Uncaught TypeError: Failed to execute 'observe' on 'MutationObserver': parameter 1 is not of type 'Node'.
at initDomMutationObservers (crawler-inject.js:1106:18)
at crawler-inject.js:1114:24
at Array.forEach (<anonymous>)
at initDomMutationObservers (crawler-inject.js:1114:10)
at crawler-inject.js:1549:1
initDomMutationObservers @ crawler-inject.js:1106
(anonymous) @ crawler-inject.js:1114
initDomMutationObservers @ crawler-inject.js:1114
(anonymous) @ crawler-inject.js:1549
```
Despite this error, nothing seems to be broken and flows work as anticipated.
* web: fix early modal stack depletion
While working on something else, I discovered this mutation inside
the modal stack handler; I've changed it to make a copy of the
original stack, modify that copy, and then write the changed stack
back to the original. While unlikely, it is possible that the stack
could get out-of-sync and be depleted before all stacked modals
have been closed. This fixes that issue.
* make eslint shut up
Signed-off-by: Jens Langhammer <jens@goauthentik.io>
---------
Signed-off-by: Jens Langhammer <jens@goauthentik.io>
Co-authored-by: Jens Langhammer <jens@goauthentik.io>
* main:
website/docs: release notes for 2024.6 (#9812)
policies/reputation: save to database directly (#10059)
providers/enterprise: import user/group data when manually linking objects (#10089)
core, web: update translations (#10108)
web: Add enterprise / FIPS notification to the AdminOverviewPage (#10090)
core: bump github.com/getsentry/sentry-go from 0.28.0 to 0.28.1 (#10095)
web: bump API Client version (#10107)
admin: system api: do not show FIPS status if no valid license (#10091)
root: add configuration option to enable fips (#10088)
web: bump the sentry group across 1 directory with 2 updates (#10101)
web: bump ts-pattern from 5.1.2 to 5.2.0 in /web (#10098)
web: bump the storybook group across 1 directory with 7 updates (#10102)
core: bump github.com/gorilla/websocket from 1.5.2 to 1.5.3 (#10103)
core: bump pydantic from 2.7.3 to 2.7.4 (#10093)
core: bump bandit from 1.7.8 to 1.7.9 (#10094)
* main:
website/developer-docs: add a baby Style Guide (#9900)
website/integrations: gitlab: update certificate key pair location and specify sha (#9925)
root: handle asgi exception (#10085)
website: bump prettier from 3.3.1 to 3.3.2 in /website (#10082)
web: bump prettier from 3.3.1 to 3.3.2 in /web (#10081)
core: bump google-api-python-client from 2.132.0 to 2.133.0 (#10083)
web: bump prettier from 3.3.1 to 3.3.2 in /tests/wdio (#10079)
web: bump chromedriver from 125.0.3 to 126.0.0 in /tests/wdio (#10078)
web: bump @sentry/browser from 8.8.0 to 8.9.1 in /web in the sentry group (#10080)
web: bump braces from 3.0.2 to 3.0.3 in /web (#10077)
website: bump braces from 3.0.2 to 3.0.3 in /website (#10076)
web: bump braces from 3.0.2 to 3.0.3 in /tests/wdio (#10075)
core: bump azure-identity from 1.16.0 to 1.16.1 (#10071)
* main: (66 commits)
rbac: filters: fix missing attribute for unauthenticated requests (#10061)
tests/e2e: docker-compose.yml: remove version element forgotten last time (#10067)
providers/microsoft_entra: fix error when updating connection attributes (#10039)
website/integrations: aws: fix about service link (#10062)
translate: Updates for file locale/en/LC_MESSAGES/django.po in it (#10060)
core: bump github.com/redis/go-redis/v9 from 9.5.2 to 9.5.3 (#10046)
core: bump github.com/gorilla/websocket from 1.5.1 to 1.5.2 (#10047)
translate: Updates for file locale/en/LC_MESSAGES/django.po in ru (#10058)
core: bump sentry-sdk from 2.5.0 to 2.5.1 (#10048)
core: bump django-cte from 1.3.2 to 1.3.3 (#10049)
core: bump packaging from 24.0 to 24.1 (#10050)
web: bump yaml from 2.4.3 to 2.4.5 in /web (#10054)
web: bump @sentry/browser from 8.7.0 to 8.8.0 in /web in the sentry group (#10051)
web: bump esbuild from 0.21.4 to 0.21.5 in /web (#10053)
crypto: update fingerprint at same time as certificate (#10036)
translate: Updates for file locale/en/LC_MESSAGES/django.po in ru (#10056)
website/integrations: gitea: fix helm values (#10043)
core, web: update translations (#10038)
translate: Updates for file locale/en/LC_MESSAGES/django.po in ru (#10040)
docs/troubleshooting: upgrade docker: erroneous command (#10044)
...
* main:
web: bump API Client version (#9967)
stages/captcha: rework (#9959)
website/docs: fixed broken links to helm repo (#9960)
core: bump pydantic from 2.7.2 to 2.7.3 (#9962)
web: bump the wdio group in /tests/wdio with 4 updates (#9963)
* main: (44 commits)
translate: Updates for file locale/en/LC_MESSAGES/django.po in ru (#9943)
translate: Updates for file locale/en/LC_MESSAGES/django.po in zh-Hans (#9944)
translate: Updates for file locale/en/LC_MESSAGES/django.po in zh_CN (#9942)
stages/authenticator_webauthn: migrate device type import to systemtask and schedule (#9958)
website: bump prettier from 3.2.5 to 3.3.0 in /website (#9951)
web: bump yaml from 2.4.2 to 2.4.3 in /web (#9945)
web: bump prettier from 3.2.5 to 3.3.0 in /web (#9946)
core: bump uvicorn from 0.30.0 to 0.30.1 (#9948)
core: bump ruff from 0.4.6 to 0.4.7 (#9949)
website: bump the docusaurus group in /website with 9 updates (#9950)
web: bump prettier from 3.2.5 to 3.3.0 in /tests/wdio (#9952)
web: bump chromedriver from 125.0.2 to 125.0.3 in /tests/wdio (#9953)
core: groups: optimize recursive children query (#9931)
core, web: update translations (#9938)
stages/authenticator_webauthn: optimize device types creation (#9932)
stages/authenticator_webauthn: Update FIDO MDS3 & Passkey aaguid blobs (#9936)
providers/oauth2: don't handle api scope as special scope (#9910)
core: bump goauthentik.io/api/v3 from 3.2024042.8 to 3.2024042.9 (#9915)
web: bump the storybook group in /web with 7 updates (#9917)
website/integrations: firezone: remove question mark typo and remove promotional sentence (#9927)
...
* main:
website/docs: add docs for configuring Facebook as a source (#9884)
web: bump the esbuild group in /web with 2 updates (#9879)
core: bump twilio from 9.0.5 to 9.1.0 (#9875)
core: bump coverage from 7.5.1 to 7.5.2 (#9876)
core: bump goauthentik.io/api/v3 from 3.2024042.7 to 3.2024042.8 (#9877)
web: bump the babel group in /web with 7 updates (#9878)
web: bump glob from 10.4.0 to 10.4.1 in /web (#9881)
web: bump the wdio group in /tests/wdio with 4 updates (#9882)
events: fix geoip enrich context not converting to json-seriazable data (#9885)
stages/user_login: fix non-json-serializable being used (#9886)
* main: (43 commits)
website/docs: improve read replica docs (#9828)
translate: Updates for file locale/en/LC_MESSAGES/django.po in ru (#9859)
web: bump API Client version (#9857)
lib/sync/outgoing, sources/ldap: fix sync status endpoint (#9855)
lifecycle/migrate: only acquire lock once (#9856)
core: add option to select group for property mapping testing (#9834)
policies: fix ak_call_policy failing when used in testing (#9853)
website/integrations: gitlab: make placeholder clearer (#9838)
core: bump requests from 2.31.0 to 2.32.2 (#9852)
core: bump codespell from 2.2.6 to 2.3.0 (#9842)
core: bump docker from 7.0.0 to 7.1.0 (#9843)
translate: Updates for file web/xliff/en.xlf in zh-Hans (#9839)
translate: Updates for file web/xliff/en.xlf in zh_CN (#9840)
core: bump watchdog from 4.0.0 to 4.0.1 (#9845)
website: bump @types/react from 18.3.2 to 18.3.3 in /website (#9841)
core: bump sentry-sdk from 2.2.1 to 2.3.1 (#9844)
core: bump goauthentik.io/api/v3 from 3.2024042.4 to 3.2024042.7 (#9846)
web: bump chromedriver from 125.0.1 to 125.0.2 in /tests/wdio (#9847)
web: bump @sentry/browser from 8.3.0 to 8.4.0 in /web in the sentry group (#9848)
web: bump the storybook group in /web with 7 updates (#9849)
...
* main: (36 commits)
ci: use container registry for container build cache (#9809)
core: bump lxml from 5.2.1 to 5.2.2 (#9717)
web: bump mermaid from 10.9.0 to 10.9.1 in /web (#9734)
core: bump scim2-filter-parser from 0.5.0 to 0.5.1 (#9730)
web: bump core-js from 3.37.0 to 3.37.1 in /web (#9733)
stages/authenticator_webauthn: Update FIDO MDS3 & Passkey aaguid blobs (#9729)
translate: Updates for file locale/en/LC_MESSAGES/django.po in zh_CN (#9802)
translate: Updates for file locale/en/LC_MESSAGES/django.po in zh-Hans (#9803)
core: bump sentry-sdk from 2.2.0 to 2.2.1 (#9807)
web: bump the storybook group in /web with 7 updates (#9804)
web: bump glob from 10.3.15 to 10.3.16 in /web (#9805)
root: docker-compose: remove version top level element (#9631)
core, web: update translations (#9790)
web: bump API Client version (#9801)
web/admin: rework initial wizard pages and add grid layout (#9668)
website/integrations: discord: fix typo (#9800)
website/integration/netbox: fix group custom pipeline example (#9738)
root: add primary-replica db router (#9479)
website/integrations: add three more policy-expressions to discord-docs (#5760)
website/integrations: netbox: add missing scope configuration (#9491)
...
* main:
web: bump @sentry/browser from 7.114.0 to 8.2.1 in /web in the sentry group across 1 directory (#9757)
core, web: update translations (#9714)
core: bump sentry-sdk from 2.1.1 to 2.2.0 (#9753)
core: bump selenium from 4.20.0 to 4.21.0 (#9754)
core: bump msgraph-sdk from 1.2.0 to 1.4.0 (#9755)
core: bump github.com/sethvargo/go-envconfig from 1.0.1 to 1.0.2 (#9756)
web: bump chromedriver from 124.0.3 to 125.0.0 in /tests/wdio (#9758)
website/docs: new PR for the Entra provider docs (ignore old one) (#9741)
root: include task_id in events and logs (#9749)
web: bump the esbuild group in /web with 2 updates (#9745)
web: bump esbuild from 0.21.2 to 0.21.3 in /web (#9746)
web: bump the storybook group across 1 directory with 7 updates (#9747)
* main:
website/docs: update traefik to latest version in proxy provider (#9707)
sources/saml: fix FlowPlanner error due to pickle (#9708)
website/docs: add docs about Google Workspace (#9669)
translate: Updates for file locale/en/LC_MESSAGES/django.po in zh_CN (#9702)
translate: Updates for file web/xliff/en.xlf in zh_CN (#9703)
translate: Updates for file web/xliff/en.xlf in zh-Hans (#9705)
translate: Updates for file locale/en/LC_MESSAGES/django.po in zh-Hans (#9706)
* main:
web: bump esbuild from 0.21.1 to 0.21.2 in /web (#9696)
web: bump chromedriver from 124.0.2 to 124.0.3 in /tests/wdio (#9692)
website: bump @types/react from 18.3.1 to 18.3.2 in /website (#9691)
core, web: update translations (#9672)
core: bump psycopg from 3.1.18 to 3.1.19 (#9698)
core: bump google-api-python-client from 2.128.0 to 2.129.0 (#9694)
web: bump the esbuild group in /web with 2 updates (#9695)
web: bump glob from 10.3.14 to 10.3.15 in /web (#9697)
core: bump freezegun from 1.5.0 to 1.5.1 (#9693)
web: fix value handling inside controlled components (#9648)
* main:
website/docs: add hardening advice and link directly to Cure53 results (#9670)
core: bump goauthentik.io/api/v3 from 3.2024042.2 to 3.2024042.4 (#9674)
core: bump ruff from 0.4.3 to 0.4.4 (#9677)
core: bump github.com/prometheus/client_golang from 1.19.0 to 1.19.1 (#9675)
web: bump glob from 10.3.12 to 10.3.14 in /web (#9676)
lib/providers/sync: multiple minor fixes (#9667)
core: fix source flow_manager not always appending save stage (#9659)
web: bump API Client version (#9660)
web/admin: only show non-backchannel providers in application provider select (#9658)
website/docs: add new doc about extra steps for hardening authentik (#9649)
* main:
web: bump API Client version (#9656)
enterprise/providers/microsoft_entra: initial account sync to microsoft entra (#9632)
web: bump chromedriver from 124.0.1 to 124.0.2 in /tests/wdio (#9652)
web: bump @sentry/browser from 7.113.0 to 7.114.0 in /web in the sentry group (#9653)
core, web: update translations (#9650)
translate: Updates for file locale/en/LC_MESSAGES/django.po in zh_CN (#9644)
translate: Updates for file web/xliff/en.xlf in zh-Hans (#9646)
translate: Updates for file web/xliff/en.xlf in zh_CN (#9645)
translate: Updates for file locale/en/LC_MESSAGES/django.po in zh-Hans (#9647)
* main:
core, web: update translations (#9633)
core: bump google-api-python-client from 2.127.0 to 2.128.0 (#9641)
core: bump goauthentik.io/api/v3 from 3.2024041.3 to 3.2024042.2 (#9635)
core: bump golang from 1.22.2-bookworm to 1.22.3-bookworm (#9636)
web: bump the esbuild group in /web with 2 updates (#9637)
web: bump esbuild from 0.21.0 to 0.21.1 in /web (#9639)
core: bump django from 5.0.5 to 5.0.6 (#9640)
web: bump API Client version (#9630)
enterprise/providers/google: initial account sync to google workspace (#9384)
web/flows: fix error when using consecutive webauthn validator stages (#9629)
web: bump API Client version (#9626)
website/docs: refine intro page for sources (#9625)
release: 2024.4.2
* main: (42 commits)
website/docs: prepare 2024.4.2 release notes (#9555)
web: bump the esbuild group in /web with 2 updates (#9616)
translate: Updates for file locale/en/LC_MESSAGES/django.po in ru (#9611)
translate: Updates for file locale/en/LC_MESSAGES/django.po in zh_CN (#9560)
translate: Updates for file locale/en/LC_MESSAGES/django.po in zh-Hans (#9563)
ci: bump golangci/golangci-lint-action from 5 to 6 (#9615)
web: bump esbuild from 0.20.2 to 0.21.0 in /web (#9617)
core: bump cryptography from 42.0.6 to 42.0.7 (#9618)
core: bump sentry-sdk from 2.0.1 to 2.1.1 (#9619)
core: bump django from 5.0.4 to 5.0.5 (#9620)
core, web: update translations (#9613)
website/docs: move Sources from Integrations into Docs (#9515)
website/docs: add procedurals to flow inspector docs (#9556)
core: bump jinja2 from 3.1.3 to 3.1.4 (#9610)
web: clean up the options rendering in PromptForm (#9564)
translate: Updates for file locale/en/LC_MESSAGES/django.po in ru (#9608)
website/docs: add instructions for deploying radius manually with docker compose (#9605)
sources/scim: fix duplicate groups and invalid schema (#9466)
core: fix condition in task clean_expiring_models (#9603)
translate: Updates for file web/xliff/en.xlf in fr (#9600)
...
* main:
website/docs: fix openssl rand commands (#9554)
web: bump @sentry/browser from 7.112.2 to 7.113.0 in /web in the sentry group (#9549)
core, web: update translations (#9548)
core: bump goauthentik.io/api/v3 from 3.2024041.1 to 3.2024041.2 (#9551)
core: bump django-model-utils from 4.5.0 to 4.5.1 (#9550)
providers/scim: fix time_limit not set correctly (#9546)
* main:
web/flows: fix error when enrolling multiple WebAuthn devices consecutively (#9545)
web: bump ejs from 3.1.9 to 3.1.10 in /tests/wdio (#9542)
web: bump API Client version (#9543)
providers/saml: fix ecdsa support (#9537)
website/integrations: nextcloud: connect to existing user (#9155)
* main: (43 commits)
stages/authenticator_webauthn: Update FIDO MDS3 & Passkey aaguid blobs (#9535)
web: bump the rollup group across 1 directory with 3 updates (#9532)
website/developer-docs: Add note for custom YAML tags in an IDE (#9528)
lifecycle: close database connection after migrating (#9516)
web: bump the babel group in /web with 3 updates (#9520)
core: bump node from 21 to 22 (#9521)
web: bump @codemirror/lang-python from 6.1.5 to 6.1.6 in /web (#9523)
providers/rac: bump guacd to 1.5.5 (#9514)
core: only prefetch related objects when required (#9476)
website/integrations: move Fortimanager to Networking (#9505)
website: bump react-tooltip from 5.26.3 to 5.26.4 in /website (#9494)
web: bump the rollup group in /web with 3 updates (#9497)
web: bump yaml from 2.4.1 to 2.4.2 in /web (#9499)
core: bump goauthentik.io/api/v3 from 3.2024040.1 to 3.2024041.1 (#9503)
core: bump pytest from 8.1.1 to 8.2.0 (#9501)
website: bump react-dom from 18.3.0 to 18.3.1 in /website (#9495)
website: bump react and @types/react in /website (#9496)
web: bump react-dom from 18.3.0 to 18.3.1 in /web (#9498)
core: bump sentry-sdk from 2.0.0 to 2.0.1 (#9502)
web/flows: fix missing fallback for flow logo (#9487)
...
* main:
web: clean up some repetitive types (#9241)
core: fix logic for token expiration (#9426)
ci: fix ci pipeline (#9427)
translate: Updates for file locale/en/LC_MESSAGES/django.po in ru (#9424)
web: Add resolved and integrity fields back to package-lock.json (#9419)
translate: Updates for file locale/en/LC_MESSAGES/django.po in ru (#9407)
stages/identification: don't check source component (#9410)
core: bump selenium from 4.19.0 to 4.20.0 (#9411)
core: bump black from 24.4.0 to 24.4.1 (#9412)
ci: bump golangci/golangci-lint-action from 4 to 5 (#9413)
core: bump goauthentik.io/api/v3 from 3.2024023.2 to 3.2024040.1 (#9414)
web: bump @sentry/browser from 7.112.1 to 7.112.2 in /web in the sentry group (#9416)
sources/oauth: ensure all UI sources return a valid source (#9401)
web: markdown: display markdown even when frontmatter is missing (#9404)
* main:
web: bump API Client version (#9400)
release: 2024.4.0
release: 2024.4.0-rc1
root: bump blueprint schema version
lifecycle: fix ak test-all command
website/docs: finalize 2024.4 release notes (#9396)
web: bump @sentry/browser from 7.111.0 to 7.112.1 in /web in the sentry group (#9387)
web: bump the rollup group in /web with 3 updates (#9388)
ci: bump helm/kind-action from 1.9.0 to 1.10.0 (#9389)
website: bump clsx from 2.1.0 to 2.1.1 in /website (#9390)
core: bump pydantic from 2.7.0 to 2.7.1 (#9391)
core: bump freezegun from 1.4.0 to 1.5.0 (#9393)
core: bump coverage from 7.4.4 to 7.5.0 (#9392)
web: bump the storybook group in /web with 7 updates (#9380)
web: bump the rollup group in /web with 3 updates (#9381)
* main: (24 commits)
web: bump the wdio group in /tests/wdio with 4 updates (#9374)
web: bump the rollup group in /web with 3 updates (#9371)
core: bump ruff from 0.4.0 to 0.4.1 (#9372)
core, web: update translations (#9366)
web/admin: fix document title for admin interface (#9362)
translate: Updates for file web/xliff/en.xlf in zh_CN (#9363)
translate: Updates for file web/xliff/en.xlf in zh-Hans (#9364)
core, web: update translations (#9360)
website/docs: release notes 2024.4: add performance improvements values (#9356)
translate: Updates for file web/xliff/en.xlf in zh_CN (#9317)
translate: Updates for file web/xliff/en.xlf in zh-Hans (#9318)
website/docs: 2024.4 release notes (#9267)
sources/ldap: fix default blueprint for mapping user DN to path (#9355)
web/admin: group form dual select (#9354)
core: bump golang.org/x/net from 0.22.0 to 0.23.0 (#9351)
core: bump goauthentik.io/api/v3 from 3.2024023.1 to 3.2024023.2 (#9345)
web: bump chromedriver from 123.0.3 to 123.0.4 in /tests/wdio (#9348)
core: bump twilio from 9.0.4 to 9.0.5 (#9346)
core: bump ruff from 0.3.7 to 0.4.0 (#9347)
web: bump @sentry/browser from 7.110.1 to 7.111.0 in /web in the sentry group (#9349)
...
* main:
stages/prompt: fix username field throwing error with existing user (#9342)
root: expose session storage configuration (#9337)
website/integrations: fix typo (#9340)
root: fix go.mod for codeql checking (#9338)
root: make redis settings more consistent (#9335)
web/admin: fix error in admin interface due to un-hydrated context (#9336)
web: bump API Client version (#9334)
stages/authenticator_webauthn: fix attestation value (#9333)
website/docs: fix SECRET_KEY length (#9328)
website/docs: fix email template formatting (#9330)
core, web: update translations (#9323)
web: bump @patternfly/elements from 3.0.0 to 3.0.1 in /web (#9324)
core: bump celery from 5.3.6 to 5.4.0 (#9325)
core: bump goauthentik.io/api/v3 from 3.2024022.12 to 3.2024023.1 (#9327)
sources/scim: service account should be internal (#9321)
web: bump the storybook group in /web with 8 updates (#9266)
sources/scim: cleanup service account when source is deleted (#9319)
* main: (23 commits)
web: bump API Client version (#9316)
release: 2024.2.3
website/docs: 2024.2.3 release notes (#9313)
web/admin: fix log viewer empty state (#9315)
website/docs: fix formatting for stage changes (#9314)
core: bump github.com/go-ldap/ldap/v3 from 3.4.7 to 3.4.8 (#9310)
core: bump goauthentik.io/api/v3 from 3.2024022.11 to 3.2024022.12 (#9311)
web: bump core-js from 3.36.1 to 3.37.0 in /web (#9309)
core: bump gunicorn from 21.2.0 to 22.0.0 (#9308)
core, web: update translations (#9307)
website/docs: system settings: add default token duration and length (#9306)
web/flows: update flow background (#9305)
web: fix locale loading being skipped (#9301)
translate: Updates for file web/xliff/en.xlf in fr (#9304)
translate: Updates for file locale/en/LC_MESSAGES/django.po in fr (#9303)
core: replace authentik_signals_ignored_fields with audit_ignore (#9291)
web/flow: fix form input rendering issue (#9297)
events: fix incorrect user logged when using API token authentication (#9302)
translate: Updates for file locale/en/LC_MESSAGES/django.po in zh_CN (#9293)
translate: Updates for file locale/en/LC_MESSAGES/django.po in zh-Hans (#9295)
...
* main: (34 commits)
web: bump API Client version (#9299)
core: fix api schema for users and groups (#9298)
providers/oauth2: fix refresh_token grant returning incorrect id_token (#9275)
web: bump @sentry/browser from 7.110.0 to 7.110.1 in /web in the sentry group (#9278)
core, web: update translations (#9277)
web: bump the rollup group in /web with 3 updates (#9280)
web: bump lit from 3.1.2 to 3.1.3 in /web (#9282)
web: bump @lit/context from 1.1.0 to 1.1.1 in /web (#9281)
website: bump @types/react from 18.2.78 to 18.2.79 in /website (#9286)
core: bump goauthentik.io/api/v3 from 3.2024022.10 to 3.2024022.11 (#9285)
core: bump sqlparse from 0.4.4 to 0.5.0 (#9276)
lifecycle: gunicorn: fix app preload (#9274)
events: add indexes (#9272)
web/flows: fix passwordless hidden without input (#9273)
root: fix geoipupdate arguments (#9271)
website/docs: cleanup more (#9249)
web: bump API Client version (#9270)
sources: add SCIM source (#3051)
core: delegated group member management (#9254)
web: bump API Client version (#9269)
...
* main: (21 commits)
web: manage stacked modals with a stack (#9193)
website/docs: ensure yaml code blocks have language tags (#9240)
blueprints: only create default brand if no other default brand exists (#9222)
web: bump API Client version (#9239)
website/integrations: portainer: Fix Redirect URL mismatch (#9226)
api: fix authentication schema (#9238)
translate: Updates for file web/xliff/en.xlf in zh_CN (#9229)
translate: Updates for file web/xliff/en.xlf in zh-Hans (#9230)
translate: Updates for file locale/en/LC_MESSAGES/django.po in zh_CN (#9228)
translate: Updates for file locale/en/LC_MESSAGES/django.po in zh-Hans (#9231)
core: bump pydantic from 2.6.4 to 2.7.0 (#9232)
core: bump ruff from 0.3.5 to 0.3.7 (#9233)
web: bump @sentry/browser from 7.109.0 to 7.110.0 in /web in the sentry group (#9234)
website: bump @types/react from 18.2.75 to 18.2.77 in /website (#9236)
core, web: update translations (#9225)
website/integrations: add pfSense search scope (#9221)
core: bump idna from 3.6 to 3.7 (#9224)
website/docs: add websocket support to nginx snippets (#9220)
internal: add tests to go flow executor (#9219)
website/integrations: nextcloud: add tip to solve hashed groups configuring OAuth2 (#9153)
...
* main:
website/docs: add more info and links about enforciing unique email addresses (#9154)
core: bump goauthentik.io/api/v3 from 3.2024022.7 to 3.2024022.8 (#9215)
web: bump API Client version (#9214)
stages/authenticator_validate: add ability to limit webauthn device types (#9180)
web: bump API Client version (#9213)
core: add user settable token durations (#7410)
core, web: update translations (#9205)
web: bump typescript from 5.4.4 to 5.4.5 in /tests/wdio (#9206)
web: bump chromedriver from 123.0.2 to 123.0.3 in /tests/wdio (#9207)
core: bump sentry-sdk from 1.44.1 to 1.45.0 (#9208)
web: bump typescript from 5.4.4 to 5.4.5 in /web (#9209)
website: bump typescript from 5.4.4 to 5.4.5 in /website (#9210)
core: bump python from 3.12.2-slim-bookworm to 3.12.3-slim-bookworm (#9211)
* main:
translate: Updates for file locale/en/LC_MESSAGES/django.po in zh_CN (#9194)
translate: Updates for file locale/en/LC_MESSAGES/django.po in zh-Hans (#9197)
translate: Updates for file web/xliff/en.xlf in zh_CN (#9196)
translate: Updates for file web/xliff/en.xlf in zh-Hans (#9198)
web: preserve selected list when provider updates (#9200)
web: bump API Client version (#9195)
sources/oauth: make URLs not required, only check when no OIDC URLs are defined (#9182)
* main: (25 commits)
root: fix readme (#9178)
enterprise: fix audit middleware import (#9177)
web: bump @spotlightjs/spotlight from 1.2.16 to 1.2.17 in /web in the sentry group (#9162)
web: bump API Client version (#9174)
stages/authenticator_webauthn: add MDS support (#9114)
website/integrations: Update Nextcloud OIDC secret size limitation (#9139)
translate: Updates for file web/xliff/en.xlf in zh_CN (#9170)
translate: Updates for file web/xliff/en.xlf in zh-Hans (#9171)
web: bump the rollup group in /web with 3 updates (#9164)
web: bump @codemirror/legacy-modes from 6.3.3 to 6.4.0 in /web (#9166)
web: bump ts-pattern from 5.1.0 to 5.1.1 in /web (#9167)
core: bump github.com/go-ldap/ldap/v3 from 3.4.6 to 3.4.7 (#9168)
core, web: update translations (#9156)
root: fix redis username in lifecycle (#9158)
web: ak-checkbox-group for short, static, multi-select events (#9138)
root: fix startup (#9151)
core: Bump golang.org/x/oauth2 from 0.18.0 to 0.19.0 (#9146)
core: Bump twilio from 9.0.3 to 9.0.4 (#9143)
web: Bump country-flag-icons from 1.5.10 to 1.5.11 in /web (#9144)
web: Bump typescript from 5.4.3 to 5.4.4 in /web (#9145)
...
* main: (22 commits)
blueprints: fix default username field in user-settings flow (#9136)
website/docs: add procedural docs for RAC (#9006)
web: bump API Client version (#9133)
ci: fix python client generator (#9134)
root: generate python client (#9107)
web: Bump vite from 5.1.4 to 5.2.8 in /web (#9120)
core, web: update translations (#9124)
core: Bump golang from 1.22.1-bookworm to 1.22.2-bookworm (#9125)
web: Bump the babel group in /web with 2 updates (#9126)
web: Bump the eslint group in /web with 1 update (#9127)
web: Bump the eslint group in /tests/wdio with 1 update (#9129)
core: Bump sentry-sdk from 1.44.0 to 1.44.1 (#9130)
core: Bump channels from 4.0.0 to 4.1.0 (#9131)
core: Bump django from 5.0.3 to 5.0.4 (#9132)
web: Bump the rollup group in /web with 3 updates (#9128)
translate: Updates for file locale/en/LC_MESSAGES/django.po in zh-Hans (#9110)
translate: Updates for file locale/en/LC_MESSAGES/django.po in zh_CN (#9109)
translate: Updates for file web/xliff/en.xlf in zh_CN (#9111)
translate: Updates for file web/xliff/en.xlf in zh-Hans (#9112)
web: Bump @fortawesome/fontawesome-free from 6.5.1 to 6.5.2 in /web (#9116)
...
* main:
root: fix missing imports after #9081 (#9106)
root: move database calls from ready() to dedicated startup signal (#9081)
web: fix console log leftover (#9096)
web: bump the eslint group in /web with 2 updates (#9098)
core: bump twilio from 9.0.2 to 9.0.3 (#9103)
web: bump the eslint group in /tests/wdio with 2 updates (#9099)
core: bump drf-spectacular from 0.27.1 to 0.27.2 (#9100)
core: bump django-model-utils from 4.4.0 to 4.5.0 (#9101)
core: bump ruff from 0.3.4 to 0.3.5 (#9102)
website/docs: update notes on SECRET_KEY (#9091)
web: fix broken locale compile (#9095)
website/integrations: add outline knowledge base (#8786)
website/docs: fix typo (#9082)
website/docs: email stage: fix example translation error (#9048)
* main:
web: bump @patternfly/elements from 2.4.0 to 3.0.0 in /web (#9089)
web: bump ts-pattern from 5.0.8 to 5.1.0 in /web (#9090)
website: bump the docusaurus group in /website with 9 updates (#9087)
web/admin: allow custom sorting for bound* tables (#9080)
* main: (23 commits)
providers/oauth2: fix interactive device flow (#9076)
website/docs: fix transports example (#9074)
events: fix log_capture (#9075)
web: bump the sentry group in /web with 2 updates (#9065)
core: bump goauthentik.io/api/v3 from 3.2024022.6 to 3.2024022.7 (#9064)
web: bump @codemirror/lang-python from 6.1.4 to 6.1.5 in /web (#9068)
web: bump the eslint group in /web with 1 update (#9066)
web: bump glob from 10.3.10 to 10.3.12 in /web (#9069)
web: bump the rollup group in /web with 3 updates (#9067)
web: bump the eslint group in /tests/wdio with 1 update (#9071)
core: bump webauthn from 2.0.0 to 2.1.0 (#9070)
core: bump sentry-sdk from 1.43.0 to 1.44.0 (#9073)
core: bump requests-mock from 1.12.0 to 1.12.1 (#9072)
web: bump API Client version (#9061)
events: rework log messages returned from API and their rendering (#8770)
website/docs: update airgapped config (#9049)
website: bump @types/react from 18.2.72 to 18.2.73 in /website (#9052)
web: bump the rollup group in /web with 3 updates (#9053)
core: bump django-filter from 24.1 to 24.2 (#9055)
core: bump requests-mock from 1.11.0 to 1.12.0 (#9056)
...
* main:
web: a few minor bugfixes and lintfixes (#9044)
website/integrations: add documentation for OIDC setup with Xen Orchestra (#9000)
website: bump @types/react from 18.2.70 to 18.2.72 in /website (#9041)
core: bump goauthentik.io/api/v3 from 3.2024022.5 to 3.2024022.6 (#9042)
web: fix markdown rendering bug for alerts (#9037)
* main:
web: bump API Client version (#9035)
website/docs: maintenance, re-add system settings (#9026)
core: bump duo-client from 5.2.0 to 5.3.0 (#9029)
website: bump express from 4.18.2 to 4.19.2 in /website (#9027)
web: bump express from 4.18.3 to 4.19.2 in /web (#9028)
web: bump the eslint group in /web with 2 updates (#9030)
core: bump goauthentik.io/api/v3 from 3.2024022.3 to 3.2024022.5 (#9031)
website: bump @types/react from 18.2.69 to 18.2.70 in /website (#9032)
web: bump the eslint group in /tests/wdio with 2 updates (#9033)
web: bump katex from 0.16.9 to 0.16.10 in /web (#9025)
translate: Updates for file locale/en/LC_MESSAGES/django.po in fr (#9023)
website/docs: include OS-specific docker-compose install instructions + minor fixes (#8975)
* main:
web: bump API Client version (#9021)
sources/ldap: add ability to disable password write on login (#8377)
web: bump API Client version (#9020)
lifecycle: migrate: ensure template schema exists before migrating (#8952)
website/integrations: Update nextcloud Admin Group Expression (#7314)
web/flow: general ux improvements (#8558)
website: bump @types/react from 18.2.67 to 18.2.69 in /website (#9016)
core: bump requests-oauthlib from 1.4.0 to 2.0.0 (#9018)
web: bump the sentry group in /web with 2 updates (#9017)
web/admin: small fixes (#9002)
website: bump webpack-dev-middleware from 5.3.3 to 5.3.4 in /website (#9001)
core: bump ruff from 0.3.3 to 0.3.4 (#8998)
website/docs: Upgrade nginx reverse porxy config (#8947)
website/docs: improve flow inspector docs (#8993)
website/deverlop-docs website/integrations: add links to integrations template (#8995)
* main:
website/docs: add example policy to enforce unique email address (#8955)
web/admin: remove enterprise preview banner (#8991)
core: bump uvicorn from 0.28.1 to 0.29.0 (#8980)
core: bump sentry-sdk from 1.42.0 to 1.43.0 (#8981)
web: bump the babel group in /web with 3 updates (#8983)
web: bump typescript from 5.4.2 to 5.4.3 in /web (#8984)
web: bump typescript from 5.4.2 to 5.4.3 in /tests/wdio (#8986)
web: bump chromedriver from 122.0.6 to 123.0.0 in /tests/wdio (#8987)
website: bump typescript from 5.4.2 to 5.4.3 in /website (#8989)
core: bump importlib-metadata from 7.0.2 to 7.1.0 (#8982)
web: bump the wdio group in /tests/wdio with 3 updates (#8985)
website: bump postcss from 8.4.37 to 8.4.38 in /website (#8988)
* main:
website/docs: config: remove options moved to tenants (#8976)
web: bump @types/grecaptcha from 3.0.8 to 3.0.9 in /web (#8971)
web: bump country-flag-icons from 1.5.9 to 1.5.10 in /web (#8970)
web: bump the babel group in /web with 7 updates (#8969)
core: bump uvicorn from 0.28.0 to 0.28.1 (#8968)
website: bump postcss from 8.4.36 to 8.4.37 in /website (#8967)
internal: cleanup static file serving setup code (#8965)
website/integrations: portainer: match portainer settings order (#8974)
* main:
outposts/proxy: Fix invalid redirect on external hosts containing path components (#8915)
core: cache user application list under policies (#8895)
web: bump the eslint group in /web with 2 updates (#8959)
web: bump core-js from 3.36.0 to 3.36.1 in /web (#8960)
website: bump @types/react from 18.2.66 to 18.2.67 in /website (#8962)
web: bump the eslint group in /tests/wdio with 2 updates (#8963)
* main: (31 commits)
root: support redis username (#8935)
core: bump black from 24.2.0 to 24.3.0 (#8945)
web: bump the wdio group in /tests/wdio with 2 updates (#8939)
web: bump the sentry group in /web with 1 update (#8941)
website: bump postcss from 8.4.35 to 8.4.36 in /website (#8940)
core: bump twilio from 9.0.1 to 9.0.2 (#8942)
core: bump ruff from 0.3.2 to 0.3.3 (#8943)
events: discard notification if user has empty email (#8938)
ci: always run ci-main on branch pushes (#8950)
core: bump goauthentik.io/api/v3 from 3.2024022.2 to 3.2024022.3 (#8946)
website/docs: add new name "Microsft Entra ID" for Azure AD (#8930)
outposts: Enhance config options for k8s outposts (#7363)
website/docs: add link to CRUD docs (#8925)
web: bump API Client version (#8927)
outpost: improved set secret answers for flow execution (#8013)
stages/user_write: ensure user data is json-serializable (#8926)
website/docs: update example ldapsearch commands (#8906)
admin: Handle latest version unknown in admin dashboard (#8858)
core: bump coverage from 7.4.3 to 7.4.4 (#8917)
core: bump urllib3 from 1.26.18 to 2.2.1 (#8918)
...
* main:
web: bump chromedriver from 122.0.5 to 122.0.6 in /tests/wdio (#8902)
web: bump vite-tsconfig-paths from 4.3.1 to 4.3.2 in /web (#8903)
core: bump google.golang.org/protobuf from 1.32.0 to 1.33.0 (#8901)
web: provide InstallID on EnterpriseListPage (#8898)
* main:
api: capabilities: properly set can_save_media when s3 is enabled (#8896)
web: bump the rollup group in /web with 3 updates (#8891)
core: bump pydantic from 2.6.3 to 2.6.4 (#8892)
core: bump twilio from 9.0.0 to 9.0.1 (#8893)
* main:
Update _envoy_istio.md (#8888)
website/docs: new landing page for Providers (#8879)
web: bump the sentry group in /web with 1 update (#8881)
web: bump chromedriver from 122.0.4 to 122.0.5 in /tests/wdio (#8884)
web: bump the eslint group in /tests/wdio with 2 updates (#8883)
web: bump the eslint group in /web with 2 updates (#8885)
website: bump @types/react from 18.2.64 to 18.2.65 in /website (#8886)
* main:
tenants: really ensure default tenant cannot be deleted (#8875)
core: bump github.com/go-openapi/runtime from 0.27.2 to 0.28.0 (#8867)
core: bump pytest from 8.0.2 to 8.1.1 (#8868)
core: bump github.com/go-openapi/strfmt from 0.22.2 to 0.23.0 (#8869)
core: bump bandit from 1.7.7 to 1.7.8 (#8870)
core: bump packaging from 23.2 to 24.0 (#8871)
core: bump ruff from 0.3.1 to 0.3.2 (#8873)
web: bump the wdio group in /tests/wdio with 3 updates (#8865)
core: bump requests-oauthlib from 1.3.1 to 1.4.0 (#8866)
core: bump uvicorn from 0.27.1 to 0.28.0 (#8872)
core: bump django-filter from 23.5 to 24.1 (#8874)
Getting ESBuild, Lit, and Storybook to all agree on how to read and parse stylesheets is a serious
pain. This fix better identifies the value types (instances) being passed from various sources in
the repo to the three *different* kinds of style processors we're using (the native one, the
polyfill one, and whatever the heck Storybook does internally).
Falling back to using older CSS instantiating techniques one era at a time seems to do the trick.
It's ugly, but in the face of the aggressive styling we use to avoid Flashes of Unstyled Content
(FLoUC), it's the logic with which we're left.
In standard mode, the following warning appears on the console when running a Flow:
```
Autofocus processing was blocked because a document already has a focused element.
```
In compatibility mode, the following **error** appears on the console when running a Flow:
```
crawler-inject.js:1106 Uncaught TypeError: Failed to execute 'observe' on 'MutationObserver': parameter 1 is not of type 'Node'.
at initDomMutationObservers (crawler-inject.js:1106:18)
at crawler-inject.js:1114:24
at Array.forEach (<anonymous>)
at initDomMutationObservers (crawler-inject.js:1114:10)
at crawler-inject.js:1549:1
initDomMutationObservers @ crawler-inject.js:1106
(anonymous) @ crawler-inject.js:1114
initDomMutationObservers @ crawler-inject.js:1114
(anonymous) @ crawler-inject.js:1549
```
Despite this error, nothing seems to be broken and flows work as anticipated.
2024-03-08 14:15:55 -08:00
676 changed files with 26700 additions and 15008 deletions
Some files were not shown because too many files have changed in this diff
Show More
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.