Skip to content

(landing) Always-visible workflow bar, first-run welcome card and Help fix#242

Merged
krissen merged 6 commits into
devfrom
fix/landing-bar-visibility
Jul 17, 2026
Merged

(landing) Always-visible workflow bar, first-run welcome card and Help fix#242
krissen merged 6 commits into
devfrom
fix/landing-bar-visibility

Conversation

@krissen

@krissen krissen commented Jul 17, 2026

Copy link
Copy Markdown
Owner

Summary

Follow-up from the owner's visual pass of the navigation series.

  • Bug fix: the welcome card (StartupLanding) rendered as a position:fixed; inset:0; z-index:1000 overlay — a leftover from before the WorkflowBar existed — covering the always-rendered bar entirely. The card now renders inside the workspace surface below the bar (absolute, var(--z-sticky)); ShortcutsHelp and modals still paint above.
  • First-run semantics (owner decision): the welcome card shows on startup only on the first session (ansikten-welcomed flag, fail-open). Emptying the workspace (closing all views) still brings the card back unconditionally — two distinct triggers, documented. CLI launches never show it. New Hjälp → "Visa välkomstguiden" menu entry re-opens it on demand.
  • Bonus fix (found during work): Hjälp → Tangentbordsgenvägar was a silent no-op (show-keyboard-shortcuts had no renderer handler); now wired to the same toggle as the ? key.
  • ROADMAP: logged the Review arrow-key double-fire note from (useReviewKeyboard) Guard bare-key review shortcuts against Cmd/Ctrl/Alt #241's review.

Testing

krissen added 5 commits July 17, 2026 23:45
The StartupLanding welcome card was a full-viewport overlay
(position: fixed; inset: 0; z-index: 1000, left over from before the
persistent WorkflowBar existed), so on a normal start it painted over the
bar and only the card was visible.

Move the card inside the layout host (.workspace-layout-host, the area
below the bar) and switch its CSS to an absolute fill with
z-index: var(--z-sticky) — above module content, below modals. The bar
now stays visible and clickable while the card is up; ShortcutsHelp and
confirm dialogs still paint above it as higher-z siblings of the shell.
The welcome card appeared on every non-CLI start. It is now first-run
only: a persistent localStorage flag (ansikten-welcomed, welcomeFlag.js)
is set the first time the card is dismissed — opening a step, loading an
image, or closing it from the menu — routed through a single
dismissLanding() helper. Later launches drop straight into the workspace
with the WorkflowBar and no card; an emptied workspace no longer brings
the card back for a returning user.

The flag fails open toward showing (missing/corrupt counts as not yet
welcomed), and CLI launches (willLaunch) still never show it. A new
Help ▸ "Visa välkomstguiden" menu item (show-welcome) re-shows it on
demand, wired through the menu-command table.

Tests: welcomeFlag unit tests, plus workspace tests for visibility
structure, first-run set/skip, corrupt fail-open, CLI suppression, and
the show-welcome re-show.
… fallback

The first-run flag should govern only the at-start card shown over the
non-empty default layout. Closing every view is a separate trigger: the
empty model must always bring the card back so the workspace is never a
dead end, regardless of whether the user has been welcomed. Drop the
!hasBeenWelcomed() guard on the empty-workspace re-show; the card fills
the host under the always-visible WorkflowBar.

Add a test for the unconditional fallback and document the two-trigger
semantics in ux-principles and the workspace guide.
The show-keyboard-shortcuts menu command (and its Cmd+/ accelerator) had
no renderer handler and fell through to a no-op moduleAPI broadcast, so
the menu item did nothing — only the `?` key opened the overlay.

Add a toggleShortcutsHelp callback to the menu-command context and map
show-keyboard-shortcuts to it, matching the `?`-key toggle. The menu item
now opens (and closes) the ShortcutsHelp overlay.
@krissen krissen added the bug Something isn't working label Jul 17, 2026
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, you can upgrade your account or add credits to your account and enable them for code reviews in your settings.

A CLI launch (willLaunch) renders no card, but its launch command opens a
step/module that still reaches dismissLanding — which unconditionally set
the welcomed flag, silently burning the first-run guide for a CLI-first
user on their later normal start.

Gate markWelcomed on the card being visible at dismissal: dismissLanding
now uses a functional setShowLanding updater to read the live value and
marks welcomed only when it was showing. markWelcomed stays idempotent so
a StrictMode double-invoke is harmless. Add a test asserting a CLI-launch
dismissal leaves the flag unset and a later normal start still shows the
card; normal dismissal still sets the flag.
@krissen
krissen merged commit a53d465 into dev Jul 17, 2026
2 checks passed
@krissen
krissen deleted the fix/landing-bar-visibility branch July 17, 2026 22:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant