rowboat/apps/x
Ramnique Singh d4850dace7 feat: native google sign-in for signed-in users
Signed-in users can now connect Gmail and Calendar directly through
Rowboat instead of going through Composio. Cleaner connection, no
third-party in the data path.

How it works:
- Click "Connect Google" anywhere it appears (sidebar, onboarding,
  settings) and the system browser opens to a Rowboat-hosted page.
  Authorize Google there and the app picks up the connection
  automatically — no client id or secret to paste.
- Token refresh happens through Rowboat's backend, so Google
  credentials never need to live on the user's machine.
- Disconnect cleanly revokes access on Google's side too.

Migration for existing Composio users:
- A one-time modal explains that we've moved off Composio and asks the
  user to reconnect Google directly.
- Their old Composio Gmail / Calendar connections are disconnected
  automatically when the modal first appears.
- All previously-synced emails and calendar events are preserved on
  disk — the new connection picks up where Composio left off rather
  than re-downloading the last week from scratch.
- "I'll do this later" dismisses the modal permanently; the user can
  still reconnect anytime via the connectors UI. (Sync stops in the
  meantime; nothing is deleted.)

Other coverage:
- BYOK mode (users who paste their own Google client id + secret) is
  unchanged — same modal, same local OAuth flow, same behavior.
- Composio integrations for non-Google services (Slack, Linear, etc.)
  are unaffected. Only the Gmail and Calendar paths moved.
- The "Connect Google" button label and connection state now apply
  uniformly to Gmail + Calendar (one OAuth grant covers both).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-05 14:29:13 +05:30
..
apps feat: native google sign-in for signed-in users 2026-05-05 14:29:13 +05:30
packages feat: native google sign-in for signed-in users 2026-05-05 14:29:13 +05:30
.gitignore bootstrap new electron app 2026-01-16 12:05:33 +05:30
ANALYTICS.md identify signed-in users on every app startup 2026-04-28 20:21:37 +05:30
eslint.config.mts ignore renderer eslint 2026-01-16 12:05:33 +05:30
package.json integrate electron forge 2026-01-17 10:28:44 +05:30
pnpm-lock.yaml add posthog analytics for llm usage and auth events 2026-04-28 19:53:40 +05:30
pnpm-workspace.yaml fix pnpm postinstall 2026-01-21 10:47:44 +05:30
TRACKS.md Add tracks — auto-updating note blocks with scheduled and event-driven triggers 2026-04-14 13:51:45 +05:30
tsconfig.base.json bootstrap new electron app 2026-01-16 12:05:33 +05:30