mirror of
https://github.com/openclaw/openclaw.git
synced 2026-07-14 12:16:04 +00:00
* fix(terminal): keep C1 CSI and BEL-terminated OSC-8 links intact when wrapping table cells
* fix(terminal): close and reopen OSC-8 links at table wrap boundaries
* fix(terminal): carry leading OSC-8 state through table wrap state machine
A cell shaped like `${link} after` left the OSC-8 opener in `prefixAnsi`
(prepended to every wrapped line) while its closer sat inside `coreTokens`.
Continuation lines got an opener with no matching closer, reopening the
hyperlink onto trailing plain text and padding and bleeding link state past
the cell border.
Exclude OSC-8 tokens from `prefixAnsi`/`suffixAnsi` (SGR-only, unchanged)
and seed leading openers / trailing closers into `coreTokens` so the
`flushAt` close/reopen logic owns hyperlink state end to end. Adds a
`${link} after` regression across BEL, ESC-backslash, and C1-ST terminators.
Addresses the ClawSweeper P2 finding on #103717: carry leading OSC-8 state
into wrapped lines.
* chore: trigger CI re-run
* chore: trigger CI re-run
* fix(terminal): preserve ANSI state across table wraps
Co-authored-by: Pick-cat <huang.ting3@xydigit.com>
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com>