fix(ink): harden terminal image transport - #687
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Team Run ID: 📒 Files selected for processing (1)
Included review availability: Your plan provides up to 8 included reviews per hour; 4 remain after this review. 📝 WalkthroughWalkthroughThe PR adds terminal pixel-size queries, suspended query handling, aspect-preserving Kitty image fitting, compressed shared uploads, placement lifecycle management, resize refreshes, stale-reply protection, and regression coverage. ChangesKitty image pipeline
Estimated code review effort: 4 (Complex) | ~60 minutes Merge Risk: ⚪ Minimal · up to This change adds parsing for terminal pixel-size responses used by image geometry handling. No current merge-blocking behavior or compatibility risk remains identified. Sequence Diagram(s)sequenceDiagram
participant App
participant Ink
participant TerminalQuerier
participant Terminal
App->>TerminalQuerier: Schedule XTVERSION probe
Ink->>TerminalQuerier: Request Kitty and terminal pixel metrics
TerminalQuerier->>Terminal: Send queries
Terminal-->>TerminalQuerier: Return capability and geometry replies
Ink->>TerminalQuerier: Suspend during external TUI handoff
Ink->>TerminalQuerier: Resume after reply quarantine
Suggested reviewers: 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches 💡 1📝 Generate docstrings 💡
🧪 Generate unit tests (beta)
Comment |
456a834 to
c311aee
Compare
c311aee to
713c02d
Compare
d65bb2f to
bf61a40
Compare
05d8433 to
401caf1
Compare
401caf1 to
998d93c
Compare
998d93c to
b31dc9d
Compare
KittyGraphicsManager.reset() has no caller; deleteAll/invalidateAll cover buffer transitions. The TerminalImageSource comment still described identity-keyed uploads; uploads are keyed by a SHA-256 digest cached per buffer identity, so the immutability requirement stays.
b31dc9d to
14eefdc
Compare
Depends on #688.
Closes #686.
Summary
The public plugin/Image contract is unchanged. Attachment decoding, transcript projection, source cropping, and temporal payload caching stay out of this renderer-focused PR.
Validation
Stack note
Base branch is
nagi/kitty-graphics-image-base(#688). Once #688 merges, this PR retargets tomainwithout changing its commits.Summary by CodeRabbit
New Features
Bug Fixes
Documentation