Home

mweinbach / agent-coworker

publicmweinbach/agent-coworker
Overview Code History Branches Pull requestsIssuesInsights
main
HomeOverview Code PRsIssues

refactor(desktop): isolate platform behavior (#55)

7 months ago

1507a1c
Authored
Max Weinbach3/21/2026, 5:32:35 PM
* refactor(desktop): isolate platform behavior

Co-authored-by: Max Weinbach <mweinbach@users.noreply.github.com>

* test(desktop): finalize platform verification

Co-authored-by: Max Weinbach <mweinbach@users.noreply.github.com>

* chore: instrument desktop renderer startup

Co-authored-by: Max Weinbach <mweinbach@users.noreply.github.com>

* chore: narrow desktop startup instrumentation

Co-authored-by: Max Weinbach <mweinbach@users.noreply.github.com>

* fix: skip linux window background sync

Co-authored-by: Max Weinbach <mweinbach@users.noreply.github.com>

* fix: skip react grab on linux desktop

Co-authored-by: Max Weinbach <mweinbach@users.noreply.github.com>

* test: cover linux react grab gating

Co-authored-by: Max Weinbach <mweinbach@users.noreply.github.com>

* chore: remove desktop crash instrumentation

Co-authored-by: Max Weinbach <mweinbach@users.noreply.github.com>

* docs(tasks): record linux ui fix

Co-authored-by: Max Weinbach <mweinbach@users.noreply.github.com>

* fix: isolate desktop platform chrome handling

Separate Linux, macOS, and Windows desktop chrome and token behavior so Linux UI fixes do not leak across platforms.

Made-with: Cursor

* move tui to backburner

* Add Windows ARM64 desktop and server release support

* Fix desktop electron-vite scripts on Windows ARM64

* fix(ci): exclude ARM64 unpacked artifact from release publish glob

Made-with: Cursor

* fix(desktop): skip runtime setBackgroundColor on Linux during appearance sync

Made-with: Cursor

* docs: fix --dir examples for desktop start; chore: drop dead appearance/menu code

Made-with: Cursor

---------

Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: Max Weinbach <mweinbach@users.noreply.github.com>

Parenta9cb35a

59 files changed
  • .github/workflows/cowork-server-release.yml+122−12
  • .github/workflows/desktop-release.yml+97−11
  • AGENTS.md+9−9
  • CLAUDE.md+9−8
  • CONTRIBUTING.md+9−9
  • GEMINI.md+11−8
  • README.md+53−41
  • apps/desktop/README.md+9−3
apps/desktop/electron-builder.yml
+1
−0
  • apps/desktop/electron/main.ts+78−32
  • apps/desktop/electron/services/appearance.ts+75−30
  • apps/desktop/electron/services/dialogs.ts+39−20
  • apps/desktop/electron/services/menuTemplate.ts+156−84
  • apps/desktop/electron/services/serverManager.ts+19−43
  • apps/desktop/electron/services/serverPlatform.ts+54−0
  • apps/desktop/electron/services/sidecar.ts+221−20
  • apps/desktop/electron/services/updater.ts+7−6
  • apps/desktop/electron/services/updaterPlatform.ts+20−0
  • apps/desktop/electron/services/windowAppearancePaint.ts+49−0
  • apps/desktop/electron/services/windowChrome/darwin.ts+33−0
  • apps/desktop/electron/services/windowChrome/index.ts+85−0
  • apps/desktop/electron/services/windowChrome/linux.ts+41−0
  • apps/desktop/electron/services/windowChrome/shared.ts+13−0
  • apps/desktop/electron/services/windowChrome/types.ts+18−0
  • apps/desktop/electron/services/windowChrome/win32.ts+40−0
  • apps/desktop/electron/services/windowEnhancements.ts+7−110
  • apps/desktop/package.json+5−4
  • apps/desktop/src/lib/reactGrabDevTools.ts+13−1
  • apps/desktop/src/styles.css+11−116
  • apps/desktop/src/styles/platform/darwin.css+66−0
  • apps/desktop/src/styles/platform/linux.css+38−0
  • apps/desktop/src/styles/platform/win32.css+38−0
  • apps/desktop/src/styles/theme-bridge.css+39−0
  • apps/desktop/src/styles/tokens.css+2−147
  • apps/desktop/src/styles/tokens/base.css+87−0
  • apps/desktop/src/styles/tokens/platform.css+80−0
  • apps/desktop/src/ui/settings/SettingsShell.tsx+2−2
  • apps/desktop/test/dialogs.test.ts+17−0
  • apps/desktop/test/ipc-security.test.ts+1−1
  • apps/desktop/test/menu.test.ts+14−0
  • apps/desktop/test/react-grab-dev-tools.test.ts+31−3
  • apps/desktop/test/server-manager.test.ts+21−0
  • apps/desktop/test/sidecar.test.ts+85−16
  • apps/desktop/test/updater-platform.test.ts+31−0
  • apps/desktop/test/updater-service.test.ts+48−0
  • apps/desktop/test/window-appearance-paint.test.ts+83−0
  • apps/desktop/test/window-enhancements.test.ts+73−7
  • docs/architecture.md+42−33
  • docs/bundling-guide.md+363−0
  • docs/websocket-protocol.md+3−3
  • package.json+2−2
  • scripts/build_cowork_server_binary.ts+94−36
  • scripts/build_desktop_resources.ts+91−70
  • scripts/releaseBuildUtils.ts+236−0
  • src/index.ts+3−1
  • tasks/lessons.md+2−0
  • tasks/todo.md+30−0
  • test/cowork-server-release.workflow.test.ts+48−0
  • test/desktop-release.workflow.test.ts+32−14