Logout leaves databrowser blank/stale until manual reload
Nobody has claimed this yet.
- Dominant language
- JavaScript
- Stars
- 106
- Forks
- 52
- Avg merge
- 13h 35m
- Merged PRs (30d)
- 10
Description
Summary
After logout, the databrowser UI can end up blank or stale and does not reliably recover until a manual browser reload. This appears to be a client lifecycle issue in the current solid-panes/mashlib integration, not a server-specific auth failure.
Expected behavior
On logout (and similarly login / sessionRestore), the client should consistently re-render from current URL state without requiring a manual reload.
Actual behavior
Header/auth state updates, but the main databrowser view is not always reinitialized/rerendered. In practice, users sometimes need F5 to get the normal outline/dashboard view back.
Environment / observed on
- mashlib: 2.2.0
- Server tested: JavaScriptSolidServer (JSS) with mashlib CDN mode
- Also compared with Pivot server behavior (different hosting model, static assets), which may mask this by effectively reloading/reinitializing in its flow.
Why this seems client-side
Current flows react to auth events (header/dashboard updates), but there is no guaranteed “auth transition -> rerender current subject” path equivalent to a full databrowser bootstrap.
Symptoms suggest:
- logout triggers partial UI updates (header/menu/dashboard close),
- but not a deterministic re-render/init of main subject view.
Proposal
Create a single auth-transition handler in client code (solid-panes/mashlib) used for:
authSession.events.on('login', ...)authSession.events.on('logout', ...)authSession.events.on('sessionRestore', ...)
Handler should:
await authn.checkUser()- reset/close transient UI state (dashboard/menu if needed)
- re-render current URL subject (or re-run equivalent of initial databrowser render path)
- avoid requiring page reload
Acceptance criteria
- Logout does not require manual browser reload to restore a usable databrowser view.
- Login/sessionRestore behave consistently with logout transition handling.
- Works across hosting styles:
- static databrowser asset hosting (e.g., Pivot)
- server-generated databrowser HTML wrappers (e.g., JSS)
Notes
As a temporary server-side mitigation, forcing location.reload() on logout works, but this should not be the long-term fix. The robust fix should live in the client lifecycle so behavior is server-agnostic.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
No specific files or tests are named. Start by locating the authSession login, logout, and sessionRestore handlers and the current databrowser bootstrap or URL-subject rendering path in solid-panes/mashlib; verify transitions in JSS and Pivot-style hosting without requiring a manual reload.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript
- Domain
- authentication, frontend
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100