Skip to content

fix(auth): restore Google sign-in retry state - #1986

Closed
groupthinking wants to merge 1 commit into
mainfrom
fix/google-sign-in-retry-state
Closed

groupthinking wants to merge 1 commit into
mainfrom
fix/google-sign-in-retry-state

Conversation

@groupthinking

Copy link
Copy Markdown
Owner

Canonical issue

No GitHub issue applies. The canonical sprint task is Notion: Fix login bug.

Outcome

A rejected or non-navigating Google sign-in initiation restores an enabled Continue with Google button and announces a generic, non-sensitive error. A browser navigation handoff remains protected against duplicate submission.

Scope

  • Included:
    • Local retry and generic error state in GoogleSignInButton.
    • Focused jsdom coverage for rejection, non-navigation, retry, generic error handling, and in-flight duplicate-click prevention.
  • Explicitly excluded:
    • OAuth credentials and provider configuration, callback-path sanitization, NextAuth route policy, proxy policy, deployment, logging, and production authentication flows.

Risk

  • Risk level: medium
  • Failure mode: A navigation handoff that resolves without changing window.location.href could be shown as retryable instead of pending.
  • Rollback: Revert de2994fbe809c85f2543efecfaf741e2a9233eb9.

Verification

Validation performed against the content committed at de2994fbe809c85f2543efecfaf741e2a9233eb9:

  • Focused test: npm --workspace=eventrelay-web run test -- src/app/login/GoogleSignInButton.test.tsx — 3 tests passed.
  • Full frontend suite: npx turbo run test --force — 128 files passed; 1,216 tests passed and 27 skipped.
  • Type check: npm --workspace=eventrelay-web run type-check.
  • Lint: npm --workspace=eventrelay-web run lint — 0 errors; 3 existing warnings in unrelated components.
  • git diff --cached --check and a staged credential-pattern scan before commit.
  • Backend test command: pytest tests/ could not start because the checkout has no pytest executable or local virtual environment. This frontend-only change does not alter backend code.
  • Required GitHub CI on the published head.
  • Review threads resolved.

Production evidence

Not applicable. This draft changes client-side recovery state and does not deploy, access production credentials, or perform a real Google sign-in.

Agent handoff

  • A canonical Notion task is linked; no GitHub issue applies.
  • Competing drafts exist: #1971 and #1973 implement the same behavior. This draft was opened at explicit request for a direct comparison.
  • Local acceptance criteria are covered by the scoped implementation and focused tests.
  • Required checks pass on the published head.
  • No product, security, irreversible infrastructure, or production approval is requested.

@vercel

vercel Bot commented Sep 17, 2026

Copy link
Copy Markdown
Contributor

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

Project Deployment Actions Updated
v0-uvai Canceled Canceled v0 Sep 17, 2026 4:37am UTC

@coderabbitai

coderabbitai Bot commented Sep 17, 2026

Copy link
Copy Markdown
Contributor

Important

Draft PR not reviewed

Draft PRs are not automatically reviewed by default.

  • Trigger a manual review

To automatically review draft PRs, update your CodeRabbit configuration:

reviews:
  auto_review:
    drafts: true

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions github-actions Bot added javascript Pull requests that update javascript code tests labels Sep 17, 2026

Copy link
Copy Markdown
Owner Author

Closing as a duplicate of #1973. Both drafts implement the same scoped Google sign-in retry recovery; #1973 has the stronger retry-state coverage and a clean completed CI run.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

javascript Pull requests that update javascript code tests

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant