Evgeny Poberezkin
291df6e9d0
core: logging of chat events ( #4216 )
...
* core: update simplexmq (persist server errors)
* fix
* same config
* logging
* logging 2
* log
* log 2
* finally
* catch better
* more logs
* logs
* fix
* more logging, context from PROHIBITED
* warning
* more logs
* logs3
* logs4
* logs in simplexmq
* log locks from simplemq
* log queue size
* log sendMessagesB in simplexmq
* update simplexmq
* logs5
* logs6
* logs7
* logs8
* logs8
* logs9
* logs10
* log11
* log12
* fix test
* more logs
* logging
* clean up
* refactor
* simplify
* tags
* log level
* remove network errors from the log
* rename
2024-05-24 21:09:21 +01:00
Evgeny Poberezkin
93ae1145bc
core: update simplexmq (use MVar for better DB connection concurrency) ( #4183 )
...
* core: update simplexmq (use MVar for better DB connection concurrency)
* focus failing tests
* add timeouts to test
* fix tests
* more delays
* increase timeouts
* prints
* delay
* delay
* empty
* more delays
* enable all
---------
Co-authored-by: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com >
2024-05-15 11:16:38 +01:00
Evgeny Poberezkin
331b4633fc
core: platform independent encoding for delete command ( #4176 )
2024-05-13 20:39:13 +01:00
spaced4ndy
f40ba6f04d
core: api to differentiate contacts and conversations ( #4111 )
2024-05-13 16:51:54 +04:00
Evgeny Poberezkin
84d7a77a9f
core: update simplexmq (better subscription management) ( #4131 )
...
* core: update simplexmq (better subscription management)
* ui: update settings
* update simplexmq
* simplexmq
* simplexmq
* test output
* delay
* disable test
2024-05-13 08:04:12 +01:00
spaced4ndy
7567791866
core: enable PQ encryption for contacts ( #4049 )
...
* wip
* migration
* remove migration
* remove flag wip
* Revert "remove migration"
This reverts commit 9e64663f9d .
* wip
* remove vrange parameterization
* tests mostly pass
* more tests pass
* enable for upgraded contacts
* remove migration
* core: test large messages (#4061 )
* update simplexmq, fix tests
* test test
* another test
* enable tests
* empty
* empty
2024-04-22 17:46:48 +01:00
spaced4ndy
52803ae976
core: add delays to some failing tests ( #3947 )
2024-03-22 22:01:11 +04:00
spaced4ndy
56fcaf514e
core (pq): don't compress if message fits without compression; check compressed message fits size limit ( #3888 )
...
* core (pq): don't compress if message fits without compression; check compressed message fits size limit
* refactor
* errors
* fix tests
* envelope sizes
* refactor
* comment
* more flexible test
* refactor, comment
---------
Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com >
2024-03-10 22:54:55 +00:00
spaced4ndy
8660bf420a
core (pq): cross-version tests ( #3885 )
...
* core (pq): cross-version tests
* next (fails)
* enable all tests
* fix versions
* update simplexmq
* tests
---------
Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com >
2024-03-10 18:57:57 +04:00
Evgeny Poberezkin
60a73a539e
core: add agreed connection version field ( #3881 )
...
* core: add agreed connection version field
* fix
* progress
* use pqSupport and version to decide compression in messages
* pass version to encodeConnInfoPQ
* update pq enable/disable api
* remove TestConfig
* update nix dependencies
* update texts
* corrections
* create e2ee info items when connection switches from off to on first time
* corrections
Co-authored-by: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com >
* comment
* increase test timeout
---------
Co-authored-by: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com >
2024-03-10 11:31:14 +00:00
spaced4ndy
191d833947
core (pq): tests ( #3882 )
...
* core (pq): tests
* rename
* move
* test allow
* mute test output
* pq combinators
* refactor
---------
Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com >
2024-03-08 23:09:12 +00:00
spaced4ndy
bc2b135880
core (pq): update types ( #3872 )
...
* core (pq): update types
* imports
* encode / max msg size types
* integrate new types
* update types/pq support
* tests compile
---------
Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com >
2024-03-07 17:39:09 +04:00
Alexander Bondarenko
64dc758ffd
core: compressed message encoding, variable vrange ( #3844 )
2024-03-06 18:02:19 +04:00
spaced4ndy
eebf014ff7
core (pq): integrate agent api, create e2ee info items ( #3859 )
2024-03-05 20:27:00 +04:00
Evgeny Poberezkin
e37654772f
core: api to save/get app settings to migrate them as part of the database ( #3824 )
...
* rfc: migrate app settings as part of export/import/migration
* export/import app settings
* test, fix
* chat: store app settings in db (#3834 )
* chat: store app settings in db
* add combining with app-defaults
* commit schema
* test with tweaked settings
* remove unused error
---------
Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com >
* remove app settings from export/import
* test, more settings
---------
Co-authored-by: Alexander Bondarenko <486682+dpwiz@users.noreply.github.com >
2024-02-24 15:00:16 +00:00
spaced4ndy
b0b249a56a
Merge branch 'stable'
2024-02-22 12:11:23 +04:00
spaced4ndy
c544a636f6
core, ui: remove usage of inline files (send only xftp files) ( #3823 )
2024-02-20 13:56:31 +04:00
Alexander Bondarenko
364b62320b
controller: add db passphrase test command ( #3788 )
...
* controller: add passphrase test
* refactor
---------
Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com >
2024-02-18 13:28:24 +00:00
spaced4ndy
16f53490c5
core: block member for all ( #3689 )
...
* 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 >
2024-01-19 17:57:04 +04:00
Evgeny Poberezkin
868acd18d6
core: support deleting the last profile (always create user record in agent when user is created) ( #3654 )
...
* core: only skip creating agent user when app is first started
* firstTime
* prompt
* fix test
* if
* simplexmq
* ci timeout
* skip test
* add test timeout
* log test times
* simplexmq
* timeout
* simplexmq without new batching
* Revert "simplexmq without new batching"
This reverts commit 9879bcb57c .
* without new batching again
* with builder, without sized builder
* lazy bytestring, same batching logic
* fewer chunks
* remove lazy
* optimize batching in simplexmq
2024-01-17 15:20:13 +00:00
Alexander Bondarenko
bc8a6f4833
core: add notes chat type ( #3568 )
...
* Add chat type "self"
* rename to Notes
* cover more things
* remove quote, tweak sql
* resolve comments
* constrain ACIQDirection to exclude CTLocal
* add CILocalRcv handling
* plug in migrations and tests
* cover more API, implement new folders
* working create/send/tail
* remove interaction with messages
* add note deletion (api-only)
* add folder deletion
* add getLocalChatItemIdByText
* add APICreateChatItem and files
* add protocol check for getFileTransfer protocol
* replace FTLocal with createLocalFile
* add chat previews
* add folder clear
* add reactions
* add read/unread
* add note updates
* resolve some comments
* remove local reactions
* remove folder names, deletion, add autocreate
* add file deletion check
* add preview pagination test
* add per-item file deletion check
* pull mkChatItem out of createLocal to prevent ci record updates
* use - as notes name
* bump migration ts
* update schema
* resolve comments
* add chat pagination test
* use chat queries from Direct instead
* evict note folders from createUserRecord
* switch to - for note folder chat type prefix and use empty name
* fix getLocalChatXxx
* add explicit createCCNoteFolder for tests
* use overloadedstrings for single-line queries
* add suggested chat list tests
* add notes chat to a user-creating test
* throw correct error for missing file
* remove unique check from schema
* add UndecidableInstances for ghc8.10
* switch to * for chat type sigil
* add file safety test
* add drop index
* remove indentation
* remove repeated folder
* remove redundant filter query, NoteFolderName
* don't attempt to cancel local files when deleting chat item
* rename function
* fix comment
* rename
* fix merge
* fix typo
* remove editable limit
* restore comment
* remove local file cancel
* Revert "remove editable limit"
This reverts commit 65df55caf8 .
* refactor
---------
Co-authored-by: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com >
2024-01-11 17:01:44 +00:00
Evgeny Poberezkin
3ccd9903a7
core: do not start clean up manager in background NSE ( #3657 )
...
* core: do not start clean up manager in background NSE
* update UIs
* fix test
2024-01-08 12:53:16 +00:00
Evgeny Poberezkin
7b073ba9f8
core: allow deleting last user ( #3567 )
...
* core: allow deleting last user (tests fail)
* tests, allow activating the hidden user when there is no active user
* hide logs
Co-authored-by: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com >
* comment
Co-authored-by: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com >
* comment
Co-authored-by: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com >
---------
Co-authored-by: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com >
2023-12-19 10:26:01 +00:00
Evgeny Poberezkin
f65b8a9e78
core: mark all user messages read ( #3530 )
2023-12-11 12:26:45 +00:00
Evgeny Poberezkin
d29f1bb0cf
core: use fourmolu styles ( #3470 )
2023-11-26 18:16:37 +00:00
spaced4ndy
9ed31261e1
core: check saved links and hashes by both connection request uri schemas for connection plan ( #3233 )
2023-10-16 16:16:03 +04:00
Evgeny Poberezkin
ab290fb068
core: track network statuses, use in commands/events ( #3211 )
...
* core: track network statuses, use in commands/events
* ui types, test
* remove comment
2023-10-13 11:51:01 +01:00
Evgeny Poberezkin
bca9473d77
core: settings to hide member messages, to show only reply (and mention) notifications ( #3190 )
...
* 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
2023-10-11 19:10:38 +01:00
spaced4ndy
a67b79952b
core: connection plan api; check connection plan before connecting in terminal api ( #3176 )
2023-10-10 21:19:04 +04:00
spaced4ndy
ab46cbc5dd
core: relax contact probing: don't send probe hashes to new contacts except group link hosts; still send probe hashes to group members ( #3180 )
2023-10-09 09:46:58 +04:00
spaced4ndy
303d0eedf5
core: merge new contacts with existing contacts and group members ( #3173 )
2023-10-04 20:58:22 +04:00
Evgeny Poberezkin
1d34500fba
core: revert stop/close changes made for Windows ( #3145 )
...
* 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 .
2023-09-29 11:14:10 +01:00
spaced4ndy
957f3b3eb0
core: delete unused contact silently ( #3140 )
2023-09-28 13:16:03 +04:00
Evgeny Poberezkin
ea319313f1
core: return error response when wrong passphrase is passed to start
2023-09-27 21:15:19 +01:00
spaced4ndy
c64d1e8361
core: notify contact about contact deletion ( #3131 )
2023-09-27 19:36:13 +04:00
Evgeny Poberezkin
3c7fc6b0ee
core: support closing/re-opening store on chat stop/start ( #3132 )
...
* core: support closing/re-opening store on chat stop/start
* update .nix refs
* kotlin: types
* add test
* update simplexmq
2023-09-27 15:26:03 +01:00
Alexander Bondarenko
2dff6c8859
core: do not subscribe to new connections from iOS NSE (subscribe=off flag), subscribe in app when it activates ( #3016 )
...
* Trace auto-subs flag
* Replace Bool with SubscriptionMode
* Add subscriptionMode to chat controller
* Start using subscriptionMode in event handlers
* Add need_subs to chat connections
* Add onlyNeeded to subscribeUserConnections
* Post-rebase fixes
* Pass onlyNeeded to Store functions
* Drop needs_sub for connections registered with agent
* update simplexmq, fix activate
* fix rebase, reduce diff
* fix rebase, tests
* fix rebase, executeMany, always subscribe on activate
* test
* update queries
* Update src/Simplex/Chat.hs
Co-authored-by: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com >
* unset connections to subscribe on start
* update simplexmq
---------
Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com >
Co-authored-by: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com >
2023-09-10 20:40:15 +01:00
spaced4ndy
e6baca5610
core: rename conn vrange into peer vrange ( #3023 )
2023-09-06 11:41:23 +04:00
spaced4ndy
7a5d4a5a3d
core: communicate connection chat version range ( #2886 )
...
* core: communicate connection chat version range
* encoding
* type
* implementation wip
* contact requests
* tests
* more tests
* refactor
* remove comment
* change encoding
* remove Maybe
---------
Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com >
2023-09-01 19:20:07 +04:00
Evgeny Poberezkin
4826a62d36
directory: list groups with group member counts ( #2855 )
...
* 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
2023-08-06 11:56:40 +01:00
spaced4ndy
ae9b83515c
core: group snd status ( #2763 )
...
* core: group snd status
* schema, implementation
* refactor direct, tests
* configure, tests
* item info
* refactor
* refactor
* remove do
* rename
* remove receipts on events
* refactor
* refactor
* refactor
* refactor
* tests
* rename tests
* aggregates
* fix name
* refactor
---------
Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com >
2023-07-26 14:49:35 +04:00
Evgeny Poberezkin
0f4473d272
core: delivery receipts ( #2644 )
...
* 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 >
2023-07-13 23:48:25 +01:00
Evgeny Poberezkin
7a8db16791
core: catch IO exceptions in ExceptT ( #2669 )
...
* core: catch IO exceptions in ExceptT
* catch IO exceptions for ACK
* simplify, remove unnecessary changes
* fix, update simplexmq
* update simplexmq, enable all tests
* fix
* update simplexmq (fix finally)
* update sha256map.nix
2023-07-09 23:24:38 +01:00
spaced4ndy
ae17566a94
core: ratchet synchronization ( #2653 )
2023-07-05 19:44:21 +04:00
spaced4ndy
2f7ea909e2
core: update simplexmq (5.2.0) ( #2646 )
2023-07-03 20:13:00 +04:00
spaced4ndy
d929c34e71
core: include ConnectionStats into switch api response ( #2594 )
2023-06-19 16:07:17 +04:00
Evgeny Poberezkin
53d77b25ed
core: count successes and failures for batch operations, only log errors in info log-level ( #2585 )
...
* 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 >
2023-06-17 10:34:04 +01:00
spaced4ndy
6d3cb0ea2e
core: api to abort connection switch; update simplexmq ( #2544 )
2023-06-16 19:05:53 +04:00
spaced4ndy
425c7b947f
core: optimize group deletion (delays deletion of unused contacts) ( #2560 )
...
* core: optimize group deletion (wip)
* delay deletion of unused contacts
* clean up, fix test
* rename field
* remove from type, more checks, remove ctx
* remove space
* rename functions
* rename
---------
Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com >
2023-06-12 13:45:39 +04:00
spaced4ndy
875282e9ec
core: fix parsing multiple servers passed as cli argument ( #2549 )
2023-06-06 14:17:14 +04:00