feat(ux): improve first-login onboarding and avatar handling - #769
Open
tiankaima wants to merge 14 commits into
Open
feat(ux): improve first-login onboarding and avatar handling#769tiankaima wants to merge 14 commits into
tiankaima wants to merge 14 commits into
Conversation
Co-authored-by: Tiankai Ma <tiankaima.dev@gmail.com>
Co-authored-by: Tiankai Ma <tiankaima.dev@gmail.com>
Deploying with
|
| Status | Name | Latest Commit | Updated (UTC) |
|---|---|---|---|
| ✅ Deployment successful! View logs |
life-ustc | a22ca4c | Aug 28 2026, 01:48 PM |
Co-authored-by: Tiankai Ma <tiankaima.dev@gmail.com>
Co-authored-by: Tiankai Ma <tiankaima.dev@gmail.com>
Co-authored-by: Tiankai Ma <tiankaima.dev@gmail.com>
Contributor
|
E2E HTML report is ready: https://life-ustc.github.io/e2e-snapshot-artifacts/reports/31266032403/index.html |
Co-authored-by: Tiankai Ma <tiankaima.dev@gmail.com>
Co-authored-by: Tiankai Ma <tiankaima.dev@gmail.com>
Co-authored-by: Tiankai Ma <tiankaima.dev@gmail.com>
Hide the workspace skeleton on /account/welcome and put section import on the subscriptions step itself, with copy-paste guidance and the same icon-row layout as the finish step. Co-authored-by: Tiankai Ma <tiankaima.dev@gmail.com>
Co-authored-by: Tiankai Ma <tiankaima.dev@gmail.com>
Rewrite step 2 and 3 in a more conversational voice, and send people to the undergraduate and graduate academic sites to copy their timetable. Co-authored-by: Tiankai Ma <tiankaima.dev@gmail.com>
Use the provided Step 2/3 onboarding copy: inline undergraduate and graduate academic-system links, an Import action, and last-mile next-step guidance. Co-authored-by: Tiankai Ma <tiankaima.dev@gmail.com>
Use the updated Step 2/3 wording: import-from-academic-system title, a lighter paste hint, and next-step notes for todos and TA homepages. Co-authored-by: Tiankai Ma <tiankaima.dev@gmail.com>
Resolve conflicts so the onboarding pull request can merge: keep the staged welcome flow and Images binding, and take main's shell, cron, and audit updates. Co-authored-by: Tiankai Ma <tiankaima.dev@gmail.com>
tiankaima
marked this pull request as ready for review
August 28, 2026 13:46
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Goal
Improve first-login onboarding: turn the dense single-page welcome into a guided staged flow, add secure custom avatar uploads, allow refreshing OAuth profile data, and keep boarding focused (no workspace chrome).
Changed Surfaces
/account/welcomeuses a focused shell: no sidebar, global search, or mobile primary nav; language and theme stay in the topbarcovertransform to WebPUser.profilePicturesUPDATE grant; Better Auth role remains unable to write itEvidence
Passed on the pre-merge branch:
bun run app:preparebunx biome check(pre-existing non-null-assertion warnings only)This revision merges
mainand keeps the staged welcome flow plus Images binding. Re-run CI on the merge commit before landing.Docs / Contracts
Updated
docs/contracts/user.json(welcome-staged-steps),docs/contracts/_ui.json(focused welcome chrome),messages/zh-cn.json, andmessages/en-us.json.Risk Areas
OAuth account reauthorization, Cloudflare Images availability, R2 object lifecycle, multipart form handling, public avatar authorization, deployment ordering for the app-runtime column grant, and the welcome step contract shared with the E2E auth harness.
Cleanup
No scratch artifacts, generated Playwright output, unrelated rewrites, or manual generated Prisma/OpenAPI edits remain. Welcome import dialogs stay deleted in favor of the inline subscriptions step.