Commit Graph

2070 Commits

Author SHA1 Message Date
can1357 e5ebb2aee0 chore: bump version to 17.2.14 2026-08-11 20:43:02 +02:00
can1357 2157becbe9 chore: bump version to 17.2.13 2026-08-11 16:03:05 +02:00
Voon Foo f92957bc6f fix(tui): clip direct Kitty placements when image blocks straddle the viewport top
- The Image line's CUU(rows-1) clamps at the viewport top once the block's
  leading rows scroll out, re-anchoring the full image shifted down; Kitty
  replace-by-id then strips the prior placement's cells, scrollback included -
  permanently cropped inline images on WezTerm/Warp.
- The renderer now rewrites placement lines at write time, clipping the source
  rectangle (y=/h=) to the visible slice, and advances the placement id (epoch)
  exactly when cells attached by the current epoch enter native scrollback:
  every rendered frame feeds its raw commit target to the budget, crossing an
  epoch's attach top latches a per-image archived flag, and the next emit
  consumes it. Era-local comparisons keep ledger rewinds (duplication-never-
  loss recommits) correct by construction; no-commit rewrites (overlay
  show/hide) keep replacing the same id. The watch set bounds the per-frame
  scan to live un-archived placements regardless of session length.
- Destructive ED3 replays restart epochs and delete every registry entry each
  image placed (placement-scoped d=i, data retained) before re-placing under
  epoch 1, so repeated resets cannot strand terminal-side placements.
- Verified against WezTerm 20240203 cell-attachment debug logs: straddling
  frames attach exactly the visible slice, the finalize commit writes a full
  archive copy under a fresh id, and resetDisplay deletes exactly the ids the
  image ever placed.
2026-08-09 21:15:33 +08:00
can1357 6fb07028fd chore: bump version to 17.2.12 2026-08-08 20:57:55 +02:00
can1357 3cf1e42a05 fix(tui): preserve unbraced math continuations 2026-08-08 19:38:32 +02:00
can1357 78cd70bb94 Merge PR #7997: fix(tui): keep display-math fractions intact across source newlines (@roboomp) 2026-08-08 19:38:32 +02:00
roboomp a6aa462a60 fix(tui): bounded WSL idle animation CPU
- Removed the Loader backpressure cap so slow ConPTY paints retain the documented proportional duty cycle.

- Made WSL terminal-title working state static to avoid a second periodic OSC write loop.

Fixes #8012
2026-08-08 13:17:01 +00:00
roboomp fe86512268 fix(tui): parsed spaced nested command arguments
Share display-command arity with readArg and consume exactly that many
required arguments across whitespace. This keeps continuation newlines
collapsed to spaces without separating a nested command from its own
argument or letting it absorb the outer command's next argument.

Cover adjacent, spaced, and source-line-split sqrt and nested-fraction
numerators.

Fixes #7996
2026-08-08 09:03:00 +00:00
roboomp 9757a7b160 fix(tui): preserved outer arity through command arguments
Track pending command arities as nested frames instead of replacing the
outer frame when an unbraced command supplies an argument. Match readArg
by treating each command and its attached groups as one outer atom, while
retaining only that command's own missing arguments.

This keeps fractions such as `\frac\sqrt{a}\n{b}` waiting for their
denominator without folding standalone braced rows.

Fixes #7996
2026-08-08 08:52:02 +00:00
roboomp 2504800a4b fix(tui): only suppress a math row break when a command owes an argument
The first pass suppressed the top-level newline split whenever the next
row opened with `{`, folding a genuine braced row (`a\n{b+c}`) into the
row above. Gate the continuation on bracesOwed(): a newline joins to the
next row only when the current row ends with a command still awaiting a
brace argument (`\frac{num}\n{den}`, `\frac\n{a}{b}`, `x^\n{2}`); a row
that merely opens with a braced group stays a real row break.

Fixes #7996
2026-08-08 08:40:07 +00:00
roboomp 0f7e379006 fix(tui): keep display-math fractions intact across source newlines
latexToBlock pre-split display math on top-level newlines to stack a
`lhs =` line above its block, but a newline between `\frac{num}` and
`{den}` falls at brace-depth 0 and was treated as a row break, severing
the fraction from its denominator and rendering it as fragmented text.

Treat a top-level newline whose next non-space token opens a `{…}`
argument group as an argument continuation rather than a row break, and
collapse those interior newlines to a space so the argument reader parses
both brace groups.

Fixes #7996
2026-08-08 08:30:48 +00:00
can1357 055a5d4f26 chore: bump version to 17.2.11 2026-08-07 23:38:40 +02:00
can1357 a9dcf0f8d1 chore: update changelogs 2026-08-07 23:38:26 +02:00
can1357 422f5d137f chore: normalized changelogs after merging community fixes 2026-08-07 13:40:09 +02:00
can1357 2e0e0618db test(tui): cover pending tmux appearance teardown 2026-08-07 13:37:57 +02:00
can1357 d8def7418c Merge PR #7801: fix(tui): avoid leaking DA1 through tmux appearance refresh (@anatoli-tsinovoy) 2026-08-07 13:37:56 +02:00
can1357 cc28589c4a Merge PR #7810: fix(tui): preserve scrollback in Herdr panes (@chessl) 2026-08-07 13:37:56 +02:00
can1357 43c1b245e7 chore: bump version to 17.2.10 2026-08-06 13:32:34 +02:00
can1357 9e738dc880 chore: reformat + rewrite changelogs 2026-08-06 13:30:08 +02:00
Chess Luo 32d6421e84 test(tui): isolate Herdr env in direct-terminal fixtures 2026-08-06 16:06:40 +08:00
Chess Luo c720597d43 fix(tui): preserve scrollback in Herdr panes 2026-08-06 15:29:21 +08:00
Anatoli Tsinovoy 54481bebb7 fix(tui): avoid tmux DA1 passthrough 2026-08-06 09:11:34 +03:00
Anatoli Tsinovoy 86c6265e16 fix(tui): read refreshed tmux appearance cache 2026-08-06 08:09:56 +03:00
can1357 d49e7da281 test(tui): isolate explicit platform Warp assertions 2026-08-05 22:16:53 +02:00
can1357 ccd5a5c988 Merge PR #7697: test: fix Windows portability of bash ACP, Warp capability, and logger closure tests (@metaphorics)
# Conflicts:
#	packages/utils/test/logger-runtime-closure.test.ts
2026-08-05 22:16:53 +02:00
can1357 0b0e7dd530 chore: normalized changelogs after merging 20 pull requests 2026-08-05 21:50:46 +02:00
can1357 7cd8f4a3a5 test(tui): cover ConPTY kitty keyboard flags 2026-08-05 21:50:01 +02:00
can1357 49e0fff7f9 Merge PR #7573: fix(tui): use Kitty flag 1 on Windows to fix Shift+letter input (@0xGREG) 2026-08-05 21:50:01 +02:00
can1357 db09dedda9 Merge PR #7707: fix(tui): detect systemd user bus for Linux desktop notifications (@metaphorics) 2026-08-05 21:50:01 +02:00
can1357 c2827621a7 Merge PR #7695: fix(tui): trigger autocomplete for Windows drive-absolute paths (@metaphorics) 2026-08-05 21:50:01 +02:00
can1357 616d4b94fc docs(tui): separate changelog sections 2026-08-05 21:50:01 +02:00
can1357 501cc74754 Merge PR #7747: fix(tui): handle raw-mode startup EIO instead of aborting (@mvid) 2026-08-05 21:50:00 +02:00
Mantas Vidutis 6e81c9cb6c Merge upstream/main into fix/raw-mode-startup-eio 2026-08-05 11:43:18 -07:00
Mantas Vidutis 784d43eedd docs(tui): add unreleased changelog entry for raw-mode startup EIO fix 2026-08-05 11:05:24 -07:00
metaphorics fcf0923366 docs(tui): describe the systemd user-bus fallback
Add the Unreleased entry for the desktop-notification fix and correct
the hasLinuxDesktopSession docstring, which still claimed the check was
limited to a session bus address in env.

Addresses review feedback on #7707.
2026-08-05 22:40:25 +09:00
metaphorics 3198f91f37 test(tui): add a platform-independent drive-letter autocomplete trigger test 2026-08-05 11:43:26 +00:00
metaphorics 54e36db16d fix(tui): trigger autocomplete for Windows drive-absolute paths 2026-08-05 11:43:26 +00:00
metaphorics f219901fe0 test(tui): treat WSL as a Windows host in the Warp image-protocol assertion 2026-08-05 11:43:19 +00:00
metaphorics 29a72eb939 test: fix Windows portability of bash ACP, warp capabilities, and logger closure tests 2026-08-05 11:43:19 +00:00
can1357 e9888367d1 refactor: migrated packages to internal utility modules and removed external dependencies
- Implemented in-house, zero-dependency utility modules in `pi-utils` covering DOM manipulation, markdown parsing, templating, browser automation helpers, and terminal buffers.
- Migrated packages across the repository to consume the new internal utilities and `omptype` schema validators instead of external dependencies.
- Removed multiple external runtime and development dependencies including Zod, Marked, LRU cache, Turndown, and Puppeteer browser packages.
2026-08-05 13:39:09 +02:00
metaphorics 8e06f2c6b8 docs(tui): document Linux user bus fallback 2026-08-05 11:11:00 +00:00
metaphorics a6c129533c fix(tui): detect Linux user bus socket 2026-08-05 10:51:27 +00:00
can1357 f7f8e040ee chore: bump version to 17.2.9 2026-08-05 03:07:47 +02:00
can1357 34ecb4a107 chore(changelog): normalized unreleased entries after merges 2026-08-05 01:13:13 +02:00
can1357 40d47b557f Merge PR #7580: fix(tui): run sixel probe under WSL + Windows Terminal (@roboomp) 2026-08-05 01:11:56 +02:00
can1357 2eea289648 Merge PR #7576: fix(tui): terminate wrapped table cell lines' SGR state so borders keep default color (@miaopan607) 2026-08-05 01:11:56 +02:00
Mantas Vidutis 46051126a3 fix(tui): handle raw-mode startup EIO 2026-08-04 11:40:45 -07:00
metaphorics 3802d2dd80 chore(ts): enforce noImplicitOverride 2026-08-05 02:49:01 +09:00
can1357 003bb5548c chore: bump version to 17.2.8 2026-08-04 05:53:35 +02:00
roboomp 6eb9574436 fix(tui): ran sixel probe under wsl windows terminal
The SIXEL capability probe gated on process.platform === "win32", but
under WSL process.platform is "linux", so the probe never ran and inline
images fell back to the text placeholder even on Sixel-capable Windows
Terminal. Gate on isConPTYHosted() (native win32 or WSL) instead; the
existing WT_SESSION and TTY requirements still scope it to WT.

Fixes #6009
2026-08-04 02:55:38 +00:00