Skip to content

Logout leaves databrowser blank/stale until manual reload #627

@bourgeoa

Description

@bourgeoa

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:

  1. await authn.checkUser()
  2. reset/close transient UI state (dashboard/menu if needed)
  3. re-render current URL subject (or re-run equivalent of initial databrowser render path)
  4. avoid requiring page reload

Acceptance criteria

  1. Logout does not require manual browser reload to restore a usable databrowser view.
  2. Login/sessionRestore behave consistently with logout transition handling.
  3. 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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions