feat(web): polish welcome and expand shortcut practice - #2879
Merged
Conversation
Rename the welcome heading to The Keyboard Calendar, show a lowercase i for login, keep Hold+Mod+to see keys together, and update the mouse FAQ. Co-authored-by: Tyler Dane <tyler-dane@users.noreply.github.com>
Match welcome: U/i switch the auth views, G starts Google, and Enter is visible on the submit buttons. Letter shortcuts yield while typing. Co-authored-by: Tyler Dane <tyler-dane@users.noreply.github.com>
Teach create, hold-Mod jumps, S event jump, Shift+arrow nudge, E then T, and Cmd+K on a sandbox calendar. Remap skip-to-signup to U and keep hints from overlapping button labels. Co-authored-by: Tyler Dane <tyler-dane@users.noreply.github.com>
Use undefined instead of null when asserting the opened editor event id. Co-authored-by: Tyler Dane <tyler-dane@users.noreply.github.com>
Wrap the full "Hold Mod to see keys, then press 1–5." phrase so the meta icon cannot split the sentence across lines. Co-authored-by: Tyler Dane <tyler-dane@users.noreply.github.com>
Playwright mouse clicks are blocked by pointer suppression, so the showcase e2e now presses D per remaining mission. Drop the unused PRACTICE_JUMP_TARGETS export that knip flagged. Co-authored-by: Tyler Dane <tyler-dane@users.noreply.github.com>
Typed #2879 record for the verify gate after the e2e and knip fixes. Co-authored-by: Tyler Dane <tyler-dane@users.noreply.github.com>
Verifier quoted bun run verify all-green; simplify made no code change; independent review found no confirmed findings. Co-authored-by: Tyler Dane <tyler-dane@users.noreply.github.com>
tyler-dane
marked this pull request as ready for review
August 26, 2026 01:43
tyler-dane
pushed a commit
that referenced
this pull request
Aug 26, 2026
#2879 rebuilt the showcase underneath this branch: two steps became six missions plus graduation, with a "Mission N of M" chip driven by a new SHOWCASE_MISSION_IDS list. The notifications offer now sits between the last mission and graduation, and stays out of the mission list. It asks for a browser permission rather than teaching a key, so numbering it "Mission 7 of 7" would have promised a lesson it does not deliver; getMissionLabel returns null for it and it renders no chip. Consequences of the new neighbours, all resolved toward main's structure: the practice side-letters D and U are gated to missions, since the offer has no board action to assist with, and C no longer opens a practice draft behind the offer. X still leaves from the offer, as it does everywhere. Main also dropped the shortcut_tip_* product events; its list is kept and the three notifications events append to it. Tests follow the same split: main's mission walk is unchanged - which is what proves the offer is not a mission - and gains the offer beat where it hands off to graduation. Both e2e specs press D through the six missions to reach the offer. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VsQ9jUGnM7J2hUk3Kqx98F
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Improves the welcome screen and first-run shortcut practice:
i; Hold+Mod stays on one line with “to see keys”; mouse FAQ matches the new copy.U/i/G/Enter) and those letters work when focus is not in a field.Sevent jump, Shift+arrow nudge,EthenT, Cmd+K) before graduation. Skip-to-signup isUsoScan teach event jump. Hint chips no longer overlap button labels.CI follow-ups on this branch: e2e drives “Do it for me” with
D(trusted pointer clicks are blocked), and the unusedPRACTICE_JUMP_TARGETSexport is removed.Simplicity
Practice still uses ephemeral sandbox state (no real grid stores). Auth reuses
GoogleButton/ShortcutHintrather than a second hint system. Skip remains available on every mission./simplifyinspected the branch diff and made no further code change: per-mission branches and the auth letter listener are already the smallest surfaces.Automated validation
bun run verify(merge-baseorigin/main):web: 2346 pass / 0 fail. Playwright e2e: 35 passed, including create-then-D through graduation and
Uskip-to-signup. GitHub Test/e2e/knip onc488755bcwere green; this markdown-only ship-record commit should skip those jobs.Independent review
Handoff:
.agents/handoffs/2879.mdTest plan
bun run verify— web, type-check, lint, knip, test:a11y, test:e2ec488755bc: lint, knip, type-check, unit matrix, e2e, CodeQL, pr-body