Evgeny
3596c37275
core: improve database concurrency ( #6541 )
...
* core: improve database concurrency
* tests: prints on timeouts (#6546 )
* update simplexmq
* fix test
* update simplexmq
---------
Co-authored-by: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com >
2026-01-08 13:43:37 +00:00
Evgeny
87e8a10f1e
core: use strict tables ( #6535 )
...
* core: use strict tables
* fix field types
* change encodings to match schema types; migrate sqlite tables to strict mode
* stabilize postgres client tests, remove slow handshake tests
* update simplexmq
* fix test
* change call_state type to text
* fix directory service queries
* update local_alias for existing schemas
* change types before strict
2026-01-05 08:53:26 +00:00
Evgeny
59b31e2631
core: compress commands in remote connection ( #5776 )
...
* core: compress commands in remote connection
* backwards compatible compression
* show in CLI if compression is enabled
* use aroundWith for ghc 8.10.7 compatibility
* skip bot API tests in GHC 8.10.7
2025-12-30 07:49:17 +00:00
Evgeny Poberezkin
99d655f5d3
Merge branch 'stable'
2025-12-10 21:03:56 +00:00
sh
efbc4835a8
tests: skip multicast discovery in Mac CI ( #6458 )
...
* tests: skip multicast discovery in Mac CI
* tests: remove unneeded xitMacCI''
2025-11-25 10:06:40 +00:00
spaced4ndy
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
78b4431dea
directory: use bot commands and menu in SimpleX Directory ( #6219 )
...
* directory: use bot commands and menu in SimpleX Directory
* rename (remove hyphen), fix test
2025-08-25 07:51:53 +01:00
Evgeny
4811d663e6
rfc: bot messages and buttons, core: command markdown, supported commands in profile preferences, chat sessions preference, peer type field in profile to identify bots ( #5360 )
...
* rfc: bot messages and buttons
* update
* update bot rfc
* core: add bot commands to chat preferences and peer type to profile
* update postgresql schema
* update query plans
* chat sessions preference
* markdown for bot commands
* schema
* core: file preference, options to create bot from CLI
* core: different command type
* ios: commands menu
* update types
* update ios
* improve command markdown
* core, ios: update types
* android, desktop: clickable commands in messages in chats with bots
* android, desktop: commands menu
* command menu button, bot icon
* ios: connect flow for bots
* android, desktop: connect flow for bots
* icon
* CLI commands to view and set commands, remove "hidden" property of command, bot api docs
* corrections
* fix inheriting profile preferences to business groups
* note on business address
* ios: export localizations
* fix test
* commands to set file preference on user/contact, tidy up layout and display of command and attachment buttons
2025-08-07 11:13:35 +01:00
spaced4ndy
68b7f09c8f
core, ui: chat banner ( #6089 )
...
* core: create banner item
* filter deletions
* fix query
* ios
* fixes
* remove comment
* revert diff
* refactor
* fix most tests
* fix tests
* spacer
* plans
* create banner for 1-time link initiator
* style in progress
* change background
* ui
* remove bio length limit
* ui
* create banner for client chat
* rename
* more contexts
* fix tests
* move
* fixed image size
* plans
* remove diff
* kotlin
* copy
* paddings
* paddings
* comment
* layout, messages
* fonts
* texts, icons
* kotlin refactor
* kotlin texts
* fix date
* Revert "fix date"
This reverts commit abbd48b334 .
* date
* fix texts
* kotlin date
* color and corners
* kotlin
* color
* update banner, context menu in ios
* update texts, do not show epoch timestamp for banner
* fix texts
---------
Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com >
2025-07-21 19:07:21 +01:00
Evgeny
a5768e903d
core, ui: short bio/description for contact and group profiles ( #6055 )
...
* core: short bio/description for contact and group profiles
* use short description in commands
* fix tests
* query plans
* ios: show contact and group profile descriptions
* android, desktop: short description/bio
* ui: layout for chat info, correct copy
* comment out fields to add/edit short descriptions
* remove short description from events
* postgres schema
2025-07-11 21:28:10 +01:00
Evgeny
7726522e5a
core: postgres migration for short links, postgres schema dump, fix query to be compatible ( #6025 )
...
* core: postgres migration for short links, postgres schema dump, fix query to be compatible
* rename fields
2025-07-01 13:02:11 +01:00
Evgeny
524de4067a
core: add/send contact address and request messages, ios: use auto-reply as welcome message ( #6017 )
...
* core: add/send contact address and request messages, ios: use auto-reply as welcome message
* revert event type change
* fix test, type
* multiplatform: update type
* fix query
* ios: hide keyboard when sending the message
* failing test for business chat with a welcome message
* retry joining via contact address
* query plans
* do not send history to the first member (the original customer) of business chat
* correctly handle retries when joining groups, do not create a new connection on retry
* failing test for group welcome message and feature items
* do not send history item if member saw it during joining (based on welcomeSharedMsgId in join request)
* correct fields in PendingContactConnection, update plans
* prevent duplicate group description created in chat, while ensuring that it is created
* fix query
2025-06-30 11:54:13 +01:00
Evgeny
e3e9ae2ffd
core, ui: create all links with short links, config parameter to use large link data, use short link as address in user profile ( #5991 )
...
Co-authored-by: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com >
2025-06-17 15:56:33 +04:00
spaced4ndy
8a4760a2cb
core: set short links data, prepare entity, etc.; ios: connect to prepared contact ( #5951 )
2025-06-04 07:47:10 +00:00
spaced4ndy
3095b980cb
Merge branch 'master' into group-knocking
2025-04-15 19:27:36 +04:00
Evgeny
45e395d35a
core, ui: short connection links with stored data ( #5824 )
...
* core, ui: optionally use short links (#5799 )
* core: optionally use short links
* update test
* update simplexmq, short group links
* fix query
* fix parser for _connect
* ios: use short links
* shorten links to remove fingerprint and onion hosts from known servers
* fix parser
* tests
* nix
* update query plans
* update simplexmq, simplex: schema for short links
* simplexmq
* update ios
* fix short links in ios
* android: use short links
* fix short group links, test short link connection plans
* core: fix connection plan to recognize own short links
* update simplexmq
* space
* all tests
* relative symlinks in simplexmq to fix windows build
* core: improve connection plan for short links (#5825 )
* core: improve connection plan for short links
* improve connection plans
* update UI
* update simplexmq
* ios: add preset server domains to entitlements, add short link paths to .well-known/apple-app-site-association
* update simplexmq
* fix group short link in iOS, fix simplex:/ scheme saved to database or used for connection plans
* update simplexmq
* ios: delay opening URI from outside until the app is started
* update simplexmq
2025-04-14 21:25:32 +01:00
spaced4ndy
9654e193af
core: member admission ( #5798 )
2025-04-03 08:55:32 +00:00
spaced4ndy
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
spaced4ndy
a90f255df5
core: adapt simplexmq api for shared msg body (via MsgReq markers) ( #5626 )
...
* core: shared msg body 2
* WIP
* compiles
* refactor
* refactor
* refactor
* format
* simplexmq
* refactor
* refactor ChatMsgReq
* agent query plans
* simpler
* test
* test
* fix test
* agent plans
* simplexmq
---------
Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com >
2025-02-14 20:12:32 +00:00
Evgeny
205ced1c1d
core, ui: report preference ( #5620 )
...
* core: report preference
* fix tests
* ios: disable reports toggle until 6.4
* android, desktop: reports preference
* ui: section
* boolean
2025-02-10 09:06:16 +00:00
spaced4ndy
5d18a49726
core: delete unused group contacts, don't create new ones ( #5590 )
...
* core: delete unused group contacts, don't create new ones
* remove from exceptions
* plans
* fix tests
* remove fixtures
* update plans
* update migration
---------
Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com >
2025-01-31 10:32:07 +04:00
Evgeny
1306df81e4
core: role for full delete preference ( #5572 )
...
* core: role for full delete preference
* fix
2025-01-27 07:50:58 +00:00
Evgeny
f3664619ec
test: track query plans ( #5566 )
...
* test: track query plans
* all query plans
* fix postgres build
2025-01-24 09:44:53 +00:00
spaced4ndy
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
d37d309f85
core: update simplemq (with PostgreSQL support) ( #5444 )
2024-12-28 12:35:34 +00:00
Evgeny
9d992735f4
core, ios: improve business address (connection plan, repeat requests, feature items) ( #5303 )
...
* core, ios: connection plan for business address
* core: store xcontact_id on business groups to prevent duplicate contact requests
* core: create feature items in new groups and in business groups
* fix tests
* error message
2024-12-03 12:11:38 +00:00
Evgeny
5f01dc1a3f
core: support business addresses and chats ( #5272 )
...
* core: support business addresses and chats
* types
* connect plan, add link type
* ios: toggle on address UI
* make compile
* todo
* fix migration
* types
* comments
* fix
* remove
* fix schema
* comment
* simplify
* remove diff
* comment
* comment
* diff
* acceptBusinessJoinRequestAsync wip
* comment
* update
* simplify types
* remove business
* wip
* read/write columns
* createBusinessRequestGroup
* remove comments
* read/write business_address column
* validate that business address is not set to be incognito
* replace contact card
* update simplexmq
* refactor
* event when accepting business address request
* sendGroupAutoReply
* delete contact request earlier
* test, fix
* refactor
* refactor2
---------
Co-authored-by: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com >
2024-12-02 14:01:23 +00: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
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
Evgeny Poberezkin
a5db36469d
core: api to forward messages ( #3968 )
...
* wip
* wip
* test
* mute
* tests
* simplify (only bool flag)
* re-encrypt file
* tests
* more tests (wip)
* fix relative paths, refactor
* more tests
* more locks
* fix, tests
* more tests
* rework (revert from bool to ids)
* update schema
* more tests
* add to info
* ForwardedMsg container
* Revert "ForwardedMsg container"
This reverts commit bb57f12151 .
* parser
* more tests
* rework api
* more locks
* test
* move
* remove from
* view
* prohibit editing
* item info view
---------
Co-authored-by: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com >
2024-04-09 16:02:59 +04:00
Evgeny Poberezkin
18efc28d16
core: additional group preferences: prohibit SimpleX links, restrict some features to specific roles ( #3964 )
...
* core: additional group preferences: prohibit SimpleX links, restrict some features to specific roles
* add role to group preference items, tests
2024-04-04 20:41:56 +01:00
Evgeny Poberezkin
2bd1a82b7d
core: revert "deps: switch to base64 via simplexmq ( #3957 )" ( #3985 )
...
* Revert "deps: switch to base64 via simplexmq (#3957 )"
This reverts commit d65137882b .
* update simplexmq
2024-04-03 10:47:38 +01:00
Alexander Bondarenko
d65137882b
deps: switch to base64 via simplexmq ( #3957 )
...
* deps: switch to base64 via simplexmq
* update error text
* update nix
* set simplexmq to master
* update paths
2024-03-28 13:09:04 +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
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
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
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
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
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
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