Repository navigation
fix(gui): explain a refused Remember instead of reporting the admin token unverifiable #8374
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
779eb7d
d1ca911
c8397a0
c77fbe4
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -37,7 +37,7 @@ password manager can offer to save and autofill it. The dashboard itself still k | |
| in memory and does not write it to `localStorage` or `sessionStorage`; whether it is saved is entirely | ||
| the browser or password manager's decision. | ||
|
|
||
| **Remember this device** is off by default. On a direct HTTPS dashboard (or local loopback), it exchanges the admin token for a server-issued HttpOnly, SameSite=Strict device cookie plus a separate device proof stored in this site's localStorage. HTTPS cookies are Secure and host-only. Neither the cookie nor the proof is the admin token, and neither works alone. Cookies are shared across ports of the same hostname; the origin-scoped proof binds the remembered device to this dashboard origin. Still prefer a dedicated hostname. The admin token is never written to localStorage or sessionStorage. If browser storage is unavailable or cannot save the proof, Remember reports unavailable. | ||
| **Remember this device** is off by default. On a direct HTTPS dashboard (or local loopback), it exchanges the admin token for a server-issued HttpOnly, SameSite=Strict device cookie plus a separate device proof stored in this site's localStorage. HTTPS cookies are Secure and host-only. Neither the cookie nor the proof is the admin token, and neither works alone. Cookies are shared across ports of the same hostname; the origin-scoped proof binds the remembered device to this dashboard origin. Still prefer a dedicated hostname. The admin token is never written to localStorage or sessionStorage. If browser storage is unavailable or cannot save the proof, Remember reports unavailable. Behind a TLS-terminating reverse proxy OpenCodex sees a plain HTTP request, so it refuses Remember for that address; the sign-in dialog says so and turns the option off, and signing in without Remember still works. | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
|
||
|
|
||
| The private dashboard-sessions.json stores hashes of the cookie, proof, admin credential and browser identity, the server origin and a fixed 30-day expiry. Relaunching the Safari home-screen app resumes a short-lived GUI session while that device record is valid. Remembered sessions cannot approve consent actions: GitHub stars, reset-credit consumption, prompt-layer edits, Meta Muse sign-in, desktop compatibility changes or quota validation. Use a fresh local or paired session for those actions. Cross-origin/relayed dashboards and remote plaintext HTTP do not support Remember. Expiry, a browser identity change, or rotating the admin token and restarting the server requires sign-in again. | ||
|
|
||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Script executed:
Repository: lidge-jun/opencodex
Length of output: 41430
Script executed:
Repository: lidge-jun/opencodex
Length of output: 39357
Script executed:
Repository: lidge-jun/opencodex
Length of output: 43758
Script executed:
Repository: lidge-jun/opencodex
Length of output: 21895
Script executed:
Repository: lidge-jun/opencodex
Length of output: 14570
Document the hub management ingress exception.
A hub can remember devices behind a TLS-terminating frontend when the request reaches the trusted management ingress with the configured public host and matching browser origin. Qualify the refusal as applying to standalone dashboards, and update the English guide and affected translations to describe the hub exception.
LanguageTool
[style] ~42-~42: Un autre mot peut sembler plus précis et percutant.
Context: ...ports d’un même nom d’hôte ; la preuve, limitée à l’origine, lie l’appareil mémorisé à ...
(REP_LIMITER)
[style] ~42-~42: Dans un contexte formel, d’autres expressions peuvent être utilisées pour enrichir votre style.
Context: ...ée à l’origine, lie l’appareil mémorisé à l’origine de ce tableau de bord. Préférez tout de...
(REP_A_L_ORIGINE)
[style] ~42-~42: Cette structure peut être modifiée afin de devenir plus percutante.
Context: ...ckage du navigateur est indisponible ou ne peut enregistrer la preuve, la mémorisation ...
(NEGATION_INCOMPLETE)