Skip to content

fix(web): show creator identity on recent projects - #6857

Merged
lefarcen merged 1 commit into
mainfrom
fix/project-creator-identity-pr
Aug 14, 2026
Merged

fix(web): show creator identity on recent projects#6857
lefarcen merged 1 commit into
mainfrom
fix/project-creator-identity-pr

Conversation

@lefarcen

Copy link
Copy Markdown
Contributor

Why

While reviewing a team-shared project in Recent projects, the signed-in creator was rendered as the generic localized label “Me”. That label also generated a misleading “M” avatar instead of showing the account identity already stored by the local Vela session.

This fixes the user-facing attribution without adding a user-profile request: the daemon reuses the locally persisted Vela login name and avatar URL and includes them in the existing workspace-context projection.

What users will see

Self-owned projects in Recent projects show the signed-in account name and profile image. If either value is unavailable, the existing localized “Me” label and initial fallback remain in place. The avatar image uses normal browser HTTP caching and a failed image load falls back to the initial.

Surface area

  • UI — new page / dialog / panel / menu item / setting / empty state in apps/web or apps/desktop (including Electron menu bar)
  • Keyboard shortcut — new or changed
  • CLI / env var — new od subcommand or flag, new tools-dev / tools-pack flag, or new OD_* env var
  • API / contract — new /api/* endpoint, new SSE event, or changed shape in packages/contracts
  • Extension point — new entry under skills/, design-systems/, design-templates/, or craft/, or change to the skills protocol
  • i18n keys — added new translation keys (see TRANSLATIONS.md for the locale workflow)
  • New top-level dependency — adding any new entry to the root package.json (dependencies or devDependencies); workspace-package package.json files are out of scope. Include a paragraph on what we get vs. what bytes we ship (see CONTRIBUTING.md → Code style)
  • Default behavior change — changes what existing users experience without opting in (default model, default setting, file/SQLite schema, auto-network on startup, auto-install)
  • None — internal refactor, docs, tests, or translation update only

Screenshots

The reported entry point is the creator byline directly below each Recent projects card. No new UI is introduced; this PR replaces the generic “Me”/“M” values there with the existing account identity.

Bug fix verification

  • Test paths: apps/web/tests/components/RecentProjectsStrip.test.tsx and apps/daemon/tests/vela-workspace-context.test.ts
  • The web regression assertion fails against the old behavior (Created by Me) and passes with this branch (Created by Elian Zhang plus the profile image).
  • The daemon test verifies that the existing workspace-context response is enriched from the local signed-in session rather than a new profile request.

Validation

  • pnpm install --frozen-lockfile (including workspace postinstall builds)
  • pnpm guard
  • pnpm --filter @open-design/web typecheck
  • pnpm --filter @open-design/daemon typecheck
  • pnpm exec vitest run -c vitest.config.ts tests/components/RecentProjectsStrip.test.tsx --maxWorkers=2 (33 passed)
  • pnpm exec vitest run -c vitest.config.ts tests/vela-workspace-context.test.ts (40 passed)

Note: an accidental full-web invocation surfaced one unrelated existing FileViewer test failure before it was interrupted; the correctly filtered RecentProjectsStrip suite is green.

@lefarcen

Copy link
Copy Markdown
Contributor Author

🧪 This PR has changes that need a manual QA pass before merge — please hold off self-merging for now; we'll loop QA in once it's merge-ready (and design/product have signed off, where applicable).

@lefarcen
lefarcen requested a review from PerishCode August 13, 2026 13:38
@lefarcen lefarcen added size/M PR changes 100-300 lines risk/high High risk: apps/desktop, daemon, auth, migration, workflows, package deps type/bugfix Bug fix needs-validation Runtime change detected; needs human or /explore agent validation. labels Aug 13, 2026

@PerishCode PerishCode left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@lefarcen This cleanly carries the signed-in Vela identity through the shared workspace-context contract and uses it for self-owned Recent projects cards while preserving the localized name/initial fallback and broken-image fallback. I reviewed all six changed files, including the daemon projection paths, React memoization dependencies, avatar rendering/CSS, and the focused daemon/web regression coverage. The implementation stays within the existing API boundary and does not introduce a new profile request. Nice focused fix—thank you for covering both sides of the contract and the user-visible fallback behavior.

🔁 Powered by Looper · runner=reviewer · agent=codex · An autonomous AI dev team for your GitHub repos.

@lefarcen
lefarcen requested a review from ivy-ting August 13, 2026 13:45
@github-actions

Copy link
Copy Markdown
Contributor

Visual regression review

Head: d713755 · Base: 698a17a

8 changed · 41 unchanged · 0 new without baseline · 0 failed

Changed cases

Case Main PR Diff
visual-home
4,484 px (0.35%)
main pr diff
visual-home-context-picker
1,072 px (0.08%)
main pr diff
visual-home-plugin-use-staged
2,806 px (0.22%)
main pr diff
visual-home-staged-attachment
2,904 px (0.22%)
main pr diff
visual-topbar-byok-switcher
3,664 px (0.28%)
main pr diff
visual-topbar-execution-switcher
3,971 px (0.31%)
main pr diff
visual-topbar-local-cli-model-list
4,715 px (0.36%)
main pr diff
visual-topbar-open-design-model-picker
11,175 px (0.86%)
main pr diff
Unchanged cases
Case Main PR Diff
visual-avatar-local-agent-list
0 px (0.00%)
main pr diff
visual-avatar-local-agent-list-panel
0 px (0.00%)
main pr diff
visual-avatar-menu
83 px (0.01%)
main pr diff
visual-avatar-menu-panel
14 px (0.04%)
main pr diff
visual-avatar-open-design-model-picker
40 px (0.00%)
main pr diff
visual-critical-settings
0 px (0.00%)
main pr diff
visual-critical-workspace
127 px (0.01%)
main pr diff
visual-critical-workspace-preview
62 px (0.00%)
main pr diff
visual-design-system-detail
0 px (0.00%)
main pr diff
visual-design-systems
0 px (0.00%)
main pr diff
visual-home-catalog
0 px (0.00%)
main pr diff
visual-home-context-picker-popover
337 px (0.11%)
main pr diff
visual-home-plugin-filter
0 px (0.00%)
main pr diff
visual-home-plugin-use-with-query
0 px (0.00%)
main pr diff
visual-integrations
0 px (0.00%)
main pr diff
visual-integrations-mcp
0 px (0.00%)
main pr diff
visual-integrations-use-everywhere
0 px (0.00%)
main pr diff
visual-new-project-modal
0 px (0.00%)
main pr diff
visual-onboarding-cloud
0 px (0.00%)
main pr diff
visual-plugin-details
0 px (0.00%)
main pr diff

Visual diff is advisory only and does not block merging.

@ivy-ting

Copy link
Copy Markdown
Contributor

@lefarcen

Thanks for the contribution. I completed QA validation for this PR at d7137555d72cda1fb7643ea1effb44168693e9a1.

QA Acceptance Record

Scope:

  • Show the signed-in creator identity on self-owned Recent projects cards.
  • Preserve localized-name, initial-avatar, and broken-image fallbacks.

Verified:

  • RecentProjectsStrip tests passed (33/33).
  • Vela workspace-context tests passed (40/40).
  • Web and daemon type checks passed.
  • The live Vela-backed context returned the signed-in displayName and avatarUrl.
  • The Electron Recent projects UI displayed the identity and correctly fell back to an initial when the image failed.
  • Current-head CI and visual regression checks are green.

Conclusion:

  • Accepted.

@ivy-ting ivy-ting added validated Runtime change validated (via /explore Pass or manual QA). and removed needs-validation Runtime change detected; needs human or /explore agent validation. labels Aug 14, 2026
@lefarcen
lefarcen added this pull request to the merge queue Aug 14, 2026
Merged via the queue into main with commit 696f392 Aug 14, 2026
38 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

risk/high High risk: apps/desktop, daemon, auth, migration, workflows, package deps size/M PR changes 100-300 lines type/bugfix Bug fix validated Runtime change validated (via /explore Pass or manual QA).

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants