Commit graph

223 commits

Author SHA1 Message Date
Kit Langton
cf27a73397
feat: add AppRuntime for unified service composition (#21953) 2026-04-10 19:46:52 -04:00
James Long
42206da1f8
refactor(tui): switch to global events and start passing workspace param (#21719) 2026-04-10 10:47:27 -04:00
Kit Langton
10441efad1
refactor(effect): extract session run state service (#21744) 2026-04-09 16:03:40 -04:00
Kit Langton
8bdcc22541
refactor(effect): inline session processor interrupt cleanup (#21593) 2026-04-08 21:19:01 -04:00
Dax
b7fab49b64
refactor(snapshot): store unified patches in file diffs (#21244)
Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com>
2026-04-07 19:48:23 -04:00
Shoubhit Dash
35350b1d25
feat: restore git-backed review modes (#20845) 2026-04-03 09:54:57 -05:00
Kit Langton
0c03a3ee10
test: migrate prompt tests to HTTP mock LLM server (#20304) 2026-03-31 19:14:32 -04:00
Kit Langton
e96eead32e
refactor(vcs): replace async git() with ChildProcessSpawner (#19361) 2026-03-27 02:14:46 +00:00
Kit Langton
9c6f1edfd7
refactor(effect): yield services instead of promise facades (#19325) 2026-03-26 21:46:38 -04:00
Kit Langton
28f5176ffd
effectify Config service (#19139) 2026-03-26 13:07:01 -04:00
Shoubhit Dash
1b028d0632
revert: roll back git-backed review modes (#19295) 2026-03-26 10:14:57 -04:00
opencode-agent[bot]
31ad6e85ba chore: generate 2026-03-26 00:56:34 +00:00
Kit Langton
97c15a087d
effectify Bus service: migrate to Effect PubSub + InstanceState (#18579) 2026-03-25 20:19:24 -04:00
Shoubhit Dash
73e107250d
feat: restore git-backed review modes with effectful git service (#18900) 2026-03-25 21:09:53 +05:30
opencode-agent[bot]
8994cbfc0f chore: generate 2026-03-24 18:05:43 +00:00
Kit Langton
539b01f20f
effectify Project service (#18808) 2026-03-24 14:04:22 -04:00
Kit Langton
38e0dc9ccd
Move service state into InstanceState, flatten service facades (#18483) 2026-03-21 04:51:35 +00:00
Kit Langton
d70099b059
fix: apply Layer.fresh at instance service definition site (#18418) 2026-03-20 14:37:12 -04:00
Aiden Cline
aeece6166b
ignore: revert 3 commits that broke dev branch (#18260) 2026-03-19 11:15:07 -05:00
Shoubhit Dash
e6f5214779
feat: add git-backed session review modes (#17961) 2026-03-19 19:29:29 +05:30
Kit Langton
a800583aea
refactor(effect): unify service namespaces and align naming (#18093) 2026-03-18 13:34:36 -04:00
Kit Langton
5dfe86dcb1
refactor(truncation): effectify TruncateService, delete Scheduler (#17957) 2026-03-17 21:59:54 -04:00
opencode-agent[bot]
bc949af623 chore: generate 2026-03-18 01:05:16 +00:00
Kit Langton
9e7c136de7
refactor(snapshot): effectify SnapshotService (#17878) 2026-03-17 21:04:16 -04:00
Kit Langton
335356280c
refactor(format): effectify FormatService as scoped service (#17675) 2026-03-16 15:58:36 -04:00
Kit Langton
e5cbecf17c
fix+refactor(vcs): fix HEAD filter bug and effectify VcsService (#17829) 2026-03-16 13:59:11 -04:00
Kit Langton
9e740d9947
stack: effectify-file-watcher-service (#17827) 2026-03-16 13:18:40 -04:00
Kit Langton
469c3a4204
refactor(instance): move scoped services to LayerMap (#17544) 2026-03-16 12:55:14 -04:00
Aiden Cline
510374207d
fix: vcs watcher if statement (#17673) 2026-03-15 19:20:39 -05:00
Michael Dwan
4b9b86b544
fix(opencode): lost sessions across worktrees and orphan branches (#16389)
Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com>
2026-03-13 15:51:55 -04:00
Aiden Cline
f8475649da
chore: cleanup migrate from global code (#17292) 2026-03-12 23:54:11 -05:00
Michael Dwan
b94e110a4c
fix(opencode): sessions lost after git init in existing project (#16814)
Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com>
2026-03-12 23:18:59 -05:00
Kit Langton
dd68b85f58
refactor(provider): effectify ProviderAuthService (#17227) 2026-03-13 02:08:37 +00:00
Kit Langton
2a4dedc210
feat(id): brand PermissionID, PtyID, QuestionID, and ToolID (#17042) 2026-03-12 01:49:57 +00:00
Kit Langton
dbc00aa8e0
feat(id): brand ProjectID through Drizzle and Zod schemas (#16948) 2026-03-11 16:44:26 -04:00
Dax
613562f504
core: make account login upgrades safe while adding multi-account workspace auth (#15487)
Co-authored-by: Kit Langton <kit.langton@gmail.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-10 12:53:47 -04:00
James Long
4c4aed5a87
fix(core): make worktrees read the project id from local workspace (#16795) 2026-03-10 11:11:28 -04:00
Dax
2f2856e20a
refactor(opencode): replace Bun shell in core flows (#16286) 2026-03-09 15:19:50 -04:00
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
Shoubhit Dash
d6e0f47361
feat: add project git init api (#16383) 2026-03-06 13:39:50 -06:00
Dax
74effa8eec
refactor(opencode): replace Bun.which with npm which (#15012) 2026-03-06 05:18:29 +00:00
Luke Parker
e718263778
fix(project): await git id cache write (#14977) 2026-02-25 00:46:12 +00:00
Erik Demaine
a74fedd23b
fix(desktop): change detection on Windows, especially Cygwin (#13659)
Co-authored-by: LukeParkerDev <10430890+Hona@users.noreply.github.com>
2026-02-23 09:49:05 +10: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
568eccb4c6 Revert: all refactor commits migrating from Bun.file() to Filesystem module 2026-02-18 19:41:14 -05:00
Dax
3a07dd8d96
refactor: migrate src/project/project.ts from Bun.file() to Filesystem/stat modules (#14126) 2026-02-18 19:37:10 -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
projectArtur
991496a753
fix: resolve ACP hanging indefinitely in thinking state on Windows (#13222)
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Co-authored-by: LukeParkerDev <10430890+Hona@users.noreply.github.com>
Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com>
Co-authored-by: Aiden Cline <aidenpcline@gmail.com>
2026-02-12 18:20:00 -06:00
adamelmore
acb92fcd34
chore: cleanup 2026-01-28 07:28:03 -06:00
adamelmore
c9bbea4266
chore: cleanup 2026-01-28 07:28:03 -06:00
adamelmore
65e1186efe
wip(app): global config 2026-01-28 07:28:03 -06:00
Adam
c4d223eb99 perf(app): faster workspace creation 2026-01-23 05:18:42 -06:00
Adam
16fad51b5e feat(app): add workspace startup script to projects 2026-01-22 07:42:56 -06:00
Adam
a4d1824412
fix(app): no more favicons 2026-01-19 14:59:47 -06:00
Adam
f26de6c52f feat(app): delete workspace 2026-01-19 07:35:52 -06:00
Aiden Cline
e2f1f4d81e
add scheduler, cleanup module (#9346) 2026-01-18 23:33:23 -06:00
Adam
af2a09940c
fix(core): more defensive project list 2026-01-15 13:58:39 -06:00
Adam
b0345284f9
fix(core): filter dead worktrees 2026-01-15 13:33:49 -06:00
Daniel Sauer
b68a4a8838
fix(state): delete key from recordsByKey on instance disposal (#8252) 2026-01-13 12:43:16 -06:00
Dillon Mulroy
fa79736b87
fix: check worktree for external_directory permission in subdirs (#7811) 2026-01-11 14:17:36 -06:00
Adam
5c66c8b8e1
fix(core): filter dead worktrees 2026-01-05 16:37:18 -06:00
Adam
2ca0ae7755
fix(app): more defensive, handle no git 2026-01-05 15:12:02 -06:00
Dax Raad
0b4af95223 core: add sandbox support for git worktrees to allow working in multiple directories per project 2026-01-03 18:52:53 -05:00
Adam
052de3c556
feat: add managed git worktrees (#6674) 2026-01-02 20:17:02 -06:00
Dax Raad
f1b8707286 ignore 2025-12-10 22:36:57 -05:00
Dax Raad
9b05217471 ignore 2025-12-10 22:34:16 -05:00
Dax Raad
9ad828dcd0 tui: use random free port and enable icon discovery by default
- Tauri app now automatically finds an available port instead of defaulting to 4096
- Icon discovery feature is now enabled by default in the Tauri app
- Prevents port conflicts when multiple OpenCode instances are running
2025-12-10 16:13:11 -05:00
Dax Raad
0759696ec0 core: enable project discovery for experimental builds 2025-12-09 21:23:55 -05:00
Dax Raad
132e772c26 core: fix project icon update handling to preserve existing icon properties 2025-12-09 16:55:26 -05:00
Dax Raad
5f6b2fdc6f fix tests 2025-12-09 16:03:33 -05:00
Dax Raad
a2e460bc4b discover logic 2025-12-09 15:51:55 -05:00
Dax Raad
06aa1f49b8 sync 2025-12-09 15:48:22 -05:00
Dax Raad
f1955b4d05 core: fix project event emission to include updated worktree data 2025-12-09 15:41:38 -05:00
Dax Raad
c5e5627cbd test fixes 2025-12-09 15:41:38 -05:00
Dax Raad
365584048f core: fix project creation to include updated timestamp 2025-12-09 15:18:55 -05:00
Dax Raad
edffcc32cf core: make project updated timestamp optional to support legacy project data 2025-12-09 15:18:55 -05:00
Dax Raad
7439a40b00 core: fix project icon update to preserve existing icon properties 2025-12-09 15:11:00 -05:00
Dax Raad
b48caec218 core: add automatic project icon discovery from favicon/logo files 2025-12-09 15:06:24 -05:00
Dax Raad
8bff3cdae8 fix ci 2025-12-09 14:53:47 -05:00
Dax Raad
0b40c3d37d rework project loading 2025-12-09 14:41:14 -05:00
Dax Raad
1e3bdcc71c rename bus 2025-12-09 14:32:09 -05:00
Adam
9a34965432
feat: add color to project 2025-12-09 13:29:59 -06:00
Dax Raad
fb1b6c5e6b add project.name/icon 2025-12-09 13:57:18 -05:00
Dax Raad
036f5d4eef core: add project update timestamps to track when projects were last modified
Projects now track when they were last updated, making it easier for users
to see recent activity and identify stale projects in their workspace.
2025-12-09 11:52:53 -05:00
Aiden Cline
aa884b003e core: prevent sessions from disappearing after git init
Previously, sessions created in a non-git directory would disappear from
the session picker after running git init and making the first commit.
This happened because the migration logic ran prematurely before a stable
project ID existed.
2025-12-06 23:32:47 -06:00
Aiden Cline
05d2f70529 ignore: tweak 2025-12-05 01:00:47 -06:00
Aiden Cline
f950de95ba
fix: ensure projects that go from having no commits to having commits have sessions migrated (#5105)
Co-authored-by: GitHub Action <action@github.com>
2025-12-05 00:49:07 -06:00
Aiden Cline
767a81f930 fix: ensure that vcs is still set to git even if no commits in repo 2025-12-04 23:02:11 -06:00
Aiden Cline
f6262460ff fix: drop absolute flag to resolve issues when using older git versions 2025-12-01 00:23:19 -06:00
Aiden Cline
99d7ff47c4
enable parcel file watcher, expand parcel ignore patterns, replace fs watcher for git branches with parcel (#4805) 2025-11-26 17:33:43 -06:00
Dax Raad
98031173b6 lil branch refactor 2025-11-26 12:34:48 -05:00
opencode-agent[bot]
df9952c291
Renamed vcs.changed to vcs.branch.updated (#4771)
Co-authored-by: opencode-agent[bot] <opencode-agent[bot]@users.noreply.github.com>
Co-authored-by: rekram1-node <rekram1-node@users.noreply.github.com>
2025-11-26 01:17:59 -06:00
Aiden Cline
09bc8d9ca4
show current git branch in tui (#4765)
Co-authored-by: GitHub Action <action@github.com>
2025-11-25 21:39:20 -06:00
Dax
49408c00e9
enterprise (#4617)
Co-authored-by: GitHub Action <action@github.com>
Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com>
2025-11-21 20:41:27 -05:00
Dax
23ea8ba1ce
Tui onboarding (#4569)
Co-authored-by: GitHub Action <action@github.com>
2025-11-21 00:21:06 -05:00
Dax Raad
340966195b handle config errors gracefully 2025-11-13 18:59:09 -05:00
Dax Raad
85f15893bc core: prevent crash when starting in repositories without any commits yet 2025-11-11 15:11:42 -05:00
Dax Raad
4bf75c0b44 core: remove unused experimental flags for turn summary and no-bootstrap to simplify feature flag management 2025-11-11 12:33:26 -05:00
Dax Raad
c9a52c9a85 cache project id in root git folder 2025-11-10 21:57:55 -05:00
Dax Raad
c9adbc7c21 tui: add logging when creating project instances to help users debug startup issues 2025-11-08 20:37:08 -05:00
Dax Raad
4d20e1c3c6 Merge remote-tracking branch 'origin/dev' into dev 2025-11-08 20:21:02 -05:00
Dax Raad
4bb7ea9127 improve startup speed 2025-11-08 20:18:36 -05:00
GitHub Action
34ff87d504 chore: format code 2025-11-08 01:59:02 +00:00
Dax Raad
894cbaa51e fix duplicate plugin subscriptions 2025-11-02 13:22:58 -05:00
Aiden Cline
041353f4ff
make /init a default slash command on server side (#3677) 2025-11-01 01:14:09 -05:00
Dax
96bdeb3c7b
OpenTUI is here (#2685) 2025-10-31 15:07:36 -04:00
Haris Gušić
c1ada302f9
fix: Opencode hangs after exit (#3481)
Co-authored-by: Aiden Cline <aidenpcline@gmail.com>
2025-10-30 23:57:58 -05:00
Dax Raad
22821744ef feat: add OPENCODE_FAKE_VCS flag for VCS testing and update todo tracking instructions 2025-10-28 02:54:29 -04:00
Aiden Cline
1a6fd018f6 Revert "fix: Explicitly exit CLI to prevent hanging subprocesses (#3083)"
This reverts commit a9624c0fff.
2025-10-27 01:30:13 -05:00
Haris Gušić
a9624c0fff
fix: Explicitly exit CLI to prevent hanging subprocesses (#3083)
Co-authored-by: Aiden Cline <aidenpcline@gmail.com>
2025-10-27 00:03:10 -05:00
Jérôme Benoit
0eb899a950
chore: cleanup versioned zod imports (#3460)
Signed-off-by: Jérôme Benoit <jerome.benoit@sap.com>
Co-authored-by: opencode-agent[bot] <opencode-agent[bot]@users.noreply.github.com>
Co-authored-by: rekram1-node <rekram1-node@users.noreply.github.com>
2025-10-26 14:50:41 -05:00
Aiden Cline
5d3a88f34f
fix: snapshot undo bug (#3290) 2025-10-19 18:42:34 -05:00
Adam
c2950d26f0
feat: experimental skip bootstrap 2025-10-09 14:51:11 -05:00
Dax Raad
5079ba7ce5 core: fix file search limit handling and ensure File module initialization 2025-10-02 00:18:18 -04:00
Aiden Cline
bc9ff7e99f
fix: worktree cmd (#2870) 2025-09-29 22:21:54 -05:00
Dax Raad
7be9dc8e49 ignore: fix 2025-09-19 06:13:45 -04:00
Dax Raad
ae6154e1c3 ignore: rework bootstrap so server lazy starts it 2025-09-19 05:11:29 -04:00
Dax
c1b4e1f19d
Upgrade to Zod v4 (#2605)
Co-authored-by: GitHub Action <action@github.com>
2025-09-15 03:12:07 -04:00
Aiden Cline
a431b8922c
fix: ensure opencode still works if no commits present (#2363) 2025-09-01 20:57:14 -04:00
Dax
f993541e0b
Refactor to support multiple instances inside single opencode process (#2360)
This release has a bunch of minor breaking changes if you are using opencode plugins or sdk

1. storage events have been removed (we might bring this back but had some issues)
2. concept of `app` is gone - there is a new concept called `project` and endpoints to list projects and get the current project
3. plugin receives `directory` which is cwd and `worktree` which is where the root of the project is if it's a git repo
4. the session.chat function has been renamed to session.prompt in sdk. it no longer requires model to be passed in (model is now an object)
5. every endpoint takes an optional `directory` parameter to operate as though opencode is running in that directory
2025-09-01 17:15:49 -04:00