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
spaced4ndy
8882284fb7
core: always check integrity on MSG in direct chats ( #3641 )
2024-01-04 16:22:16 +04:00
Alexander Bondarenko
e253c55ba4
core: compatibility with GHC 8.10.7 ( #3608 )
...
* GHC-8.10 compatibility
* tweak setters
* restore membership
* remove Show Batch
* fix bytestring-10 compat
* preserve membership qualifier in names
* a few more memberships
* rename
* remove with-compiler
* ci: add 8.10 builds, limit releases to 9.6
* use matrix.asset_name as release guard
* fix windows_build
* actually use ghc version from matrix
* fix typo
* revert build/hash split
* add ghc to cache key
* Force cache between build and tests
* use explicit caching steps
* skip unneeded tasks
---------
Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com >
Co-authored-by: Avently <7953703+avently@users.noreply.github.com >
2023-12-29 21:15:14 +00:00
spaced4ndy
478bb32cdb
core: send group description to new members as welcome message after sending history (fixes welcome message being created before history) ( #3623 )
2023-12-29 22:42:55 +04:00
spaced4ndy
05b55d3fb5
ui: group history preference, enable in new groups by default; core: create group history feature items ( #3596 )
...
* Revert "core: do not create group history item (#3586 )"
This reverts commit 2834b192ce .
* ios: group history preference
* fix tests
* android
* texts
* enable in new groups ios
* enable in new groups android
* android texts
* ios texts
* remove ellipsis
---------
Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com >
2023-12-29 17:46:28 +00:00
Evgeny Poberezkin
b4dd6941d7
core: allow quoted strings (with spaces) in network interface of remote hosts ( #3592 )
2023-12-28 10:06:49 +00:00
Evgeny Poberezkin
b220b5f6ec
core: fix contact subscriptions ( #3611 )
2023-12-27 18:55:50 +00:00
Evgeny Poberezkin
af22348bf8
core: use version from config, add tests ( #3588 )
...
* core: use version from config, add tests
* comment
* refactor
2023-12-24 13:27:51 +00:00
Evgeny Poberezkin
2834b192ce
core: do not create group history item ( #3586 )
...
* core: do not create group history item
* fix tests
2023-12-23 19:56:01 +00:00
spaced4ndy
12d1ada25e
core: support batch sending in groups, batch introductions; send recent message history to new members ( #3519 )
...
* core: batch send stubs, comments
* multiple events in ChatMessage and supporting types
* Revert "multiple events in ChatMessage and supporting types"
This reverts commit 9b239b26ba .
* schema, refactor group processing for batched messages
* encoding, refactor processing
* refactor code to work with updated schema
* encoding, remove instances
* wip
* implement batching
* batch introductions
* wip
* collect and send message history
* missing new line
* rename
* test
* rework to build history via chat items
* refactor, tests
* correctly set member version range, dont include deleted items
* tests
* fix disappearing messages
* check number of errors
* comment
* check size in encodeChatMessage
* fix - don't check msg size for binary
* use builder
* rename
* rename
* rework batching
* lazy msg body
* use withStoreBatch
* refactor
* reverse batches
* comment
* possibly fix builder for single msg
* refactor batcher
* refactor
* dont repopulate msg_deliveries on down migration
* EncodedChatMessage type
* remove type
* batcher tests
* add tests
* group history preference
* test group link
* fix tests
* fix for random update
* add test testImageFitsSingleBatch
* refactor
* rename function
* refactor
* mconcat
* rename feature
* catch error on each batch
* refactor file inv retrieval
* refactor gathering item forward events
* refactor message batching
* unite migrations
* move files
* refactor
* Revert "unite migrations"
This reverts commit 0be7a3117a .
* refactor splitFileDescr
* improve tests
* Revert "dont repopulate msg_deliveries on down migration"
This reverts commit 2944c1cc28 .
* fix down migration
---------
Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com >
2023-12-23 13:07:23 +00:00
Evgeny Poberezkin
f93f68e425
core: agent background mode for iOS NSE ( #3574 )
...
* core: agent background mode for iOS NSE
* change parameter for APIActivateChat
* fix
* update lib
* update lib
* simplexmq
* simplify
2023-12-23 13:06:59 +00:00
Evgeny Poberezkin
7bcda7e54b
core: use ChaChaDRG as the source of randomness ( #3551 )
...
* core: use ChaChaDRG as the source of randomness
* do not use entropy directly
* dont use RNG from agent
* simplexmq
* update iOS
2023-12-21 00:42:40 +00:00
Evgeny Poberezkin
6ba3100d34
core: batch sending messages ( #3566 )
...
* core: batch sending messages
* batch without iorefs (#3573 )
* one-pass
* simplexmq
* simplexmq
* simplexmq
* simplexmq
* revert change to ios project file
* refactor
* simplify
---------
Co-authored-by: Alexander Bondarenko <486682+dpwiz@users.noreply.github.com >
2023-12-20 10:38:39 +04: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
f9a125bc32
Merge branch 'master' into ios-notifications
2023-12-11 14:11:00 +00:00
Alexander Bondarenko
35c1975d66
core: chat list pagination ( #3505 )
...
* add pagination args to APIGetChats
* add search to chat list API
* rename arg to paginationTs_ to match type
* lift another condition to ids query
* collect all chat refs before sorting, then get details
* split remaining preview functions
* roll back to collecting ids first with query cleanup
* add connection join back to filter out groups
* extract and expand tests
* add fav/unread args
* WIP
* lay out the queries with favs
* tweak tests
* add fav tests
* fix order by in the before case
* build query footer wholly from pagination
* add migration for direct contacts
* fix setting contact_used
* fix setting contact_used for group link contacts
* align search x filters space with UI, support filter by either favorite or unread, optimize queries, indexes
* always set chat_ts, fix tests
* refactor tests
* fix pagination logic, more tests
* refactor, rename
* increase default pagination count
* comments
* refactor
* comment
* report errors
* refactor
* remove unused type
---------
Co-authored-by: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com >
2023-12-11 17:50:32 +04:00
Evgeny Poberezkin
666903ae76
Merge branch 'master' into ios-notifications
2023-12-11 13:06:32 +00:00
Evgeny Poberezkin
8a41a4c214
ios: do not start chat if it was stopped, deliver "app stopped" notifications ( #3535 )
...
* add stopped notifications, remove full off mode
* core: allow initializing chat data without starting chat
* ios: ask before starting chat if it was stopped
* correct text
Co-authored-by: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com >
* fix comment
---------
Co-authored-by: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com >
2023-12-11 12:59:49 +00:00
Evgeny Poberezkin
f65b8a9e78
core: mark all user messages read ( #3530 )
2023-12-11 12:26:45 +00:00
Evgeny Poberezkin
d3059afc99
ios, core: better notifications processing to avoid contention for database ( #3485 )
...
* 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
2023-12-09 21:59:40 +00:00
spaced4ndy
5819e42305
core: remove CRNewContactConnection response; mobile, desktop: create pending connections based on api responses (CRNewContactConnection was being used as "event" in UI) ( #3489 )
2023-11-30 20:31:32 +04:00
Alexander Bondarenko
6a21d5c7f1
add remote host bindings ( #3471 )
...
* add remote host bindings
* group iface/address together
* rename migration
* add implementation
* update view and api
* bump upstream
* add schema
---------
Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com >
2023-11-28 16:32:33 +00:00
Evgeny Poberezkin
05278e5a06
core: allow remote host commands without user ( #3478 )
2023-11-27 18:34:15 +00:00
Evgeny Poberezkin
d29f1bb0cf
core: use fourmolu styles ( #3470 )
2023-11-26 18:16:37 +00:00
Evgeny Poberezkin
b1cf1656a0
core: cli remote control help section ( #3445 )
2023-11-24 10:48:14 +00:00
Evgeny Poberezkin
1b7baa244a
core: track network statuses in CLI ( #3434 )
2023-11-23 08:39:08 +00:00
Evgeny Poberezkin
2d4e99d610
cli: set device name for remote control via CLI option ( #3427 )
...
* cli: set device name for remote control via CLI option
* fix
* add property in tests
2023-11-22 22:11:32 +00:00