Repository navigation
Release v7.0.4: Compact and resume option & clickable OSC 8 hyperlinks - #72
Conversation
|
✅ Reviewed the changes: Clean release PR — the new 'Compact and resume' option is wired correctly end-to-end (ResumeDecision type → dialog option → handleResumeDecision → resumeSession's new boolean return gating handleCommand("/compact"), with the chdir-failure path correctly returning false to skip compaction), and the turn-end contextTokens sync properly refreshes the status bar with the post-compaction estimate instead of the summary request's full-history usage figure. Tests cover both the agent-level resume-then-compact behavior and the dialog's three-option navigation. Reviewed src/ui/App.tsx: no issues found. Reviewed src/ui/components/ResumeConfirm.tsx: no issues found. Reviewed test/compaction.test.ts: no issues found. Reviewed test/resume-confirm.test.tsx: no issues found. |
There was a problem hiding this comment.
🧪 PR Review is completed: Well-executed OSC 8 hyperlink feature overall; the markdown URL pipeline introduces a catastrophic-backtracking regex (can freeze the TUI on malformed links with long URLs) and wrapped table-cell URLs whose first line links to a truncated href. Reviewed src/ui/primitives.tsx: no issues found. Reviewed test/markdown-table.test.tsx: no issues found. Reviewed src/index.tsx, src/ui/LoginView.tsx: no issues found.
Skipped files
CHANGELOG.md: Skipped file pattern
⬇️ Low Priority Suggestions (1)
src/ui/App.tsx (1 suggestion)
Location:
src/ui/App.tsx(Lines 2589-2590)🔵 Error Handling
Issue:
open(url).catch(() => {})silently swallows link-open failures (e.g. SSH sessions with no browser handler available), so clicking a link does nothing with zero feedback.Fix: Surface the failure with the existing toast mechanism, consistent with how clipboard results are reported.
Impact: Users understand why the click didn't work instead of a silent no-op.
- renderer.clearSelection(); - void open(url).catch(() => {}); + renderer.clearSelection(); + void open(url).catch(() => showToast("✗ Could not open link"));
…, and toast on open failure
|
✅ Reviewed the changes: All three previously flagged issues are fixed: the ReDoS-prone nested quantifier is replaced with a linear single-character alternation in all three link regexes (plus a timing guard test), wrapped table-cell URL fragments now resolve their full href via fallbackUrls (including mid-URL |
Summary
2. Compact and resumeoption inResumeConfirmwhen resuming a session with a cold prompt cache or high token usage./compact).contextTokensinApp.tsxonturn-endso the status bar reflects the compacted context size right after compaction finishes.attempt_completionbordered boxes, prose, lists, blockquotes, inline code, fenced code blocks, and wrapped Markdown table cells) as well as the login authorization URL.getLinkUrlAt) inApp.tsxwhen terminal mouse reporting forwards clicks to the TUI, opening clicked URLs in the default browser while preserving drag-to-select clipboard copying.COLORTERM=truecoloron interactive startup when unset so OpenTUI's capability detector enables OSC 8 output in terminals/multiplexers that omitCOLORTERM.7.0.4, add unit tests, and updateCHANGELOG.md.