onboarding: drive guided first-run flow in remote TUI mode
The modern TUI always runs as a client/server (remote) split, even against a local server. The guided onboarding flow was previously double-gated off remote mode: onboarding_tick was never called from remote::handle_tick, and the flow control methods early-returned when is_remote was set. As a result the flow never appeared on a fresh install. - Call onboarding_tick from remote::handle_tick and intercept the onboarding welcome keys (model-select Enter, continue-prompt Y/N) in the remote key handler. - Remove the is_remote gates from the flow-start helpers. - Render the ModelSelect and ContinuePrompt phases through the client-side welcome screen (ui_onboarding) instead of pushing transcript messages, which the server overwrites in remote mode. New OnboardingWelcomeKind drives the welcome body and a live countdown. - Only intercept ModelSelect Enter when no inline picker is open, so the model picker can actually commit a selection and advance the flow. - Refine the startup activity guard to ignore synthetic scaffolding (system-reminder Session Context message + system cards) so a brand new session isn't treated as already-active. Verified end-to-end in an authed fresh-install sandbox: startup -> model picker -> Codex continue prompt (10s auto) -> transcript pick -> session-search fallback. Tests updated/added; onboarding suite green.
J
jeremy committed
2f45b271df5bb023af9fbe26ace480538e122c64
Parent: 00e9b9f