Skip to content

Land avatar, presence, and API wiring stack on main - #439

Merged
motirebuma merged 8 commits into
mainfrom
stack/avatar-presence-api
Jul 25, 2026
Merged

Land avatar, presence, and API wiring stack on main#439
motirebuma merged 8 commits into
mainfrom
stack/avatar-presence-api

Conversation

@niamao

@niamao niamao commented Jul 25, 2026

Copy link
Copy Markdown
Collaborator

Summary

This PR lands the remaining stacked work that was already reviewed and approved, but never reached main.

The original stack was:

  1. feat(profile): About bio, settings UX, and updateUser (1/4) #434 profile-biomain — merged ✅
  2. fix(avatar): consistent avataaars rendering (2/4) #435 avatar-consistencyprofile-bio — reviewed & merged into the stack branch, not into main
  3. feat(presence): persist status across reload (3/4) #436 presence-persistavatar-consistency — reviewed & merged into the stack branch, not into main
  4. feat(api): notifications/activities wiring and guest auth (4/4) #437 api-wiringpresence-persist — reviewed & merged into the stack branch, not into main

Because PRs #435#437 targeted intermediate stack bases instead of being retargeted to main after #434 landed, only the bio/About work is on main today. This branch is cut from the tip of that stack (presence-persist, which already includes avatar + presence + api-wiring) and merged with current main so we can bring the already-reviewed changes into main in one PR.

No new feature work is intentionally introduced here beyond syncing with main. The commits below were previously reviewed on:

  • #435 — consistent avataaars rendering
  • #436 — persist presence status across reload
  • #437 — notifications/activities wiring and guest GraphQL auth

Test plan

Made with Cursor

Neo Isaac Amao and others added 7 commits July 24, 2026 16:57
Parse avatar qualities vs URL in Avatar, pass raw avatar values through
chat/comments/activity, sync login/nav avatar from GET_USER, and keep
store avatar updates typed for objects.

Co-authored-by: Cursor <cursoragent@cursor.com>
Keep preferredStatus/message through stale offline cleanup, restore on
heartbeat, expose updatePresence, and rehydrate the client from GET_USER
and heartbeat responses.

Co-authored-by: Cursor <cursoragent@cursor.com>
Register notification and activity resolvers, and improve guest-session
handling in Apollo/auth utilities so unauthenticated flows fail cleanly.

Co-authored-by: Cursor <cursoragent@cursor.com>
…ates

Re-bind all Presence statics after model resolve so hot reload cannot leave
stale methods, and coalesce chat status defaults before applying heartbeat
payloads to avoid no-op setState when values already match.

Co-authored-by: Cursor <cursoragent@cursor.com>
Use ActivityEventType[] instead of JSON for activityEvent, fail loudly on
missing activity userId, paginate notifications with a capped limit, and
add a userId+created index for the activity feed.

Co-authored-by: Cursor <cursoragent@cursor.com>
feat(api): notifications/activities wiring and guest auth (4/4)
@vercel

vercel Bot commented Jul 25, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
quotevote Ready Ready Preview, Comment Jul 25, 2026 5:38pm

Update Presence.schema tests for the preferred-status heartbeat path, and allow one-time Zustand avatar seeding in the editor effect.

Co-authored-by: Cursor <cursoragent@cursor.com>

Copy link
Copy Markdown
Contributor

@motirebuma this appears to be the canonical path for landing the reviewed avatar, presence, and API-wiring stack on main. The PR is currently mergeable, CI passed, and the Vercel preview is ready.

Could you review the consolidated diff specifically for:

@niamao, please also confirm that this branch contains the complete intended stack and that the obsolete stack branches can be retired after merge. Once those checks are recorded, this should resolve the current gap between reviewed work and what is actually present on main.

@motirebuma motirebuma left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Hey @niamao, thanks for pointing this out! PRs 435-7 were merged into their branch stacks but never onto main, so this PR merges all previously approved code back in.

All code is thoroughly reviewed and approved with no new features, only merging in with the latest main and a handful of CI fixes (updated heartbeat tests and a lint suppression in the avatar editor). All tests are passing.

Thank you @niamao

@flyblackbox @niamao

@motirebuma
motirebuma merged commit ab0c56a into main Jul 25, 2026
5 checks passed
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.

3 participants