fix(calls): Reject sends the decline to the ring notification (#313) #375

Merged
jared merged 2 commits from fix/decline-references-notification into lotus 2026-10-17 22:13:55 -04:00
Owner

Fixes #313.

handleReject related the MSC4310 decline to the caller's call.member event, which is what the notification references. MSC4310 and Element Call match a decline against the rtc.notification event itself. So:

  • the caller kept "Calling…" for the full 90 s after being told "Declined";
  • declines from other clients, which correctly reference the notification, didn't stop Lotus ringing on your other devices.

Change

  • The incoming call keeps the notification's own event ID, and Reject relates the decline to it.
  • The "declined on another device" dismissal and declinedRing accept either ID, since older Lotus builds referenced the membership.
  • The missed-call line is skipped for a call you declined.

Verified headless (a DM, Bob rings, Reject):

  • Before: the decline referenced the membership.
  • After: it references the notification.

Unit test added. tsc clean · unit tests pass · ESLint/Prettier clean.

🤖 Generated with Claude Code

https://claude.ai/code/session_017PCb59uY3UKqDqt7B6hzd5

Fixes #313. `handleReject` related the MSC4310 decline to the caller's `call.member` event, which is what the notification references. MSC4310 and Element Call match a decline against the **`rtc.notification` event itself**. So: - the caller kept **"Calling…" for the full 90 s** after being told "Declined"; - declines from other clients, which correctly reference the notification, didn't stop Lotus ringing on your other devices. **Change** - The incoming call keeps the notification's own event ID, and **Reject** relates the decline to it. - The "declined on another device" dismissal and `declinedRing` accept **either** ID, since older Lotus builds referenced the membership. - The **missed-call** line is skipped for a call you declined. **Verified** headless (a DM, Bob rings, Reject): - **Before:** the decline referenced the membership. - **After:** it references **the notification**. Unit test added. `tsc` clean · unit tests pass · ESLint/Prettier clean. 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_017PCb59uY3UKqDqt7B6hzd5
jared added 1 commit 2026-10-17 18:01:13 -04:00
fix(calls): Reject sends the decline to the ring notification (#313)
CI / Build & Quality Checks (pull_request) Successful in 3m8s
CI / Trigger Desktop Build (pull_request) Skipped
CI / Docker image build & smoke test (pull_request) Skipped
CI / Secret scan (gitleaks) (pull_request) Successful in 7s
CI / Playwright smoke (e2e) (pull_request) Failing after 18m4s
a425aa3572
handleReject related the MSC4310 decline to the caller's call.member event
(the notification's reference), but MSC4310 and Element Call match a
decline against the rtc.notification event itself, so the caller kept
"Calling…" for the full 90 s after being told "Declined", and declines
from other clients (correctly referencing the notification) didn't stop
Lotus ringing on other devices.

- The incoming call keeps the notification's own event id; Reject relates
  the decline to it.
- The "declined on another device" dismissal and declinedRing accept
  either id (older Lotus builds referenced the membership).
- The missed-call line is skipped for a call we declined.

Verified headless (DM, Bob rings, Reject): the decline used to reference
the membership; it now references the notification. Unit test added.

Fixes #313

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017PCb59uY3UKqDqt7B6hzd5
jared added 1 commit 2026-10-17 19:29:26 -04:00
Merge branch 'lotus' into fix/decline-references-notification
CI / Build & Quality Checks (pull_request) Successful in 2m46s
CI / Trigger Desktop Build (pull_request) Skipped
CI / Docker image build & smoke test (pull_request) Skipped
CI / Secret scan (gitleaks) (pull_request) Successful in 12s
CI / Playwright smoke (e2e) (pull_request) Successful in 15m45s
9c433d9d77
jared merged commit 82c5728a96 into lotus 2026-10-17 22:13:55 -04:00
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: LotusGuild/cinny#375