spaced4ndy
a14a66db14
core, ui: chat relay test ( #6736 )
2026-04-02 15:36:36 +00:00
spaced4ndy
42fe94752c
core, ui: public group profile wip ( #6734 )
2026-04-01 14:17:27 +00:00
Evgeny
1e042718a3
core: shared group ID in group profile for relayed groups ( #6716 )
...
* rfc: add shared group ID to profile (the same as linkEntityId and sha256(rootKey))
* implement group ID
* fix
* update simplexmq
* line
* toGroupKeys
* fix test
* fix bot api
* check group ID in other cases
* fix
---------
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com >
Co-authored-by: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com >
2026-03-30 08:25:54 +00:00
spaced4ndy
58f47cbadf
core, ui: channel subscriber count ( #6696 )
2026-03-24 10:54:32 +00:00
spaced4ndy
b38fc62281
core: chat relays announce new members to owners (with keys); forward x.grp.mem.restrict; sign and verify x.grp.leave and x.info (member profile update) ( #6690 )
2026-03-19 19:47:02 +00:00
spaced4ndy
b97868d79f
ios: channels and chat relays ui ( #6634 )
2026-03-05 09:13:24 +00:00
Evgeny
7d5768cf3a
core: prepare group link before creating the group ( #6600 )
...
* core: prepare group link before creating the group
* update group creation flow
* refactor
* comments
* update plan, schema, api docs/types
* store shared group ID and keys when joining relay groups
* query plans, api docs
2026-01-27 17:56:31 +00:00
spaced4ndy
bd8ba4d5c6
core: chat relays protocol ( #6383 )
...
* core: chat relays protocol wip
* types, notes
* remove file
* removal protocol
* schema
* status
* update
* recovery
* update
* formatting
* rename
* more types
* comment
* more docs
* decrease number of steps
* format
* correct
* update
* update protocol
* update
* typo
* todo
* update doc
* update
* update
* remove added
* update
* update
* XGrpRelayReady
* link to chat relays
* update
* remove from protocol
* update
* json
* wip
* remove comment
* wip
* update
* wip
* wip
* update
* wip
* wip
* plans
* better view
* fix
* fix
* relay acceptance
* rework api
* add relays to link
* comment
* active on con, fix send
* comments
* direct in group plan
* prepare
* member connection wip
* comments
* member connection wip
* fix forwarding
* introduce moderators to new member
* enable relay tests
* plans
* security objectives
* refactor
* add to threat model
* stress test wip
* stress test wip
* Revert "stress test wip"
This reverts commit acde8a1fb3 .
* Revert "stress test wip"
This reverts commit 6435808438 .
* remove stress test
* improve output
* invert relay fkey
* postgres schema
* comments
* group in progress, remove auto-select relays commented code
* comments
* corrections
* comment
* lint
* redundant import
* core: chat relay request worker (#6509 )
* update plans
* strict tables
* core: update group link asynchronously with relay link (#6548 )
* update simplexmq
* docs: connection to chat relays rfc (#6554 )
* add test for 2 relays (doesn't pass)
* create unknown member in same transaction as checking
* fix relays choosing different memberId (XContactRelay)
* plans, api
* use same incognito profile for relays, connect concurrently, save correct link for plan
* test
* don't duplicate items on group connection
* check relay record exists when joining
* use mapConcurrently when adding relays, update schemas
* fix multi-relay join for postgres (savepoint)
* core: async retry connection to chat relays (#6584 )
* update simplexmq
* fix api tests
* prefer throwing temp error on connection
* check group relays when deleting from configuration
* relay_request_err_reason
* relay role
* rename, fix syntax
* plans
* rename, style
---------
Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com >
2026-01-21 13:19:06 +00:00
spaced4ndy
2f1816ca32
Merge branch 'master' into chat-relays
2026-01-15 19:18:57 +04:00
spaced4ndy
2d64365d8c
core: correctly handle errors in createWithRandomId/Bytes for postgres (reuse withSavepoint from simplexmq) ( #6578 )
2026-01-15 15:18:15 +00:00
spaced4ndy
4873ca2337
Merge branch 'master' into chat-relays
2026-01-15 13:52:08 +04:00
spaced4ndy
8800f5e62f
core: correctly handle errors in withLocalDisplayName for postgres (rollback to savepoint) ( #6577 )
2026-01-15 09:36:53 +00:00
spaced4ndy
ae0dec480d
Merge branch 'master' into chat-relays
2025-12-12 14:04:31 +04:00
spaced4ndy
f76e994034
core: forward based on relations vector ( #6464 )
...
* core: forward based on relations vector wip
* fix introductions
* fix forwarding tests
* fix forwarding inside support scope
* fix deduplication test
* fix more tests
* plans, api
* live migration wip
* enable tests
* member locks
* api
* plans
* fix for postgres
* fix for postgres
* rename predicate
* rename predicate
* optimize
* refactor
* fix
* check
* move part of migration to sql
* plans
* core: preserve detailed information in relation vectors (#6484 )
* core: relations vector live migrations; stage 2 migration sql (#6472 )
* rework forwarding in support scope
* move operations inside transactions
* set_member_vector_new_relation function
* read vector ad-hoc
* partition in transaction
* fix postgres
* postgres schema
* api
* plans
* remove comment
* lock before migration computation
* refactor
* simplify set relations
* retreive only support scope members
* fix
* refactor
* fix comment
* enable tests
* 1 second
* for update
* locks
* fix mask
* plans
* fix
* postgres
---------
Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com >
2025-12-09 14:48:32 +00:00
spaced4ndy
a5c6ea8e5d
core: member relations vector migration; set index in group for members; rework logic for avoiding duplicate introductions ( #6445 )
2025-11-19 15:25:09 +00:00
spaced4ndy
67461d6971
core: manage chat relays initial ( #6369 )
2025-10-20 08:12:45 +00:00
spaced4ndy
17a0c1b53d
core: delivery in channels ( #6278 )
...
* core: channels delivery (#6274 )
* core: optimize member retrieval query for postgres (#6280 )
* core: optimize reading only relays for sending in channels (#6282 )
* fixes
* plans
2025-10-01 15:53:27 +00:00
Evgeny
eca2937be1
core: backward compatible JSON decoding ( #6322 )
2025-09-30 23:05:12 +01: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
015d5de364
directory: move all storage to the database, optimize performance ( #6287 )
...
* core: add custom indexed columns to groups and contacts
* directory: use database (TODO search/listing)
* triggers to maintain current member count
* update simplexmq, fix tests, use summary from GroupInfo
* fix all directory tests
* remove acceptance fields from group reg
* enable all tests
* clean up
* postgres migrations, fixes
* query plans
* use function in postgres triggers, improve sqlite query
* fix export/import
* update schema
* prevent admins from promoting groups when approving
* update listing every 5 minutes
2025-09-28 15:11:49 +01:00
spaced4ndy
382241fe3e
core: rework synchronous group forwarding in receive loop into asynchronous delivery tasks ( #6178 )
2025-09-12 13:22:34 +00:00
Evgeny
f6c699f3a5
core: update simplexmq (error handling) ( #6231 )
...
* core: update simplexmq (error handling)
* update simplexmq
2025-08-29 10:05:20 +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
18a00511a7
core: set via_group_link_uri for groups ( #6137 )
...
* core: set via_group_link_uri for groups
* schema
* plans
* schema
* add to type
* plans, api
2025-08-01 16:23:52 +01:00
spaced4ndy
f42a6751b1
core: allow to manually accept member contact requests ( #6129 )
...
* core: allow to manually accept member contact requests
* response
* comment
* comment
* add fields
* fix
* field in request
* compiles
* fix tests
* test
* plans
* fix mobile tests
* fix doc tests
* renames
* group name in event
* fix renames
* tests
* plans
* rename selector
* ios wip
* fix
* ios wip
* move
* fix backend bug, ui
* reject dialogue
* update plans
* kotlin
* delete swipe
* should accept text
* rename
* postgres migration
* ios: pass chat as binding
* rename module
* fix queries
* schema
* update plans, api docs
---------
Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com >
2025-08-01 10:18:29 +01:00
spaced4ndy
7b7926a73e
core, ui: allow to choose disappearing messages ttl in user profile ( #6097 )
2025-07-24 14:52:48 +00: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
spaced4ndy
2dd54c6697
core, ui: prohibit changing profile for prepared entity when first attempt to connect failed ( #6037 )
...
* core: prohibit changing profile for prepared entity when first attempt to connect failed
* reuse incognito
* schema
* ios
* postgres schema
* ios
* reenable tests
* kotlin
* update alert
* rename predicate, combine queries
* send the correct incognito mode, fail on attempt to change mode for prepared connection
* query plans
* ui: show group connecting status
---------
Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com >
2025-07-05 11:09:10 +01:00
spaced4ndy
fc98558a37
core: refactor connectViaContact ( #6034 )
...
* core: refactor connectViaContact
* true, comment
* optimize connectViaContact for prepared entities
* refactor Connection
* refactor pcc
---------
Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com >
2025-07-04 09:47:40 +00:00
spaced4ndy
79041390f1
core: allow to accept contact requests after address is deleted ( #6032 )
...
* core: allow to accept contact requests after address is deleted
* update
* update
* plans
* ios, postgres migration
* schema
* request lock, refactor
* update simplexmq
---------
Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com >
2025-07-03 10:34:11 +00:00
Evgeny
d8636953d3
core: connection plans for short links recognize prepared contacts/groups ( #6019 )
...
* core: connection plans for short links recognize prepared contacts/groups
* query plans
2025-06-30 16:12:07 +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
spaced4ndy
cc643e5aeb
core: rework contact requests so that they are always created with entity ( #6011 )
...
* core: rework contact requests so that they are always created with entity
* remove group requests (revert)
* fix schema
* remove accepted, set xcontactId
* enable tests
* fix deduplication, fix address deletion
* fix business ldn
* disable, add tests
* comments, schema
* cleanup
* fix
* plans
2025-06-26 11:05:23 +01:00
Evgeny
c0b704f846
core: store welcome and request message IDs, ios: fix sending request without messages, trim sent messages ( #6009 )
...
* core: store welcome and request message IDs, ios: fix sending request without messages, trim sent messages
* remove comments
* rename, fix tests
* simplexmq
---------
Co-authored-by: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com >
2025-06-25 16:59:32 +01:00
Evgeny
fc04872c91
core: chat item content types for chat initiation ( #5998 )
...
* core: chat item content types for chat initiation
* connection mode for ui
* padding
* simplexmq
* initial items
* update content items
* core: feature and e2e items
* refactor
* chat items
* ios types
* fix condition for PQ encryption of link
2025-06-20 11:54:21 +01:00
spaced4ndy
94d866e2c0
core: fix connecting to prepared group incognito; test connecting to prepared contact incognito ( #5994 )
2025-06-17 14:20:47 +00:00
spaced4ndy
2bc4836338
core, ios: create contact requests with attached contact ( #5967 )
2025-06-09 16:18:01 +00:00
spaced4ndy
56c8d8696e
core: prepare and connect to group ( #5964 )
2025-06-05 13:16:04 +00: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
ace7278190
core: short link connection plans wip; short links implementation comments ( #5947 )
2025-05-27 13:00:52 +00:00
spaced4ndy
9190c2a772
core: reset unanswered counter for support chats with members only if moderator message is newer ( #5889 )
2025-05-12 12:19:20 +00:00
spaced4ndy
79991e84c9
core: member requires attention counter ( #5881 )
2025-05-09 15:36:06 +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
d85ac4af04
core: member support chat stats ( #5803 )
...
* core: member support chat stats
* schema
* update counts
* mark read wip
* dec counts on read
* rename
* plans
* test, fixes
* plans
* refactor
* rename
---------
Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com >
2025-04-05 12:25:45 +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
Evgeny
511ff1d35c
cli: remove multiple members ( #5656 )
...
* cli: remove multiple members
* accept all members joining via link as observers (do NOT release)
* blocked words
* blocked words
* XGrpLinkReject
* core: 6.3.0.6 (simplexmq 6.3.0.6)
---------
Co-authored-by: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com >
2025-02-26 09:25:54 +00:00
spaced4ndy
9e000d6bce
core: optimize group deletion ( #5565 )
...
* core: optimize group deletion
* withFastStore
* fix indexes
* updated plans
* remove prints
* remove print
* undo diff
* core: optimize group delete - delayed group cleanup, delete unused contacts before deleting group (#5579 )
* core: delete unused group contacts, don't create new ones
* remove from exceptions
* plans
* fix tests
* remove fixtures
* update plans
* update plans
* fix test
* remove unused functino
* update plans
* remove withFastStore
* core: time group deletion (#5596 )
* core: time group deletion
* queries
* works, test fails
* fix
* update plans
* update migration, queries
* not null
* remove deleted
---------
Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com >
* cleanup
* remove unused field
* fix
* fix
* plans
* fix plan save
* plans
---------
Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com >
2025-01-31 18:47:59 +04: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