← Back

anomalyco/opencode

0 credits
April 22, 2026
PR fix: preserve BOM in text tool round-trips Apr 22 · 8:03 AM 1 credit

Fix: Preserve UTF-8 BOM in text tool round-trips

This PR fixes a bug where UTF-8 BOM (Byte Order Mark) characters were being lost or rendered incorrectly during text tool round-trips (write, edit, apply_patch). It introduces a BOM utility module (bom.ts) to detect, preserve, and restore BOMs in file operations. Changes span format, patch, and tool modules to carry BOM state through writes and formatter runs, with new regression tests for BOM preservation across overwrites, edits, and patch diffs.

  • Preserves UTF-8 BOMs in write, edit, and apply_patch tool operations
  • BOM is not leaked into visible diff or edit text
  • Patch application carries BOM state through writes so formatters don't drop it silently
  • Adds new Bom utility module (split, join, readFile, syncFile)
  • Format.file() now returns boolean indicating whether a formatter ran
  • Adds regression tests for BOM overwrite, first-line edits, and apply-patch preview diffs
  • Updates format test to use node instead of shell commands for cross-platform compatibility

Improved icon override handling in project edit dialog

This commit fixes icon handling in a project edit dialog by renaming `iconUrl` to `iconOverride` for clarity, improving display logic to properly distinguish between overridden and default icons, removing hardcoded default colors, and enhancing hover/click interactions. The changes ensure proper icon state management and visual feedback.

  • Renamed iconUrl to iconOverride for better semantic clarity
  • Fixed icon display logic to properly handle override vs default project icons
  • Removed hardcoded default pink color from initial state
  • Improved icon hover/click interaction logic
  • Updated color selection to allow toggling (select/deselect)
  • Fixed sidebar icon rendering to show color-based avatars when appropriate
PR chore: bump Bun to 1.3.13 Apr 22 · 5:18 AM 1 credit

Bun version upgrade to 1.3.13

This PR updates the project from Bun 1.3.11 to Bun 1.3.13, including package manager version, Docker container, and test output fixtures. The @types/bun dependency is updated to 1.3.12 since 1.3.13 types aren't published yet. The changes involve updating package.json, bun.lock, Dockerfile, and a test output fixture to reflect the new Bun version.

  • Bun version upgraded from 1.3.11 to 1.3.13
  • @types/bun updated to 1.3.12 (1.3.13 types not available)
  • Docker container updated to use Bun 1.3.13
  • Test output fixture updated to show Bun 1.3.13
  • bun.lock file regenerated
  • Typecheck and installation verification performed
  • Refactor/code improvement type change
PR feat: update codex plugin to support 5.5 Apr 22 · 4:35 AM 1 credit

Codex plugin updated for GPT-5.5 support

This is a code commit that updates the Codex plugin to add support for the new GPT-5.5 model. The change involves adding 'gpt-5.5' to the list of supported models in the plugin's authentication function. The commit is described as preemptive given that people are posting about the model launch soon.

  • Adds GPT-5.5 support to Codex plugin
  • Updates model list in authentication function
  • Preemptive update ahead of model launch
  • Simple addition to existing model array
  • Maintains existing plugin structure

Refactor MessageV2 errors to Schema-backed implementation

This commit introduces a new `namedSchemaError` helper to migrate MessageV2 errors from Zod-based NamedError to Schema-backed errors while maintaining API compatibility. The refactor updates all MessageV2 error types (OutputLengthError, AbortedError, etc.) to use the new helper, ensuring wire format stability and identical OpenAPI/SDK output. Only minor downstream code adjustments were needed for type safety.

  • Introduces namedSchemaError helper for Schema-backed errors
  • Migrates all MessageV2 errors from NamedError.create to new helper
  • Maintains identical API surface and wire format
  • Ensures OpenAPI/SDK output remains byte-identical
  • Requires minor type narrowing in github.ts for err.data.message
  • All tests pass and type checking is clean

Internal Cursor schema migration from Zod to Effect

This is a technical refactoring commit that migrates an internal Cursor schema from Zod to Effect Schema in a message system. The change is internal only, not affecting the SDK surface, and all tests pass with clean type checking.

  • Refactored internal Cursor schema from Zod to Effect Schema
  • Change is internal only (not on SDK surface)
  • All tests pass (282/0)
  • Type checking is clean
  • Generated OpenAPI remains byte-identical
  • Cursor used for paginated message queries
  • Added decodeCursor function for schema decoding

Migrate MessageV2 DTOs to Effect Schema

This is a code refactoring PR that migrates MessageV2 message DTOs (User, Assistant, Part, Info, WithParts) from Zod to Effect Schema. It's the fourth piecemeal slice of a session-domain migration, updating schemas while maintaining backward compatibility through derived `.zod` properties. The PR includes changes to multiple files to reference the new schemas and ensures all tests pass.

  • Migrates MessageV2 DTOs from Zod to Effect Schema
  • Maintains backward compatibility with derived `.zod` properties
  • Replaces cast-based Zod Part definition with proper Schema.Union
  • Keeps Assistant.error as Zod-side discriminated union via ZodOverride
  • Updates all callers to reference `.zod` instead of direct Zod API
  • All tests pass (2010 pass / 0 fail) and type checking is clean
  • Event payloads still take Zod inputs but reference derived `.zod` schemas
  • Remaining Zod includes NamedError.create error classes and internal Cursor
April 21, 2026
TAG v1.14.20 Apr 21 · 7:07 PM 1 credit

Release v1.14.20: Bug fixes and improvements

Version 1.14.20 is a maintenance release with bug fixes and improvements across Core, TUI, Desktop, and SDK components. Key fixes include system theme regression, Windows dynamic imports, permission routing, desktop UI animations, and project state synchronization. The release also adds new features like a config API endpoint and progress bar settings.

  • Fixed system theme regression in TUI
  • Added GET /config to experimental HTTP API
  • Fixed local dynamic imports on Windows for plugin/tool loading
  • Fixed permission routing for remote workspaces
  • Stopped prompt controls from replaying fade-in animations
  • Added setting to hide session progress bar during agent work
  • Fixed Select Server dialog layout and synced project updates
  • Fixed sidebar project avatars to use icon.url fallback
  • Fixed WorkspaceAdaptor.create type to include env parameter
  • Includes contributions from 4 community members
April 20, 2026
TAG v1.14.19 Apr 20 · 7:21 AM 1 credit

v1.14.19: Session Compaction Improvements, NVIDIA Provider, Windows ARM64 Support

Version 1.14.19 includes significant improvements to session compaction, fixing circular dependencies in compiled binaries, adding NVIDIA as a built-in provider, improving Windows support with ARM64 ripgrep, preventing parallel edit conflicts, and enhancing desktop UI with reduced flicker and terminal font settings. The release features contributions from community member @anniesurla.

  • Fixed circular dependency preventing compiled binaries from starting
  • Renamed compaction setting to preserve_recent_tokens
  • Prevented parallel edits from overwriting each other
  • Added Windows ARM64 ripgrep support and fixed managed installs
  • Added NVIDIA as built-in provider with documentation
  • Improved session compaction to keep recent turns verbatim
  • Reduced loading flicker in desktop UI
  • Added separate terminal font setting with bundled JetBrainsMono Nerd Font
  • Includes contributions from community contributor @anniesurla
April 19, 2026
TAG v1.14.18 Apr 19 · 9:36 AM 1 credit

v1.14.18: Ripgrep Restoration and Major Refactoring

v1.14.18 is a major release focused on restoring the native ripgrep backend for reliable file search and file listing. The release includes extensive refactoring work converting namespaces to ES modules, migrating configuration schemas to Effect framework, and various bug fixes. Key improvements include better error reporting for npm installations, Windows terminal compatibility fixes, and enhanced telemetry with OpenTelemetry support.

  • Restored native ripgrep backend for reliable file search and listing
  • Extensive refactoring converting namespaces to ES modules
  • Migrated configuration schemas to Effect framework
  • Improved npm installation error reporting with better context
  • Windows terminal compatibility fixes (ctrl+z for undo)
  • Enhanced telemetry with OpenTelemetry resource attributes
  • Better workspace reconnection with exponential backoff
  • Session navigation fixes for --session-id flag
  • Various UI improvements and bug fixes