Commit Graph
1609 Commits
Author SHA1 Message Date
James Peter 592b3f65e9 ci(release): ensure unique npm version across packages; idempotent publish steps; bump codex-cli to 0.2.62 2025-09-05 21:47:50 +10:00
James Peter 74fda941ba chore: touch .gitignore to trigger release workflow 2025-09-05 20:52:36 +10:00
James Peter 7ecf15f5fd Merge origin/main before pushing (release.yml: enforce [skip ci] on notes-only; ignore codex-cli/package.json) 2025-09-05 20:49:33 +10:00
James Peter e0322282cd ci(release): require and enforce [skip ci] on notes-only commits; ignore codex-cli/package.json; keep push-to-main with paths-ignore 2025-09-05 20:49:18 +10:00
James Peter ec5a3333fb ci(release): remove guard job to avoid canceling in-flight runs; rely on paths-ignore (including release.yml) to prevent notes-only triggers 2025-09-05 20:38:53 +10:00
James Peter 5d20545dbb ci(release): add guard job to skip entire workflow when only CHANGELOG.md and release-notes/RELEASE_NOTES.md changed; keep push-on-main trigger with paths-ignore 2025-09-05 20:30:52 +10:00
James Peter cb10c64a07 ci(release): trigger only on tags (v*) or manual dispatch; parse version from tag; avoid push-to-main auto-releases 2025-09-05 20:27:50 +10:00
GitHub Action b3b7bee2ee docs(changelog): update for v0.2.60 2025-09-05 10:23:35 +00:00
GitHub Action 0a39d39cd5 chore(release): 0.2.60 [skip ci] 2025-09-05 10:22:38 +00:00
James Peter 281a83a646 ci(release): robust asset collection — find all code-* files recursively from artifacts and copy into release-assets 2025-09-05 20:15:19 +10:00
James Peter baf63634dd docs(release-notes): add real Compare link; keep strict sections + optional Thanks; no retrigger on notes 2025-09-05 20:03:56 +10:00
James Peter e0db9ccdbb docs(release-notes): add optional '### Thanks' section for external contributors; exclude @zemaj and @andrej-griniuk 2025-09-05 19:59:59 +10:00
James Peter 9f3c6e8c3c Merge origin/main before pushing: keep our new issue-triage workflow, .gitignore additions, and release.yml prompt tweaks; remove CLA workflow 2025-09-05 19:41:58 +10:00
James Peter 038940b4f7 ci(release): tighten notes format, use '@latest' in install snippet, and ignore CHANGELOG/release-notes pushes; chore(gitignore): ignore codex-rs/target and CI scratch; ci: remove CLA workflow 2025-09-05 19:41:32 +10:00
GitHub Action 879705bcc4 docs(changelog): update for v0.2.59 2025-09-05 09:32:51 +00:00
GitHub Action a7bc1f59ae chore(release): 0.2.59 [skip ci] 2025-09-05 09:31:33 +00:00
James Peter 621e1ee1b7 ci(smoke): remove stray status echo causing 'unbound variable' under set -u 2025-09-05 19:23:40 +10:00
James Peter ee84da1fce ci(smoke): use a trivial prompt (ls + brief description) to avoid toolchain/build steps and finish quickly 2025-09-05 19:20:58 +10:00
James Peter 6d511acbfd ci(smoke): default to live run with OPENAI_API_KEY and default model; remove use_api/model inputs 2025-09-05 19:17:04 +10:00
James Peter 7093e6c197 ci(smoke): add options to use OPENAI_API_KEY + model for live request; keep default parse-only mode 2025-09-05 19:15:06 +10:00
James Peter ac283d13ac ci(smoke): switch to npx @just-every/code to test published release; fix inputs context and minor typo 2025-09-05 19:09:09 +10:00
James Peter 59028b72bb ci(smoke): add fast workflow to validate 'code exec --cd' parsing and stdin redirection without full release pipeline 2025-09-05 19:05:44 +10:00
James Peter 1445eb3beb ci(release): use 'exec --cd' instead of unknown top-level '--cwd' and verify locally 2025-09-05 19:02:33 +10:00
James Peter d1f32a990f ci(release): publish npm packages last; bump codex-cli to 0.2.58 and compute version across all npm targets to avoid E403 overwrite 2025-09-05 18:51:00 +10:00
James Peter bb4f0f7582 fix(tui/sanitize): centralize diff/output sanitization; strip OSC/DCS/C1/zero-width and expand tabs via shared util\n\n- Add with and modes\n- Expand tabs (Unicode-aware) and remove zero-width/BiDi controls\n- Strip OSC/DCS/APC/PM/SOS strings and raw C0/C1 bytes; keep CSI when preserving ANSI\n- Apply to diff_render (plain) and history_cell (ANSI-preserving)\n\nValidated with ./build-fast.sh (no warnings).\n\nFixes #22 2025-09-05 17:50:39 +10:00
James Peter 4dd37fd2c6 feat(tui/streaming): animate streaming ellipsis as rotating three dots\n\nReplace static ellipsis (… ) in StreamingContentCell with a subtle three-dot\nanimation using a middle dot (·) cycling through frames: ..., ·.., .·., ..·, ...\nShown only while streaming, in the same places the previous ellipsis appeared.\nFrame cadence ~200ms. Validated via ./build-fast.sh (no warnings). 2025-09-05 17:34:15 +10:00
James Peter 23142005d5 ci(release): fix YAML by indenting heredoc content in run block 2025-09-05 17:26:02 +10:00
James Peter e322101440 feat(tui/history): add WebFetchToolCell and fix streaming header\n\n- Preserve first content line during streaming by prepending hidden header when absent\n- Replace tool call lines with sectioned web_fetch preview and dim styling\n- Update release notes guidance in workflow docs\n\nValidated with ./build-fast.sh (no warnings) 2025-09-05 17:22:25 +10:00
James Peter bf83be2c1b ci(release): align CLI agent prompt with new CHANGELOG/notes house style and idempotent update rules 2025-09-05 16:58:16 +10:00
James Peter 462af0be47 docs(changelog): add v0.1.7–v0.1.2 entries 2025-09-05 16:53:35 +10:00
James Peter afc99016a2 docs(changelog): add v0.1.13–v0.1.8 entries 2025-09-05 16:53:07 +10:00
James Peter 29c831ae4c docs(changelog): add v0.2.9–v0.2.1 entries 2025-09-05 16:52:16 +10:00
James Peter 9b6b938a65 docs(changelog): add v0.2.24–v0.2.10 entries 2025-09-05 16:51:39 +10:00
James Peter 46b7c819d3 docs(changelog): add v0.2.36–v0.2.25 entries from tag ranges 2025-09-05 16:50:19 +10:00
James Peter 42328de8f1 docs(changelog): add v0.2.46–v0.2.37 and correct v0.2.38/0.2.37 mapping 2025-09-05 16:49:08 +10:00
James Peter 222fa58e03 docs(changelog): reconstruct notes for v0.2.47–v0.2.56 from tags and commit history 2025-09-05 16:43:40 +10:00
James Peter b01ee20744 fix(tui/history): guard missing OrderMeta; synthesize order keys
- Make `order_key_from_order_meta` take `&OrderMeta` to remove panicking unwraps.
- Replace `ensure_stream_order_key_strict` with `try_stream_order_key`; synthesize keys via `next_internal_key()` when id/key is missing.
- Add guarded fallbacks across Answer/Reasoning/PlanUpdate/Exec/MCP paths, logging warnings rather than panicking to preserve strict per‑turn ordering.
- Interrupt manager tolerates missing metadata for queued Exec begin/end.
- Update exec_tools call sites for new signature.
- Refresh CHANGELOG with 0.2.56 summaries and ordering notes.
2025-09-05 16:42:21 +10:00
James Peter 773e38e564 fix(tui/render): clamp bottom spacer compensation to 1 row at end of viewport
Users saw blank bottom when final/user messages inserted: our targeted spacer compensation used full gap (content_y - scroll_pos) which could push the draw cursor past the viewport. Clamp strictly to a single spacer row when at bottom and rendering the last item. No ordering changes.
2025-09-05 16:25:17 +10:00
James Peter 0ab0b647fd feat(tui/history): enforce strict global ordering and stream IDs
- Replace legacy turn-window logic with stable  per insert
- Require non-empty stream IDs; seed order keys per (kind,id)
- Pair out-of-order ExecEnd/Begin and drop canceled execs
- Surface init/submit errors as BackgroundEvent diagnostics
- Improve status panes, borders, and preview truncation by display width
- Update release workflow; docs: AGENTS.md, prompt_coder.md; add MERGE.md and postmortem

Build: ./build-fast.sh passes locally with no warnings.
2025-09-05 16:13:31 +10:00
James Peter cb9bb5048a chore: commit all code 2025-09-05 13:05:25 +10:00
James Peter 51013fed27 fix(tui/status): remove duplicate 'Ctrl+R hide reasoning' hint from top bar (footer already shows it) 2025-09-05 10:12:35 +10:00
James Peter deb63687bf fix(tui/redraw): ensure scheduled animation frames are not suppressed by debounce
- Add  flag independent of
- Arm exactly one timer for AppEvent::ScheduleFrameIn while allowing immediate redraw debounce
- Prevents welcome logo animation from stalling until input

Also: revert intro color fade profile to original (no visual change request).
2025-09-05 08:21:47 +10:00
James Peter 8897994a20 fix(tui/animation): ensure intro logo visibly completes without perf cost
- Remove per-frame debug log in intro renderer
- Delay internal fade to last ~2% and force final frame vivid
- Defer any fade-out to AnimatedWelcomeCell alpha blending

Keeps animation smooth and visually complete on all terminals.
2025-09-05 08:17:03 +10:00
James Peter 9b210e7253 feat(tui/order): enforce strict global ordering and remove turn-window logic\n\n- Add strict and global ordered inserts\n- Require for LLM/tool events; panic if missing\n- Replace unordered pushes with ordered using synthetic internal keys (out=-1)\n- Remove turn-window fields/logic; delete legacy helpers\n- Seed per-stream keys from ; enforce for Answer/Reasoning/MCP\n- Carry with pending ExecEnd and flush with correct order\n- Simplify interrupts queue; drop window fields and pass through \n- Clean up dead code and fix warnings (0 warnings)\n\nValidated with ./build-fast.sh (no warnings). 2025-09-04 11:50:16 +10:00
James Peter e4b671610a fix(tui/chrome): import Clear and paint themed background for selection dialog 2025-09-04 09:31:13 +10:00
James Peter c9b01e68e3 fix(tui/dialogs): ensure all popups use theme bg/fg and border; update /resume, list/verbosity/reasoning selections, Chrome options, and diff confirm dialog 2025-09-04 09:30:21 +10:00
James Peter 4c34def6a5 fix(tui/diff-confirm): theme-aware dialog (bg/fg + border) and paint inner area 2025-09-04 09:28:24 +10:00
James Peter 1a2a8b3bd2 chore(tui): revert unrelated streaming/history changes from previous commit; keep resume dialog theming only 2025-09-04 09:26:33 +10:00
James Peter 3d8d11dd21 fix(tui/resume): apply theme bg/fg + border to dialog block for consistent theming across all popups 2025-09-04 09:26:01 +10:00
James Peter fe44d4cf27 feat(tui/reasoning): render expanded reasoning dim with a subtle left border; implement custom_render_with_skip for CollapsibleReasoningCell 2025-09-04 09:13:56 +10:00