openclaw/packages
pick-cat 840f349d5d
fix(terminal): keep C1 CSI and BEL-terminated OSC-8 links intact when wrapping table cells (#103717)
* 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>
2026-07-12 12:10:35 -07:00
..
acp-core feat: correlate native search outcomes in audit history (#98704) 2026-07-06 12:30:12 +01:00
agent-core feat(tooling): complete packages/* noUncheckedIndexedAccess adoption (phase 2) (#104626) 2026-07-11 11:54:06 -07:00
ai chore(tooling): enforce indexed access in core tests (#105375) 2026-07-12 14:29:52 +01:00
gateway-client refactor: remove pre-2026.4 compatibility shims and legacy migrations (#104650) 2026-07-11 13:22:27 -07:00
gateway-protocol chore(tooling): enforce indexed access in core tests (#105375) 2026-07-12 14:29:52 +01:00
llm-core feat(tooling): complete packages/* noUncheckedIndexedAccess adoption (phase 2) (#104626) 2026-07-11 11:54:06 -07:00
markdown-core chore(tooling): enforce indexed access in core tests (#105375) 2026-07-12 14:29:52 +01:00
media-core fix(media-core): detect encoded URL extensions (#103410) 2026-07-10 06:50:01 +01:00
media-generation-core feat(xai): support Grok Imagine Video 1.5 (#103316) 2026-07-10 04:49:42 +01:00
media-understanding-common feat(tooling): adopt noUncheckedIndexedAccess via a strict-ratchet lane (phase 1) (#104577) 2026-07-11 10:26:12 -07:00
memory-host-sdk chore(tooling): enforce indexed access in core tests (#105375) 2026-07-12 14:29:52 +01:00
model-catalog-core refactor(models): trim private catalog exports (#105150) 2026-07-12 16:31:59 +08:00
net-policy refactor: remove pre-2026.4 compatibility shims and legacy migrations (#104650) 2026-07-11 13:22:27 -07:00
normalization-core feat(tooling): adopt noUncheckedIndexedAccess via a strict-ratchet lane (phase 1) (#104577) 2026-07-11 10:26:12 -07:00
plugin-package-contract docs: document package sources 2026-06-04 20:54:41 -04:00
plugin-sdk refactor: extract reusable AI runtime package (#99059) 2026-07-05 01:56:40 -04:00
sdk refactor: remove pre-2026.4 compatibility shims and legacy migrations (#104650) 2026-07-11 13:22:27 -07:00
speech-core fix(tts): bound voice-list requests (#102865) 2026-07-11 00:55:06 -07:00
terminal-core fix(terminal): keep C1 CSI and BEL-terminated OSC-8 links intact when wrapping table cells (#103717) 2026-07-12 12:10:35 -07:00
tool-call-repair refactor: remove dead UI and parser helpers (#104944) 2026-07-12 12:08:56 +08:00
web-content-core feat(tooling): adopt noUncheckedIndexedAccess via a strict-ratchet lane (phase 1) (#104577) 2026-07-11 10:26:12 -07:00