* core: silence member wip
* change approach
* more types
* remove comment
* bool in protocol msg
* flag in items, event
* send event, process
* apply moderation
* remove comment
* filter for forward, view
* tests
* rename
* separate response, check already blocked
* add test
* fix terminal api
* add comment
* don't send profile update
* corrections
* refactor
* rework - flag blocked by admin
* blocked in intro
* fix test
* cant block unblock self
* muted view, create unknown member
* blocked by admin in members list
* create with maybe null
* protocol changes
* align code with protocol
* revert terminal api
* restrict block api for admins
* stabilize test
* rename
* update protocol/types
* refactor
* refactor2
* stabilize test
* member field
---------
Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com>
* core: api to create contacts with group members
* implementation
* fix contact replace, more tests
* comment
* rename fields
* fix
* fix
* test group is still incognito
* fix
* replace connection instead of contact
* fix
* check version
* style, names
---------
Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com>
* core: message reactions
* remove comments
* core: commands to set reactions
* fix tests
* process reaction messages
* store functions
* include reactions on item updates
* remove print
* view, tests
* load reactions for new items
* test removing reaction
* remove spaces
* limit the number of different reactions on one item
* remove unique constraints
* fix permissions
* indexes
* check chat item content before adding reaction
* fix group reactions
* simpler index
---------
Co-authored-by: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com>
* core: include contact links in profiles
* add connection request link to contact and group profiles
* set group link on update, view, api
* core: include contact addresses in profiles
* remove id from UserContactLink
* schema, fix test
* remove address from profile when deleting link, tests
* remove diff
* remove diff
* fix
* ios wip
* learn more, confirm save, reset on delete
* re-use in create link view
* remove obsolete files
* color
* revert scheme
* learn more with create
* layout
* layout
* progress indicator
* delete text
* save on change, layout
---------
Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com>
* core: update chat preferences
* refactor, types
* rename types
* rename types
* make voice on by default
* create new user with empty preferences
* fix test
* core: support inline file transfers
* parameterize ChatMessage
* send files inline when accepted
* accept inline file transfers (almost works)
* db error SERcvFileInvalid
* inline file transfer works (TODO fix test)
* inline file transfer tests, change encodings
* fixture
* combine messages into x.file.acpt.inv, refactor
* inline file mode
* decide whether to receive file inline on the recipient side, not only via file invitation
* test inline files "sent" mode
* check that file was offered inline
* update schema
* enable encryption tests
* test name
Co-authored-by: JRoberts <8711996+jr-simplex@users.noreply.github.com>
* fix the list of rcv files to subscribe too
Co-authored-by: JRoberts <8711996+jr-simplex@users.noreply.github.com>
* ios: get device token for push notifications
* ios: receive messages when background notification is received
* add notifications API, update simplexmq
* chat API to register and verify notification token
* update AppDelegate to recognize different notification types, update simplexmq
* core: api to enable periodic background notifications
* update simplexmq
* chat API to delete device notification token
* use base64url encoding in verification code
* update simplexmq for notifications
* core: change quoted messages types/protocol
* remove comments and unused field
* rename CIQuote type
* change type for quote direction to allow unknown group member, use QuotedMsg to save received chat item
* change queries of quoted items when the sending group member is known
* refactor
* fix: make ciQuote polymorphic