Skip to content

Clean up release/0.6.0 (Esc in a text field keeps the session selection) - #15

Merged
T-Crypt merged 4 commits into
oh-my-pocketfrom
cleanup-pr13
Oct 13, 2026
Merged

T-Crypt merged 4 commits into
oh-my-pocketfrom
cleanup-pr13

Conversation

@T-Crypt

@T-Crypt T-Crypt commented Oct 13, 2026

Copy link
Copy Markdown
Owner

Follow-up cleanup for the merged release/0.6.0 (PR #13).

Changes:

  • web/sessions.js: Esc pressed while a text field has focus (the composer, the browser address bar, any input or contenteditable) now stays with the field and leaves the sidebar session selection alone, as the handler comment already documented. Esc with no field focused still clears the selection.
  • test/session-row-ui.test.ts: new test, written before the fix: select a session row, focus the composer, press Escape and the selection bar remains; blur, press Escape and it clears.

Proof: the test is red without the guard and green with it. node --test test/session-row-ui.test.ts 13/13. npm run check and npm run lint clean. npm test green (one known Chromium UI test that is load sensitive passed in isolation and at the base commit).

Review: clean on the first pass. The guard matches the plan byte for byte, the test was proven non-vacuous in a scratch worktree at the test-only commit, and the change is confined to the two files.

Run folder: ~/handoffs/oh-my-pocket/2026-10-13-pr11-13-cleanup (review.md, plan.md, pr13-implement.md, review2-pr13.md).

@T-Crypt

T-Crypt commented Oct 13, 2026

Copy link
Copy Markdown
Owner Author

Review result (one round, verdict: clean).

  1. The one provable fact holds: with focus in the composer's textarea, Esc no longer clears the sidebar selection, while the same key with no field focused still does. The guard matches the plan byte for byte.
  2. The new test is not vacuous: in a scratch worktree at the test-only commit (guard absent) it fails exactly on the composer-Esc assertion; on this branch all 13 pass.
  3. Blast radius: only web/sessions.js and test/session-row-ui.test.ts. The sheet, launcher, and search-box Esc paths are unchanged, and the sidebar search box remains covered by its own preventDefault plus the new guard.
  4. The single full-suite failure (a pi-sessions compaction timing test) is a load sensitive flake: it passes in isolation on this branch and at the base commit, and that server-side test does not load web/sessions.js, so it cannot be caused by this change.

Two non-blocking notes: an unstaged whitespace-only package-lock.json churn was present in the worktree and was restored before push (not committed), and the implement report paraphrases two test names (counts and assertions match the re-runs).

Run folder: ~/handoffs/oh-my-pocket/2026-10-13-pr11-13-cleanup

@T-Crypt
T-Crypt changed the base branch from main to oh-my-pocket October 13, 2026 14:41
@T-Crypt

T-Crypt commented Oct 13, 2026

Copy link
Copy Markdown
Owner Author

Retargeted from main (a stale mirror of upstream 0.13.0) to oh-my-pocket, the fork's default branch. Merged origin/oh-my-pocket in; no force push. check and lint pass. npm test: 628 pass, 1 fail in test/visible-models-ui.test.ts ("the owner's switches decide which models the model menu offers"), which is flaky on this code (passed then failed on rerun) and outside this diff.

@T-Crypt
T-Crypt marked this pull request as ready for review October 13, 2026 14:52
@T-Crypt
T-Crypt merged commit 4433a47 into oh-my-pocket Oct 13, 2026
@T-Crypt
T-Crypt deleted the cleanup-pr13 branch October 13, 2026 14:52
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.

1 participant