authentik icon indicating copy to clipboard operation
authentik copied to clipboard

Firefox for Android hangs/freezes on user library view

Open Xyaren opened this issue 2 months ago • 19 comments

Describe the bug Source: https://discord.com/channels/809154715984199690/1432652378250940516

Since updating to 2025.10 I notice reproducable crashing in Firefox on Android.

Firefox Desktop and Chrome Mobile/Desktop work just fine. I already cleared the app data and even reinstalled firefox - no change.

Sometimes it's just the tab not working, sometimes the whole app needing a restart.

In the profiling you can see high CPU usage in the set CharacterData.data function.

To Reproduce Steps to reproduce the behavior:

  1. Login to Authentik (get redirected to User Homepage/Library) or naviage to authentik while already logged in
  2. Tab/App becomes unresponsive on this screen:
Image

Sometimes after a restart it shows the apps and works fine but a reload will trigger the bug again 100% of all tries.

Screenshots I was able to capture a firefox profiling via USB Debugging: Profiling link: https://share.firefox.dev/4ocomFP

Image

Version and Deployment

  • authentik version: 2025.10
  • Deployment: docker-compose

Xyaren avatar Oct 28 '25 11:10 Xyaren

Thanks for opening this issue. We'll investigate and try to open a PR for the next patch release

dominic-r avatar Oct 28 '25 12:10 dominic-r

I can't reproduce this on firefox android: Firefox 144.0.1 Android 15 (oneplus 11 15.0)

rissson avatar Oct 28 '25 12:10 rissson

I'm not able to reproduce this bug on firefox mobile 144.0.1, Android 16 (Pixel 10 Pro)

melizeche avatar Oct 28 '25 13:10 melizeche

Another Capture: https://share.firefox.dev/43zPCWh (I don't see the difference).

Worth noting is that the acutal login works. SSO via any of the confiugred apps works without an issue. Also (with an admin user) directly going to the admin console also works wihtout issues. It must be something in the display of the library that breaks firefox.

Anything I can do to provide more information ?

I have a testuser I can provide, just not happy to post the url publicly. Feel free to contact me via discord and I can provide url and credentials.

Xyaren avatar Oct 28 '25 13:10 Xyaren

Also can't reproduce this on Firefox 144.0.2, Android 16, Pixel 8 Pro

BeryJu avatar Oct 28 '25 14:10 BeryJu

@Xyaren which firefox version/android version are you on?

BeryJu avatar Oct 28 '25 14:10 BeryJu

144.0.2 on Android 14 (One Plus 9 Pro)

Xyaren avatar Oct 28 '25 16:10 Xyaren

Tried with latest Firefox Nightly and Fennec, both have the same issue.

I just installed Firefox 135.0.1 and it works without any issue. 137.0.2 works. 138.0.4 works. 139.0.4 works.

140.0 has the issue.

Also on my friend's Android with Firefox 144.0.1 no issues.

Xyaren avatar Oct 28 '25 21:10 Xyaren

Hi @Xyaren

Thanks for reporting this issue. I wasn't able to reproduce the crash on stable, beta, or the current nightly release in an emulator. However, it's definitely possible you're encountering a bug specific to your combination of hardware, Android version, and Firefox nightly build.

It's also possible that our additional ARIA coverage is the root of the issue. Some uses aria-controls and aria-owns can trigger poor performance when combined with custom elements.

The good news is we have several user library fixes coming in #17522, including improved accessibility support for screen readers and users who prefer high contrast UIs -- if this is a bug on our end, these upcoming changes may resolve it.

We should have more information as the next patch release of authentik takes shape :)

GirlBossRush avatar Oct 29 '25 04:10 GirlBossRush

Alright thank you.

I've opened a bug with mozilla https://bugzilla.mozilla.org/show_bug.cgi?id=1996998

Let's hope something can be done.

Xyaren avatar Oct 29 '25 08:10 Xyaren

Some more digging:

The stacktrace of the blocking function:

set CharacterData.data
_ [https://authentik.mydomain.tld/static/dist/chunks/TYMPEHLZ.js:3:3844]
_$AI [https://authentik.mydomain.tld/static/dist/chunks/TYMPEHLZ.js:3:3516]
p [https://authentik.mydomain.tld/static/dist/chunks/TYMPEHLZ.js:3:3014]
$ [https://authentik.mydomain.tld/static/dist/chunks/TYMPEHLZ.js:3:3946]
_$AI [https://authentik.mydomain.tld/static/dist/chunks/TYMPEHLZ.js:3:3516]
wt [https://authentik.mydomain.tld/static/dist/chunks/TYMPEHLZ.js:3:6417]
update [https://authentik.mydomain.tld/static/dist/chunks/TYMPEHLZ.js:3:6819]
performUpdate [https://authentik.mydomain.tld/static/dist/chunks/TYMPEHLZ.js:1:6092]
scheduleUpdate [https://authentik.mydomain.tld/static/dist/chunks/TYMPEHLZ.js:1:6048]
_$EP [https://authentik.mydomain.tld/static/dist/chunks/TYMPEHLZ.js:1:5886]
AsyncFunctionNext [self-hosted:800:27]
js::RunScript
promise callback
XRE_InitChildProcess
(root)

Based on Chatgpt TYMPEHLZ.js source contains:

lit-html v3.3.0
LitElement v4.2.0
lit-localize (for i18n)

Stack trace breakdown

Function Defined in Meaning / Purpose
set CharacterData.data native DOM API Lit is trying to update the text content of a DOM text node (e.g., inside a template). This is where the actual error happened.
_ lit-html part implementation (b class) Internal method that sets text content in a text part (e.g., between ${} interpolations). Calls node.data = value.
_$AI lit-html part API Updates a “part” — a placeholder in a template where reactive data goes. Decides how to render values.
p TemplateInstance.p() Applies data updates to all parts in a rendered template instance.
$ b.$() Handles rendering a nested template result (e.g. when you return `html``something```).
wt render() function The main lit-html render function. It applies a template result to a DOM container.
update LitElement.update() Called when a LitElement’s reactive properties change. Runs the render process.
performUpdate ReactiveElement.performUpdate() Lifecycle method that coordinates updates and calls update().
scheduleUpdate ReactiveElement.scheduleUpdate() Triggers an update asynchronously when reactive properties change.
_$EP Internal async update wrapper Internal promise-based update task that ensures ordered updates.

Xyaren avatar Oct 29 '25 09:10 Xyaren

Hello, I have the same issue also to Firefox desktop.

Version 144.0

smeretech avatar Oct 29 '25 20:10 smeretech

Hello again just tested with 144.2 Firefox version (windows), with a normal user that admin user.

Image

no issue with Edge browser.

Regards

smeretech avatar Oct 30 '25 08:10 smeretech

@GirlBossRush This is closed as completed ? What does this mean ?

Xyaren avatar Nov 03 '25 09:11 Xyaren

Issue still persists on 2025.10.1

Xyaren avatar Nov 04 '25 09:11 Xyaren

I'm still encountering this issue with the latest Authentik release.

Environment

  • Authentik version: 2025.10.1 (running in Docker)
  • Browser: Firefox Desktop 144.0.2 (aarch64)
  • OS: macOS (Tahoe 26.1, 25B78)
  • Device: MacBook Pro (Apple Silicon)

The interface either doesn’t load at all or only partially renders — exactly as described in the original report.
This happens inconsistently, but always in Firefox. Other browsers appear unaffected.

I can’t pinpoint the root cause, but the issue seems to persist in the current build.
Please consider reopening this issue so it can be further investigated.

jonathan8devs avatar Nov 05 '25 19:11 jonathan8devs

Please reopen, we face the same issue with a fresh install of 2025.10.1 with Firefox Desktop 144.0.2 (aarch64) on macOS.

hlubek avatar Nov 10 '25 16:11 hlubek

@jonathan8devs @hlubek

Could you maybe comment/add details to the firefox bug https://bugzilla.mozilla.org/show_bug.cgi?id=1996998 ? Additionally also try out FF 139.0.4 or earlier if it makes a difference.

Xyaren avatar Nov 10 '25 17:11 Xyaren

I still face this issue, even after updating to 2025.10.2.

Here is my firefox profile:

https://share.firefox.dev/3KCgEGi

When setting accessibility.force_disabled to true, the issue disappeared.

Gulianrdgd avatar Dec 04 '25 10:12 Gulianrdgd

Still current on FF 146 (macOS)

eopo avatar Dec 15 '25 18:12 eopo