-
Notifications
You must be signed in to change notification settings - Fork 4
Merge shuvcode-dev: upstream v1.0.210 → v1.0.218 + desktop rebrand #219
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Co-authored-by: opencode-agent[bot] <opencode-agent[bot]@users.noreply.github.com>
Co-authored-by: Github Action <action@github.com>
…#6359) Co-authored-by: Joachim Isaksson <joachim.isaksson@centiro.com>
- Simplify defaultServerUrl in app.tsx to match upstream implementation - Add shuv.ai domain support alongside opencode.ai - Remove lib/server-url.ts (URL validation/history now in server context) - Remove dialog-server-settings.tsx (use upstream's DialogSelectServer) - Simplify error.tsx by removing custom server URL configuration - Update layout.tsx to use DialogSelectServer instead of deleted dialog This reduces ~400 lines while maintaining full functionality.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
116 files reviewed, 3 comments
| build: { | ||
| target: "esnext", | ||
| sourcemap: true, | ||
| // sourcemap: true, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
style: Remove commented code instead of leaving it in. If sourcemaps should be disabled, remove the lines entirely.
| // sourcemap: true, | |
| }, |
Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!
Prompt To Fix With AI
This is a comment left during a code review.
Path: packages/app/vite.config.ts
Line: 159:159
Comment:
**style:** Remove commented code instead of leaving it in. If sourcemaps should be disabled, remove the lines entirely.
```suggestion
},
```
<sub>Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!</sub>
How can I resolve this? If you propose a fix, please make it concise.| // build: { | ||
| // sourcemap: true, | ||
| // }, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
style: Remove commented code instead of leaving it in.
| // build: { | |
| // sourcemap: true, | |
| // }, | |
| }, |
Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!
Prompt To Fix With AI
This is a comment left during a code review.
Path: packages/desktop/vite.config.ts
Line: 17:19
Comment:
**style:** Remove commented code instead of leaving it in.
```suggestion
},
```
<sub>Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!</sub>
How can I resolve this? If you propose a fix, please make it concise.| await Promise.resolve() | ||
| .then(() => { | ||
| const notification = new Notification(title, { body: description ?? "" }) | ||
| notification.onclick = () => { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
logic: getCurrentWindow() is called twice - the outer win variable is already available from line 104.
| notification.onclick = () => { | |
| notification.onclick = () => { | |
| void win.show().catch(() => undefined) |
Prompt To Fix With AI
This is a comment left during a code review.
Path: packages/desktop/src/index.tsx
Line: 111:111
Comment:
**logic:** `getCurrentWindow()` is called twice - the outer `win` variable is already available from line 104.
```suggestion
notification.onclick = () => {
void win.show().catch(() => undefined)
```
How can I resolve this? If you propose a fix, please make it concise.
Summary
Upstream Changes (v1.0.210 → v1.0.218)
Fork-specific Changes
Greptile Summary
This PR successfully merges upstream releases v1.0.210 through v1.0.218 while rebranding the desktop package from
@opencode-ai/desktopto@shuvcode/desktop.Major Changes:
__SHUVCODE__window API (maintains__OPENCODE__fallback for compatibility)ServerProvidercontext supporting multiple servers with health checksplatform.notify()API for both Tauri and webextractReasoningMiddlewareand model variants support from upstreamUpstream Features:
Confidence Score: 4/5
__OPENCODE__fallbacks). The rebrand is comprehensive, upstream sync is clean, and new features (notifications, server management) are properly implemented. Score reflects one minor issue: commented-out sourcemap configuration should be removed rather than commentedpackages/app/vite.config.tsandpackages/desktop/vite.config.tswhere sourcemap configs are commented outImportant Files Changed
__SHUVCODE__window API with opencode fallback, simplified default URL detectionSequence Diagram
sequenceDiagram participant User participant App as App.tsx participant ServerCtx as ServerProvider participant GlobalSDK as GlobalSDKProvider participant Platform as Platform API participant Backend as OpenCode Server User->>App: Load application App->>App: Determine defaultServerUrl<br/>(query param → __SHUVCODE__ → origin) App->>ServerCtx: Initialize with defaultServerUrl ServerCtx->>ServerCtx: Load persisted servers from localStorage ServerCtx->>Backend: Health check active server Backend-->>ServerCtx: Health status ServerCtx->>GlobalSDK: Provide server.url GlobalSDK->>Backend: Connect event stream GlobalSDK->>GlobalSDK: Create SDK client User->>User: Interacts with app Backend->>GlobalSDK: SSE events GlobalSDK->>App: Emit events to components opt User switches server User->>ServerCtx: Select different server ServerCtx->>ServerCtx: Update active URL ServerCtx->>GlobalSDK: New server.url GlobalSDK->>Backend: Reconnect to new server end opt Notification triggered Backend->>GlobalSDK: Event requires notification GlobalSDK->>Platform: notify(title, description, href) Platform->>Platform: Check permission & focus state Platform->>User: Show system notification User->>Platform: Click notification Platform->>App: Focus window & navigate to href end