Skip to content

fix(settings): show Google email OAuth callback results#5654

Open
RaresKeY wants to merge 1 commit into
odysseus-dev:devfrom
RaresKeY:fix/oauth-callback-settings-refresh
Open

fix(settings): show Google email OAuth callback results#5654
RaresKeY wants to merge 1 commit into
odysseus-dev:devfrom
RaresKeY:fix/oauth-callback-settings-refresh

Conversation

@RaresKeY

@RaresKeY RaresKeY commented Jul 20, 2026

Copy link
Copy Markdown
Member

Summary

Open Settings directly to Integrations after a Google OAuth callback and show the existing success/error banner once the document is ready. The redirect handler now calls this module's own open() API instead of polling forever for a window-level alias that is never assigned.

The callback query parameters are still removed from browser history before the result is displayed. No new component or style system is introduced.

Target branch

  • This PR targets dev, not main.

Linked Issue

Fixes #5643

Part of #5637

Type of Change

  • Bug fix (non-breaking — fixes a confirmed issue)
  • New feature (non-breaking — adds new behaviour)
  • Breaking change (changes or removes existing behaviour)
  • Refactor / cleanup (behaviour unchanged)
  • Documentation only
  • CI / tooling / configuration

Checklist

  • I searched open issues and open PRs — this callback UI dead-wait is not already tracked.
  • This PR targets dev.
  • My changes are limited to the OAuth redirect handler and focused regression coverage.
  • I ran the app end-to-end. The callback-result UI was exercised in the running app with a synthetic success query, and browser assertions verified URL cleanup, panel state, and banner visibility. A live Google authorization was not performed.

How to Test

  1. Run:

    python -m pytest -q tests/test_email_oauth_settings_redirect.py
    node --check static/js/settings.js
  2. Complete or simulate a callback redirect containing email_oauth_success=1.

  3. Verify Settings opens to Integrations once and shows the success banner.

  4. Repeat with email_oauth_error=... and verify the error banner appears.

  5. Reload and verify the cleaned URL does not replay either banner.

Current-dev isolated validation passes 17 focused/adjacent tests, JavaScript syntax, and diff checks. A running-app browser pass also verifies that Integrations opens, the success banner appears, and the callback query is removed.

Visual / UI changes — REQUIRED if you touched anything that renders

The existing Settings panel and callback result banner now appear after redirect. Their current visual styling is retained.

  • Screenshot or short clip — running-app capture attached below.
  • Style match — existing Settings and banner styles are retained.
  • No new component patterns.
  • I am not an LLM agent submitting a bulk PR. Contributor attestation remains for the human author.

Screenshots / clips

Running-app capture using a synthetic success query; no credentials or live provider traffic:

Settings open to Integrations with the Google email OAuth success banner

@github-actions github-actions Bot added the ready for review Description complete — ready for maintainer review label Jul 20, 2026
@RaresKeY
RaresKeY marked this pull request as ready for review July 21, 2026 12:20
@RaresKeY RaresKeY added the bug Something isn't working label Jul 21, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working ready for review Description complete — ready for maintainer review

Projects

None yet

Development

Successfully merging this pull request may close these issues.

settings: handle Google email OAuth callback results without polling

1 participant