* ios: fix callkit calls via NSE
* comments
* more reliable NSE start
* remove public logs, different RTS parameters for NSE
* only suspend NSE if we have chat controller, to avoid crashes if suspension attempted without controller created
* comments
* fix
* simplify
* core: forward notifications about message processing (for iOS notifications)
* simplexmq
* the option to keep database key, to allow re-opening the database
* export new init with keepKey and reopen DB api
* stop remote ctrl when suspending chat
* ios: close/re-open db on suspend/activate
* allow activating chat without restoring (for NSE)
* update NSE to suspend/activate (does not work)
* simplexmq
* suspend chat and close database when last notification in the process is processed
* stop reading notifications on message markers
* replace async stream with cancellable concurrent queue
* better synchronization of app and NSE
* remove outside of task
* remove unused var
* whitespace
* more debug logging, handle cancelled read after dequeue
* comments
* more comments
* android: keep screen on while playing/recording media
* ios: keep screen on while playing/recording media
* different implementation on ios
* Revert "android: keep screen on while playing/recording media"
This reverts commit d291f006e9.
* different implementation on android
* refactor
---------
Co-authored-by: Avently <avently@local>
Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com>
* ios: block members (WIP)
* CIBlocked, blocking api
* show item as blocked
* show blocked and merge multiple deleted items
* update block icons
* split sent and received deleted to two categories
* merge chat feature items, refactor CIMergedRange
* merge feature items, two profile images and names on merged items
* ensure range is withing chat items range
* merge group events
* fix/refactor
* make group member changes observable
* exclude some group events from merging
* fix states not updating and other fixes
* load list of members when tapping profile
* refactor
* fix incorrect merging of sent/received marked deleted
* fix incorrect expand/hide on single moderated items without content
* load members list when opening member via item
* comments
* fix member counting in case of name collision
* 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