Skip to content

web: Disable library <datalist> on Firefox.#18103

Merged
BeryJu merged 1 commit intomainfrom
datalist-fixes
Nov 13, 2025
Merged

web: Disable library <datalist> on Firefox.#18103
BeryJu merged 1 commit intomainfrom
datalist-fixes

Conversation

@GirlBossRush
Copy link
Contributor

Details

This PR is a follow up on #17522, disabling the <datalist> element on Firefox. Unfortunately, datalists exhibit inconsistent performance characteristics when combined with web components in Firefox's implementation.

The Datalist was first introduced to help navigate app libraries with many results and serves as a supplemental feature. While we'd love to maintain feature parity across all browsers, Firefox users will have the best experience with this feature disabled until the following implementation issues are resolved:

@GirlBossRush GirlBossRush requested a review from a team as a code owner November 13, 2025 02:39
@GirlBossRush GirlBossRush added the area:frontend Features or issues related to the browser, TypeScript, Node.js, etc label Nov 13, 2025
@netlify
Copy link

netlify bot commented Nov 13, 2025

Deploy Preview for authentik-docs canceled.

Name Link
🔨 Latest commit 4cdaa34
🔍 Latest deploy log https://app.netlify.com/projects/authentik-docs/deploys/6915464b9b387b0007789ada

@netlify
Copy link

netlify bot commented Nov 13, 2025

Deploy Preview for authentik-storybook ready!

Name Link
🔨 Latest commit 4cdaa34
🔍 Latest deploy log https://app.netlify.com/projects/authentik-storybook/deploys/6915464bab448600081ebd9d
😎 Deploy Preview https://deploy-preview-18103--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 Nov 13, 2025

Deploy Preview for authentik-integrations canceled.

Name Link
🔨 Latest commit 4cdaa34
🔍 Latest deploy log https://app.netlify.com/projects/authentik-integrations/deploys/6915464b3a3d8900095d2db4

@GirlBossRush
Copy link
Contributor Author

Possible fix for #17755

@codecov
Copy link

codecov bot commented Nov 13, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 92.92%. Comparing base (7bb593d) to head (4cdaa34).
⚠️ Report is 23 commits behind head on main.
✅ All tests successful. No failed tests found.

Additional details and impacted files
@@            Coverage Diff             @@
##             main   #18103      +/-   ##
==========================================
- Coverage   92.97%   92.92%   -0.06%     
==========================================
  Files         869      869              
  Lines       48039    48039              
==========================================
- Hits        44663    44638      -25     
- Misses       3376     3401      +25     
Flag Coverage Δ
e2e 45.22% <ø> (-0.01%) ⬇️
integration 23.13% <ø> (-0.06%) ⬇️
unit 91.08% <ø> (ø)
unit-migrate 91.13% <ø> (ø)

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.

*/
export function isFirefox(): boolean {
const ua = navigator.userAgent.toLowerCase();
return ua.includes("firefox");
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we also need this on mobile/iOS. If so, the UA string is this:

Mozilla/5.0 (iPhone; CPU iPhone OS 8_3 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) FxiOS/1.0 Mobile/12F69 Safari/600.1.4

as per https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/User-Agent/Firefox#firefox_for_ios

so matching should be done for like Gecko instead

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also, is this issue specific to firefox or all Gecko based browsers like Zen? If so, the function should probably be renamed to isGecko()

@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-4cdaa348d0382cd139c596a87c9639561eb16fca
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-4cdaa348d0382cd139c596a87c9639561eb16fca

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

@github-project-automation github-project-automation bot moved this from Todo to In Progress in authentik Core Nov 13, 2025
@BeryJu BeryJu added the backport/version-2025.10 Add this label to PRs to backport changes to version-2025.10 label Nov 13, 2025
@BeryJu BeryJu merged commit 1115e6f into main Nov 13, 2025
137 of 139 checks passed
@BeryJu BeryJu deleted the datalist-fixes branch November 13, 2025 21:09
@github-project-automation github-project-automation bot moved this from In Progress to Done in authentik Core Nov 13, 2025
authentik-automation bot pushed a commit that referenced this pull request Nov 13, 2025
This cherry-pick has conflicts that need manual resolution.

Original PR: #18103
Original commit: 1115e6f
@authentik-automation
Copy link
Contributor

⚠️ Cherry-pick to version-2025.10 has conflicts: #18135

GirlBossRush added a commit that referenced this pull request Nov 14, 2025
This cherry-pick has conflicts that need manual resolution.

Original PR: #18103
Original commit: 1115e6f
GirlBossRush added a commit that referenced this pull request Nov 14, 2025
This cherry-pick has conflicts that need manual resolution.

Original PR: #18103
Original commit: 1115e6f
BeryJu pushed a commit that referenced this pull request Nov 14, 2025
…version-2025.10) (#18135)

Cherry-pick #18103 to version-2025.10 (with conflicts)
This cherry-pick has conflicts that need manual resolution.

Original PR: #18103
Original commit: 1115e6f

Co-authored-by: Teffen Ellis <teffen@goauthentik.io>
Co-authored-by: Teffen Ellis <592134+GirlBossRush@users.noreply.github.com>
kensternberg-authentik added a commit that referenced this pull request Dec 11, 2025
* main: (74 commits)
  packages/django-channels-postgres/layer: fix query when subscribed to multiple channels (#18152)
  core: deduplicate user attribute constant definitions (#18138)
  web: bump @trivago/prettier-plugin-sort-imports from 5.2.2 to 6.0.0 in /web (#18146)
  crypto: update certificates on fs event (#18129)
  github: converts issue templates to forms (#18133)
  core: bump github.com/getsentry/sentry-go from 0.36.2 to 0.37.0 (#18140)
  web: bump type-fest from 5.1.0 to 5.2.0 in /web (#18144)
  web: bump vite from 7.1.12 to 7.2.2 in /web (#18143)
  website: bump the build group in /website with 3 updates (#18141)
  web: bump globals from 16.4.0 to 16.5.0 in /web (#18145)
  core: bump astral-sh/uv from 0.9.8 to 0.9.9 (#18148)
  core: bump goauthentik/fips-debian from `5017d65` to `40a1f32` (#18149)
  website/integrations: Add ezBookkeeping integration (#18040)
  website/integrations: Add Joplin (#18042)
  web: Disable library `<datalist>` on Firefox. (#18103)
  web/admin: link to user on invitation list page (#18132)
  web/admin: update stage descriptions (#18118)
  website/integrations: add SeaTable (#18115)
  website/integrations: stripe: fix markdown (#18126)
  web/flows: improvements for hCaptcha (#16882)
  ...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:frontend Features or issues related to the browser, TypeScript, Node.js, etc backport/version-2025.10 Add this label to PRs to backport changes to version-2025.10

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

3 participants