Stop the ring on this account's other devices when one answers #152

Merged
paulhitt merged 1 commits from fix/answered-elsewhere into main 2026-09-11 16:53:56 +00:00
paulhitt commented 2026-09-11 16:51:01 +00:00 (Migrated from gitlab.com)

A second device on the same account kept ringing up to 60 seconds after the call was answered on the first, then filed it as missed. The answer goes to the caller only, so nothing told it.

  • accept() and decline() send call-end to this account's other devices, reason answered-elsewhere / declined-elsewhere (spec: flamenet-e2e!40)
  • onSignal routes a signal from this account first; onOwnDevice stops only a RINGING call with the same id, sends nothing back, and sets endedElsewhere so the view model files no missed call
  • Conversations.sendPlaintext to self: no delivery-key/key-log preludes, not refused by require-sealed
  • Old builds on the other device still stop ringing: they treat it as an ordinary end for the call they are showing

Verified: SecondDeviceCallTest 8/8 (6 new), :client:test clean. ktlint findings on these files are identical to main (8/18/35/10).

Pairs with the iOS MR of the same name. Not a release; merge only.

Generated with Claude Code

A second device on the same account kept ringing up to 60 seconds after the call was answered on the first, then filed it as missed. The answer goes to the caller only, so nothing told it. - `accept()` and `decline()` send `call-end` to this account's other devices, reason `answered-elsewhere` / `declined-elsewhere` (spec: flamenet-e2e!40) - `onSignal` routes a signal from this account first; `onOwnDevice` stops only a RINGING call with the same id, sends nothing back, and sets `endedElsewhere` so the view model files no missed call - `Conversations.sendPlaintext` to self: no delivery-key/key-log preludes, not refused by require-sealed - Old builds on the other device still stop ringing: they treat it as an ordinary end for the call they are showing Verified: `SecondDeviceCallTest` 8/8 (6 new), `:client:test` clean. ktlint findings on these files are identical to main (8/18/35/10). Pairs with the iOS MR of the same name. Not a release; merge only. Generated with [Claude Code](https://claude.com/claude-code)
paulhitt commented 2026-09-11 16:51:38 +00:00 (Migrated from gitlab.com)

mentioned in merge request flamenet-messenger-ios!198

mentioned in merge request flamenet-messenger-ios!198
paulhitt commented 2026-09-11 16:53:56 +00:00 (Migrated from gitlab.com)

mentioned in commit 1656c87491

mentioned in commit 1656c8749151783c185f12ec652b195bcec46cb6
paulhitt (Migrated from gitlab.com) merged commit 1656c87491 into main 2026-09-11 16:53:56 +00:00
paulhitt commented 2026-09-12 12:06:24 +00:00 (Migrated from gitlab.com)

mentioned in merge request !133

mentioned in merge request !133
Sign in to join this conversation.