Skip to content

Releases: chriswritescode-dev/opencode-manager

v0.14.6

Choose a tag to compare

@chriswritescode-dev chriswritescode-dev released this 01 Jul 00:00

Features

  • Session Pinning — Pin important sessions to a dedicated section at the top of the session list. Unpin anytime. (#301)
  • Server Restart & Health — Graceful restart coordination with automatic session resume, live health status indicator in Settings. (#300)
  • Schedule Permissions & Workspace Tracking — Configure allowed file access and blocked bash commands per schedule. Workspace ID tracking on runs. (#297)

Fixes

  • Migration runner version-name mismatch detection — The runner now warns when a recorded migration's name differs from the code migration at the same version, preventing silent skips.

Chores

  • Test suite cleanup: removed 229 lines of dead/redundant tests, rewrote SessionDetail polling test to exercise real gating. (#299)
  • Full documentation and screenshots for session pinning, server health, schedule permissions, skills, and worktree isolation features.

v0.14.5

Choose a tag to compare

@chriswritescode-dev chriswritescode-dev released this 29 Jun 15:29

v0.14.5 (2026-06-29)

Features

  • Add schedule worktree isolation for running jobs in isolated worktrees (#295)
  • Add repo rename capability with custom name field (#294)
  • Add bundle-based OCM mirror sync (#289)

Fixes

  • Reconcile confirmed prompt on message fetch to clear stale send errors (#296)
  • Add mobile bottom padding to prompts tab and show edit/delete buttons on touch (#293)
  • Filter source control commits by branch (#286)
  • Follow up prompt preservation changes (#292)
  • Allow saving edited PAT credential when reusing existing token

Refactors

  • Simplify RenameRepoDialog styling and remove unused props
  • Extract CredentialProvider service and consolidate git-auth utilities (#283)
  • Remove assistant auto-launch and simplify redirect flow (#282)

v0.14.1

Choose a tag to compare

@chriswritescode-dev chriswritescode-dev released this 20 Jun 04:43

What's Changed

Features

  • Directory Files Upload — upload markdown files from local folders as OpenCode commands and agents via the Settings UI (file or folder picker)
  • Deferred Restart Model — config saves, skill CRUD, and directory file operations return restartRequired: true instead of restarting the server immediately. An amber "Restart Now" banner appears when a restart is pending
  • vcs.branch.updated SSE Handling — the frontend now reacts to branch-change events from the OpenCode server, keeping git status caches in sync

Refactors

  • Cache Invalidation ConsolidationinvalidateRepoGitCaches, setRepoGitStatusCaches, invalidateRepoGitCachesDebounced helpers replace scattered per-call-site invalidation; all 8+ git mutation sites migrated
  • Skills Service Trim — directory config management extracted from skills.ts to new dedicated service; normalizeInstallRelativePath unified into shared normalizeUploadRelativePath
  • Upload Utilities ExtractedparseUploadManifest/readUploadedManifestFiles shared between skill install and directory file upload routes
  • useCommandsuseQuery — migrated from useState/useEffect to React Query with initialData
  • Touch Handling Consolidation — new useTouchTapSelect hook replaces inline touch-tap logic in CommandSuggestions and MentionSuggestions
  • useRefreshOnOpen Hook — reusable pattern for refreshing stale data when panels/sheets open
  • RestartServerDialog SimplifiedisSaving prop removed
  • OpenCodeConfigManager Layout Fixmin-h-0, safe-area-inset-bottom support
  • SettingsList Empty State — improved sizing constraints (max-h-40, min-h-24)

Fixes

  • Visual Viewport Detection — added isTextInputFocused guard, additional event listeners for focusout/pageshow/visibilitychange
  • ModelQuickSelect Styling — variant selector trigger restyled as compact button with chevron
  • Docker Workflowworkflow_dispatch trigger added; v prefix stripped from OpenCode version

Commits

  • feat: directory files upload system, deferred restart model, cache invalidation consolidation, and misc improvements (#281)
  • chore: add workflow_dispatch to Docker build workflow
  • fix: strip v prefix from opencode version in Docker workflow

Full Changelog: v0.14.0...v0.14.1

v0.14.0

Choose a tag to compare

@chriswritescode-dev chriswritescode-dev released this 18 Jun 14:49

Highlights

Skill Installer

You can now install skills directly from GitHub repos or upload custom skills, all from the Settings UI. Supports installing from GitHub tree URLs (e.g., github.com/user/repo/tree/main/skills/teach), overwrite conflict detection, search/filter by scope (all/project/global), and a unified skill library list. Includes a new backend GitHub utility (githubFetch) and shared schemas for install requests/responses. (#279)

Unified Settings Editor Layouts

Extracted a reusable <SettingsList> / <SettingsListRow> UI component and applied it across AgentsEditor, CommandsEditor, McpServerCard, OpenCodeModelsEditor, and the skills list. Every settings panel now shares consistent loading, empty, error, and scroll states. Cards/DropdownMenus replaced with a unified pattern. Plus a new <RestartServerDialog> for explicit server restart prompts. (#280)

Offline Resilience

Major rework of the app's failure handling:

  • Prompt text is now preserved across network errors and stored in the error state for recovery
  • Removed optimistic message insertion (no more ghost messages in the chat on network failure)
  • Gateway timeout (HTTP 524) is silently swallowed instead of showing error toasts
  • SSE connection timeout (10s) recovers from connections that never open
  • Service worker fully rewritten with build-hash-based precaching, app shell (network-first), runtime asset cache (cache-first), and smart cache invalidation on SW activation
  • New swPrecacheManifest Vite plugin auto-generates the precache manifest at build time
  • Service worker update checks run on visibility change, window focus, and a 1-minute interval (was 1 hour)
  • New <RouteErrorBoundary> with "You're offline" state and retry/auth actions (#276)

Config Dropdown Improvements

The config selector no longer auto-applies on dropdown selection. Instead, an explicit "Apply" button appears for non-active configs. The active config shows "(Active)" labeling, and a new confirmation dialog prompts before restarting the server when a default config is updated. (#275)

Docker Build Rework

The Dockerfile now downloads the OpenCode binary directly from GitHub releases instead of running the install script (avoids GitHub API rate limits). Proper architecture detection for arm64 vs x64. (#274)


Full Changelog

Features

  • Skill installer with GitHub tree and upload support (#279)
  • Unified <SettingsList> component for all settings editors (#280)
  • Explicit "Apply" button for config selection (#275)

Fixes

  • Preserve prompt text on network errors and allow offline typing (#276)
  • Remove optimistic ghost messages in chat on failure (#276)
  • Swallow gateway timeout (524) without error toasts (#276)
  • SSE connect timeout to recover from stalled connections (#276)
  • Avoid GitHub API lookup during Docker opencode install (#274)
  • Avoid auto-applying OpenCode config on dropdown selection (#275)

Refactors

  • Extract SettingsList component with reusable loading/empty/error states (#280)
  • Unify AgentsEditor, CommandsEditor, McpServerCard, OpenCodeModelsEditor layouts (#280)
  • Extract RestartServerDialog from inline server restart logic (#280)
  • Remove RepoSkillsList in favor of unified skill library (#279)

Service Worker & Offline

  • Build-hash-based precaching with Vite plugin (#276)
  • App shell (network-first) and runtime asset cache (cache-first) strategies (#276)
  • Smart cache invalidation on SW activation (#276)
  • Faster SW update detection (1min interval + visibility/focus events) (#276)

Infrastructure

  • Docker: direct binary download with arch detection (#274)
  • New githubFetch utility for GitHub API calls (#279)
  • New shared schemas: InstallSkillFromGithubRequest, InstallSkillUploadRequest, InstallSkillResponse (#279)

Tests

  • 7 new test files: settings-list.test.tsx, AgentsEditor.test.tsx, CommandsEditor.test.tsx, McpServerCard.test.tsx, OpenCodeConfigManager.test.tsx, RestartServerDialog.test.tsx, opencode-errors.test.ts
  • Updated tests for SkillsEditor, RepoSkillsDialog, useSendPrompt, openCodeEventStream, SessionDetail
  • 371-line test for skill install routes, 429-line test for skills service

New files: 18 | Modified files: 39 | Deleted files: 1 | +4,102 / -1,087

v0.13.1

Choose a tag to compare

@chriswritescode-dev chriswritescode-dev released this 10 Jun 12:38

Bug fixes and improvements

v0.13.0

Choose a tag to compare

@chriswritescode-dev chriswritescode-dev released this 09 Jun 18:59

What's Changed

  • fix: prevent deletion of assistant repo in deleteRepo
  • refactor: persist assistant repo in database with ID migration (#271)
  • refactor: move assistant workspace install before OpenCode server start (#263)
  • refactor: extract shared useUrlParams hook and use push navigation for dialogs (#266)
  • feat: replay session statuses on upstream reconnect and add compact type (#268)
  • feat: interactive task list checkboxes in markdown preview (#267)
  • fix: allow editing in config editor without clearing search first (#265)
  • fix: derive session active state from server status and incomplete assistant, not last user message
  • refactor: derive session active state from messages instead of status store (#264)

v0.12.3

Choose a tag to compare

@chriswritescode-dev chriswritescode-dev released this 06 Jun 17:10

What's Changed

  • SSE hardening: queue-based writer with backpressure and directory-aware batching for improved reliability
  • SSE frame utility: added structured SSE framing utility for consistent event formatting
  • Parts batcher: defer operations when target message is missing from cache to avoid race conditions
  • Model store: skip unnecessary subscriber notifications on no-op variant changes
  • TypeScript: fix type narrowing error on messages.length check during loading state
  • Docker: update Node.js base image and docker-compose config improvements
  • Docker upgrade script: improved upgrade workflow with better error handling

v0.12.2

Choose a tag to compare

@chriswritescode-dev chriswritescode-dev released this 05 Jun 22:47

Headline: Assistant Scheduling

Assistant workspace can now schedule jobs and tasks — not just regular code repos. This means the Assistant repo (repoId=0) supports the full schedule workflow (prompts, templates, runs, cleanup), with cascade delete protection to preserve Assistant schedules when other repos are cleaned up.

What's New

  • Assistant Scheduling — Schedule jobs for the Assistant workspace, with dedicated navigation in the drawer menu and a generated schedule-management skill
  • STT Voice Activity Detection — Energy-based VAD with adaptive noise floor, silence gate, and auto-stop. Prevents Whisper hallucination on silent takes and eliminates stuck voice overlay states
  • Mirror Compression — gzip compression for repository mirror transfers, with proper progress tracking
  • Config Manager Redesign — Replaced 2-column card grid with a single-select dropdown + inline action buttons, plus find-in-text search in the config editor

Bug Fixes

  • Assistant: remove stale localStorage cache read in session launcher
  • Assistant: replace unbounded listSessions fallback with paginated lookup
  • Schedules: orphaned schedule records now cleaned up when a repo is deleted (with cascade delete for runs/jobs)
  • Frontend: adapt session list to OpenCode v1.16.0 API response format changes (backward-compatible)
  • Settings: wire up version dialog button in ServerHealthStatus
  • UI: align Home button size and position in RepoQuickSwitchSheet

Chores

  • Bump version to 0.12.2
  • ocm-cli: bump to 0.1.4
  • Drop dead progress code and unused phase field from mirror module

67 files changed, 4,550 insertions, 1,400 deletions

v0.12.0

Choose a tag to compare

@chriswritescode-dev chriswritescode-dev released this 01 Jun 00:13

Highlights

Assistant Mode improvements

  • Warms the assistant workspace on startup so launching Assistant Mode is faster.
  • Adds a self-configuring assistant workspace that can reload after configuration changes.
  • Preserves user-customized agents during OpenCode config repair.

Worktree and workspace management

  • Adds worktree tabs in repo detail views.
  • Adds a collapsible workspace manager.
  • Supports custom directory names when adding remote repos.
  • Improves collision handling when cloning forks or repos with duplicate names.
  • Adds server environment variable settings.

Session list performance

  • Replaces per-directory session fetching with paginated session loading.
  • Adds infinite scroll and server-side search for sessions.
  • Reduces unnecessary session refetches from noisy SSE updates.

ocm CLI and repo transfer improvements

  • Adds progress tracking for mirror uploads.
  • Fixes chunked mirror uploads.
  • Excludes macOS metadata from mirrored uploads.
  • Improves the ocm CLI setup documentation.

Notifications

  • Adds richer notification content using shared formatting helpers.
  • Deduplicates permission display formatting across frontend/backend code paths.

UI fixes

  • Constrains the model quick-select bottom sheet width on desktop.
  • Updates README/docs screenshots with current desktop and mobile views.

Fixes and reliability

  • Fixes repo directory name collisions and improves path safety validation.
  • Guards reset-permissions behavior so it only disposes the intended repo-scoped OpenCode instance.
  • Adds additional backend/frontend/CLI test coverage for repos, sessions, assistant mode, transfers, notifications, and OpenCode hooks.

Documentation

  • Adds a dedicated ocm CLI guide and links it from README/MkDocs.
  • Adds a quickstart section explaining how to install, log in, and attach to repos with ocm.
  • Updates docs for providers, MCP servers, skills, environment variables, Git credentials, TTS, and notifications.
  • Replaces old README demo media with static WebP screenshots.

v0.11.0

Choose a tag to compare

@chriswritescode-dev chriswritescode-dev released this 25 May 16:40

What's Changed

New Contributors

Full Changelog: v0.10.1...v0.11.0