What to build
Clean up the Google callback recovery flow so the special case is owned by the Google callback path, not spread across the callback view, authorization helper, shared API options/types, and shared request utility.
Today the structural concern spans:
complete-google-authorization.ts
GoogleAuthCallback.tsx
common/apis/api.types.ts
common/apis/util/api.util.ts
The goal is to preserve the current user-facing behavior while making the recovery path easier to reason about: when a Google Calendar connect callback returns after the Compass session has expired, the Google callback flow should handle that recovery locally by continuing through Google sign-in.
Keep this scoped to structural cleanup only. Do not include the immediate skipSessionRecovery safety fix in this issue.
Acceptance criteria
Blocked by
None - can start immediately.
What to build
Clean up the Google callback recovery flow so the special case is owned by the Google callback path, not spread across the callback view, authorization helper, shared API options/types, and shared request utility.
Today the structural concern spans:
complete-google-authorization.tsGoogleAuthCallback.tsxcommon/apis/api.types.tscommon/apis/util/api.util.tsThe goal is to preserve the current user-facing behavior while making the recovery path easier to reason about: when a Google Calendar connect callback returns after the Compass session has expired, the Google callback flow should handle that recovery locally by continuing through Google sign-in.
Keep this scoped to structural cleanup only. Do not include the immediate
skipSessionRecoverysafety fix in this issue.Acceptance criteria
Blocked by
None - can start immediately.