* ios: native WebRTC
* add video showing
* make async function better working with main thread
* wrapped code in main actor, just in case
* small change
* a little better
* enable relay
* removed unused code
* allow switching calls
* testing
* enable encryption
* testing more
* another test
* one more test
* fix remote unencrypted video
* deleted unused code related to PixelBuffer
* added MediaEncryption playground
* better playground
* better playground
* fixes
* use new encryption api
* media encryption works
* small changes
* added lib dependency
* use commit reference for lib instead of version
* video format, PIP size
* remove sample.js
---------
Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com>
* ios: support query string parameters in ICE server addresses
* android: support query params in ICE server address, add transport=TCP to default servers
* ios: Multiuser calls
* counter update on badge
* padding before profile info in call view
* underline in name
* change after merge
* do not show Simplex Info button if users already created
* unread counter
* do not increase badge counter when chat has disabled notifications
* update incoming call
Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com>
* mobile: timeout call invitations, more android options
* close overlays when call is accepted via notification
* show incoming call above modals, dismiss modals when call is accepted
* fix clickable area of create profile button
* fix pending intent for rullscreen notification, update settings
* android: webrtc calls notification and alert
* add ringtone to incoming call
* incoming call on full screen
* enable notification ringtone
* remove text
* use translated strings in call notification
* mobile: webrtc calls work on Android and iOS separately
* core: only send public key with offer if invitation/current call supports e2ee
* update npm module
* use simplex.chat relay
* update webrtc settings
* WebRTCView to use command/response types
* compress WebRTC session descriptions, simple web UI for calls
* update webrtc ui
* use webworked in desktop browser
* use RTCRtpScriptTransform in safari
* update android type
* refactor
* add await
* mobile: webrtc calls state machine
* android: call api types
* android: call api methods
* ios: connect calls via chat UI (WIP)
* ios: webrtc call connects via UI
* core: update call duration/status when x.call.end is received
* improve call UX/UI
* audio calls
* different overlay for audio calls
* toggle video/audio in the call
* initial UI framework
* limited javascrtipt interaction
* run some js
* try to resolve permissions issues
* some initial RTC javascript
* approaching a workable js file
* js fixes
* tidy up js
* add some ui to web call
* fixes
* ready to test
* typo
* refactor for readability
* tidy up before adding encryption
* add transform to video streams
* tidy a little, audio encoding works, video fails
* minor changes
* use variables consistently
* e2ee video calls
git push
* include IV in outgoing message, decrypt fails when trying to read back
* add different prefix retention for differing frame types
* e2ee video calls with iv passed in band
* enforce use of VP8 encoding
* allow plaintext chunk only for video frames
* tidy up kotlin. Android <> browser tested
* minor ios changes
* capture js logs in xcode
* typo
* linting
Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com>