web: fix application library list display length and capability#9094
Merged
web: fix application library list display length and capability#9094
Conversation
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.
* 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)
* main: web: fix esbuild issue with style sheets (#8856)
* main: web: upgrade to lit 3 (#8781)
* 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: (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: 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: web: improve build speeds even moar!!!!!! (#8954)
* 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: 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: 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: 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: 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: (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) ...
The User Application Library only shows the top 100 applications. This patch strips what is passed out of the API fetch down to the bare minimum: the list of applications. No pagination, no search strings, none of the items returned by the API other than the application. It then fetches multiple pages of 100 until the user's Application list is exhausted, presenting the entire list to the user. The fetches are done simultaneously; a user with a thousand applications, if one should exist, would start 9 downloads in parallel. The first fetch analyzes the page count to determine how many *more* must be started, then starts them. This should make an interesting stress-test. Failures at the Django end are not well-handled, but then they have never been well-handled. At best, the page is blank and the browser console will contain a cryptic error message. That isn't fixed this time around, but it probably should be. This patch will have no effect until the [application pagination bug](#9093) is fixed.
✅ Deploy Preview for authentik-storybook canceled.
|
✅ Deploy Preview for authentik-docs canceled.
|
Contributor
|
authentik PR Installation instructions Instructions for docker-composeAdd the following block to your AUTHENTIK_IMAGE=ghcr.io/goauthentik/dev-server
AUTHENTIK_TAG=gh-ghcr.io/goauthentik/dev-server:gh-6aeaa839fc13db534c851d35eaa05fe0f2bcc2cc
AUTHENTIK_OUTPOSTS__CONTAINER_IMAGE_BASE=ghcr.io/goauthentik/dev-%(type)s:gh-%(build_hash)sFor arm64, use these values: AUTHENTIK_IMAGE=ghcr.io/goauthentik/dev-server
AUTHENTIK_TAG=gh-ghcr.io/goauthentik/dev-server:gh-6aeaa839fc13db534c851d35eaa05fe0f2bcc2cc-arm64
AUTHENTIK_OUTPOSTS__CONTAINER_IMAGE_BASE=ghcr.io/goauthentik/dev-%(type)s:gh-%(build_hash)sAfterwards, run the upgrade commands from the latest release notes. Instructions for KubernetesAdd the following block to your authentik:
outposts:
container_image_base: ghcr.io/goauthentik/dev-%(type)s:gh-%(build_hash)s
image:
repository: ghcr.io/goauthentik/dev-server
tag: gh-ghcr.io/goauthentik/dev-server:gh-6aeaa839fc13db534c851d35eaa05fe0f2bcc2ccFor arm64, use these values: authentik:
outposts:
container_image_base: ghcr.io/goauthentik/dev-%(type)s:gh-%(build_hash)s
image:
repository: ghcr.io/goauthentik/dev-server
tag: gh-ghcr.io/goauthentik/dev-server:gh-6aeaa839fc13db534c851d35eaa05fe0f2bcc2cc-arm64Afterwards, run the upgrade commands from the latest release notes. |
Signed-off-by: Jens Langhammer <jens@goauthentik.io>
Signed-off-by: Jens Langhammer <jens@goauthentik.io>
e538df7 to
6aeaa83
Compare
BeryJu
approved these changes
Apr 8, 2024
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #9094 +/- ##
===========================================
+ Coverage 46.62% 92.40% +45.78%
===========================================
Files 626 646 +20
Lines 30996 31801 +805
===========================================
+ Hits 14451 29386 +14935
+ Misses 16545 2415 -14130
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. |
kensternberg-authentik
added a commit
that referenced
this pull request
Apr 9, 2024
* main: web/admin: fix SAML Provider preview (#9192) core, web: update translations (#9183) web: bump chromedriver from 123.0.1 to 123.0.2 in /tests/wdio (#9188) website: bump @types/react from 18.2.74 to 18.2.75 in /website (#9185) website/docs: update Postgresql username (#9190) core: bump maxmind/geoipupdate from v6.1 to v7.0 (#9186) events: add context manager to ignore/modify audit events being written (#9181) web: fix application library list display length and capability (#9094)
kensternberg-authentik
added a commit
that referenced
this pull request
Apr 9, 2024
* dev: web/admin: fix SAML Provider preview (#9192) core, web: update translations (#9183) web: bump chromedriver from 123.0.1 to 123.0.2 in /tests/wdio (#9188) website: bump @types/react from 18.2.74 to 18.2.75 in /website (#9185) website/docs: update Postgresql username (#9190) core: bump maxmind/geoipupdate from v6.1 to v7.0 (#9186) events: add context manager to ignore/modify audit events being written (#9181) web: fix application library list display length and capability (#9094)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Details
The User Application Library only shows the top 100 applications. This patch strips what is passed out of the API fetch down to the bare minimum: the list of applications. No pagination, no search strings, none of the items returned by the API other than the application. It then fetches multiple pages of 100 until the user’s Application list is exhausted, presenting the entire list to the user.
The fetches are done simultaneously; a user with a thousand applications, if one should exist, would start 9 downloads in parallel. The first fetch analyzes the page count to determine how many more must be started, then starts them. This should make an interesting stress-test.
Failures at the Django end are not well-handled, but then they have never been well-handled. At best, the page is blank and the browser console will contain a cryptic error message. That isn’t fixed this time around, but it probably should be.
This patch will have no effect until the application pagination bug is fixed.
closes #9015
closes #9093
Checklist
make web)