Skip to content

feat(desktop): support managed bootstrap state#1891

Closed
pascalandr wants to merge 21 commits into
different-ai:devfrom
Pagecran:pr/managed-desktop-bootstrap
Closed

feat(desktop): support managed bootstrap state#1891
pascalandr wants to merge 21 commits into
different-ai:devfrom
Pagecran:pr/managed-desktop-bootstrap

Conversation

@pascalandr

@pascalandr pascalandr commented May 22, 2026

Copy link
Copy Markdown
Contributor

Summary

Isolates the managed desktop bootstrap/state slice: desktop bootstrap resolver/tests, Electron entrypoint/preload/package wiring, app desktop metadata wiring, server endpoint support, and the required lockfile update for desktop dependency changes.

Verification

  • pnpm install --frozen-lockfile — passed.
  • pnpm typecheck — passed.
  • pnpm --filter @openwork/desktop typecheck:electron — passed.
  • node apps/desktop/electron/bootstrap-config.test.mjs — passed, 4/4 tests.
  • git diff --name-status upstream/dev...pr/managed-desktop-bootstrap reviewed; no tasks/**, docs/scrs/**, codemaps, or generated app-version included.

Linked issues

@vercel

vercel Bot commented May 22, 2026

Copy link
Copy Markdown
Contributor

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
openwork-landing Ready Ready Preview, Comment, Open in v0 Jun 10, 2026 4:54pm

@vercel

vercel Bot commented May 22, 2026

Copy link
Copy Markdown
Contributor

@pascalandr is attempting to deploy a commit to the Different AI Team on Vercel.

A member of the Team first needs to authorize it.

Merge upstream/dev into pr/managed-desktop-bootstrap and resolve managed desktop bootstrap conflicts.
Preserve Den org/worker and OpenWork token metadata when creating remote worker workspaces so managed provider sync can target the static worker after provider setup.

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

3 issues found across 23 files

Tip: cubic can generate docs of your entire codebase and keep them up to date. Try it here.

Fix all with cubic | Re-trigger cubic

Comment thread apps/desktop/electron/browser-native-tools.mjs
Comment thread apps/desktop/electron/browser-native-tools.mjs Outdated
Comment thread apps/desktop/electron/main.mjs Outdated
Fix PR 1891 review findings for native browser MCP argument passing, screenshot formats, and JSONC config parsing. Add targeted Electron tests and repair the Windows path expectation uncovered while running the suite.

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

1 issue found across 2 files (changes from recent commits).

Tip: Review your code locally with the cubic CLI to iterate faster.

Re-trigger cubic

Comment thread ee/apps/den-api/src/routes/auth/desktop-handoff.ts Outdated
…ootstrap

# Conflicts:
#	apps/app/src/app/lib/den.ts
#	apps/app/src/react-app/domains/settings/pages/cloud-workers-view.tsx
#	apps/app/src/react-app/domains/workspace/create-workspace-modal.tsx
#	apps/app/src/react-app/shell/settings-route.tsx
#	apps/desktop/electron/main.mjs
#	apps/desktop/package.json
#	pnpm-lock.yaml
Merge current dev into the managed desktop bootstrap branch and validate the desktop DEN base URL fallback before adding the proxy path.
Use the shared bootstrap config normalizer after merging dev so Electron typechecking passes and managed sign-in behavior stays centralized.
…ootstrap

# Conflicts:
#	apps/desktop/package.json
Prevent host tokens from substituting for normal bearer clients, require approvals outside host-only routes, honor desktop fetch timeouts, wire browser page callbacks, and retain legacy remote workspace records.
Add Electron browser native tool coverage that proves list, select, create, and close page tools use the tab-management callbacks wired by the bootstrap remediation.
Cast the MCP server test handle before invoking registered tools so the Electron typecheck covers the page callback regression without touching private fields directly.
Move desktop workspace discovery to a tested helper that sends only bearer auth to /workspaces, keep host tokens for host-only routes, and add dedicated desktop fetch timeout regression coverage.
Merge current upstream/dev into pr/managed-desktop-bootstrap and resolve the Den client and desktop bootstrap conflict hunks while preserving the TASK-2026-06-09-002 security and regression fixes.
Update the desktop fetch regression test on the managed bootstrap source branch so it asserts the forwarded response header without depending on Node/Undici auto-added content headers.
Remove dead host-token discovery API input and keep other-origin Den remote workspaces persisted during filtering.

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

1 issue found across 3 files (changes from recent commits).

Tip: Review your code locally with the cubic CLI to iterate faster.

Re-trigger cubic

Comment thread apps/desktop/electron/main.mjs
Keep non-destructive workspace persistence while returning only current-Den-compatible entries to runtime consumers. Adds regressions for hidden persisted workspaces and compatible runtime edits.
@cubic-dev-ai

cubic-dev-ai Bot commented Jun 10, 2026

Copy link
Copy Markdown

You're iterating quickly on this pull request. To help protect your rate limits, cubic has paused automatic reviews on new pushes for now—when you're ready for another review, comment @cubic-dev-ai review.

Preserve remote OpenWork client/Den metadata across server config rebuilds while redacting host tokens from client-scoped workspace responses.
@pascalandr

Copy link
Copy Markdown
Contributor Author

Superseded by the clean consolidated managed providers PR #2175.

@pascalandr pascalandr closed this Jun 11, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

1 participant