Narasimha-sc and GitHub
9586c97439
ui: show XFTP servers used for a file in message info ( #7088 )
...
Surface the XFTP servers that hosted a file's chunks in the message info
screen (Android, desktop, iOS), so a user can see which servers they are
downloading from (or, for sent files, uploading to) whenever they want to know.
APIGetChatItemInfo now returns fileXftpServers, derived from the stored file
description (private snd descr for sent items, rcv descr for received items);
extraction is best-effort and never fails the call.
2026-07-22 08:28:54 +01:00
spaced4ndy and GitHub
51ad366e8b
core, ui: message signing ( #7115 )
2026-07-10 19:55:10 +00:00
spaced4ndy and GitHub
0e09b38ea6
core: public groups - roster of privileged members ( #7017 )
2026-06-22 10:15:41 +00:00
spaced4ndy and GitHub
dd150e2d70
core: limit xftp file description ( #7060 )
2026-06-09 06:47:39 +00:00
5b93cb0e3f
core: store context to pass configuration parameters ( #7057 )
...
* core: store context to pass configuration parameters
* fix directory
* fix test
* comment
* order
---------
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com >
2026-06-06 20:48:11 +01:00
628b00eb08
core: channel messages ( #6604 )
...
* core: channel messages (WIP)
* do not include member ID when quoting channel messages
* query plans
* reduce duplication
* refactor
* refactor plan
* refactor 2
* all tests
* remove plan
* refactor 3
* refactor 4
* refactor 5
* refactor 6
* plans
* plans to imrove test coverage and fix bugs
* update plan
* update plan
* bug fixes (wip)
* new plan
* fixes wip
* more tests
* comment, fix lint
* restore comment
* restore comments
* rename param
* move type
* simplify
* comment
* fix stale state
* refactor
* less diff
* simplify
* less diff
* refactor
---------
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com >
Co-authored-by: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com >
2026-02-12 07:11:59 +00:00
c782e6762b
feature branch: optimize subscriptions ( #6297 )
...
* core: remove contact merge, obsolete group code (#6292 )
* core: remove file connections (#6298 )
* core: rename migration
* corre: remove unused contacts merged event (#6308 )
* core: optimize subscriptions (#6304 )
* core: remove conn ids map from subscriptions (#6309 )
* rename migration (#6316 )
---------
Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com >
2025-09-28 21:31:59 +01:00
Evgeny and GitHub
1702f5ce34
core: fix retry when connecting via invitation short link, ios: improve connection status usage ( #6014 )
...
* core: fix retry when connecting via invitation short link
* ios: fix conditions, mark contacts as connected, only show spinners on contacts when connection status is ready or sndReady
2025-06-26 20:06:22 +01:00
be1c4018cc
core: group knocking main functionality ( #5726 )
...
* docs: knocking rfc
* types, schema wip
* more comments
* rename
* more types
* change types
* wip compiles
* construct snd scope
* fix tests
* hide output
* sending
* fix member filtration
* plans
* conversations store/api model draft
* xgrpmemnew
* rework types wip
* wip
* wip
* remove tag
* wip (compiles)
* fix parsing
* fix query
* fixes, tests
* plans, comments
* fix member filtration
* wip
* protocol wip
* protocol wip
* fix
* fix tests
* fixes, test
* fix (remove NotInHistory)
* fix
* fix tests
* fix
* output
* fix tests
* tests
* gcsi in view
* fix tests
* plans
* refactor, make scopes Maybe
* remove groupChatFilter
* fix test
* change schema
* refactor
* rename
* rename
* rename
* refactor
* rename
* remove scope from item direction
* rework view
* change apis
* make api for cli
* change text
* refactor
* fixes
* comment
* rename
* refactor fmap/mapM
* refactor includeInHistory
* query plans
* knocking: patch scope (#5796 )
* knocking: patch scope wip
* more patches
* schema
* remove space
* plans
* fix test
---------
Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com >
2025-04-02 07:57:18 +00:00
e05a35e26e
core: support postgres backend ( #5403 )
...
* postgres: modules structure (#5401 )
* postgres: schema, field conversions (#5430 )
* postgres: rework chat list pagination query (#5441 )
* prepare cabal for merge
* restore cabal changes
* simplexmq
* postgres: implementation wip (tests don't pass) (#5481 )
* restore ios file
* postgres: implementation - tests pass (#5487 )
* refactor DB options
* refactor
* line
* style
* style
* refactor
* $
* update simplexmq
* constraintError
* handleDBErrors
* fix
* remove param
* Ok
* case
* case
* case
* comment
---------
Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com >
2025-01-10 11:27:29 +00:00
Evgeny and GitHub
d37d309f85
core: update simplemq (with PostgreSQL support) ( #5444 )
2024-12-28 12:35:34 +00:00
spaced4ndy and GitHub
791489e943
core: multi forward api ( #4704 )
2024-08-22 21:36:35 +04:00
spaced4ndy and GitHub
bfab76ed90
core: allow sending messages immediately on joinConnection, acceptContact ( #4465 )
2024-07-18 20:33:51 +04:00
d2d450d1d7
core: check known relays before file reception, support user approval of unknown relays ( #4043 )
...
* core: check known relays before file reception, support user approval of unknown relays
* comment
* reset on not approved agent error
* add privacyAskToApproveRelays to AppSettings
* filter distinct servers
* update simplexmq
* remember user_approved_relays
* refactor
* rename
* update simplexmq
---------
Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com >
2024-05-20 17:23:29 +04:00
spaced4ndy and GitHub
aeb28400e9
core: take entity lock before processing file ( #4105 )
2024-04-29 19:32:53 +04:00
spaced4ndy and GitHub
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
069395c2a0
core: entity locks ( #3962 )
...
* core: entity locks
* more locks
* update sha256map
* add delay
* clean up
* empty
* fix tests
* empty
* empty
* more delays
* empty
* comment delays
* Revert "comment delays"
This reverts commit 4245b545fb .
* Revert "Revert "comment delays""
This reverts commit f803386945 .
* take lock in the beginning of processing loop
* empty
* empty
* remove lock
* rework file locks
* empty
* fix
* empty
* add connection locks
* empty
* fix test
* empty
* remove commented delays
* add to debug locks
* update
* refactor
* refactor
---------
Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com >
2024-04-04 19:24:42 +01:00
Evgeny Poberezkin and GitHub
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
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
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 and GitHub
eebf014ff7
core (pq): integrate agent api, create e2ee info items ( #3859 )
2024-03-05 20:27:00 +04:00
spaced4ndy
b0b249a56a
Merge branch 'stable'
2024-02-22 12:11:23 +04:00
spaced4ndy and GitHub
c544a636f6
core, ui: remove usage of inline files (send only xftp files) ( #3823 )
2024-02-20 13:56:31 +04:00
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
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
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
Evgeny Poberezkin and GitHub
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
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 and GitHub
d29f1bb0cf
core: use fourmolu styles ( #3470 )
2023-11-26 18:16:37 +00:00
Evgeny Poberezkin
c2a99987f3
Merge branch 'master' into remote-desktop
2023-11-04 18:54:12 +00:00
4816150b99
core: contacts without connections ( #3313 )
...
* core: contacts without connections
* compiles (some tests don't pass)
* remove commented code
* filter out user contact (fixes tests)
---------
Co-authored-by: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com >
2023-11-03 18:15:07 +00:00
Evgeny Poberezkin and GitHub
d90da57f12
core: store/get remote files ( #3289 )
...
* core: store remote files (wip)
* fix/test store remote file
* get remote file
* get file
* validate remote file metadata before sending to controller
* CLI commands, test
* update store method
2023-10-29 19:06:32 +00:00
Evgeny Poberezkin and GitHub
52966e7e3d
core: optionally encrypt SMP files ( #3082 )
...
* core: optionally encrypt SMP files
* encrypt to temp file and rename or remove encryption args if it fails
* fix file encryption error handling
2023-09-20 13:05:09 +01:00
Evgeny Poberezkin
fedc31c72c
Merge branch 'master' into master-ghc9
2023-09-10 21:11:35 +01:00
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
0c4b843a3f
Merge branch 'master' into chat-version-negotiation
2023-09-06 10:41:06 +04:00
0b214acf97
core: support encrypted local files ( #2989 )
...
* core: support encrypted local files
* add migration
* update agent api, chat api
* fix query, exported functions to read/write files
* update simplexmq
* remove formatting changes
* test, fix file size
* reduce diff
Co-authored-by: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com >
* fail when receiving SMP files with local encryption
* update simplexmq
* remove style changes
---------
Co-authored-by: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com >
2023-09-01 19:43:27 +01:00
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
761ddac55d
core: use GHC 9.6.2 ( #2641 )
...
* 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 >
2023-08-24 21:56:37 +01:00
Evgeny Poberezkin and GitHub
113669ac16
core: track slow SQL queries ( #2904 )
...
* core: track slow SQL queries
* fixes
* update simplexmq
2023-08-12 18:27:10 +01:00
Evgeny Poberezkin and GitHub
e1370e8f3c
core: split Store.hs to multiple files for faster re-compilation ( #2589 )
...
* core: split Store.hs to multiple files for faster re-compilation
* remove unused compiler pragmas
2023-06-18 10:20:11 +01:00