Commit 5b136fe
Sync upstream v1.1.20 (#301)
* sync
* sync
* Update Nix flake.lock and x86_64-linux hash
* Update aarch64-darwin hash
* fix(TUI): make tui work when OPENCODE_SERVER_PASSWORD is set (anomalyco#8179)
* chore: generate
* wip: black
* docs: Update plan mode restrictions (anomalyco#8290)
* docs: add 302ai provider (anomalyco#8142)
* fix: add missing metadata() and ask() defintions to ToolContext type (anomalyco#8269)
* fix(tui): track all timeouts in Footer to prevent memory leak (anomalyco#8255)
* fix: deduplicate file refs in sent prompts (anomalyco#8303)
* chore: generate
* wip: black
* wip: black
* release: v1.1.17
* add fullscreen view to permission prompt
* chore: generate
* fix(desktop): correct health check endpoint URL to /global/health (anomalyco#8231)
* feat(desktop): Adding Provider Icons (anomalyco#8215)
* chore: generate
* console: reduce desktop download cache ttl to 5 minutes
* fix(github): add persist-credentials: false to workflow templates (anomalyco#8202)
* release: v1.1.18
* fix(desktop): Revert provider icon on select model dialog (anomalyco#8245)
* feat: add Undertale and Deltarune built-in themes (anomalyco#8240)
* chore: generate
* feat(desktop): Ask Question Tool Support (anomalyco#8232)
* fix(mcp): close existing client before reassignment to prevent leaks (anomalyco#8253)
* fix(state): delete key from recordsByKey on instance disposal (anomalyco#8252)
* docs: document ~/.claude/CLAUDE.md compatibility behavior (anomalyco#8268)
* feat: Add GitLab Duo Agentic Chat Provider Support (anomalyco#7333)
Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com>
Co-authored-by: Aiden Cline <aidenpcline@gmail.com>
* fix(cli): mcp auth duplicate radio button icon (anomalyco#8273)
* Update Nix flake.lock and x86_64-linux hash
* Update aarch64-darwin hash
* tweak: ensure external dir and bash tool invocations render workdir details
* tweak: external dir permission rendering in tui
* add family to gpt 5.2 codex in codex plugin
* fix(prompt-input): handle Shift+Enter before IME check to prevent stuck state (anomalyco#8275)
* feat: add plan mode with enter/exit tools (anomalyco#8281)
* chore: generate
* test: fix plan agent test path from .opencode/plan/* to .opencode/plans/*
* remove plan
* fix: update User-Agent string to latest Chrome version in webfetch (anomalyco#8284)
* fix: Add Plugin Mocks to Provider Tests (anomalyco#8276)
* chore: generate
* tweak: prompt for explore agent better
* do not allow agent to ask custom-less questions
* release: v1.1.19
* fix(TUI): make tui work when OPENCODE_SERVER_PASSWORD is set (anomalyco#8179)
* chore: generate
* docs: Update plan mode restrictions (anomalyco#8290)
* docs: add 302ai provider (anomalyco#8142)
* fix: add missing metadata() and ask() defintions to ToolContext type (anomalyco#8269)
* fix(tui): track all timeouts in Footer to prevent memory leak (anomalyco#8255)
* fix: deduplicate file refs in sent prompts (anomalyco#8303)
* chore: generate
* chore: generate
* Update Nix flake.lock and x86_64-linux hash
* Update aarch64-darwin hash
* fix(session): skip duplicate system prompt for Codex OAuth sessions (anomalyco#8357)
Co-authored-by: Claude <noreply@anthropic.com>
* feat: show connected providers in /connect dialog (anomalyco#8351)
* fix(opencode): fix docker image after sst rename in tips (anomalyco#8376)
* chore: generate
* ignore: update download stats 2026-01-14
* docs(prd): mark codex token refresh PR task as complete
- PR created at #298
- Fix includes: write token refresh to openai provider ID, fallback to legacy codex entry
- Tests pass (744 pass, 1 skip, 0 fail)
* test(auth): verify backwards compatibility for OAuth metadata fields
- Add test confirming minimal OAuth results (without optional email, name,
plan, orgName fields) persist correctly in auth storage
- All new metadata fields are optional in plugin types and auth schema
- Provider auth handler uses conditional checks before setting optional fields
- Verify 745 pass, 1 skip, 0 fail
* chore(prd): mark extractUserInfo tasks as complete
The extractUserInfo function is already implemented in codex.ts:92-105.
It parses id_token, extracts email, name, and accountId from claims,
and returns a UserInfo object. All tests pass.
* chore(prd): mark OAuth callback integration tasks as complete
OAuth callback already calls extractUserInfo(tokens) after token exchange and includes email, name, accountId in the success payload.
* fix(app): file listing (anomalyco#8309)
* chore(prd): mark normalizePlanType tasks as complete
normalizePlanType function maps plan values to standardized tiers (free, plus, pro, team, enterprise, unknown) and handles case variations.
* feat(server): add GET /auth/info/:providerID endpoint for account metadata
- Added endpoint in server.ts that returns auth metadata (authenticated, type, email, plan, accountId)
- Returns 404 with authenticated: false if provider not found
- Generated openapi.json with new endpoint definition
- Regenerated SDK with auth.info method and types (AuthInfoData, AuthInfoResponses)
- Updated prd.json to mark SDK generation tasks as complete
- Tests pass: 745 pass, 1 skip, 0 fail
* chore(prd): mark PR merge and SDK tasks as complete
- Marked "Merge PR before starting Phase 1" as complete (PR #298 already merged)
- Updated verification steps for auth.info endpoint implementation
* chore(prd): mark legacy codex cleanup task as complete
- Verified migration copies codex to openai, Auth.remove('codex') available for manual cleanup
- Removal is intentionally manual to prevent data loss if migration fails
* chore: mark session complete
* chore(prd): mark background task implementation as complete
- Verified fetchChatGPTUserInfo background task at codex.ts:606-632
- Task spawns via 'void updatePlan().catch(() => {})' - non-blocking
- Updates auth metadata via auth.set when plan/orgName retrieved
- OAuth success returns immediately regardless of background task result
* chore(prd): mark manifest.ts creation as complete
- Verified manifest.ts exists with InstalledSkill and SkillManifest interfaces
- Implements loadManifest, saveManifest, getInstalled, addInstalled, removeInstalled
- Used by skill installer to track installed skills and their metadata
* chore(prd): mark skill index and installer files as complete
- Verified skill/index.ts exists with SkillIndex interface and caching logic
- Implements loadIndex (cache with TTL), buildIndex (fetch and write), search (fuzzysort)
- Verified skill/installer.ts exists with installSkill and uninstallSkill functions
- Copies skill files to SKILLS_DIR and updates manifest with installed metadata
* fix plan mode when not in git worktree
* chore(prd): mark github fetcher as complete
- Verified skill/fetcher/github.ts exists with 200 lines implementing git and tarball fetching
- fetchRegistry() entry point with hasGit() check and tarball fallback
- scanSkills() walks directories matching SKILL.md globs with minimatch
- parseSkillFile() extracts YAML frontmatter for skill metadata
* chore(prd): mark clawdhub and url fetchers as complete
- Verified skill/fetcher/clawdhub.ts exists with stub fetchRegistry returning []
- Verified skill/fetcher/url.ts exists with stub fetchRegistry returning []
- Both are TODO stubs awaiting API contract confirmation and implementation
* fix(ui): layout-bottom icons (anomalyco#8330)
* fix(desktop): "load more" button behavior in desktop sidebar (anomalyco#8430)
* chore: generate
* release: v1.1.20
* sync: record last synced tag v1.1.20
* fix: suppress TS2589 type recursion error in server route chain
---------
Co-authored-by: Frank <frank@anoma.ly>
Co-authored-by: Github Action <action@github.com>
Co-authored-by: Leonidas <77194479+LeonMueller-OneAndOnly@users.noreply.github.com>
Co-authored-by: Eduard Voiculescu <eduardvoiculescu95@gmail.com>
Co-authored-by: ⌞L⌝ <151412975+mthezi@users.noreply.github.com>
Co-authored-by: Daniel M Brasil <danielmbrasil@protonmail.com>
Co-authored-by: Daniel Sauer <81422812+sauerdaniel@users.noreply.github.com>
Co-authored-by: Felix Sanchez <felix.sanchez.dev@gmail.com>
Co-authored-by: opencode <opencode@sst.dev>
Co-authored-by: Dax Raad <d@ironbay.co>
Co-authored-by: usvimal <usvimal@gmail.com>
Co-authored-by: Daniel Polito <danielbpolito@gmail.com>
Co-authored-by: Brendan Allan <git@brendonovich.dev>
Co-authored-by: cmdr-chara <legend.alkalex07@gmail.com>
Co-authored-by: Zeke Sikelianos <zeke@sikelianos.com>
Co-authored-by: Vladimir Glafirov <vglafirov@gitlab.com>
Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com>
Co-authored-by: Aiden Cline <aidenpcline@gmail.com>
Co-authored-by: Dillon Mulroy <dillon.mulroy@gmail.com>
Co-authored-by: Joe Harrison <22684038+josephbharrison@users.noreply.github.com>
Co-authored-by: Dax <mail@thdxr.com>
Co-authored-by: Alan <alan.thiec@gmail.com>
Co-authored-by: zerone0x <hi@trine.dev>
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Akshar Patel <123344143+AksharP5@users.noreply.github.com>
Co-authored-by: Goni Zahavy <goni1993@gmail.com>
Co-authored-by: Filip <34747899+neriousy@users.noreply.github.com>
Co-authored-by: Andrew Jazbec <andrew@jazbec.io>
Co-authored-by: Shane Bishop <71288697+shanebishop1@users.noreply.github.com>1 parent df300ff commit 5b136fe
68 files changed
Lines changed: 16328 additions & 437 deletions
File tree
- .github
- infra
- nix
- packages
- app
- src
- context
- pages
- console
- app
- src/routes
- auth
- black
- subscribe
- core
- migrations
- meta
- src/schema
- function
- mail
- resource
- desktop
- enterprise
- extensions/zed
- function
- opencode
- src
- agent
- cli/cmd/tui
- component
- prompt
- routes/session
- server
- session
- prompt
- test
- auth
- server
- plugin
- src
- sdk
- js
- src/v2/gen
- slack
- ui
- src
- components
- hooks
- util
- web
- src/content/docs
- script/sync
- sdks/vscode
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
| 1 | + | |
Whitespace-only changes.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
200 | 200 | | |
201 | 201 | | |
202 | 202 | | |
| 203 | + | |
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
122 | 122 | | |
123 | 123 | | |
124 | 124 | | |
| 125 | + | |
125 | 126 | | |
126 | 127 | | |
127 | 128 | | |
| |||
177 | 178 | | |
178 | 179 | | |
179 | 180 | | |
| 181 | + | |
180 | 182 | | |
181 | 183 | | |
182 | 184 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | | - | |
4 | | - | |
| 3 | + | |
| 4 | + | |
5 | 5 | | |
6 | 6 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | | - | |
| 3 | + | |
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
42 | 42 | | |
43 | 43 | | |
44 | 44 | | |
| 45 | + | |
45 | 46 | | |
46 | 47 | | |
47 | 48 | | |
| |||
110 | 111 | | |
111 | 112 | | |
112 | 113 | | |
| 114 | + | |
113 | 115 | | |
114 | 116 | | |
115 | 117 | | |
| |||
131 | 133 | | |
132 | 134 | | |
133 | 135 | | |
134 | | - | |
135 | | - | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
136 | 140 | | |
137 | 141 | | |
138 | 142 | | |
| |||
143 | 147 | | |
144 | 148 | | |
145 | 149 | | |
146 | | - | |
| 150 | + | |
147 | 151 | | |
148 | 152 | | |
149 | 153 | | |
| 154 | + | |
| 155 | + | |
150 | 156 | | |
151 | 157 | | |
152 | 158 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
955 | 955 | | |
956 | 956 | | |
957 | 957 | | |
958 | | - | |
| 958 | + | |
959 | 959 | | |
960 | 960 | | |
961 | 961 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | | - | |
| 3 | + | |
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
7 | 7 | | |
8 | 8 | | |
9 | | - | |
| 9 | + | |
10 | 10 | | |
11 | 11 | | |
12 | 12 | | |
| |||
23 | 23 | | |
24 | 24 | | |
25 | 25 | | |
| 26 | + | |
26 | 27 | | |
27 | 28 | | |
28 | 29 | | |
29 | 30 | | |
| 31 | + | |
30 | 32 | | |
31 | 33 | | |
32 | 34 | | |
| |||
0 commit comments