feat: presence sync engine integrations#40557
Conversation
|
Looks like this PR is not ready to merge, because of the following issues:
Please fix the issues and try again If you have any trouble, please check the PR guidelines |
|
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Tip 💬 Introducing Slack Agent: The best way for teams to turn conversations into code.Slack Agent is built on CodeRabbit's deep understanding of your code, so your team can collaborate across the entire SDLC without losing context.
Built for teams:
One agent for your entire SDLC. Right inside Slack. Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## feat/presence-expiration-ui #40557 +/- ##
===============================================================
- Coverage 69.59% 69.57% -0.02%
===============================================================
Files 3330 3330
Lines 123257 123220 -37
Branches 21943 21965 +22
===============================================================
- Hits 85779 85731 -48
- Misses 34132 34141 +9
- Partials 3346 3348 +2
Flags with carried forward coverage won't be shown. Click here to find out more. 🚀 New features to boost your workflow:
|
807228e to
a62ad69
Compare
cbd523c to
ef46ca9
Compare
a62ad69 to
9ad1e60
Compare
ef46ca9 to
64b2bb2
Compare
9ad1e60 to
c283812
Compare
64b2bb2 to
e566701
Compare
061cf4c to
05b4e89
Compare
Proposed changes
Integrates the presence sync engine into calendar, voice call, and video conference services, replacing direct DB status updates with the unified
Presence.setActiveState()/Presence.endActiveState()API.Voice calls
callActivated/callEndedevents fromCallDirectorto set/clear busy presencestatusSource: 'internal'(highest priority)callActivatedandcallEndedevent types toMediaCallServerEventsVideo conferences
statusSource: 'internal'(highest priority)Calendar
applyStatusChangeflow andpreviousStatustracking with a singlePresence.setActiveState()call usingstatusSource: 'external'statusExpiresAtapplyStatusChange.tsand related test files (~550 lines removed)previousStatusfield fromICalendarEventIssue(s)
Steps to test or reproduce
See the use case matrix for the full set of scenarios.
Further comments
Depends on #40469 (frontend) and #40274 (backend engine).
This is the final PR in the stack. After this, all presence writers (manual, calendar, voice, video) go through the unified engine, and direct DB writes for status are fully eliminated.