Commit graph

226 commits

Author SHA1 Message Date
Mario Zechner
9494fa8d3f Add [Unreleased] section for next cycle 2026-02-05 22:33:51 +01:00
Mario Zechner
f57e82fe2d Release v0.52.4 2026-02-05 22:33:10 +01:00
Mario Zechner
d27df1afa4 Add [Unreleased] section for next cycle 2026-02-05 22:29:24 +01:00
Mario Zechner
7310bcf192 Release v0.52.3 2026-02-05 22:28:42 +01:00
Mario Zechner
898ad73d8a Add [Unreleased] section for next cycle 2026-02-05 21:21:19 +01:00
Mario Zechner
caf4e189af Release v0.52.2 2026-02-05 21:20:36 +01:00
Mario Zechner
45f9d3aa21 Add [Unreleased] section for next cycle 2026-02-05 21:16:01 +01:00
Mario Zechner
7f42e8a996 Release v0.52.1 2026-02-05 21:15:17 +01:00
Mario Zechner
c4726e7c05 Add [Unreleased] section for next cycle 2026-02-05 20:42:38 +01:00
Mario Zechner
150fdf36a7 Release v0.52.0 2026-02-05 20:41:56 +01:00
Mario Zechner
0404a93e33 Add [Unreleased] section for next cycle 2026-02-04 14:25:32 +01:00
Mario Zechner
47a9bffcf3 Release v0.51.6 2026-02-04 14:24:49 +01:00
Mario Zechner
2135b61b93 chore: audit changelog entries 2026-02-04 14:23:55 +01:00
Aliou Diallo
9920d899b5 fix(tui): allow slash command menu on first line with existing text 2026-02-04 14:02:38 +01:00
Mario Zechner
6cc1676eae Add [Unreleased] section for next cycle 2026-02-04 02:33:53 +01:00
Mario Zechner
5921206f9a Release v0.51.5 2026-02-04 02:33:07 +01:00
Mario Zechner
2a9de37b19 Add [Unreleased] section for next cycle 2026-02-03 23:05:56 +01:00
Mario Zechner
9833717b41 Release v0.51.4 2026-02-03 23:05:07 +01:00
Mario Zechner
86388092b5 docs: note pi.dev domain 2026-02-03 23:04:15 +01:00
Mario Zechner
c983bfdb1e Add [Unreleased] section for next cycle 2026-02-03 17:30:37 +01:00
Mario Zechner
39d719900d Release v0.51.3 2026-02-03 17:29:53 +01:00
Mario Zechner
ff9a3f0660 Add [Unreleased] section for next cycle 2026-02-03 02:19:00 +01:00
Mario Zechner
4cbc865215 Release v0.51.2 2026-02-03 02:18:12 +01:00
Mario Zechner
c6ab9a64ce chore(changelog): audit unreleased entries 2026-02-03 02:17:01 +01:00
Mario Zechner
8c38de0495 fix(tui): drain stdin on exit to avoid Kitty release leak
Drain stdin for up to 1s after disabling Kitty protocol so in-flight key
release events are consumed before the shell regains control.

Fixes #1204
2026-02-03 00:07:35 +01:00
Mario Zechner
9a4d043b28 fix(tui): drain Kitty key release events before exit to prevent SSH leak
Adds Terminal.prepareForExit() to disable Kitty protocol and wait for
in-flight release events before fully stopping. This prevents escape
sequences from leaking to the parent shell over slow SSH connections.

Fixes #1204
2026-02-03 00:01:39 +01:00
Mario Zechner
0aa0b5fdba Add [Unreleased] section for next cycle 2026-02-02 19:36:52 +01:00
Mario Zechner
e02bdf8ef1 Release v0.51.1 2026-02-02 19:36:08 +01:00
Mario Zechner
59acb17354 docs: audit and update changelog entries for v0.51.0..HEAD 2026-02-02 19:35:17 +01:00
Mario Zechner
f431f62609 fix(tui): pause stdin before restoring raw mode to prevent SSH session close
Fixes #1185
2026-02-02 19:24:55 +01:00
Mario Zechner
0925fafe3b fix(tui): reduce unnecessary full redraws for better performance
- Remove height change detection (only width changes trigger full redraw)
- Change clearOnShrink default to false (use PI_CLEAR_ON_SHRINK=1 to enable)
- Fix viewport check to use previousLines.length instead of maxLinesRendered
  (prevents false positive redraws when appending lines after content shrunk)
- Add clearOnShrink setting to /settings in coding-agent
- Remove line truncation in custom message component (always show full content)
2026-02-02 08:10:08 +01:00
Mario Zechner
419c07fb19 Add [Unreleased] section for next cycle 2026-02-02 00:51:29 +01:00
Mario Zechner
580c02c74d Release v0.51.0 2026-02-02 00:50:46 +01:00
Mario Zechner
43be54c237 Add [Unreleased] section for next cycle 2026-02-01 09:36:24 +01:00
Mario Zechner
7678b075fb Release v0.50.9 2026-02-01 09:35:42 +01:00
Mario Zechner
aa83170e0f Add [Unreleased] section for next cycle 2026-02-01 02:34:06 +01:00
Mario Zechner
4baa42cb6d Release v0.50.8 2026-02-01 02:33:23 +01:00
Mario Zechner
6b6030d549 chore: audit changelog entries 2026-02-01 02:20:35 +01:00
Mario Zechner
c27168840c test(tui): cover non-qwerty kitty base layout fallback 2026-02-01 01:33:28 +01:00
Mario Zechner
f0eda2dfda Add [Unreleased] section for next cycle 2026-01-31 01:09:12 +01:00
Mario Zechner
c50a0b8b6d Release v0.50.7 2026-01-31 01:08:29 +01:00
Mario Zechner
022b20f364 Add [Unreleased] section for next cycle 2026-01-30 22:03:55 +01:00
Mario Zechner
f8d43ce02c Release v0.50.6 2026-01-30 22:03:14 +01:00
Mario Zechner
d91cdc5f0c docs: add missing changelog entries for v0.50.5..HEAD
- tui: add #1095 content shrink fix (by @marckrenn)
- tui: add isImageLine perf optimization
- coding-agent: cross-package duplication for #1095, #1099
2026-01-30 22:02:17 +01:00
Mario Zechner
836e852af1 Fixes #1099 2026-01-30 18:19:16 +01:00
Mario Zechner
0091857f8b Add [Unreleased] section for next cycle 2026-01-30 11:48:16 +01:00
Mario Zechner
01d521c625 Release v0.50.5 2026-01-30 11:47:35 +01:00
Dave dV
9337d1c39d test(tui): add bug regression test for isImageLine crash fix
Added comprehensive bug regression test that demonstrates:
1. The bug scenario (old implementation using startsWith() fails)
2. The fix works (new implementation using includes() passes)

Test covers:
- Terminal without image support scenario (bug trigger)
- Both Kitty and iTerm2 image protocols
- Very long lines (300KB+) matching crash scenario
- Integration with tool execution scenarios
- Negative cases (no false positives)

All 347 tests pass including 12 new bug regression tests.
2026-01-30 11:46:13 +01:00
Dave dV
2339d7b5ac fix(tui): isImageLine should detect image escape sequences anywhere in line
Changed isImageLine() from using startsWith() to includes() to detect
Kitty and iTerm2 image escape sequences anywhere in a line, not just
at the start. This prevents TUI width checks from failing on lines
containing image data, which could cause crashes when rendering tool
results with images (e.g., when reading image files).

Also added comprehensive test coverage for isImageLine() including:
- Both iTerm2 and Kitty protocols
- Regression tests for long lines and terminals without image support
- Negative cases to ensure no false positives

Fixes crash: 'Rendered line exceeds terminal width' when image
escape sequences appear in output.
2026-01-30 10:07:22 +00:00
Mario Zechner
2cee7e17de Add [Unreleased] section for next cycle 2026-01-30 03:27:09 +01:00