Skip to content

web/admin: maintenance: give dialogs default exports#20397

Merged
kensternberg-authentik merged 1 commit intomainfrom
web/flow/provide-default-exports-for-components
Feb 18, 2026
Merged

web/admin: maintenance: give dialogs default exports#20397
kensternberg-authentik merged 1 commit intomainfrom
web/flow/provide-default-exports-for-components

Conversation

@kensternberg-authentik
Copy link
Contributor

What

Provide dynamically imported dialogs and forms a default export.

Some minor cleanup of types: PropertyValues -> PropertyValues<this> provides stronger type guarantees.

Why

We define stages and other dynamic processes on the server side using a token, the server-side component name. Client-side elements are instantiated with a constructor and identified with an element tag name.

Dynamically importing components automatically registered the element tag name with the constructor, enabling custom elements to work. Without the default export, the registration goes to the browser but the identity of the component’s underlying constructor is lost. Browsers provide a reverse lookup: given a component’s constructor it can provide the registration tag. By having default exports, we allow dynamic imports to record the constructor, retrieve the tag, and dynamically construct the templates without having to manually maintain the tag/constructor relationship (which is already complicated enough by that server-side component/client-side element relationship).

Testing

This is purely internal maintenance; it’s about hardening the build, not changing behavior. If it lints and builds cleanly, the only real test is that nothing is borken afterwards.

  • The code has been formatted (make web)

## What

Provide dynamically imported dialogs and forms a default export.

Some minor cleanup of types: `PropertyValues` -\> `PropertyValues<this>` provides stronger type guarantees.

## Why

We define stages and other dynamic processes on the server side using a token, the server-side component name. Client-side elements are instantiated with a constructor and identified with an element tag name.

Dynamically importing components automatically registered the element tag name with the constructor, enabling custom elements to work. Without the default export, the registration goes to the browser but the identity of the component’s underlying constructor is lost. Browsers provide a reverse lookup: given a component’s constructor it can provide the registration tag. By having default exports, we allow dynamic imports to record the constructor, retrieve the tag, and dynamically construct the templates without having to manually maintain the tag/constructor relationship (which is already complicated enough by that server-side component/client-side element relationship).

## Testing

This is purely internal maintenance; it’s about hardening the build, not changing behavior. If it lints and builds cleanly, the only real test is that nothing is borken afterwards.
@kensternberg-authentik kensternberg-authentik marked this pull request as ready for review February 18, 2026 17:55
@kensternberg-authentik kensternberg-authentik requested a review from a team as a code owner February 18, 2026 17:55
@netlify
Copy link

netlify bot commented Feb 18, 2026

Deploy Preview for authentik-storybook ready!

Name Link
🔨 Latest commit 9e77522
🔍 Latest deploy log https://app.netlify.com/projects/authentik-storybook/deploys/6995fcf8f15d9c0008abb0f2
😎 Deploy Preview https://deploy-preview-20397--authentik-storybook.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@netlify
Copy link

netlify bot commented Feb 18, 2026

Deploy Preview for authentik-docs ready!

Name Link
🔨 Latest commit 9e77522
🔍 Latest deploy log https://app.netlify.com/projects/authentik-docs/deploys/6995fcf8b13ffd00085e99c8
😎 Deploy Preview https://deploy-preview-20397--authentik-docs.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@kensternberg-authentik kensternberg-authentik enabled auto-merge (squash) February 18, 2026 18:02
@codecov
Copy link

codecov bot commented Feb 18, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 93.25%. Comparing base (e7ea15c) to head (9e77522).
⚠️ Report is 2 commits behind head on main.
✅ All tests successful. No failed tests found.

Additional details and impacted files
@@            Coverage Diff             @@
##             main   #20397      +/-   ##
==========================================
- Coverage   93.30%   93.25%   -0.05%     
==========================================
  Files         981      981              
  Lines       55161    55161              
==========================================
- Hits        51466    51442      -24     
- Misses       3695     3719      +24     
Flag Coverage Δ
conformance 37.45% <ø> (+<0.01%) ⬆️
e2e 43.29% <ø> (+0.03%) ⬆️
integration 22.38% <ø> (-0.05%) ⬇️
unit 91.50% <ø> (+<0.01%) ⬆️
unit-migrate 91.54% <ø> (+<0.01%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@kensternberg-authentik kensternberg-authentik merged commit 1df5401 into main Feb 18, 2026
102 checks passed
@kensternberg-authentik kensternberg-authentik deleted the web/flow/provide-default-exports-for-components branch February 18, 2026 18:32
kensternberg-authentik added a commit that referenced this pull request Feb 18, 2026
…ionship

* main:
  web/admin: maintenance: give dialogs default exports (#20397)
  web: Fix element property names with custom attributes. (#20396)
  enterprise/providers/microsoft_entra: fix dangling comma (#20391)
@github-actions
Copy link
Contributor

authentik PR Installation instructions

Instructions for docker-compose

Add the following block to your .env file:

AUTHENTIK_IMAGE=ghcr.io/goauthentik/dev-server
AUTHENTIK_TAG=gh-9e77522d5dc9dfe022f82b529c15eb04d51d09cb
AUTHENTIK_OUTPOSTS__CONTAINER_IMAGE_BASE=ghcr.io/goauthentik/dev-%(type)s:gh-%(build_hash)s

Afterwards, run the upgrade commands from the latest release notes.

Instructions for Kubernetes

Add the following block to your values.yml file:

authentik:
    outposts:
        container_image_base: ghcr.io/goauthentik/dev-%(type)s:gh-%(build_hash)s
global:
    image:
        repository: ghcr.io/goauthentik/dev-server
        tag: gh-9e77522d5dc9dfe022f82b529c15eb04d51d09cb

Afterwards, run the upgrade commands from the latest release notes.

kensternberg-authentik added a commit that referenced this pull request Feb 18, 2026
…to web/flow/tablize-token-component-relationship-v3-error-handling

* web/flow/19999-tablize-token-component-relationship: (58 commits)
  web/admin: maintenance: centralize types that are used across stages (#20398)
  website/integrations: beszel: remove slug reference (#20393)
  web/admin: maintenance: give dialogs default exports (#20397)
  web: Fix element property names with custom attributes. (#20396)
  enterprise/providers/microsoft_entra: fix dangling comma (#20391)
  web/admin: bug: stage update forms not rendering, several modal form buttons missing (#20373)
  lifecycle: bump rac guacd base image (#20390)
  web: revert `tree-sitter` removal from lockfile (#20377)
  root: fix dependabot config for docker (#20380)
  website/docs: Fix broken link to flow executor (#20364)
  core: add cause to `ak_groups` deprecation event and logs (#20361)
  rbac: fix object permission request (#20304)
  enterprise/providers/ws_federation: fix incorrect metadata download URL (#20173)
  core, web: update translations (#20303)
  stages/authenticator_webauthn: Update FIDO MDS3 & Passkey aaguid blobs (#20305)
  core: bump django-countries from 7.6.1 to 8.2.0 (#19459)
  web: bump the storybook group across 1 directory with 5 updates (#20130)
  web: bump pino from 10.3.0 to 10.3.1 in /web (#20133)
  core: bump github.com/pires/go-proxyproto from 0.10.0 to 0.11.0 (#20182)
  web: bump @patternfly/elements from 4.2.0 to 4.3.1 in /web (#20185)
  ...
kensternberg-authentik added a commit that referenced this pull request Feb 21, 2026
…to web/flow/20030-one-true-api

* web/flow/19999-tablize-token-component-relationship: (58 commits)
  web: Flesh out stage mapping error handling. (#20292)
  web/admin: maintenance: centralize types that are used across stages (#20398)
  website/integrations: beszel: remove slug reference (#20393)
  web/admin: maintenance: give dialogs default exports (#20397)
  web: Fix element property names with custom attributes. (#20396)
  enterprise/providers/microsoft_entra: fix dangling comma (#20391)
  web/admin: bug: stage update forms not rendering, several modal form buttons missing (#20373)
  lifecycle: bump rac guacd base image (#20390)
  web: revert `tree-sitter` removal from lockfile (#20377)
  root: fix dependabot config for docker (#20380)
  website/docs: Fix broken link to flow executor (#20364)
  core: add cause to `ak_groups` deprecation event and logs (#20361)
  rbac: fix object permission request (#20304)
  enterprise/providers/ws_federation: fix incorrect metadata download URL (#20173)
  core, web: update translations (#20303)
  stages/authenticator_webauthn: Update FIDO MDS3 & Passkey aaguid blobs (#20305)
  core: bump django-countries from 7.6.1 to 8.2.0 (#19459)
  web: bump the storybook group across 1 directory with 5 updates (#20130)
  web: bump pino from 10.3.0 to 10.3.1 in /web (#20133)
  core: bump github.com/pires/go-proxyproto from 0.10.0 to 0.11.0 (#20182)
  ...
kensternberg-authentik added a commit that referenced this pull request Feb 23, 2026
…t-flow-inspector

* web/flow/20030-one-true-api: (58 commits)
  web: Flesh out stage mapping error handling. (#20292)
  web/admin: maintenance: centralize types that are used across stages (#20398)
  website/integrations: beszel: remove slug reference (#20393)
  web/admin: maintenance: give dialogs default exports (#20397)
  web: Fix element property names with custom attributes. (#20396)
  enterprise/providers/microsoft_entra: fix dangling comma (#20391)
  web/admin: bug: stage update forms not rendering, several modal form buttons missing (#20373)
  lifecycle: bump rac guacd base image (#20390)
  web: revert `tree-sitter` removal from lockfile (#20377)
  root: fix dependabot config for docker (#20380)
  website/docs: Fix broken link to flow executor (#20364)
  core: add cause to `ak_groups` deprecation event and logs (#20361)
  rbac: fix object permission request (#20304)
  enterprise/providers/ws_federation: fix incorrect metadata download URL (#20173)
  core, web: update translations (#20303)
  stages/authenticator_webauthn: Update FIDO MDS3 & Passkey aaguid blobs (#20305)
  core: bump django-countries from 7.6.1 to 8.2.0 (#19459)
  web: bump the storybook group across 1 directory with 5 updates (#20130)
  web: bump pino from 10.3.0 to 10.3.1 in /web (#20133)
  core: bump github.com/pires/go-proxyproto from 0.10.0 to 0.11.0 (#20182)
  ...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants