Skip to content

fix(auth): show account picker for GitHub sign-in - #7951

Merged
Kitenite merged 1 commit into
mainfrom
fix-github-login-482c5b79
Sep 30, 2026
Merged

Kitenite merged 1 commit into
mainfrom
fix-github-login-482c5b79

Conversation

@Kitenite

@Kitenite Kitenite commented Sep 30, 2026 •

Copy link
Copy Markdown
Member

What & why

GitHub sign-in can reuse the wrong browser account, leaving mobile users unable to choose another account. Set prompt: "select_account" on the shared GitHub provider, matching Google, so GitHub displays its account picker.

This takes effect after the API deploys; no mobile app update is needed.

How I tested it

  • bun run lint, bun run typecheck (42 tasks), auth package typecheck, and git diff --check passed.
  • Ran the local API with the setting removed, then restored it. Used authorization URLs generated by the real /api/auth/sign-in/social endpoint in the same signed-in GitHub browser session.
  • Before: no prompt parameter. GitHub went directly from /login/oauth/authorize to Superset's callback without showing an account picker.
  • After: prompt=select_account. GitHub stopped at /login/oauth/select_account, showing the current account and Use a different account. Clicking that control opened GitHub's username/password login form.
  • iPhone 17 Pro simulator, iOS 26.5: launched the real mobile sign-in screen against the local API and opened GitHub before and after. Both reached the GitHub login form; the after flow passed a Maestro assertion for the username field. The simulator has no signed-in GitHub session, so cached-account switching on iOS and a complete OAuth login remain unverified. No broader mobile edge/locale/accessibility pass was run.
  • CI Test is currently failing: its process terminated with SIGILL (illegal instruction). This is not a passing test run; no claim that the failure also occurs on main.

Checklist

  • PR title follows conventional commits (type(scope): subject)
  • bun run lint and bun run typecheck pass (CI fails on lint warnings too)
  • "Allow edits from maintainers" is checked on fork PRs (not applicable)

@coderabbitai

coderabbitai Bot commented Sep 30, 2026 •

Copy link
Copy Markdown
Contributor

Review in Change Stack →

Navigate logical layers of code changes, visualize relationships, and explore their blast radius.

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Advanced

Run ID: cf468e1b-c920-4d1b-a6b5-5ab288e8fb6b

📥 Commits

Reviewing files that changed from the base of the PR and between ba71a73 and f0f231f.

📒 Files selected for processing (1)
  • packages/auth/src/server.ts

Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 9 remain after this review.


📝 Walkthrough

Walkthrough

GitHub OAuth now sets prompt: "select_account" to prompt users to choose an account during sign-in.

Changes

GitHub OAuth

Layer / File(s) Summary
Set the account-selection prompt
packages/auth/src/server.ts
GitHub OAuth configuration adds prompt: "select_account".

Priority: ⬇️ Low

Estimated code review effort: 1 (Trivial) | ~3 minutes

Change: Bug fix

Suggested reviewers: saddlepaddle

Merge Risk: ⚪ Minimal · up to f0f23

GitHub sign-in will ask users to choose an account; users with only one available account can still continue. No material merge-blocking risk is evident.

Security Architecture Review

Security architecture risk: ⚪ Minimal · up to f0f23

The change requests GitHub’s account picker without changing permissions, account-linking rules, or session handling. No material security risk was identified in the change. Account selection should not be treated as requiring fresh authentication.

Retained concerns
No architecture-level concerns identified.

Security review details

Security Blast Radius

  • inferred — The affected scope is GitHub sign-in flows using this shared provider configuration. The diff adds no OAuth scopes, credentials, tenant authority, or downstream privileges; other providers are unchanged.

Trust Boundaries and Controls

  • inferred — The existing application-to-GitHub authentication boundary remains in place. The picker influences which account enters the flow; it neither replaces callback validation nor establishes fresh authentication. Existing validation and session controls are not modified by this PR, but their broader correctness was not established by this narrow review.
🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 1…
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Title check ✅ Passed The title uses conventional commit format and clearly describes the main change: showing the GitHub account picker during sign-in.
Description check ✅ Passed The description includes the required What & why, How I tested it, and Checklist sections. It explains the problem, implementation, validation steps, limitations, and CI failure.
✨ Finishing Touches
📝 Generate docstrings
  • Commit to this branch
  • Create a new PR
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR

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.

@expo

expo Bot commented Sep 30, 2026

Copy link
Copy Markdown

No installed development build can load this pull request as an update: its native fingerprint is 7084d376924a and no development build has it. Add the mobile-build label to build one.

@github-actions

github-actions Bot commented Sep 30, 2026 •

Copy link
Copy Markdown
Contributor

🧹 Preview Cleanup Complete

The following preview resources have been cleaned up:

  • ✅ Neon database branch

Thank you for your contribution! 🎉

@Kitenite
Kitenite merged commit 5457227 into main Sep 30, 2026
21 of 22 checks passed
Kitenite added a commit that referenced this pull request Oct 1, 2026
* docs: weekly update for PRs merged 2026-09-23 to 2026-09-30

Source of truth: live Notion SOP "Weekly Docs Update (automation SOP)".
Window: merged:>=2026-09-23 (139 PRs). PRs through the morning of 09-23
were covered by #7771.

Changes
- Pages: no auto-open on publish (#7790); page links and URL links split
  into their own settings (#7916, #7962, #7946); Listening agents menu with
  per-row stop and Add listening agent (#7724, #7820, #7919); globe on the
  Share button (#7766); Report on public pages (#7886); agents offer a page
  (#7759). Files: pages.mdx, cli/cli-reference.mdx.
- Settings moves: Links replaced by Browser and Files & Editor (#7916,
  #7962). Files: editor.mdx, terminal-integration.mdx, customization.mdx.
- Editor: inline rename and drag to move (#7692), Auto Save (#7693, #7916),
  open and save files outside the workspace (#7897, #7982), Copy as Markdown
  (#7591), per-pane error screen (#7983). File: editor.mdx.
- Terminal copy follows Ghostty's whitespace rules (#7868).
  File: terminal-integration.mdx.
- Agents: UFO (#7898); GPT-6 Astra, Sonnet 5.5, retiring GPT-5.5, retired
  GPT-5.4/5.3 Codex (#7783, #7894, #7935). Files: agent-integration.mdx,
  cli/cli-reference.mdx.
- Host: superset start --daemon --auto-update and update-lock permission
  errors (#7735, #7952). Files: cli/host-server.mdx, cli/cli-reference.mdx.
- Removed the mcp CLI section and the Connected Service Plugins section:
  #7776 made plugins/mcp internal, the Plugins page is staff-flagged, and
  apps/docs/AGENTS.md keeps internal commands out. Files: skills.mdx,
  cli/cli-reference.mdx.
- Slack page unfurls and details panel (#7817, #7821, #7914, #7957).
  File: use-with-slack.mdx.
- Workspaces: instant creation with background naming (#7518); recoverable
  project deletion (#7896). File: workspaces.mdx.
- Shortcuts: prev/next workspace includes Pinned and wraps (#7851); ⌘B
  collapses the sidebar to a rail (#7964). File: keyboard-shortcuts.mdx.
- Ship controls and open-in button moved to the right sidebar strip (#7958).
  Files: diff-viewer.mdx, use-with-ide.mdx.

Deliberately skipped
- Cloud workspaces/environments/sandboxes (flag-gated, AGENTS.md rule):
  #7784 #7795 #7824 #7840 #7844 #7845 #7847 #7849 #7850 #7858 #7861 #7863
  #7874 #7911 #7913 #7918 #7922 #7931 #7932 #7937 #7956 #7961 #7969 #7981
  #7637 #7794 #7789 #7838 (its CLI docs already shipped in the PR).
- Staff-only plugins: #7912 Sentry plugin, #7716, #7727, #7955.
- Already documented in their own PRs: #7917, #7921.
- Removed feature never documented: #7796 Google Calendar triggers.
- Agents chip remove/revert/default-off, never documented: #7870 #7871 #7872.
- Billing/backend policy with no docs surface: #7947, #7812, #7786, #7792,
  #7798, #7761, #7948, #7949, #7951, #7827.
- Reverted security trio: #7828 #7829 #7830 (reverted by #7834).
- Fixes restoring expected behavior: #7683 #7696 #7707 #7743 #7751 #7756
  #7764 #7765 #7781 #7788 #7791 #7823 #7825 #7833 #7837 #7852 #7857 #7860
  #7864 #7865 #7869 #7873 #7897-covered #7903 #7938 #7980 #7943 #7964-chrome.
- Mobile (no docs page): #7746 #7747 #7748 #7749 #7750 #7782 #7793 #7810
  #7814 #7816 #7889 #7968.
- Marketing, internal docs, CI, version bumps: #7651 #7744 #7752 #7771 #7774
  #7776-infra #7777 #7785 #7811 #7818 #7822 #7826 #7834 #7884 #7885 #7895
  #7909 #7933 #7934 #7942 #7944 #7965 #7966.

Validation: bun run --cwd apps/docs typecheck, bun run lint:fix,
bun run lint (exit 0), Vale on 13 changed files (0 errors, 0 warnings),
git diff --check.

* chore: log weekly docs update follow-ups

* docs: tighten review findings in the weekly update

Only the page creator can stop or add listening agents. On focus change also
saves on window blur, and Auto Save pauses on conflicts. Taken-down pages do
not unfurl. Model picker coverage matches agent-models.ts.

This branch was previously deployed

1 inactive deployment
preview — f0f231f0 Deployed Sep 30, 2026 by Kitenite via Deploy Docs #10579
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant