Commit Graph

786 Commits

Author SHA1 Message Date
Mario Zechner
5476b56e41 Add [Unreleased] section for next cycle 2026-04-16 23:26:44 +02:00
Mario Zechner
2a356dca4d Release v0.67.6 2026-04-16 23:25:54 +02:00
Mario Zechner
9f523babcd docs(coding-agent,tui): move argument-hint changelog entries to [Unreleased]
Move the argument-hint entries added in #2780 out of the already-released
0.65.0 sections and into [Unreleased], and credit the external contributor
with a PR link per AGENTS.md changelog rules.
2026-04-16 23:16:20 +02:00
Andrés Vinueza
aa25726ebf feat(coding-agent,tui): support argument-hint frontmatter in prompt templates (#2780)
* feat(coding-agent,tui): support argument-hint frontmatter in prompt templates

Parse argument-hint from prompt template frontmatter and display it
in the autocomplete dropdown description, matching Claude Code's
convention for custom commands.

Frontmatter format:
  ---
  description: Code review
  argument-hint: "[file | #PR | PR-URL]"
  ---

The hint renders in the description column of the autocomplete list:
  review   [file | #PR | PR-URL] — Code review

Closes #2761

* docs(coding-agent,tui): add argument-hint documentation, tests, and built-in hints

- Document argument-hint frontmatter in prompt-templates.md with <required>/[optional] convention
- Add argument-hint to built-in prompts: pr, is, wr
- Expand tests: required/optional hints, missing hints, empty hints, special characters
- Add changelog entries for coding-agent and tui
2026-04-16 23:02:35 +02:00
Mario Zechner
30a8a41fc3 fix(tui): default hyperlinks off for unknown terminals and tmux/screen
OSC 8 hyperlinks landed in #3248, but detectCapabilities() returned
hyperlinks: true in the unknown-terminal fallback. Terminals that
silently swallow OSC 8 (most xterm-compatible hosts, tmux/screen
without passthrough) end up dropping the URL from rendered markdown
links entirely, since the fallback 'text (url)' rendering is skipped
whenever hyperlinks is true.

- Unknown terminals now default to hyperlinks: false.
- tmux and screen (TMUX env, TERM starting with tmux/screen) force
  hyperlinks: false even when the outer terminal would otherwise
  advertise OSC 8 support. Image protocols also left disabled.
- Added detectCapabilities tests covering the known-capable set and
  the tmux/screen/unknown cases.
2026-04-16 22:19:38 +02:00
Omair Ahmed
e8743e870b feat(tui): use OSC 8 hyperlinks in Markdown when terminal supports them (#3248)
TerminalCapabilities already tracks hyperlinks: boolean and returns true
for Ghostty, Kitty, WezTerm, and iTerm2, but nothing generated OSC 8
sequences. This completes that stub.

Changes to packages/tui:
- terminal-image.ts: add hyperlink(text, url) and setCapabilities()
- index.ts: export hyperlink and setCapabilities
- utils.ts: extend AnsiCodeTracker to track active OSC 8 URLs
  - process() now handles OSC 8 open/close sequences
  - getActiveCodes() re-emits the OSC 8 open at each line start
  - getLineEndReset() closes the OSC 8 hyperlink before each line break
  This ensures hyperlinks wrap correctly across multiple lines.
- components/markdown.ts: link renderer uses hyperlink() when
  getCapabilities().hyperlinks is true; falls back to (url) text
- Tests: new wrap-ansi tests for OSC 8 line-wrapping; terminal-image
  tests for hyperlink(); markdown tests covering both code paths;
  table-cell width test pinned to hyperlinks:false (checks raw columns)

closes #3239

Co-authored-by: AI (Pi/Claude Sonnet 4.6) <noreply@pi.dev>
Co-authored-by: Mario Zechner <badlogicgames@gmail.com>
2026-04-16 22:13:36 +02:00
Armin Ronacher
aa78fa91fe Add [Unreleased] section for next cycle 2026-04-16 20:06:43 +02:00
Armin Ronacher
23259e5f19 Release v0.67.5 2026-04-16 20:05:42 +02:00
Armin Ronacher
85ff56a0b4 docs(changelog): add missing unreleased entries 2026-04-16 20:04:24 +02:00
Armin Ronacher
5b84152b17 revert(tui): temporarily undo Zellij Kitty-query bypass
This reverts 3929e0c181.

The Zellij-specific Kitty-query skip regresses Shift+Enter newline handling in Zellij. Restoring the previous behavior for now while we work on a safer fix that preserves both Alt and modified Enter handling.\n\nContext: https://github.com/badlogic/pi-mono/issues/3259
2026-04-16 20:00:54 +02:00
Armin Ronacher
72619e9246 Add [Unreleased] section for next cycle 2026-04-16 17:56:55 +02:00
Armin Ronacher
01949c1d4f Release v0.67.4 2026-04-16 17:32:50 +02:00
Armin Ronacher
b071e99b27 docs(changelog): audit unreleased entries since v0.67.3 2026-04-16 17:31:34 +02:00
Armin Ronacher
db5274b48c fix(markdown): require double-tilde strikethrough delimiters 2026-04-16 12:37:13 +02:00
Mario Zechner
e0918a627b Add [Unreleased] section for next cycle 2026-04-15 23:41:16 +02:00
Mario Zechner
0299811c02 Release v0.67.3 2026-04-15 23:40:28 +02:00
Mario Zechner
3929e0c181 fix(tui): skip Kitty query inside Zellij\n\nfixes #3163 2026-04-15 18:43:37 +02:00
myu003
41b44cad24 test(tui): isolate Windows Terminal backspace env coverage (#3220) 2026-04-15 15:21:34 +02:00
Mario Zechner
94f24f2102 Add [Unreleased] section for next cycle 2026-04-14 23:42:08 +02:00
Mario Zechner
5a3e702389 Release v0.67.2 2026-04-14 23:41:17 +02:00
Mario Zechner
be6ac02238 docs: audit unreleased changelog entries 2026-04-14 23:40:29 +02:00
Mario Zechner
8f66938c80 docs(tui): add changelog entry for PR 2989 2026-04-14 21:00:12 +02:00
Mario Zechner
5ed4600350 fix(tui): resolve rebase typo closes #2979 2026-04-14 20:41:28 +02:00
Mario Zechner
ddb8454c87 fix(tui): complete super key helper support closes #2979 2026-04-14 20:40:34 +02:00
Kao Félix
6cf5098f6b Fix Ctrl+Alt key matching in tmux (#2989) 2026-04-14 20:36:08 +02:00
Mario Zechner
efc58fed70 Add [Unreleased] section for next cycle 2026-04-14 00:32:10 +02:00
Mario Zechner
5326452452 Release v0.67.1 2026-04-14 00:31:22 +02:00
Mario Zechner
852efe9596 Add [Unreleased] section for next cycle 2026-04-14 00:23:18 +02:00
Mario Zechner
023cd4afda Release v0.67.0 2026-04-14 00:22:27 +02:00
Mario Zechner
31eaef590e docs: audit unreleased changelog entries 2026-04-13 23:42:31 +02:00
Sviatoslav Abakumov
4dda448a3f fix(tui): preserve column of cursor before it entered a paste marker (#3092) 2026-04-13 11:03:18 +02:00
Aliou Diallo
41377ee8ec fix(tui): sync test awaits with throttled render pipeline (#3076)
Tests assumed renders complete synchronously after requestRender() +
nextTick + flush(), but commit 6f5f37f8 changed requestRender() to
schedule via setTimeout with a 16ms minimum interval. Tests reading
viewport state before doRender() runs saw stale data.

Add VirtualTerminal.waitForRender() helper that waits for the throttled
render to settle (nextTick + 20ms + xterm flush), and replace all
terminal.flush() calls after render-triggering actions with it.

Fixes 8 failing tests across overlay-short-content, tui-render, and
markdown test suites.
2026-04-13 10:57:48 +02:00
Mario Zechner
3b7448d156 fix(tui): replace spread-into-push in Container.render() to prevent stack overflow, closes #2651 2026-04-09 03:33:09 +02:00
Mario Zechner
2cf2a8528e Add [Unreleased] section for next cycle 2026-04-09 01:01:16 +02:00
Mario Zechner
f3780d7004 Release v0.66.1 2026-04-09 01:00:19 +02:00
Mario Zechner
a99aee3360 Add [Unreleased] section for next cycle 2026-04-08 18:57:08 +02:00
Mario Zechner
918cc09dd6 Release v0.66.0 2026-04-08 18:56:20 +02:00
Mario Zechner
0ff00ad4e3 Add [Unreleased] section for next cycle 2026-04-06 02:05:48 +02:00
Mario Zechner
573eb91c78 Release v0.65.2 2026-04-06 02:04:58 +02:00
Mario Zechner
6f5f37f85a fix(tui): throttle render scheduling under streaming load 2026-04-06 02:03:50 +02:00
Mario Zechner
78d4625a48 Add [Unreleased] section for next cycle 2026-04-06 00:26:57 +02:00
Mario Zechner
4171cf0dbb Release v0.65.1 2026-04-06 00:26:06 +02:00
Mario Zechner
84d134061f Add [Unreleased] section for next cycle 2026-04-03 20:32:11 +02:00
Mario Zechner
8c1831bd5c Release v0.65.0 2026-04-03 20:31:19 +02:00
Mario Zechner
af12464217 fix(tui): avoid overlay scrollback inflation on widen 2026-04-02 01:31:09 +02:00
Mario Zechner
09e9de5749 fix(tui): stop heading underline leaking into padding 2026-03-31 22:40:20 +02:00
Mario Zechner
a1e107897d fix(tui): await async slash command completions closes #2719 2026-03-31 14:41:50 +02:00
Mario Zechner
5e3852fc9c Add [Unreleased] section for next cycle 2026-03-29 21:57:00 +02:00
Mario Zechner
d0404a4593 Release v0.64.0 2026-03-29 21:56:13 +02:00
Mario Zechner
8c64058809 fix(tui): normalize keypad functional keys closes #2650 2026-03-29 21:53:31 +02:00