Skip to content

Conversation

@shuv1337
Copy link
Collaborator

@shuv1337 shuv1337 commented Jan 9, 2026

Summary

This PR merges the shuvcode-dev branch into integration, containing upstream sync to v1.1.8 along with several bug fixes and enhancements specific to the fork.

Changes

Bug Fixes

Features

UI Improvements

  • Break words in user message component to prevent overflow

Reverts

  • Skip upstream terminal/review visibility feature (incompatible with fork)

Upgrade Fix Details

The v1.1.7 upstream merge overwrote fork-specific upgrade logic:

  • Added PACKAGE_NAME = "shuvcode" constant
  • npm/bun/pnpm install commands now use shuvcode package
  • curl install uses https://shuv.ai/install script
  • GitHub releases check uses Latitudes-Dev/shuvcode
  • USER_AGENT now shows shuvcode/...
  • Updated tips.ts references to shuvcode and shuv.ai
  • Documented in fork-features.json to prevent future regression

Files Changed

  • 32 files across packages/opencode, packages/app, packages/ui, and various package.json updates
  • Updated fork-features.json to document fork-specific customizations
  • Comprehensive test coverage for config deduplication

Breaking Changes

None

Testing

  • Existing tests cover changes
  • Manual verification of attach command cwd feature
  • Plugin loading tested with OAuth-dependent plugins
  • Verified shuvcode upgrade correctly checks Latitudes-Dev/shuvcode releases

The attach command now always passes client's cwd to the server via
x-opencode-directory header. This was a fork-specific enhancement that
regressed during upstream merge (PR anomalyco#7150, commit dee0226).

Ensures file autocomplete, theme discovery, and exports use the client's
directory when attaching to a remote server, not the server's launch dir.

Fixes #283
- Remove Bun.build() bundling for npm plugins in BunProc.install()
- Import plugins directly from node_modules like upstream does
- This preserves __dirname-relative asset paths in OAuth plugins
- Local file:// plugins still use bundleLocalPlugin() for compatibility

Fixes OAuth plugin failures:
- opencode-openai-codex-auth
- opencode-antigravity-auth
- Any plugin using readFileSync(__dirname + '/path/to/asset')

Root cause: Bundling with Bun.build() changed __dirname resolution from
node_modules/pkg/ to ~/.cache/opencode/bundled/, breaking asset paths.
Cherry-picked from upstream a5edf3a.
Fixes missing parent-child message references when cloning sessions.
…anomalyco#7429)

Cherry-picked from upstream 07dc1f8.
Fixes model search filtering and prevents deprecated models from appearing in lists.
…ion (anomalyco#5957)

Cherry-picked from upstream 8e3ab4a.
Plugins with the same name are deduplicated with priority: local > project > global.
…3d4d06)

Cherry-picked from upstream 0433d4d.
Kept our enhanced layout.tsx with review pane width/state management.
Cherry-picked from upstream ec82861.
Cherry-picked from upstream 44297ff.
…ork)

Reverts ff3ffd4. Upstream's session context has reviewPanel/terminal
properties that our fork doesn't use - we handle this via layout.tsx instead.
- Add PACKAGE_NAME constant for shuvcode npm package
- Update npm/bun/pnpm install commands to use shuvcode package
- Use shuv.ai install script for curl upgrades
- Check Latitudes-Dev/shuvcode GitHub releases instead of upstream
- Update USER_AGENT to show shuvcode
- Update tips.ts references to shuvcode and shuv.ai
- Document upgrade customization in fork-features.json to prevent regression
@shuv1337 shuv1337 changed the title Merge shuvcode-dev: upstream sync v1.1.8 + bug fixes Merge shuvcode-dev: upstream sync v1.1.8 + bug fixes + upgrade fix Jan 9, 2026
@shuv1337 shuv1337 merged commit 0e8c2f4 into integration Jan 9, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants