* core: settings to hide member messages, to show only reply (and mention) notifications
* change type for showMessages
* commands for member settings
* member and notification settings
* test
* take member settings into account when showing messages and notifications
* fix to show sent messages
* store blocked items
* types
* rename to MFMentions
* Wire some of the session endpoints
* Start sending remote commands
* Expand remote controller
- Fix queues for pumping to remote
- Add 3-way test
- WIP: Add TTY wrapper for remote hosts
- Stop remote controller w/o ids to match starting
* Fix view events
* Drop notifications, add message test
* refactor, receive test
* hunt down stray asyncs
* Take discovery sockets in brackets
---------
Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com>
* core: profile names with spaces
* test
* more test
* update name validation, export C API
* refactor
* validate name when creating profile in CLI
* validate display name in all APIs when it is changed
* Revert "core: return error response when wrong passphrase is passed to start"
This reverts commit ea319313f1.
* Revert "core: support closing/re-opening store on chat stop/start (#3132)"
This reverts commit 3c7fc6b0ee.
* core: update contact and member profiles for both sides when contact is created with member (WIP)
* send both sides, correctly process update
* refactor
* revert diff
* comments
* test
---------
Co-authored-by: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com>
* core: test group members are assigned different LDNs in group when direct connections aren't created
* disable test output
* core: connect existing contacts to new members when profile matches (#3059)
* core: connect existing contacts to new members when profile matches
* fix migration
* progress
* xInfoProbeOk for member
* fix tests
* add test
* fix tests
* tests
* remove deleteSentProbe
* remove deleteContactProfile_
* views
* don't check connections in deleteUnusedProfile_
* Revert "don't check connections in deleteUnusedProfile_"
This reverts commit 2016a0efde.
* fix test
* core: update member merge
* update saved schema
* fix queries and tests
* rename tables to original names
* remove index, corrections
* update schema dump
---------
Co-authored-by: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com>
---------
Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com>
* core: terminal api to send message to / connect with member contact
* style
---------
Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.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>
* Make it compiler with 9.6
Can be built with:
cabal build all -j --allow-newer=base --allow-newer=ghc-prim --allow-newer=template-haskell --allow-newer=bytestring --allow-newer=memory --allow-newer=cryptonite
Using ghc 9.6
It mostly runs afoul of https://github.com/ghc-proposals/ghc-proposals/blob/master/proposals/0366-no-ambiguous-field-access.rst
* compile with GHC 9.6.2: dependencies, imports, code
* update GHC version in CI
* update GHC version in desktop build scripts
* update simplexmq, sha256map.nix
* update compiler
* update simplexmq, direct-sqlcipher
* remove missing files from .cabal
* building on desktop
* mac build changes
* added version back
* building libffi from source
* update simplexmq
---------
Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com>
Co-authored-by: Avently <7953703+avently@users.noreply.github.com>
* directory: list groups with group member counts
* list groups, test
* superuser can list all groups
* rename command
* remove type synonym
* add member count to search results
* fix test
* SimpleX Directory Service
* more events
* update events
* fix
* Apply suggestions from code review
metavar
Co-authored-by: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com>
* metavar 2
Co-authored-by: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com>
* process events
* remove command serialization
* update
* update
* process group profile update
* basic group registration flow
* search works
* better messages
* improve messages
* test broadcast bot
* test for directory service
* better processing of group profile change, test
* refactor
* de-list group when owner or service is removed from the group, tests
* fix: removing any member or any member leaving should not delist the group
* refactor
* more tests, fixes
* disable bot tests in CI
* remove comment
---------
Co-authored-by: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com>
* core: delivery receipts
* update simplexmq
* preference, migration
* add activated state to receipts preference, update tests
* set receiveReceipts as activated on new profiles
* update simplexmq, fix tests
* update simplexmq, fix withAckMessage
* one more option
* more
* use tryChatError in ack message
* enable all tests
* rename pref
* update item status on delivery receipts
* show receipts for tests
* remove chat preference for delivery receipts
* add user, contact and group settings for delivery receipts
* only send delivery receipts if enabled for the contact or user profile (and not disabled for the contact)
* fix tests
* reuse event, test
* configure per contact - db, api, test
* rename commands
* update simplexmq
---------
Co-authored-by: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com>
* core: count successes and failures for batch operations, only log errors in info log-level
* correction
Co-authored-by: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com>
---------
Co-authored-by: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com>
* core: edited and deleted timestamps for item
* migration
* add deleted timestamp to chat item, use chat item if there are no versions
* use broker timestamp for remote deletions
* refactor
* 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>
* ios: view edit history; core: prohibit item updates w/t changes
* read more less wip
* Revert "read more less wip"
This reverts commit 8e0663377b.
* comment for translations
* 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: add chat items to indicate decryption failures due to ratchets being out of sync
* show ratchet errors in chat items, show all integrity errors
* show decryption errors, tests
* ios: chat items, remove item for duplicate messages
* android: decryption errors chat items
* eol
* core: update servers API to include XFTP servers, ios: generalize UI to manage servers
* add test
* update migrations to pass tests
* fix readme
* update simplexmq
* terminal: autocomplete contacts, groups and commands
* autocomplete for commands and member names
* update commands
* show variants
* improve
* improve
* do not show user in contacts, better state machine for tab states
* update CI runners
backend fixes:
- check file is not complete on CancelFile,
- check file is not cancelled when processing XFTP events,
- mark SMP file cancelled if recipient cancelled in direct chat.
* core: failing test for leaving and deleting the group joined via link
* fix test
* merge logic
* fix
* add condition
* refactor
Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com>
* compiles
---------
Co-authored-by: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com>