github →

New request

#20945: [Bug] White/blank screen on iPhone (Safari & Chrome) after app update — stale token or cache state not cleared

We'll provision a sandbox, run an agent against the issue, and open a draft PR. You can pull the branch and iterate from there.

Issue
sonarly:high

Bug description

After a Twenty update, the app shows a completely white/blank page on iPhone — both in Safari and Chrome for iOS. The app never loads and shows no error message to the user.

This affects both regular browser usage and PWA (app added to home screen). The PWA case is especially painful — clearing browser cache fixes the browser, but the home screen icon remains broken and requires removing and re-adding the PWA manually.

Steps to reproduce

Browser (Safari / Chrome for iOS):

  1. Use Twenty CRM on iPhone
  2. A server-side update is deployed
  3. Re-open or reload the app
  4. White blank screen — nothing loads

PWA (added to home screen):

  1. Install Twenty as PWA on iPhone home screen
  2. A server-side update is deployed
  3. Open the app from home screen icon
  4. White blank screen — nothing loads
  5. Clearing browser cache in Safari does NOT fix the PWA — it remains broken
  6. Only fix: delete the icon from home screen and re-add the PWA from scratch

Expected behavior

The app loads normally after an update, or at minimum shows an error / redirects to login.

Actual behavior

Permanently white/blank screen with no feedback. No visible error, no login prompt, no recovery.

Key observation

Opening the app in a private/incognito window works fine. This confirms the issue is caused by stale data in browser storage (localStorage / cookies / cached tokens) — not a server or network problem.

Root cause (suspected)

After an update, the stored auth token or app state in localStorage becomes invalid (e.g. expired token, changed schema). The app fails silently instead of handling the error gracefully.

On iOS, Chrome and Safari both use WebKit/WKWebView under the hood, so both are equally affected. PWA instances on iOS maintain their own isolated storage that persists independently of the browser cache — making recovery even harder for end users.

This is consistent with #6648 (expired token → blank screen).

Platform

  • Device: iPhone (iOS)
  • Browsers: Safari and Chrome for iOS
  • Also reproducible as PWA (home screen app)
  • Twenty: cloud / self-hosted

Workaround

  • Browser: Clear cookies + cache in Safari or Chrome (All time)
  • PWA: No partial fix available — must delete the home screen icon and re-add the PWA from scratch after clearing browser cache

Suggested fix

  • Catch failed GraphQL/auth responses on app init and redirect to /login with cleared localStorage instead of rendering blank
  • Handle Token has expired gracefully (related: #6648)
  • Implement a service worker cache-busting strategy on deploy so PWA instances on iOS automatically reload fresh assets instead of serving a broken cached version

Related issues

#6648 · #8487

Assessmentadvisory
bug●● medium80% confidence

Mobile blank screen after updates indicates stale cache/token invalidation spanning frontend bootstrap, auth, and PWA layers.

Likely files
  • packages/twenty-front/src/index.tsx
  • packages/twenty-front/src/modules/auth
  • packages/twenty-front/public/manifest.json
  • packages/twenty-front/src/service-worker.ts
  • packages/twenty-front/src/modules/apollo
Create the request

This opens a fresh agent run and a draft PR for issue #20945.

Cancel