fix(app): match new session panel corners#35257
Merged
Merged
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
This PR aligns the Desktop (Electron) native window background with the app’s resolved theme background so that rounded Windows corners render with the intended dark surface during initial paint and theme transitions.
Changes:
- Moves native window background syncing to the app-level theme application hook, instead of the Desktop renderer shell.
- Updates the Desktop main-process default background fallback to OC-2 deep surface values for pre-render window creation.
- Adds a Playwright regression test that screenshots the new-session view and samples the bottom-right pixel to catch corner/background regressions.
Reviewed changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| packages/desktop/src/renderer/index.tsx | Removes theme-driven background syncing from Desktop renderer; relies on app-level hook instead. |
| packages/desktop/src/main/windows.ts | Uses OC-2 deep surface colors as the default BrowserWindow background fallback. |
| packages/app/src/app.tsx | Calls window.api.setBackgroundColor when a theme is applied to sync native window background. |
| packages/app/e2e/tsconfig.json | Adds the new regression spec to the e2e TS project. |
| packages/app/e2e/regression/new-session-window-corner.spec.ts | New regression test asserting corner pixel color and background sync call behavior. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Comment on lines
321
to
326
| <ThemeProvider | ||
| onThemeApplied={(_, mode) => { | ||
| void window.api?.setTitlebar?.({ mode }) | ||
| void window.api?.setBackgroundColor?.(getComputedStyle(document.documentElement).backgroundColor) | ||
| }} | ||
| > |
Comment on lines
+71
to
+72
| expect(corner).toEqual([8, 8, 8, 255]) | ||
| await expect(page.locator("html")).toHaveAttribute("data-window-background", "rgb(8, 8, 8)") |
Wiktor102
pushed a commit
to Wiktor102/opencode
that referenced
this pull request
Jul 5, 2026
github-actions Bot
added a commit
to wallentx/opencode-termux
that referenced
this pull request
Jul 6, 2026
* ci: Add Android build and publish workflow with APK artifact upload Signed-off-by: wallentx <william.allentx@gmail.com> * ci: Allow publish workflow to run with android_only input Signed-off-by: wallentx <william.allentx@gmail.com> * ci: Use github.token instead of committer output in publish workflow Signed-off-by: wallentx <william.allentx@gmail.com> * feat: Add aarch64-linux-android target to sidecar binaries Signed-off-by: wallentx <william.allentx@gmail.com> * ci: Simplify publish workflow and fix Android build conditions Signed-off-by: wallentx <william.allentx@gmail.com> * feat: Refactor app initialization and add WSL path conversion Signed-off-by: wallentx <william.allentx@gmail.com> * ci: Fix Android-only workflow condition and update dependencies Signed-off-by: wallentx <william.allentx@gmail.com> * sync release versions for v1.17.13 * chore: bump gitlab-ai-provider to 6.10.0 (anomalyco#34756) * chore: update nix node_modules hashes * feat(stats): redesign lab hero * feat(stats): add lab overview * feat(stats): redesign lab usage * feat(data): another redesigned lab section * feat(stats): use catalog descriptions * chore: generate * fix(stats): refine lab page tooltips * fix(stats): include locale header in vary (anomalyco#34789) * zen: new inference * fix(desktop): keep window tabs across app close (anomalyco#34807) * fix(app): stabilize session timeline layout continuity (anomalyco#34533) * feat(desktop): refine session tab preview popover (anomalyco#34792) * fix(ui): raise v2 tooltip layer (anomalyco#34455) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: opencode-agent[bot] <opencode-agent[bot]@users.noreply.github.com> * chore: update nix node_modules hashes * fix(opencode): update Cerebras SDK reasoning replay (anomalyco#34826) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * chore: update nix node_modules hashes * fix(app): resolve target session lineage outside router transition (anomalyco#34838) * chore: generate * fix(opencode): filter session list by resolved instance directory (anomalyco#34842) * fix(app): only allow \(...\) syntax for inline latex (anomalyco#34850) * test(opencode): cover Windows session list directory spellings (anomalyco#34857) * fix(app): scope session tab indicators to the tab's server (anomalyco#34861) * chore: generate * fix(app): clear original prompt after retarget (anomalyco#34863) * fix(app): seed session status before warming session info (anomalyco#34864) * feat(app): v2 review panel overhaul (anomalyco#31882) Co-authored-by: LukeParkerDev <10430890+Hona@users.noreply.github.com> * fix(app): keep terminal mounted when switching session tabs in a workspace (anomalyco#34852) Co-authored-by: Brendan Allan <git@brendonovich.dev> * fix(ui): resolve toast icon inside the toast component (anomalyco#34874) * fix(copilot): honor advertised model endpoints (anomalyco#34958) * fix(stats): polish lab pages * feat(stats): redesign model hero * chore: generate * feat(tui): add debug info dialog with copy to clipboard (anomalyco#35004) * zen: new inference * zen: new inference * feat(app): navigate tabs on mousedown in new layout (anomalyco#35042) * zen: new inference * zen: new inference * fix(app): keep v2 review pane mounted across session tab switches (anomalyco#35074) * feat: experimental codemode (anomalyco#34677) * chore: generate * fix(ci): setup Node 24 before bun install for node-gyp (anomalyco#35076) * revert: back out experimental codemode (anomalyco#35077) * feat(codemode): add confined execution package (anomalyco#35079) * chore: generate * chore: update nix node_modules hashes * chore: remove root node-gyp pin after Node 24 setup (anomalyco#35092) * feat(desktop): add recently closed projects to home (anomalyco#34926) * feat(app): align subagent UI with v2 (anomalyco#34931) Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> * chore: generate * feat(desktop): papercut fixes (anomalyco#34939) * refactor(opencode): expose MCP tools in native shape from the service (anomalyco#35103) * feat(app): improvements to model search (anomalyco#34954) * chore: generate * feat(opencode): add code-mode MCP adapter (anomalyco#35085) * chore: generate * chore: update nix node_modules hashes * feat(app): dropdown search fix (anomalyco#34961) Co-authored-by: Brendan Allan <git@brendonovich.dev> * fix(opencode): provide Observability beneath all route service graphs (anomalyco#35171) * chore: upgrade turbo (anomalyco#35173) * feat(stats): add model momentum section * chore: generate * fix(core): rewrite replacements while hoisting layers (anomalyco#35175) * fix(stats): link market share labs * chore: artifacts * chore: generate * feat(tui): render code-mode execute tool with child calls (anomalyco#35113) * refactor(opencode): fail the execute tool on program failure (anomalyco#35180) * fix(tui): align execute child calls with task indentation (anomalyco#35190) * refactor(core): move path resolve into fs service (anomalyco#35202) * feat(opencode): gate execute tool behind code mode flag (anomalyco#35185) * chore: generate * cleanup: tweak compaction prompt (anomalyco#35220) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: opencode-agent[bot] <opencode-agent[bot]@users.noreply.github.com> * fix(app): restore unfocused composer typing (anomalyco#35249) * fix(app): delay initial tab preview (anomalyco#35266) Co-authored-by: Jay <53023+jayair@users.noreply.github.com> * fix(desktop): stabilize esm shim injection (anomalyco#35270) * fix(app): match new session panel corners (anomalyco#35257) * tui: preserve spinner registration (anomalyco#35292) * feat: Add aarch64-linux-android target to sidecar binaries Signed-off-by: wallentx <william.allentx@gmail.com> * chore(ci): Improve workflow portability and add Android build support Signed-off-by: wallentx <william.allentx@gmail.com> * feat(ci): Add Android artifact build workflow and guidance Signed-off-by: wallentx <william.allentx@gmail.com> * fix(opencode): use NDK sysroot for Android artifact build * fix(opencode): pass Android NDK libc paths to Zig * fix(opencode): patch OpenTUI Android system libs * fix(opencode): rely on NDK libc config for Android * fix(opencode): resolve Android OpenTUI loader relatively * chore(ci): add Android Bun compile smoke target * fix(opencode): relocate Android Bun payload pointer * chore(ci): build Android Bun runtime from source * fix(ci): install LLVM for Android Bun source build * fix(ci): bootstrap LLVM 21 for Android Bun build * fix(ci): keep Bun Android build inside source tree * fix(ci): link Android NDK runtimes for Bun build * fix(ci): use Android strip for Bun runtime build * chore(termux): add release mirror workflows * chore(termux): align app token variables * chore(termux): use app client id input * chore(termux): fall back to github token * chore(termux): prepare v1.17.13 --------- Signed-off-by: wallentx <william.allentx@gmail.com> Co-authored-by: wallentx <william.allentx@gmail.com> Co-authored-by: opencode <opencode@sst.dev> Co-authored-by: Vladimir Glafirov <vglafirov@gitlab.com> Co-authored-by: opencode-agent[bot] <opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Frank <frank@anoma.ly> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: usrnk1 <7547651+usrnk1@users.noreply.github.com> Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan <git@brendonovich.dev> Co-authored-by: Dustin Deus <deusdustin@gmail.com> Co-authored-by: Kit Langton <kit.langton@gmail.com> Co-authored-by: James Long <longster@gmail.com> Co-authored-by: Simon Klee <hello@simonklee.dk> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Reproduction
The Playwright capture reproduced the reported mismatch at the panel bounds: three corners rendered rgb(21, 21, 21) and the bottom-right rendered rgb(20, 20, 20), while the surrounding OC-2 deep background is rgb(8, 8, 8). After removing the backing layer, all four samples render at or below rgb(8, 8, 8).
Testing