Alexander Bondarenko
7fa2f2f72e
core: organize withAckMessage ( #3889 )
...
* core: organize withAckMessage
* mark critical sections
* differentiate DB internal error from chat
* throw CRITICALs
* only CRIT on SEDatabaseError
* normalize errors
* shift MonadError into ExceptT
* simplify
* split critical handlers
* names, CRITICAL error in withAckMessage, comments
* only show critical alerts when database was locked or busy and message failed to process
---------
Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com >
2024-03-12 17:47:38 +00:00
Alexander Bondarenko
4a404f14d9
core: add error message to CRSndFileError ( #3894 )
...
* core: add error message to CRSndFileError
* show snd errors
2024-03-12 14:19:40 +00: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
Evgeny Poberezkin
49bd866c4b
core: pass version range to determine missing connection version ( #3887 )
...
* core: pass version range function to store methods
* pass current version to Connection to determine agreed version with peer
* simplify
2024-03-10 20:52:29 +00: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
Evgeny Poberezkin
b86b5578de
Merge branch 'master' into pq
2024-03-08 13:47:10 +00:00
Evgeny Poberezkin
435ea9a453
core: api to pass additional information with standalone file URI ( #3873 )
...
* xftp: redirect for descriptions with more than one chunk
* handle errors
* core: api to pass additional information with standalone file URI
* cleanup
* test info with large file
* Apply suggestions from code review
Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com >
* remove db-mediated client data
* refactor
* fix
---------
Co-authored-by: Alexander Bondarenko <486682+dpwiz@users.noreply.github.com >
2024-03-08 13:38:48 +00:00
Evgeny Poberezkin
1f93d91af5
core: simplify feature versions ( #3879 )
...
* core: simplify feature versions
* update version agreement
* fix
* remove EmptyCase
2024-03-08 13:36:09 +00:00
spaced4ndy
109b6e0cff
core (pq): add pq_support field ( #3877 )
2024-03-08 12:24:27 +04:00
spaced4ndy
b403201310
core (pq): further integrate agent api ( #3874 )
...
* core (pq): further integrate agent api
* update both pq support and ecnryption
* update
* fix
* corrections
* corrections 2
* corrections 3
2024-03-08 11:40:55 +04: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
spaced4ndy
61a3eb32ee
core (pq): global flag only affects new connections; api to allow PQ in old contacts ( #3869 )
2024-03-06 19:06:01 +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
spaced4ndy
2155060ad0
core: groundwork for post-quantum encryption support ( #3845 )
2024-03-03 17:51:42 +04:00
Alexander Bondarenko
db2ccaa450
controller: add standalone upload limit ( #3853 )
...
* controller: add standalone upload limit
* use hard limit from simplexmq
2024-03-02 19:31:11 +00:00
spaced4ndy
05383477d9
core: wait for delivery to avoid race between connection deletion and sending service messages about entity deletion ( #3849 )
2024-03-01 11:26:54 +04:00
spaced4ndy
51a2e09714
core: batch db operations for group leave and delete ( #3807 )
...
* core: batch db operations for group leave and delete
* remove comment
* batch delete files
* cleanup
* rename
* use new agent api
* refactor
* refactor, catch error
* refactor
* update simplexmq
---------
Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com >
2024-02-26 15:36:42 +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
Evgeny Poberezkin
395654098c
core: do not mark store as changed after passphrase test ( #3833 )
...
* core: do not mark store as changed after passphrase test
* fix
2024-02-24 13:37:09 +00:00
spaced4ndy
b0b249a56a
Merge branch 'stable'
2024-02-22 12:11:23 +04:00
Alexander Bondarenko
d54b453b49
controller: fix standalone using relative paths ( #3831 )
2024-02-21 21:54:03 +00:00
spaced4ndy
f7d7f5461f
core: check user record when deleting contact and display name ( #3826 )
...
* filter out on merge
* checl contact, ldn
* fix
* corrections
* fix
* refactor
* diff
* refactor2
* remove contact id from error
* Revert "remove contact id from error"
This reverts commit f58af3dcac .
* remove Maybe from error
---------
Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com >
2024-02-21 14:24:24 +00:00
spaced4ndy
c544a636f6
core, ui: remove usage of inline files (send only xftp files) ( #3823 )
2024-02-20 13:56:31 +04:00
spaced4ndy
654a7885c3
core: read chat items with logical database errors as invalid (don't fail) ( #3736 )
2024-02-19 15:17:14 +04:00
Alexander Bondarenko
daf67c0456
core: add direct xftp upload/download commands ( #3781 )
...
* chat: add direct xftp upload/download commands
* adapt to FileDescriptionURI record
* bump simplexmq
* add description uploading
* filter URIs by size
* cleanup
* add file meta to events
* remove focus
* auto-redirect when no URI fits
* send "upload complete" event with the original file id
* remove description upload command
* add index
* refactor
* update simplexmq
* Apply suggestions from code review
Co-authored-by: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com >
* fix /fc command for non-chat uploads
* fix
* rename (tests fail)
* num recipients
* update messages
* split "file complete" events for chats and standalone
* restore xftpSndFileRedirect
* remove unused store error
* add send/cancel test
* untangle standalone views
* fix confused id
* fix /fc and /fs
* resolve comments
* misc fixes
* bump simplexmq
* fix build
* handle redirect errors independently
* fix missing file status in tests
---------
Co-authored-by: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com >
Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com >
2024-02-19 10:21:32 +00: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
Evgeny Poberezkin
d83a6b7133
core: ntf server test ( #3819 )
2024-02-18 12:12:38 +00:00
Evgeny Poberezkin
e3df7945d5
core: update simplexmq (updated protocol, discontinue old versions) ( #3818 )
...
* core: update simplexmq (updated protocol, discontinue old versions)
* update nix
2024-02-17 16:29:45 +00:00
spaced4ndy
1a7efbc333
core: update default ntf servers ( #3804 )
2024-02-13 15:10:40 +04:00
spaced4ndy
0e585d5e5b
core: fix group invitation marked deleted
2024-01-26 20:30:21 +04:00
spaced4ndy
7192448303
core: fix invitation as rejected when deleting group ( #3759 )
2024-01-26 17:56:17 +04:00
Evgeny Poberezkin
cc05434b31
core: process message errors ( #3709 )
...
* core: process message errors
* update simplexmq commit sha
* style
Co-authored-by: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com >
* simplexmq
---------
Co-authored-by: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com >
2024-01-20 08:17:57 +00:00
Evgeny Poberezkin
68de2b7540
core: update preset smp servers ( #3713 )
2024-01-19 19:50:21 +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
Alexander Bondarenko
236daf4391
controller: add GetAgentWorkers/GetAgentWorkerDetails debug commands ( #3681 )
...
Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com >
2024-01-17 17:37:29 +00: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
spaced4ndy
d5cf9fbf5b
core: exclude some fields from member profile when sharing in group ( #3688 )
2024-01-15 19:58:09 +04:00
spaced4ndy
f4f8501eb8
core: members profile update, create profile update chat items ( #3644 )
2024-01-15 19:56:11 +04:00
Evgeny Poberezkin
bfb274b037
Merge branch 'stable'
2024-01-15 13:52:09 +00:00
Evgeny Poberezkin
8d7dcb550a
core: update simplexmq, optimize batching, remove builder ( #3685 )
...
* core: update simplexmq (optimize batching, remove builder)
* do not use builder to batch
* refactor
2024-01-15 10:46: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
spaced4ndy
bfe5d51df7
core, ui: create dummy member record when admin forwards a message from an unknown member ( #3651 )
...
* core: create dummy member record when admin forwards a message from an unknown member
* comments
* update unknown member if announced
* change removed
* change unknown name, revert diff
* revert diff
* ios
* update ios library
* android
* remove changes in iOS project file
* rename event
* remove unknown category
* android
---------
Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com >
2024-01-11 17:55:13 +04:00
Evgeny Poberezkin
f45b24367c
cli: short command
2024-01-11 08:21:02 +00:00
Evgeny Poberezkin
4508e0dfc1
Merge branch 'stable'
2024-01-09 11:07:04 +00:00
spaced4ndy
fadce0c140
core: create new chat controller with chatActivated set to true
2024-01-08 17:34:10 +04:00
spaced4ndy
58ad97fe6d
core: pause cleanup when chat is suspended ( #3658 )
2024-01-08 17:28:01 +04: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
spaced4ndy
9e87fe73a5
core: batch send profile update ( #3618 )
...
* core: batch send profile update
* redundant
* reorder
* remove type
* createSndMessages
* refactor
* batched create internal item
* create feature items for multiple contacts
* comments
* refactor call site
* synonim
* refactor createSndMessages
* more batching
* remove partitionWith
* unite filter and fold
* refactor
* refactor
* refactor
* fix merge
* add test
* rename
* refactor
* refactor
* withExceptT
* refactor
* refactor2
* remove notChanged
* deliver with sendMessagesB (#3646 )
* deliver with sendMessagesB
* refactor
---------
Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com >
---------
Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com >
Co-authored-by: Alexander Bondarenko <486682+dpwiz@users.noreply.github.com >
2024-01-05 11:35:48 +04:00
Evgeny Poberezkin
0ef2c55983
core: invalid name error when it matches hidden profile ( #3647 )
2024-01-04 19:29:28 +00:00