Files
simplex-chat/packages/simplex-chat-webrtc
2ea1ec0d50 ui: reconnect call (#7711)
* Update Call.hs

* Update Internal.hs

* add reconnecting string

* Update WebRTC.kt

* desktop: show reconnecting state, keep call duration

* android keep connection time correct wiith adding reconnecting

* Update CallTypes.swift add reconnecting status on IOS

* Update WebRTC.swift add reconnecting

* add reconnecting and make sure call duration is correct

* Update call.ts

* core: regenerate call.js from call.ts

* Update Call.hs revert call status change

minimization

* Update Internal.hs rever to minimize changes

* Update CallTypes.swift minimize changes

* Update WebRTC.kt minimize changes

* Update CallView.desktop.kt desktop shows reconnecting without sending to core

* Update CallView.android.kt show reconnecting without sending it to the core

* Update ActiveCallView.swift show reconnecting to ui without sending to core

* Update CallView.desktop.kt add reconnecting sound on reconnect

* Update CallView.android.kt add reconnecting sound

* Update ActiveCallView.swift play reconnecting sound when reconnecting

* Update RecAndPlay.desktop.kt

* rebuild

* refactor

* build

* android, desktop: restart ICE to reconnect calls

* ios: restart ICE to reconnect calls

* webrtc: add call reconnection e2e tests

* android, desktop: fix lost call commands

---------

Co-authored-by: GuavaGoat <320862384+GuavaGoat@users.noreply.github.com>
Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com>
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com>
2026-10-19 12:17:16 +01:00
..
2026-10-19 12:17:16 +01:00
2026-10-19 12:17:16 +01:00
2026-10-19 12:17:16 +01:00
2026-10-19 12:17:16 +01:00

WebView for WebRTC calls in SimpleX Chat

npm i
npm run build

Tests

End-to-end tests run two headless Chromium peers with call.js and simulate network outages by relaying media via UDP sockets controlled by the test:

npx playwright-core install chromium
npm test

Set CHROME to use another Chromium executable, and VERBOSE=1 to log signaling and connection states.

Full-stack tests in test/fullstack.test.js also pass call signaling via two chat cores and a local SMP server. They run when SIMPLEX_CHAT and SMP_SERVER are set to simplex-chat and smp-server executables:

SIMPLEX_CHAT=path/to/simplex-chat SMP_SERVER=path/to/smp-server npm test