Methods
(static) beginLogin() → {object}
Cold-start (and session-reset) fast path. Runs the saved-server resolution + saved- token validation WITHOUT showing any interactive UI, and returns a decision telling main.bs which route to bring the router up on (or that we are already logged in). Mirrors LoginFlow()'s startLogin: server block + the saved-active-user branch.
- Source
- Type:
- object
(static) buildPublicUserList() → {object}
Build the public + saved user list for the picker. Public users from the server, plus saved users for this server id not already in the public list. Mirrors LoginFlow 60-104. Returns an array of PublicUserData nodes.
- Source
- Type:
- object
(static) enterDecision(decision) → {void}
Bring the router up on (or navigate it to) the route the decision names. Shared by cold start, session reset, and the post-server-connect step.
| Name | Type | Description |
|---|---|---|
decision | object |
- Source
- Type:
- void
(static) finishLogin() → {void}
Login complete — run the post-login bootstrap (per-user font processing) and bring up Home. loadHomeScreen()/createAndShowHomeGroup() (main.bs) navigate the router to "/", deferring until font download completes when UI fallback fonts are enabled.
- Source
- Type:
- void
(static) handlePreLoginIntent(action) → {void}
Intent dispatch — called from main.bs's event loop when a pre-login view sets m.scene.preLoginIntent. The payload is read off the active routed view.
| Name | Type | Description |
|---|---|---|
action | string |
- Source
- Type:
- void
(static) onCredentialsSubmitted() → {void}
Credentials submitted from LoginScene. Mirrors CreateSigninGroup's submit handler.
- Source
- Type:
- void
(static) onLoginBack() → {void}
Back from LoginScene. Mirrors CreateSigninGroup back (showScenes 170-178): return to the user picker if there were public users, otherwise drop back to server select.
- Source
- Type:
- void
(static) onQuickConnectDialogClosed() → {void}
Release the Quick Connect dialog observer once it has signalled success or been cancelled. The dialog closed itself (close=true); we just drop our reference + observers.
- Source
- Type:
- void
(static) onQuickConnectRequested() → {void}
Quick Connect button pressed in UserSelect. initQuickConnect() is sync HTTP, so it runs here on the main thread (not in the render-thread view). On success, create the self-contained QuickConnectDialog (it polls + authenticates + prompts to save creds on the render thread) and show it; it sets isAuthenticated=true on success, which the main loop turns into the quickConnectComplete intent. Mirrors CreateUserSelectGroup 471-491.
- Source
- Type:
- void
(static) onServerSubmitted() → {void}
Server URL submitted from SetServerScreen. Mirrors CreateServerGroup's submit handler.
- Source
- Type:
- void
(static) onUserBack() → {void}
Back from UserSelect → change server. Mirrors LoginFlow 114-119.
- Source
- Type:
- void
(static) onUserSelected() → {void}
A public/saved user was picked in UserSelect. Mirrors LoginFlow 120-163.
- Source
- Type:
- void
(static) reenterLogin() → {void}
Enter (or re-enter) the login flow. Called at cold start AND on every session reset (Change Server / User / Sign Out). Re-resolves the pre-login locale first — without this, a changed global sign-in language would only apply after a full app restart, and the sign-in screens would render in the just-signed-out user's language rather than the device-wide default (isPostLogin defaults false → pre-login cascade).
- Source
- Type:
- void
(static) resolveUser() → {object}
Decide the user step given a valid server. Returns one of: { status: "success" } — already authenticated (fast path) { status: "users", users: [...] } — show the user picker { status: "login", username: "" } — go straight to manual sign-in enterDecision maps each status to its route; the decision carries only payload. Mirrors LoginFlow()'s user section (active-user branch + no-active-user branch).
- Source
- Type:
- object
(static) routerNav(routePath, context, clearSpinneropt) → {void}
Thin main-thread → render-thread navigation bridge. clearSpinner (login paths only) keeps a blocking login spinner up across the async nav and clears it when the destination view mounts — see JRScene.navigateThenFocus.
| Name | Type | Attributes | Default | Description |
|---|---|---|---|---|
routePath | string | |||
context | object | |||
clearSpinner | boolean | <optional> | false |
- Source
- Type:
- void
(static) validateSavedToken(localUser, token) → {boolean}
Validate a saved auth token: set it on the local user and verify it with AboutMe(). On success, logs the user in (user.Login) and returns true. On failure returns false — the caller owns the cleanup/fallback, which diverges between the two call sites (cold start unsets active_user + recurses; the user picker falls through to a no-password login). Shared by resolveUser (cold start) and onUserSelected (user picker).
| Name | Type | Description |
|---|---|---|
localUser | object | |
token | string |
- Source
- Type:
- boolean