Commit graph

716 commits

Author SHA1 Message Date
Luke Parker
8a95be492d
fix(windows): git path resolution for modified files across Git Bash, MSYS2, and Cygwin (#16422) 2026-03-07 15:42:14 +10:00
Dax
326c70184d
fix: restore Bun stdin reads for prompt input (#16300) 2026-03-06 02:08:10 -05:00
Dax
74effa8eec
refactor(opencode): replace Bun.which with npm which (#15012) 2026-03-06 05:18:29 +00:00
Dax Raad
7e28098365 refactor: use node:stream/consumers for stdin reading 2026-03-05 22:08:50 -05:00
Dax Raad
ae5c9ed3dd refactor: replace Bun.stdin.text with Node.js stream reading 2026-03-05 22:04:20 -05:00
Dax
3ebba02d04
refactor: replace Bun.sleep with node timers (#15013) 2026-03-05 21:54:06 -05:00
Dax
4da199697b
feat(tui): add onClick handler to InlineTool and Task components (#16187) 2026-03-05 15:02:30 +00:00
Luke Parker
7f7e622426
dont let dax touch the ui (#16060) 2026-03-04 23:31:48 +00:00
Sebastian
18cad10647
show scrollbar by default (#15282) 2026-03-04 15:10:27 +01:00
Dax
3ebebe0a96
fix(process): prevent orphaned opencode subprocesses on shutdown (#15924) 2026-03-03 22:14:28 -05:00
Dax Raad
c4ffd93caa tui: replace curved arrow with straight arrow for better terminal compatibility 2026-03-03 15:25:11 -05:00
Dax Raad
c78e7e1a28 tui: show pending toolcall count instead of generic 'Running...' message 2026-03-03 15:08:11 -05:00
Dax
e3a787a7a3
tui: use arrow indicator for active tool execution (#15887) 2026-03-03 14:46:07 -05:00
Sebastian
3310c25dd1
Upgrade opentui to v0.1.86 and activate markdown renderable by default (#14974) 2026-03-03 15:42:27 +00:00
Jérôme Benoit
18850c4f91
fix(opencode): disable session navigation commands when no parent session (#15762)
Co-authored-by: Test User <test@test.com>
Co-authored-by: Shoubhit Dash <shoubhit2005@gmail.com>
2026-03-03 16:00:25 +05:30
Dax
90270c615d
feat(tui): improve task tool display with subagent keybind hints and spinner animations (#15607) 2026-03-01 17:46:10 +00:00
James Long
3dc10a1c16
Change keybindings to navigate between child sessions (#14814) 2026-02-27 09:41:23 -05:00
David Hill
7453e78b35
feat: opencode go provider list (#15203) 2026-02-26 14:37:33 +00:00
Sebastian
9d29d692c6
split tui/server config (#13968) 2026-02-25 23:53:09 +01:00
Dax Raad
561f9f5f05 opencode go copy 2026-02-25 01:54:28 -05:00
Dax
637059a515
feat: show LSP errors for apply_patch tool (#14715) 2026-02-25 04:15:11 +00:00
Dax
814c1d398c
refactor: migrate Bun.spawn to Process utility with timeout and cleanup (#14448) 2026-02-24 23:04:15 -05:00
Aiden Cline
1a329ba47d
fix: issue from structuredClone addition by using unwrap (#14359) 2026-02-19 19:28:06 -06:00
Michael Hart
8ad60b1ec2 Use structuredClone instead of remeda's clone (#14351)
Co-authored-by: Dax Raad <d@ironbay.co>
Co-authored-by: Dax <mail@thdxr.com>
2026-02-19 18:37:56 -06:00
Yanosh Kunsh
824ab4cecc
feat(tui): add custom tool and mcp call responses visible and collapsable (#10649)
Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com>
2026-02-19 15:36:40 -06:00
Dax
cb8b74d3f1
refactor: migrate from Bun.Glob to npm glob package (#14317) 2026-02-19 13:40:09 -05:00
Dax Raad
af72010e9f Revert "refactor: migrate from Bun.Glob to npm glob package"
This reverts commit 3c21735b35.
2026-02-19 12:48:43 -05:00
Dax Raad
3c21735b35 refactor: migrate from Bun.Glob to npm glob package
Replace Bun.Glob usage with a new Glob utility wrapper around the npm 'glob' package.
This moves us off Bun-specific APIs toward standard Node.js compatible solutions.

Changes:
- Add new src/util/glob.ts utility module with scan(), scanSync(), and match()
- Default include option is 'file' (only returns files, not directories)
- Add symlink option (default: false) to control symlink following
- Migrate all 12 files using Bun.Glob to use the new Glob utility
- Add comprehensive tests for the glob utility

Breaking changes:
- Removed support for include: 'dir' option (use include: 'all' and filter manually)
- symlink now defaults to false (was true in most Bun.Glob usages)

Files migrated:
- src/util/log.ts
- src/util/filesystem.ts
- src/tool/truncation.ts
- src/session/instruction.ts
- src/storage/json-migration.ts
- src/storage/storage.ts
- src/project/project.ts
- src/cli/cmd/tui/context/theme.tsx
- src/config/config.ts
- src/tool/registry.ts
- src/skill/skill.ts
- src/file/ignore.ts
2026-02-19 12:34:18 -05:00
Dax
02a9495063
Remove use of Bun.file (#14215) 2026-02-19 11:32:32 -05:00
Dax Raad
11a37834c2 tui: ensure onExit callback fires after terminal output is written 2026-02-18 20:43:50 -05:00
Dax Raad
568eccb4c6 Revert: all refactor commits migrating from Bun.file() to Filesystem module 2026-02-18 19:41:14 -05:00
Dax
6fb4f2a7a5
refactor: migrate src/cli/cmd/tui/thread.ts from Bun.file() to Filesystem module (#14135) 2026-02-18 17:28:41 -05:00
OpeOginni
be2e6f1926
fix(opencode): update pasteImage to only increment count when the previous attachment is an image too (#14173) 2026-02-18 12:09:09 -06:00
Dax
5638b782c5
refactor: migrate editor.ts from Bun.file()/Bun.write() to Filesystem module (#14149) 2026-02-18 17:44:33 +00:00
Dax
eb3f337695
refactor: migrate clipboard.ts from Bun.file() to Filesystem module (#14148) 2026-02-18 12:38:44 -05:00
Dax Raad
ad3c192837 tui: exit cleanly without hanging after session ends
- Force process exit after TUI thread completes to prevent lingering processes
- Add 5-second timeout to worker shutdown to prevent indefinite hangs during cleanup
2026-02-17 17:56:39 -05:00
Anton Volkov
5512231ca8
fix(tui): style scrollbox for permission and sidebar (#12752) 2026-02-17 16:24:01 -06:00
David Hill
b784c923a8 tweak(ui): bump button heights and align permission prompt layout 2026-02-17 17:43:37 +00:00
David Hill
07947bab7d
tweak(tui): new session banner with logo and details (#13970) 2026-02-17 07:43:55 -05:00
OpeOginni
16332a8583
fix(tui): make use of server dir path for file references in prompts (#13781) 2026-02-16 13:14:08 -06:00
Ryan Vogel
5cc1d6097e
feat(cli): add --continue and --fork flags to attach command (#13879) 2026-02-16 13:45:00 -05:00
Imanol Maiztegui
bb30e06855
fix (tui): Inaccurate tips (#13845) 2026-02-16 09:08:04 -05:00
Dax
6d95f0d14c
sqlite again (#10597)
Co-authored-by: Github Action <action@github.com>
Co-authored-by: opencode-agent[bot] <opencode-agent[bot]@users.noreply.github.com>
Co-authored-by: Brendan Allan <git@brendonovich.dev>
2026-02-14 04:19:02 +00:00
Luke Parker
a8f2884521
feat: windows selection behavior, manual ctrl+c (#13315) 2026-02-13 07:38:27 +10:00
Sebastian
c0814da785
do not open console on error (#13374) 2026-02-12 21:29:58 +00:00
Luke Parker
8f9742d988
fix(win32): use ffi to get around bun raw input/ctrl+c issues (#13052) 2026-02-12 15:39:31 +10:00
Kit Langton
135f8ffb2a
feat(tui): add toggle to hide session header (#13244) 2026-02-12 02:21:42 +00:00
Kit Langton
17bdb5d56a
fix(tui): dismiss dialogs with ctrl+c (#12884) 2026-02-11 09:03:59 -05:00
Kit Langton
7a463cd193
fix(tui): keep /share available to copy existing link (#12532) 2026-02-11 08:58:24 -05:00
Kit Langton
352a54c698
feat(prompt): mode-specific input placeholders (#12388) 2026-02-11 08:57:59 -05:00
Kit Langton
93957da2c9
fix(tui): prevent home wordmark corruption in height-constrained terminals (#13069) 2026-02-11 08:52:14 -05:00
Dax
6e9cd576ea
fix(tui): default session sidebar to auto (#13046) 2026-02-11 01:26:01 +00:00
Dax
27fa9dc843
refactor: clean up dialog-model.tsx per code review (#12983) 2026-02-10 15:13:37 +00:00
Dax Raad
63cd763418 Revert "feat: add version to session header and /status dialog (#8802)"
This reverts commit ac54535486.
2026-02-10 00:01:28 -05:00
Dax Raad
32394b699e Revert "feat(tui): highlight esc label on hover in dialog (#12383)"
This reverts commit 683d234d80.
2026-02-09 23:57:37 -05:00
Dax Raad
12262862cd Revert "feat: show connected providers in /connect dialog (#8351)"
This reverts commit a57c8669b6.
2026-02-09 23:46:57 -05:00
Marcio
056d0c1197
fix(tui): use sender color for queued messages (#12832) 2026-02-09 16:54:12 -06:00
Aiden Cline
a7c5d5ac4c
Revert "feat(tui): restore footer to session view (#12245)" (#12836) 2026-02-09 10:08:26 -06:00
Khang Ha (Kelvin)
fde0b39b7c
fix: properly encode file URLs with special characters (#12424) 2026-02-06 16:16:56 -06:00
Ariane Emory
84c5df19c7
feat(tui): add Claude Code-style --fork flag to duplicate sessions before continuing (resolves #11137) (#11340) 2026-02-06 13:15:47 -06:00
Ariane Emory
449c5b44b7
feat(tui): restore footer to session view (#12245) 2026-02-06 10:21:16 -06:00
Akshar Patel
683d234d80
feat(tui): highlight esc label on hover in dialog (#12383) 2026-02-05 20:11:08 -06:00
Dax Raad
154d0ebf53 increase skill dialog width 2026-02-05 18:38:31 -05:00
Andrew Pashynnyk
2e9a63fe4f
fix(opencode): improve skills dialog readability (#12356) 2026-02-05 18:35:35 -05:00
Akshar Patel
102d8e72bb
fix(tui): allow mouse escape via "esc" labels in dialogs (#11421) 2026-02-05 16:14:49 -06:00
Goni Zahavy
40ebc34909
feat(tui): add running spinner to bash tool in TUI (#12317) 2026-02-05 12:23:02 -06:00
Ariane Emory
4387f9fb9a
feat: Allow the function to hide or show thinking blocks to be bound to a key (resolves #12168) (#12171) 2026-02-04 18:29:46 -06:00
Maharshi Patel
31e2feb347
fix(tui): add hover states to question tool tabs (#12203) 2026-02-04 18:28:22 -06:00
Sebastian
64bafce665
restore direct osc52 (#12071) 2026-02-04 00:35:57 -06:00
Idris Gadi
95211a8854
feat(tui): allow theme colors in agent customization (#11444) 2026-02-03 15:09:21 -06:00
MartinWie
82dd4b6908
fix: always fall back to native clipboard after OSC52 (#11994) 2026-02-03 20:53:04 +01:00
opencode-agent[bot]
5e3162b7f4 chore: generate 2026-02-02 22:30:23 +00:00
Joseph Campuzano
f9aa209131
fix: fixes issue where the autocomplete tui dialog flickers while typing (#11641) 2026-02-02 16:29:43 -06:00
Pablo P Varela
965f32ad63
fix(tui): respect terminal transparency in system theme (#8467) 2026-02-02 11:36:47 -06:00
Dax
4369d79636
tui: truncate session title in exit banner (#11797) 2026-02-02 14:30:10 +00:00
Sebastian
3982c7d99a
Use opentui OSC52 clipboard, again (#11744) 2026-02-02 08:12:50 +01:00
Dax
7a9290dc9b
tui: show exit message banner (#11733) 2026-02-02 00:13:47 -05:00
Dax Raad
cfbe9d329f Revert "Use opentui OSC52 clipboard (#11718)"
This reverts commit 8e985e0a75.
2026-02-02 00:13:02 -05:00
Dax
0dc80df6fd
Add spinner animation for Task tool (#11725) 2026-02-01 22:51:55 -05:00
Sebastian
8e985e0a75
Use opentui OSC52 clipboard (#11718)
Co-authored-by: opencode-agent[bot] <opencode-agent[bot]@users.noreply.github.com>
2026-02-02 04:48:29 +01:00
Dax Raad
83d0e48e38 tui: fix task status to show current tool state from message store 2026-02-01 20:52:17 -05:00
zerone0x
cc1d3732bc
fix(tui): remove outer backtick wrapper in session transcript tool formatting (#11566)
Co-authored-by: Claude <noreply@anthropic.com>
2026-02-01 13:11:18 -06:00
adamjhf
c3faeae9d0
fix: correct pluralization of match count in grep and glob tools (#11565) 2026-02-01 00:15:28 -06:00
Dax
94baf1f721
fix(tui): remove extra padding between search and results in dialog-select (#11564) 2026-02-01 04:04:57 +00:00
Dax
9b8b9e28e2
feat(tui): add UI for skill tool in session view (#11561) 2026-01-31 22:59:46 -05:00
Dax
2a56a1d6ef
fix(tui): conditionally render bash tool output (#11558) 2026-01-31 22:40:37 -05:00
Dax
5b784871f0
feat: add skill dialog for selecting and inserting skills (#11547) 2026-01-31 20:52:54 -05:00
Dax Raad
e70d984320 tui: enable password authentication for remote session attachment
Allow users to authenticate when attaching to a remote OpenCode session by supporting basic auth via a password flag or OPENCODE_SERVER_PASSWORD environment variable
2026-01-31 14:42:36 -05:00
大猫子
35f64b80fa
docs: fix documentation issues (#11435)
Co-authored-by: damaozi <1811866786@qq.com>
2026-01-31 12:30:45 -06:00
Ryan Vogel
53f118c57a
Revert "feat(app): add skill slash commands" (#11484) 2026-01-31 10:20:23 -05:00
Ryan Vogel
786ae0a584
feat(app): add skill slash commands (#11369) 2026-01-31 08:59:28 -06:00
Dax
81ac41e089
feat: make skills invokable as slash commands in the TUI (#11390) 2026-01-31 00:41:55 -05:00
Dax Raad
3542f3e406 Revert "feat: make skills invokable as slash commands in the TUI"
This reverts commit 85126556b8.
2026-01-30 20:37:41 -05:00
Dax Raad
85126556b8 feat: make skills invokable as slash commands in the TUI
- Add Skill.content() method to load skill template content from SKILL.md files
- Modify Command.list() to include skills as invokable commands
- Add 'skill' boolean property to Command.Info schema
- Update autocomplete to show skills with (Skill) label in slash commands
- Regenerate SDK to include skill property in Command type
2026-01-30 20:36:48 -05:00
Dax
2125dc11c7
fix: show all provider models when no providers connected (#11198) 2026-01-29 21:19:50 +00:00
Sebastian Herrlinger
41ea4694db more timeout race guards 2026-01-29 00:17:39 -05:00
Sebastian Herrlinger
58ba486375 guard destroyed input field in timeout 2026-01-28 23:53:37 -05:00
Tommy D. Rossi
8c05eb22b1
fix(markdown): Add streaming prop to markdown element (#11025) 2026-01-28 12:55:57 -05:00
Tito
aedd760141
fix(cli): restore brand integrity of CLI wordmark (#10912) 2026-01-27 22:24:02 -05:00
GitHub Action
5f2a7c630b chore: generate 2026-01-28 03:06:58 +00:00