Repository navigation
feat(onboarding): sign in with alphaXiv instead of a research profile - #895
Conversation
Assisted-by: claude-opus-5.5 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ile client, egress docs Assisted-by: claude-opus-5.5 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Assisted-by: claude-opus-5.5 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
[Medium impact] The PR changes local onboarding and the source of blank-project starter prompts. The PR appears safe to merge, with a non-blocking fix recommended for connection-check errors. Findings
Fix with agent prompt### Issue 1
ui/src/components/Onboarding.tsx:93-94
When `/api/alphaxiv/me` times out or returns a server error, an existing OpenResearch user sees a sign-in button with `connectOnly=false`. Clicking it starts full login, which replaces their OpenResearch credentials. If the browser uses a different alphaXiv account, this can switch their OpenResearch account too. Show the failed check with a retry action instead of treating the user as signed out.
---
For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.SummaryReplaces the research-profile onboarding form with optional alphaXiv sign-in.
Acknowledged by
|
| const connectOnly = !!user && alphaXivMe.error instanceof AlphaXivNotConnectedError; | ||
| const alphaXivLinked = !!user && alphaXivMe.isSuccess; |
There was a problem hiding this comment.
Connection errors restart full login
When /api/alphaxiv/me times out or returns a server error, an existing OpenResearch user sees a sign-in button with connectOnly=false. Clicking it starts full login, which replaces their OpenResearch credentials. If the browser uses a different alphaXiv account, this can switch their OpenResearch account too. Show the failed check with a retry action instead of treating the user as signed out.
Prompt To Fix With AI
This is a comment left during a code review.
Path: ui/src/components/Onboarding.tsx
Line: 93-94
Comment:
**Connection errors restart full login**
When `/api/alphaxiv/me` times out or returns a server error, an existing OpenResearch user sees a sign-in button with `connectOnly=false`. Clicking it starts full login, which replaces their OpenResearch credentials. If the browser uses a different alphaXiv account, this can switch their OpenResearch account too. Show the failed check with a retry action instead of treating the user as signed out.
---
For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.Assisted-by: claude-opus-5.5 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Ports the onboarding tests and the e2e onboarding spec to #895's alphaXiv step. Assisted-by: claude-opus-5.5
The last onboarding step no longer asks for a research profile. It offers Continue with alphaXiv ("Bring your alphaXiv library"): optional, it lets you add library papers to chats and personalizes starter prompts. Signing in finishes onboarding and opens the demo; Skip finishes without it.
GET /api/alphaxiv/me, which also returns the avatar. An OpenResearch account without an alphaXiv connection gets the connect-only sign-in./users/v3/{sub}(institution, bio), followed topics, and the researcher card's areas and headline. The desktop token is only accepted on library routes, so private data (claimed papers) isn't reachable. The result is remembered for 10 min per user. If it's missing or times out (5 s), the brief falls back to the profile saved by older onboarding.complete_onboardingtreats no research areas as no profile, so a saved profile is never erased. Old clients still send areas and behave as before. The UI's profile client is removed, but the/api/settings/profileroutes stay as a shipped contract.arc/storage.mdlists the new alphaXiv reads, and notes that the profile reaches the agent's model provider through starter prompts.Known gap: a sparse public profile wins over a richer saved one (e.g. an institution alone). This is accepted for now.
Closes ORX-320
Test plan
cargo fmt --check,cargo clippy --all-targets -D warnings,cargo build --lockedcargo test --locked: 1365 pass. 3 Codex/OpenCode tests fail the same way on cleanorigin/mainon this machine (environment-dependent)tsc,lint:i18n,lint:styles,pnpm test(627 pass), including new Skip / Get started / connect-only / sign-in-finishes casesGET /users/v3/{sub}confirmed the token'ssubis the alphaXiv user id🤖 Generated with Claude Code