Skip to content

chore: sync upstream v1.3.16 - #94

Merged
terisuke merged 11 commits into
devfrom
chore/upstream-sync-20260406
Apr 6, 2026
Merged

chore: sync upstream v1.3.16#94
terisuke merged 11 commits into
devfrom
chore/upstream-sync-20260406

Conversation

@terisuke

@terisuketerisuke commented Apr 6, 2026

Copy link
Copy Markdown

Summary

Closes#95

Notes

  • Fork workflows preserved (not overwritten by upstream)
  • packages/guardrails/ untouched by upstream merge

Test plan

  • bun run typecheck passes
  • Guardrails profile loads correctly
  • TUI launches without errors

🤖 Generated with Claude Code

Honaand others added 11 commits April 6, 2026 00:26
…azure (anomalyco#20272)
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com>
…nomalyco#20399)
Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com>
Co-authored-by: Aiden Cline <aidenpcline@gmail.com>
Merge 10 upstream commits including:
- v1.3.16 release
- Cloudflare provider env vars error message fix
- Azure provider fix (pass both 'openai' and 'azure' providerOptions)
- Mouse disable feature (tui.json mouse field)
- Windows Ctrl+Z undo tip
- Plugin package specifier parsing fix
- ACP configOptions implementation
- Nix hashes update
- Zen rate limiter normalization
Conflict resolution: kept both fork's notifications field and
upstream's mouse field in tui-schema.ts. bun.lock regenerated.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
CopilotAI review requested due to automatic review settings April 6, 2026 06:15
@github-actions

Copy link
Copy Markdown

This PR doesn't fully meet our contributing guidelines and PR template.

What needs to be fixed:

  • PR description is missing required template sections. Please use the PR template.

Please edit this PR description to address the above within 2 hours, or it will be automatically closed.

If you believe this was flagged incorrectly, please let a maintainer know.

CopilotAI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Syncs upstream anomalyco/opencode changes for the v1.3.16 release, bringing in multiple provider fixes, TUI improvements, plugin parsing fixes, and dependency/version updates while preserving fork-specific features.

Changes:

  • Bumps versions across packages/extensions to 1.3.16 and regenerates bun.lock / nix hashes.
  • Updates TUI behavior/config (mouse disable, Windows Ctrl+Z undo default) and corresponding docs/tests.
  • Improves provider/plugin plumbing (Cloudflare env error handling + auth metadata, Azure providerOptions, plugin specifier parsing, ACP configOptions).

Reviewed changes

Copilot reviewed 45 out of 46 changed files in this pull request and generated 2 comments.

Show a summary per file
FileDescription
sdks/vscode/package.jsonVS Code extension version bump to 1.3.16
packages/web/src/content/docs/tui.mdxDocuments new mouse TUI setting
packages/web/src/content/docs/config.mdxUpdates TUI config example (adds mouse)
packages/web/src/content/docs/cli.mdxDocuments OPENCODE_DISABLE_MOUSE env var
packages/web/package.jsonWeb package version bump to 1.3.16
packages/util/package.jsonUtil package version bump to 1.3.16
packages/ui/package.jsonUI package version bump to 1.3.16
packages/slack/package.jsonSlack package version bump to 1.3.16
packages/sdk/openapi.jsonAdds metadata to API auth schema
packages/sdk/js/src/v2/gen/types.gen.tsAdds metadata to ApiAuth generated type
packages/sdk/js/package.jsonSDK JS package version bump to 1.3.16
packages/plugin/package.jsonPlugin package version bump to 1.3.16
packages/opencode/test/plugin/shared.test.tsAdds tests for plugin specifier parsing
packages/opencode/test/npm.test.tsAdds tests for Windows npm spec sanitization
packages/opencode/test/config/tui.test.tsAdds Windows-only tests for Ctrl+Z undo defaults
packages/opencode/src/provider/transform.tsAzure providerOptions compatibility fix (openai+azure keys)
packages/opencode/src/provider/provider.tsCloudflare provider env/metadata handling + clearer errors
packages/opencode/src/plugin/shared.tsUses npm-package-arg for robust spec parsing/installation
packages/opencode/src/plugin/index.tsRegisters new internal Cloudflare auth plugins
packages/opencode/src/plugin/cloudflare.tsAdds Cloudflare auth plugins (prompts for account/gateway IDs)
packages/opencode/src/npm/index.tsSanitizes Windows cache directory names for npm installs
packages/opencode/src/flag/flag.tsAdds OPENCODE_DISABLE_MOUSE flag
packages/opencode/src/config/tui.tsWindows keybind defaults (Ctrl+Z => undo; disable suspend)
packages/opencode/src/config/tui-schema.tsAdds mouse to TUI schema
packages/opencode/src/cli/cmd/tui/feature-plugins/home/tips-view.tsxWindows-specific Ctrl+Z tip
packages/opencode/src/cli/cmd/tui/component/dialog-provider.tsxSupports auth prompt metadata when saving API auth
packages/opencode/src/cli/cmd/tui/app.tsxImplements mouse enable/disable via config + env flag
packages/opencode/src/auth/index.tsAdds optional metadata to API auth schema
packages/opencode/src/acp/agent.tsAdds ACP session configOptions + setSessionConfigOption
packages/opencode/package.jsonCore package version bump + adds npm-package-arg deps/types
packages/function/package.jsonFunction package version bump to 1.3.16
packages/extensions/zed/extension.tomlZed extension version bump + release URLs updated
packages/enterprise/package.jsonEnterprise package version bump to 1.3.16
packages/desktop/package.jsonDesktop package version bump to 1.3.16
packages/desktop-electron/package.jsonDesktop Electron package version bump to 1.3.16
packages/console/mail/package.jsonConsole mail package version bump to 1.3.16
packages/console/function/package.jsonConsole function package version bump to 1.3.16
packages/console/core/src/subscription.tsRemoves unused free-limit header/fallback fields
packages/console/core/package.jsonConsole core package version bump to 1.3.16
packages/console/app/src/routes/zen/util/rateLimiter.tsSimplifies daily limit selection logic
packages/console/app/src/routes/zen/util/handler.tsNormalizes IPv6-ish x-real-ip for rate limiting
packages/console/app/package.jsonConsole app package version bump to 1.3.16
packages/app/package.jsonApp package version bump to 1.3.16
nix/hashes.jsonUpdates nix node_modules hashes
bun.lockRegenerated lockfile reflecting version + dependency updates

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines 14 to 30
@@ -19,8 +20,13 @@ export namespace Npm {
}),
)

export function sanitize(pkg: string) {
if (!illegal) return pkg
return Array.from(pkg, (char) => (illegal.has(char) || char.charCodeAt(0) < 32 ? "_" : char)).join("")
}

function directory(pkg: string) {
return path.join(Global.Path.cache, "packages", pkg)
return path.join(Global.Path.cache, "packages", sanitize(pkg))
}

CopilotAIApr 6, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

On Windows, sanitize() maps several distinct characters to "_". Different package specifiers can therefore collide to the same cache directory name (e.g., different URLs / refs that only vary by an illegal character), causing the wrong cached package to be reused. Consider incorporating a stable disambiguator (e.g., percent-encoding each replaced character, or appending a short hash of the original spec) so directory names remain filesystem-safe without risking collisions.

Copilot uses AI. Check for mistakes.
.default(true)
.optional()
.describe("Show system notifications when sessions complete or error. Requires terminal focus-loss detection."),
mouse: z.boolean().optional().describe("Enable or disable mouse capture (default: true)"),

CopilotAIApr 6, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

TuiOptions.mouse is described as having default true, but the zod schema does not set a default (unlike notifications). This can make generated schema/docs inconsistent with runtime behavior. Either add .default(true) here or remove the default claim from the description to keep the schema authoritative.

Suggested change
mouse: z.boolean().optional().describe("Enable or disable mouse capture (default: true)"),
mouse: z.boolean().default(true).optional().describe("Enable or disable mouse capture (default: true)"),

Copilot uses AI. Check for mistakes.
@terisuke
terisukeforce-pushed the chore/upstream-sync-20260406 branch from 9a0bbac to 2da9df9CompareApril 6, 2026 06:22
@terisuke
terisuke merged commit 76fc8ec into devApr 6, 2026
17 of 23 checks passed
@terisuketerisuke mentioned this pull request Apr 6, 2026
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

chore: upstream sync v1.3.16

8 participants

@terisuke@Hona@blackheaven@georgeharker@meruiden@fwang@mchenco