Skip to content

Refine Pocket tutorial and mobile touch behavior#100

Merged
nedtwigg merged 15 commits into
mainfrom
codex/update-pocket-tutorial
May 27, 2026
Merged

Refine Pocket tutorial and mobile touch behavior#100
nedtwigg merged 15 commits into
mainfrom
codex/update-pocket-tutorial

Conversation

@nedtwigg
Copy link
Copy Markdown
Member

Summary

  • Rework the Pocket tutorial to start in Gesture navigation, simplify the flow, and add Pocket-specific copy/paste and FlappyTerm prompts
  • Fix mobile touch handling so gesture, select, and mouse modes route input correctly, including pointer-to-mouse synthesis and mouse override behavior
  • Update theme and UI rendering so Pocket and mobile controls match the intended Kimbie Dark experience
  • Refresh specs and tests to cover the new Pocket tutorial and mobile interaction rules

Testing

  • Added and updated unit tests for mobile gesture handling, terminal mouse routing, theme application, and tutorial runner behavior
  • Verified the Pocket playground locally in the browser for the updated tutorial flow and mobile UI behavior
  • Built the website successfully

nedtwigg and others added 14 commits May 22, 2026 22:55
The pointer move/up capture handlers in MobileTerminalUi read `touchMode`
but omitted it from their useCallback deps, while their remaining deps
(commitGestureState, executeGestureAction, scheduleGestureCompletionClear)
stay stable across a mode switch. After switching into Mouse (cursor) mode
at runtime the handlers kept the prior mode, so pointermove/pointerup were
never synthesized into mouse events: the cursor drag never moved, no mouseup
fired, and the pointer capture was never released. The down handler already
listed touchMode; add it to move/up to match.

Add a regression test that switches Gestures->Mouse after first render and
asserts the full mousedown/mousemove/mouseup sequence still dispatches.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Touch mode is a single global UI state, but the override effect only
configured the active pane, so switching panes mid-Select left the pane you
left stuck in a "permanent" override. Derive each pane's override purely from
the global touch mode and that pane's own mouse-reporting state, configuring
every session, so override no longer depends on which pane is active.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@nedtwigg nedtwigg marked this pull request as ready for review May 27, 2026 16:18
@cloudflare-workers-and-pages
Copy link
Copy Markdown

Deploying mouseterm with  Cloudflare Pages  Cloudflare Pages

Latest commit: dbd81a0
Status: ✅  Deploy successful!
Preview URL: https://d7771dd5.mouseterm.pages.dev
Branch Preview URL: https://codex-update-pocket-tutorial.mouseterm.pages.dev

View logs

@nedtwigg nedtwigg merged commit 6e2b725 into main May 27, 2026
9 of 10 checks passed
@nedtwigg nedtwigg deleted the codex/update-pocket-tutorial branch May 27, 2026 16:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants