▍ humdrum codex / glint v1.0.2
license AGPL-3.0

chore(backlog): resolve corrupted conflict in TASK-029 task file

9732e1f8cbf0423781d46bd4846c48e7ad589dc6
Kevin Kortum <kevinkortum@me.com> · 2026-06-30 07:45

parent a3c1891c

chore(backlog): resolve corrupted conflict in TASK-029 task file

The task-029 markdown had a materialized jj conflict (mangled frontmatter:
empty title, id 'TASK-TASK-'), which rendered wrong on the forge. Restored the
clean resolved state: TASK-029, title intact, status Done, ACs checked.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KjNrdAWUdkaxFyGdrPHaBj

1 files changed

- → Mouse-wheel-scroll-sequences-leak-into-buffer-as-text.md +0 −28
@@ -1,4 +1,3 @@
-+++++++ ssysuoqq 836fac3b "fix(app): drop leaked mouse-wheel escape residue from text input (TASK-029)" (squash destination)
 ---
 id: TASK-029
 title: Mouse-wheel scroll sequences leak into buffer as text
@@ -30,30 +29,3 @@
 <!-- SECTION:NOTES:BEGIN -->
 Added looksLikeMouseLeak (mouseleak.go): regexp ^(<?\d+;\d+;\d+[Mm])+$ matches a KeyRunes that is entirely SGR mouse residue; guarded at top of app.handleKey to drop it. Defense against Bubble Tea v1.3.10 input parser splitting a burst of wheel-scroll SGR sequences and emitting the tail as text. Normal input (lone '<', text with '<'/';', comparisons) unaffected. TDD, all tests pass.
 <!-- SECTION:NOTES:END -->
-%%%%%%% diff from: nmqwytxt 4ec44590 "docs: note font embedding in the export section (TASK-021)" (parents of squashed revision)
-\\\\\\\        to: rvqpptop 66279105 (squashed revision)
-+---
-+id: TASK-029
-+title: Mouse-wheel scroll sequences leak into buffer as text
-+status: "\U0001F7E2 In progress"
-+assignee: []
-+created_date: '2026-06-30 04:05'
-+updated_date: '2026-06-30 04:06'
-+labels:
-+  - bug
-+dependencies: []
-+priority: high
-+ordinal: 29000
-+---
-+
-+## Description
-+
-+<!-- SECTION:DESCRIPTION:BEGIN -->
-+Fast wheel-scrolling (esp. near the top of a doc, Ghostty) inserts literal SGR mouse escape residue into the buffer, e.g. '<64;68;26M<64;68;26M...'. Cause: Bubble Tea's input parser splits a burst of SGR mouse sequences across read boundaries and emits the leftover as a KeyRunes text event, which the editor inserts. Mouse is enabled (WithMouseCellMotion) and wheel events ARE handled; this is parser leakage, not missing handling. bubbletea v1.3.10 is already latest. Fix: drop KeyRunes events that are entirely a leaked mouse sequence at the input boundary.
-+<!-- SECTION:DESCRIPTION:END -->
-+
-+## Acceptance Criteria
-+<!-- AC:BEGIN -->
-+- [ ] #1 A KeyRunes event whose content is entirely SGR mouse residue is ignored, never inserted
-+- [ ] #2 Normal typing (including a lone '<' or text containing '<' / ';') is unaffected
-+<!-- AC:END -->