Semantic calendar engine with lunar overlay and r* tool integration
Go to file
Jeff Emmett 8295febcce feat: add Google and Microsoft calendar OAuth integration
Implement full OAuth 2.0 flow for Google Calendar and Microsoft
Outlook with client-side EncryptID encryption. Tokens are exchanged
server-side using provider secrets, passed to the client via a
one-time retrieval code, then encrypted with the user's passkey
(AES-256-GCM) and stored only in the browser. The server never
persists OAuth tokens.

New files:
- src/lib/oauth.ts — server-side OAuth helpers for both providers
- src/lib/pending-tokens.ts — ephemeral in-memory token store (60s TTL)
- src/app/api/auth/{google,microsoft}/* — OAuth authorize/callback/refresh routes
- src/app/api/auth/calendars/route.ts — list connected calendar sources
- src/hooks/useCalendarTokens.ts — client-side encrypted token management
- src/components/ConnectCalendarBanner.tsx — connect calendar prompt with status feedback

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-21 21:19:45 +00:00
backlog chore: add backlog-notify onStatusChange hook 2026-03-10 15:30:57 -07:00
prisma feat: add EncryptID auth with User model and route guards 2026-02-18 10:20:23 +00:00
public feat: initial rcal-online — semantic calendar engine with lunar overlay 2026-02-15 09:01:34 -07:00
src feat: add Google and Microsoft calendar OAuth integration 2026-03-21 21:19:45 +00:00
.dockerignore feat: initial rcal-online — semantic calendar engine with lunar overlay 2026-02-15 09:01:34 -07:00
.env.example feat: initial rcal-online — semantic calendar engine with lunar overlay 2026-02-15 09:01:34 -07:00
.gitignore feat: initial rcal-online — semantic calendar engine with lunar overlay 2026-02-15 09:01:34 -07:00
Dockerfile fix: increase Node heap size for Docker build 2026-02-25 14:19:31 -08:00
MODULE_SPEC.md docs: add MODULE_SPEC.md with permission model and capabilities 2026-02-17 12:30:14 -07:00
docker-compose.yml feat: migrate routing to rspace.online/rcal basePath 2026-03-21 21:19:35 +00:00
entrypoint.sh feat: wire rcal-online to Infisical for secret injection 2026-02-23 23:07:43 -08:00
next.config.js feat: migrate routing to rspace.online/rcal basePath 2026-03-21 21:19:35 +00:00
package-lock.json feat: initial rcal-online — semantic calendar engine with lunar overlay 2026-02-15 09:01:34 -07:00
package.json feat: add EncryptID auth with User model and route guards 2026-02-18 10:20:23 +00:00
postcss.config.js feat: initial rcal-online — semantic calendar engine with lunar overlay 2026-02-15 09:01:34 -07:00
tailwind.config.ts feat: initial rcal-online — semantic calendar engine with lunar overlay 2026-02-15 09:01:34 -07:00
tsconfig.json feat: initial rcal-online — semantic calendar engine with lunar overlay 2026-02-15 09:01:34 -07:00