Description
I'm using Pangolin as a reverse proxy, and have been facing a login redirect loop after a recent update to Solidtime. The Solidtime app itself is definitely working, as when I don't use a reverse proxy and instead access it as 'private' resource in Pangolin everything works fine.
From a bit of debuging with the help of AI, I think this might be the cause and potential solution -
Symptoms:
Login POST returns 409 Conflict
Response includes X-Inertia-Location: /dashboard (login succeeded but Inertia intercepts)
Client sends X-Inertia-Version: header
Infinite redirect loop back to login
Health-check confirms:
is_trusted_proxy: true
secure: true
app_force_https: true
All proxy headers correct (x-forwarded-proto: https, etc.)
Required fix:
HandleInertiaRequests.php middleware needs to respect INERTIA_VERSION=null or allow disabling automatic Vite-based versioning. Currently returns version hash from public/build/manifest.json regardless of environment setting.
Reference: Inertia.js docs state "return a fixed value from the version method... to disable automatic asset versioning" — but solidtime doesn't check INERTIA_VERSION env.
has anyone else faced login redirect loops using pangolin/traefik as the reverse proxy? i'm not sure if the above fix is what's needed, but it seems possible as nothing else has worked for me.
Steps To Reproduce
...
Self-hosted or Cloud?
None
Version of solidtime: (for self-hosted)
No response
solidtime self-hosting guide: (for self-hosted)
No response
Description
I'm using Pangolin as a reverse proxy, and have been facing a login redirect loop after a recent update to Solidtime. The Solidtime app itself is definitely working, as when I don't use a reverse proxy and instead access it as 'private' resource in Pangolin everything works fine.
From a bit of debuging with the help of AI, I think this might be the cause and potential solution -
Symptoms:
Login POST returns 409 Conflict
Response includes X-Inertia-Location: /dashboard (login succeeded but Inertia intercepts)
Client sends X-Inertia-Version: header
Infinite redirect loop back to login
Health-check confirms:
is_trusted_proxy: true
secure: true
app_force_https: true
All proxy headers correct (x-forwarded-proto: https, etc.)
Required fix:
HandleInertiaRequests.php middleware needs to respect INERTIA_VERSION=null or allow disabling automatic Vite-based versioning. Currently returns version hash from public/build/manifest.json regardless of environment setting.
Reference: Inertia.js docs state "return a fixed value from the version method... to disable automatic asset versioning" — but solidtime doesn't check INERTIA_VERSION env.
has anyone else faced login redirect loops using pangolin/traefik as the reverse proxy? i'm not sure if the above fix is what's needed, but it seems possible as nothing else has worked for me.
Steps To Reproduce
...
Self-hosted or Cloud?
None
Version of solidtime: (for self-hosted)
No response
solidtime self-hosting guide: (for self-hosted)
No response