-
Notifications
You must be signed in to change notification settings - Fork 299
fix: Preserve participants on shell updates to avoid “Name Not Found” after connection request ignore (WPB-19630) #19451
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix: Preserve participants on shell updates to avoid “Name Not Found” after connection request ignore (WPB-19630) #19451
Conversation
…t Found” after ignore (WPB-19630)
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## dev #19451 +/- ##
==========================================
+ Coverage 42.69% 42.71% +0.02%
==========================================
Files 1344 1344
Lines 32585 32601 +16
Branches 7201 7207 +6
==========================================
+ Hits 13912 13927 +15
+ Misses 17005 17004 -1
- Partials 1668 1670 +2 🚀 New features to boost your workflow:
|
|
🔗 Download Full Report Artifact 🧪 Playwright Test Summary
Failed Tests:❌ Messages in Groups (tags: TC-8751, crit-flow-web)Location: specs/CriticalFlow/messagesInGroups-TC-8751.spec.ts:42 Errors: Flaky Tests: |
|



Description
Ticket: WPB-19630
Symptom: After user B ignores a connection request from A, user A later logs out/in and sees an open conversation titled “Name Not Found” instead of the pending request.
Root cause
During the CREATE/early UPDATE path, we upsert a shell conversation whose participating_user_ids is empty. Our mapper then overwrites the existing in-memory conversation (which had participants) with this empty list, effectively erasing membership. The UI then falls back to “Name Not Found”.
Fix
In saveConversation:
When merging into an existing conversation, omit participating_user_ids from the patch if the previous conversation had participants and the incoming payload has none.
Additionally, if we’re creating a brand-new conversation and the incoming payload has an empty participating_user_ids, we drop that field to avoid persisting empty membership from shells.
This preserves membership across shell/early updates while still allowing legitimate membership changes when the incoming payload explicitly includes a non-empty list.
Checklist