* core: pass event and response error without dedicated constructor
* ios: WIP
* android, desktop: update UI for new API
* ios: fix parser
* fix showing invalid chats
* fix mobile api tests
* ios: split ChatResponse to 3 enums, decode API results on the same thread
* tweak types
* remove throws
* rename
* ios: new user picker (#4770)
* current user picker progress
* one hand picker
* thin bullet icon
* more user picker buttons
* button clickable areas
* divider padding
* extra space after sun
* send current user option to address view
* add unread count badge
* with anim for apperance close
* edit current profile from picker
* remove you section from settings
* remove help and support
* simplify
* move settings and sun to same row
* remove redundant vstack
* long press on sun/moon switches to system setting
* remove back button from migrate device
* smooth profile transitions
* close user picker on list profiles
* fix dismiss on migrate from device
* fix dismiss when deleting last visible user while having hidden users
* picker visibility toggle tweaks
* remove strange square from profile switcher click
* dirty way to save auto accept settings on dismiss
* Revert "dirty way to save auto accept settings on dismiss"
This reverts commit e7b19ee8aa.
* consistent animation on user picker toggle
* change space between profiles
* remove result
* ignore result
* unread badge
* move to sheet
* half sheet on one hand ui
* fix dismiss on device migration
* fix desktop connect
* sun to meet other action icons
* fill bullet list button
* fix tap in settings to take full width
* icon sizings and paddings
* open settings in same sheet
* apply same trick as other buttons for ligth toggle
* layout
* open profiles sheet large when +3 users
* layout
* layout
* paddings
* paddings
* remove show progress
* always small user picker
* fixed height
* open all actions as sheets
* type, color
* simpler and more effective way of avoid moving around on user select
* dismiss user profiles sheet on user change
* connect desktop back button remove
* remove back buttons from user address view
* remove porgress
* header inside list
* alert on auto accept unsaved changes
* Cancel -> Discard
* revert
* fix connect to desktop
* remove extra space
* fix share inside multi sheet
* user picker and options as separate sheet
* revert showShareSheet
* fix current profile and all profiles selection
* change alert
* update
* cleanup user address
* remove func
* alert on unsaved changes in chat prefs
* fix layout
* cleanup
---------
Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com>
* ios: fix switching profiles (#4822)
* ios: different user picker layout (#4826)
* ios: different user picker layout
* remove section
* layout, color
* color
* remove activeUser
* fix gradient
* recursive sheets
* gradient padding
* share sheet
* layout
* dismiss sheets
---------
Co-authored-by: Levitating Pineapple <noreply@levitatingpineapple.com>
* ios: use the same way to share from all sheets (#4829)
* ios: close user picker before opening other sheets
* Revert "share sheet"
This reverts commit 0064155825.
* dismiss/show via callback
* Revert "ios: close user picker before opening other sheets"
This reverts commit 19110398f8.
* ios: show alerts from sheets (#4839)
* padding
* remove gradient
* cleanup
* simplify settings
* padding
---------
Co-authored-by: Diogo <diogofncunha@gmail.com>
Co-authored-by: Levitating Pineapple <noreply@levitatingpineapple.com>
Co-authored-by: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com>
* ios: get call invitations asynchronously
* async update chats
* async user list on appear
* move model changes to main thread
---------
Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com>
* ios: Picture-in-picture while in calls
* simplify
* improvements
* back button and lots of small issues
* layout
* padding
* back button
* animation, padding, fullscreen
* end active call button
* removed unused code
* unused line
* transition
* better
* better
* deinit PiP controller
* stop camera after call end
* formatting
* stop capture if active
---------
Co-authored-by: Avently <avently@local>
Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com>
* 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>