Commit Graph

347 Commits

Author SHA1 Message Date
can1357 474eb92047 chore: bump version to 15.6.0 2026-05-30 19:01:54 +02:00
can1357 5f3856ee7c chore: bump version to 15.5.15 2026-05-30 04:49:01 +02:00
can1357 e004585f39 chore: bump version to 15.5.14 2026-05-30 01:25:28 +02:00
can1357 62e1dabf48 fix(pi-natives): updated alt key handling for kitty mode and alt+enter decoding
- Removed legacy lowercase Alt+arrow byte handling so alt-arrow sequences are matched through kitty-aware CSI/u paths instead of deprecated escape-letter forms.
- Added support for `alt+enter` from both `\x1b\r` and `\x1b\n` during key parsing and matching.
- Expanded tests to cover mixed Kitty/tmux modes and to restrict legacy uppercase Alt+arrow aliases to non-Kitty protocol mode only.
2026-05-29 18:36:25 +02:00
can1357 1422afd54d chore: bump version to 15.5.13 2026-05-29 18:21:43 +02:00
can1357 64daece638 fix(pi-natives): handled legacy Alt+letter pairs in mixed enhanced-keyboard mode
- Preserved Alt and Ctrl+Alt letter ESC-prefix matching when kitty_protocol_active is true to support mixed tmux and Kitty keyboard modes.
- Parsed two-byte ESC sequences before legacy sequence lookup so mixed-mode Meta pairs are treated as Alt letter keys instead of legacy aliases.
- Updated native and TUI key tests to verify Alt+letter and Alt+Shift+letter parsing and matching while enhanced mode is active.

Fixes #1511
2026-05-29 18:21:30 +02:00
can1357 14c366b049 chore: bump version to 15.5.12 2026-05-29 14:06:38 +02:00
can1357 e707b90652 chore: bump version to 15.5.11 2026-05-29 07:19:54 +02:00
can1357 3f073b82de chore: bump version to 15.5.10 2026-05-28 14:50:02 +02:00
can1357 3327d51b4c fix(pi-natives): coalesced shell pipe output into capped batches
- Changed `bridge_chunks` to drain all currently queued output chunks into one string before invoking the JS callback.
- Added a 64 KiB batch cap with a small initial buffer so each N-API dispatch stays bounded while reducing callback churn from chatty processes.
2026-05-28 14:33:58 +02:00
can1357 eca3a08d25 chore: bump version to 15.5.9 2026-05-28 12:09:01 +02:00
can1357 6cc91fcb37 chore: bump version to 15.5.8 2026-05-28 10:37:49 +02:00
can1357 b87cd8f93f chore: bump version to 15.5.7 2026-05-27 19:01:33 +02:00
can1357 bf92a3dd4d chore: bump version to 15.5.6 2026-05-27 15:04:44 +02:00
can1357 f0c7df60d5 chore: bump version to 15.5.5 2026-05-27 14:44:30 +02:00
can1357 69ab1656ff chore: bump version to 15.5.4 2026-05-27 10:27:32 +02:00
can1357 77b852a1ad chore: reformat 2026-05-27 10:27:15 +02:00
can1357 56c34a0d13 feat(summary): added BFS unfold and file-scoped line ranges to search
- Added `unfoldUntilLines`/`unfoldLimitLines` options to progressively reveal nested elidable spans breadth-first instead of collapsing everything behind the outermost elision.
- Added `minTotalLines` setting to skip summarization for short files, returning verbatim content instead.
- Added `:` selector support to `search` paths for constraining matches to specific line ranges.
- Extracted `parseLineRanges`/`parseLineRangeChunk`/`isLineInRanges` from `read.ts` into shared `path-utils.ts`.
2026-05-27 03:55:04 +02:00
can1357 280b638cc8 chore: bump version to 15.5.3 2026-05-27 03:20:33 +02:00
can1357 739903f970 feat(hashline)!: disallowed inline payload on op lines, required + rows
- Removed inline_body from grammar; op sigils (↑, ↓, :) now accept no trailing content.
- Executor emits INLINE_PAYLOAD_ACCEPTED_WARNING when legacy inline form is encountered but still applies the edit leniently.
- Updated prompt docs and all tests to use bare op + `+`-prefixed continuation rows.
2026-05-27 03:20:20 +02:00
can1357 0dee295dc6 fix(pi-natives): prevented partial file writes on AST apply failures
- Queued modified file contents during ast_edit and flushed writes only after all file edits succeeded.
- Extracted write-logic into ast_edit_blocking with in-memory pending writes to avoid partial disk updates.
- Added a regression test ensuring no file is written when overlapping apply_edits fails partway through a run.
2026-05-27 02:35:31 +02:00
can1357 2ae57b85dc chore: bump version to 15.5.2 2026-05-27 00:46:37 +02:00
can1357 8d429e96fb chore: bump version to 15.5.1 2026-05-27 00:05:59 +02:00
can1357 f19469c96c chore: bump version to 15.5.0 2026-05-26 22:55:07 +02:00
can1357 bc355472af ci(ci): added automated release note generation to the GitHub release workflow
- Added a Bun-based `scripts/ci-release-notes.ts` utility that extracts `## [version]` entries from `packages/*/CHANGELOG.md` and writes a combined `release-notes.md` for the release tag.
- Updated the GitHub release workflow to install Bun, run the notes generator, and pass the generated `release-notes.md` to `softprops/action-gh-release` via `body_path`.
2026-05-26 20:53:59 +02:00
can1357 7f08b51f28 test(tests): updated test setup to use shared E2E helpers and reset settings
- Updated the auth-gateway OpenAI responses caching test to use shared E2E helper utilities and the common gateway URL constant.
- Initialized and reset in-memory settings in the nested live rendering test fixture to isolate test state between runs.
2026-05-26 20:51:03 +02:00
Can Bölük 129fa47fb9 Merge pull request #1406 from nikzasel/fix/zellij-progressive-enhancement-keyboard
fix(tui): progressive enhancement keyboard negotiation for Zellij
2026-05-26 21:30:32 +03:00
Can Bölük 170b6e535e Merge pull request #1410 from hanbinnoh/fix/jamo-width-platform-conditional
fix(tui): apply Hangul jamo width correction only on macOS
2026-05-26 21:29:34 +03:00
can1357 6899e0aaed chore: bump version to 15.4.3 2026-05-26 18:55:58 +02:00
can1357 eb97859995 fix(coding-agent): improved run lookup and made test temp directories unique
- Updated `TempDirGuard` creation in grep tests to include PID and an atomic sequence, preventing temp path collisions.
- Removed the `branch` filter from GitHub action run queries so results are matched by `head_sha` only.
- Adjusted run-watch calls to the simplified `fetchRunsForCommit` interface without the branch argument.
2026-05-26 18:54:22 +02:00
can1357 38b7966894 chore: bump version to 15.4.2 2026-05-26 17:51:35 +02:00
Hanbin Lee 79103dbc4e fix(tui): apply Hangul jamo width correction only on macOS
The Hangul Compatibility Jamo width correction (U+3131..=U+318E → 1 cell)
was applied unconditionally, but macOS terminals (Ghostty, Terminal.app,
iTerm2) are the only ones that render jamo as 1 cell. WezTerm and most
Linux terminals follow UAX#11 and render them as 2 cells.

The unconditional correction caused a width mismatch between the TUI's
calculated column positions and the terminal's actual rendering, resulting
in corrupted layout and broken Korean input on non-macOS platforms.

- Rust: gate the correction with cfg!(target_os = "macos")
- TS: gate the correction with process.platform === "darwin"
- On non-macOS, use UnicodeWidthStr for multi-char graphemes (perf)

Constraint: macOS terminals render jamo as 1 cell despite UAX#11.
Rejected: removing the correction entirely — would break macOS.
Tested: native build succeeds, typecheck passes.
Not-tested: visual verification on macOS terminals.
Scope-risk: narrow
2026-05-27 00:16:59 +09:00
can1357 774d32cc3f chore: bump version to 15.4.1 2026-05-26 16:53:12 +02:00
Nick 7acb6987bf fix(tui): progressive enhancement keyboard negotiation for Zellij 2026-05-26 17:47:31 +04:00
can1357 732dae7b11 chore: bump version to 15.4.0 2026-05-26 11:26:08 +02:00
can1357 7acc631ce9 chore: bump version to 15.3.2 2026-05-25 20:30:37 +02:00
Can Bölük 5798b9436d Merge pull request #1362 from can1357/farm/f7b9e6bd/keybinding-collides-with-enter-both-reso
fix(keys): named keys win over colliding ctrl+letter in legacy mode
2026-05-25 20:26:23 +03:00
roboomp b352fd8d9d fix(keys): named keys win over colliding ctrl+letter in legacy mode
Pressing Enter sends `\r` (0x0D), and so does Ctrl+M; the terminal
cannot disambiguate the two in legacy mode (no Kitty keyboard protocol,
no modifyOtherKeys). matches_key was claiming both "enter" and
"ctrl+m" for the bare byte, so binding a command to Ctrl+M also fired
on Enter. Same collision applied for Ctrl+H vs Backspace, Ctrl+I vs Tab,
Ctrl+J vs LF/Enter, Ctrl+[ vs Escape, and the symmetric ctrl+alt+letter
legacy form (ESC + ctrl-char) vs Alt+Enter/Alt+Tab/Alt+Backspace.

The legacy ctrl+<letter>/<symbol> and ctrl+alt+<letter> fast-paths now
skip bytes terminals also send for named keys (0x08 0x09 0x0a 0x0d 0x1b
0x7f). The named key wins; the colliding ctrl+<letter> still matches
when the terminal disambiguates via the Kitty keyboard protocol or
modifyOtherKeys. parseKey already preferred the named key — matchesKey
now agrees.

Fixes #1354
2026-05-25 17:20:58 +00:00
can1357 e2b86b8a41 chore: bump version to 15.3.1 2026-05-25 14:07:16 +02:00
can1357 60010f3fdf fix(tui): corrected Hangul Compatibility Jamo width to 1 cell
- UAX#11 classifies U+3131..=U+318E as Wide (2 cells), but Ghostty, Terminal.app, and iTerm2 render them as 1 cell.
- Added `char_width_corrected` in Rust to override jamo width, mirroring the existing TS-side correction in `visibleWidth`.
- Replaced `UnicodeWidthStr::width` with per-char corrected sum so the override applies inside combining clusters.
- Added native-layer regression tests to guard cross-layer parity between Rust and TS width calculations.
2026-05-25 14:06:53 +02:00
can1357 45345f43b0 chore: bump version to 15.3.0 2026-05-25 12:56:19 +02:00
can1357 e6c08c1155 chore: bump version to 15.2.4 2026-05-22 17:48:11 +09:00
can1357 3ecfac846c chore: bump version to 15.2.3 2026-05-22 13:34:49 +09:00
can1357 cf94ded9d3 chore: bump version to 15.2.2 2026-05-22 11:29:03 +09:00
can1357 3064bb9084 chore: bump version to 15.2.1 2026-05-21 17:15:11 +09:00
can1357 dbd3540a31 chore: bump version to 15.2.0 2026-05-21 15:58:02 +09:00
can1357 fe5b96e8a1 chore: bump version to 15.1.9 2026-05-21 13:24:41 +09:00
can1357 e6ddfc0a8e chore: bump version to 15.1.8 2026-05-20 17:49:07 +09:00
can1357 1521cb785b chore: bump version to 15.1.7 2026-05-19 19:27:28 +09:00
can1357 60e2befb35 chore: bump version to 15.1.6 2026-05-19 07:17:26 +02:00