Commit Graph

9 Commits

Author SHA1 Message Date
Yunfei He 31e3d0b333 docs: final spec fixes from Codex round 7
- Note uppercase test uses Ink's codepoint-65 form (terminal variant)
- Specify ignore?: boolean on Keypress type
- Update late-response description to use ignore flag path

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-27 15:50:48 +08:00
Yunfei He 7fb1a9fee5 docs: fix query response handler leak and race documentation
- Add ignore flag to parseKeypress return + useInput early-return check
- Remove contradictory "exactly once" delivery claim
- Honestly document dual-delivery race as accepted behavior (matches Ink)
- Replace end-to-end delivery test with query response suppression test

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-27 15:50:48 +08:00
Yunfei He 76d23bc494 docs: add query response filter to kitty keyboard spec
Filter \x1b[?<digits>u in parseKeypress to swallow terminal capability
responses that leak to useInput via late-response or dual-listener race.
Add 2 unit tests for the filter.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-27 15:50:48 +08:00
Yunfei He 410dc21809 docs: clarify raw mode ownership in kitty keyboard spec
Controller does not acquire/release raw mode — matches Ink's approach.
Detection may time out in cooked mode; auto mode degrades gracefully.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-27 15:50:48 +08:00
Yunfei He 3d6a754092 docs: address Codex round 3 feedback on kitty keyboard spec
- Fix test file paths to match co-located convention (src/io/, not tests/io/)
- Remove contradictory "no conflict" wording before race condition note
- Fix late-response test description: bytes flow to input (harmless), not "discarded"

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-27 15:50:48 +08:00
Yunfei He 86730496a4 docs: address Codex round 2 feedback on kitty keyboard spec
- Fix "full" / "Complete" wording to scope parser support accurately
- Clarify partial query response definition (needs digits, not just prefix)
- Document dual-listener race condition honestly (matches Ink's behavior)
- Note mitigation: init before mount, detection usually completes before effects

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-27 15:50:48 +08:00
Yunfei He b04952183f docs: address Codex review feedback on kitty keyboard spec
- Fix teardown ordering to match Ink (after Vue unmount, before cursor restore)
- Document parser support limitations for advanced flags
- Add stdin.unshift risk note and end-to-end delivery test requirement
- Add 9 missing test cases (opt-in no-op, custom flags, split response, etc.)
- Re-export kittyFlags constant for Ink parity

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-27 15:50:48 +08:00
Yunfei He 6ddf1cba78 docs: add kitty keyboard protocol design spec
Covers protocol lifecycle (enable/disable/auto-detect), useInput Key
interface extension, and ~85 tests to backfill. Matches Ink's
implementation.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-27 15:50:48 +08:00
Yunfei He 39b124e86d docs: add Ink test parity design spec (~290 tests across 4 parts)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-27 14:39:24 +08:00