Skip to content

Fix Portal Drive connect gate, web OAuth callback, and workspace chrome - #41

Merged
cursor[bot] merged 2 commits into
mainfrom
cursor/drive-connect-gate-oauth-ecba
Sep 8, 2026
Merged

cursor[bot] merged 2 commits into
mainfrom
cursor/drive-connect-gate-oauth-ecba

Conversation

@sandervonk

Copy link
Copy Markdown
Member

Summary

Aligns Vue Portal Task Workspace Drive UX with Brief's connect gate and fixes the web OAuth return path for cmutt.app.

Drive connect gate

  • GET /api/v1/me/drive/status drives driveConnected (account-level), not workspace.drive_connected
  • Disconnected: Connect Drive only — no Enable/Link or active workspace file actions
  • Connected: Enable/Link or full workspace chrome; Connect hidden

Web OAuth callback

  • POST /api/v1/me/drive/oauth/start with { platform: "web" }
  • Same-window navigate to Google; saves portal return path in sessionStorage
  • On /?drive=connected|error&drive_error=…: toast, drive-status-changed event, strip query, restore saved path
  • TaskWorkspace listens and refreshes status without manual reload

Workspace chrome polish

  • Uploaded file rows use darker secondary input chrome (--color-overlay-secondary-input / --color-overlay-secondary-action)
  • Enable / Link / Destroy share compact workspace_compact_btn sizing (30px height, proper line-height) — Destroy no longer reads as a large CTA

Server notes

No server changes required; web redirect to https://{app.domain}/?drive=… is assumed correct on mvtt-server.

Testing

  • npm run test:drive-status — parse helper coverage
  • Local: cp .env.test .env && npm run lint && npm run build
Open in Web Open in Cursor 

cursoragent and others added 2 commits September 8, 2026 23:05
- Gate TaskWorkspace on GET /api/v1/me/drive/status (account-level), not workspace.drive_connected
- Show Connect-only UI when disconnected; Enable/Link and file actions only when connected
- Start OAuth with platform web, same-window navigate, restore portal path after callback
- Handle ?drive=connected|error in router afterEach: toast, refresh event, clean query
- Polish file row contrast (secondary input chrome) and compact Enable/Link/Destroy sizing

Co-authored-by: Sander Vonk <sandervonk@users.noreply.github.com>
Co-authored-by: Sander Vonk <sandervonk@users.noreply.github.com>
@cursor
cursor Bot force-pushed the cursor/drive-connect-gate-oauth-ecba branch from d6f5abf to 0e2c1b7 Compare September 8, 2026 23:06
@cursor
cursor Bot marked this pull request as ready for review September 8, 2026 23:07
@cursor
cursor Bot merged commit 134a15d into main Sep 8, 2026
1 check passed
@cursor
cursor Bot deleted the cursor/drive-connect-gate-oauth-ecba branch September 8, 2026 23:08
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