Evgeny @ SimpleX Chat
dcac05e2bf
implement group ID
2026-03-28 20:43:56 +00:00
Evgeny
674a545a33
core: signed messages status ( #6699 )
...
* XOcore: signed messages status
* remove empty lines
Co-authored-by: Evgeny <evgeny@poberezkin.com >
* EOL
* only mark verified as verified
* update API types
* todos
---------
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com >
2026-03-24 20:05:09 +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
74fe5340f7
core: verify signed messages in channels (fix member keys not saved); sign deletion message for deleted member; relay member key ( #6683 )
2026-03-18 13:34:14 +04:00
spaced4ndy
6daee3a5da
core: fix channel deletion for relay client ( #6676 )
2026-03-16 11:31:08 +00:00
Evgeny
2db92ff6ed
core: group member/owner keys for signing important messages ( #6597 )
...
* rfc: member keys
* update plan
* new encoding for message batches
* send new batch encoding in relay-based groups
* mvp launch plan
* update plan
* core: verify group member keys (#6669 )
* core: verify group member keys
* refactor, process forwards
* refactor parsing
* refactor parsing 2
* refactor parser 3
* update rfc
* simplify
* simplify
* log tag
* refactor tag logging
* refactor withVerifiedSig
* simplify
* refactor more
* comment
* fix encoding
* fix sending as group for the new binary batch encoding
* unify types
* update api docs
* clean up
---------
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com >
* core: signing messages with member keys (#6675 )
* core: signing messages with member keys (types)
* sign messages
* refactor batching
* better
* refactor
* remove unused Eq
---------
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com >
* core: forward signed messages as unchanged binary strings (#6678 )
* core: forward signed messages as unchanged binary strings
* refactor
* consolidate types
* refactor VerifiedMsg
* refactor more
* undo rename
Co-authored-by: Evgeny <evgeny@poberezkin.com >
* update schema and plans
* add signed status to chat items and events
* test signed chat items
* unify parser
* PostgreSQL fix, remove unused fields, option to send inline files in the tests
* change inline files config
* revert inline config change
* use different characters in batch encoding, to avoid conflict with inline files
* fix test, api docs, query plans
---------
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com >
---------
Co-authored-by: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com >
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com >
2026-03-16 10:46:35 +00:00
spaced4ndy
7ac901587a
Merge branch 'master' into chat-relays
2026-03-06 19:27:07 +04:00
spaced4ndy
3f4e7f379d
core, ui: group members permanent connection errors ( #6662 )
2026-03-06 15:24:55 +00:00
spaced4ndy
b97868d79f
ios: channels and chat relays ui ( #6634 )
2026-03-05 09:13:24 +00:00
spaced4ndy
dedc57d328
Merge branch 'master' into chat-relays
2026-02-19 15:29:18 +04:00
sh
26e15221f6
directory-service: fix slow postgresql queries ( #6639 )
...
* add analysis
* implement p1.1 and p1.2
* Update apps/simplex-directory-service/src/Directory/Service.hs
Co-authored-by: Evgeny <evgeny@poberezkin.com >
* update plans
* remove plans
---------
Co-authored-by: Evgeny <evgeny@poberezkin.com >
2026-02-18 09:28:39 +00:00
Evgeny
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
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
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
spaced4ndy
fe4ff8993d
core: finalize introductions -> member relations vector stage 2 migration (drop introductions) ( #6490 )
...
* core: finalize introductions -> member relations vector stage 2 migration (drop introductions)
* remove comment
* skip down migration check
* fix
* plans
* postgres schema
* skip down migration comparison
* do not drop group_member_intros table, rename migrations
---------
Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com >
2025-12-26 13:29:48 +00:00
spaced4ndy
caef012003
core: fix support chat deletion ( #6271 )
2025-12-11 17:29:31 +00: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
9f3b3c69dd
ui: allow to delete member's messages when/after removing member ( #6443 )
...
* ui: allow to delete member messages
* fix merge category, deleted view
* fix remove items in model
* don't create item repeatedly
* kotlin
* obsolete import
* less delays
2025-11-17 09:41:47 +00:00
spaced4ndy
a65151ba6d
core, ui: replace map of network statuses with subscription status of current chat ( #6353 )
...
* core: subscription status wip
* update
* update
* update
* remove statuses core
* cleanup ios
* comment
* plans
* remove NetworkStatus
* ios wip
* contact sub status
* Revert "contact sub status"
This reverts commit 50cf94beed .
* sub status
* set on connected
* kotlin
* rename
* layout
* member status
* kotlin
* fix chat subscription status
* string
* core: update simplexmq
* client notices
* update simplexmq
* update alert
* update simplexmq
* android/desktop
* formatting
* fix tests
* update plans and API docs
---------
Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com >
2025-10-18 22:53:47 +01:00
Evgeny
f21ef8f55d
core: send updated profile to group when bio changes ( #6352 )
...
* core: send updated profile to group when bio changes
* redact short links from descriptions where group preferences prohibit them
2025-10-10 17:29:12 +01:00
Evgeny
e291a71ef3
core: do not add entities to batched agent errors ( #6351 )
2025-10-10 13:54:19 +01:00
Evgeny
65e215509b
core: subscribe all queues ( #6347 )
...
* core: subscribe all queues
* tests, plans, fixes
* enable tests
2025-10-09 22:46:42 +01:00
spaced4ndy
d9b38317fb
core: don't save introduction links ( #6341 )
2025-10-07 07:16:56 +00:00
spaced4ndy
8497d4ff48
core: update group short link data on receiving x.grp.info ( #6328 )
2025-10-03 11:05:30 +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
spaced4ndy
382241fe3e
core: rework synchronous group forwarding in receive loop into asynchronous delivery tasks ( #6178 )
2025-09-12 13:22:34 +00:00
Evgeny
8798ede50a
core: extended network errors information (simplexmq) ( #6247 )
...
* core: extended network errors information (simplexmq)
* fix test
* docs: add NetworkError to bot API types
* update simplexmq - JSON encoding for missing NetworkError
2025-09-07 15:07:21 +01:00
Evgeny
f6c699f3a5
core: update simplexmq (error handling) ( #6231 )
...
* core: update simplexmq (error handling)
* update simplexmq
2025-08-29 10:05:20 +01:00
spaced4ndy
0d22280358
core: forward member name; ui: don't show "Member" label if unknown member was created with name ( #6211 )
2025-08-22 09:53:21 +00:00
spaced4ndy
b607b629a6
core: fix forwarding for connection deleting events (x.grp.mem.del, x.grp.del) ( #6189 )
...
* core: fix forwarding for connection deleting events (x.grp.mem.del, x.grp.del)
* more tests
* docs, mute tests
* plans
* rework wip
* improve tests
* revert plans
* only forward original message
* update simplexmq (err context)
* update
* don't always wait delivery
* don't do unnecessary ack
* docs
* Revert "don't do unnecessary ack"
This reverts commit 1a560b0333 .
* ack
* update simplexmq
2025-08-18 12:58:25 +01:00
spaced4ndy
16ed5bcb57
core: save correct body for received message record, instead of full batch body ( #6188 )
2025-08-14 16:41:04 +00:00
spaced4ndy
c94e3301ad
core: fix member contact request not showing incognito correctly ( #6174 )
...
* core: fix member contact request not showing incognito correctly
* comment
2025-08-11 13:22:30 +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
baf12207d5
core: prohibit connecting via direct message for blocked members ( #6124 )
2025-07-29 08:42:39 +00:00
spaced4ndy
5de9bf7f2b
core: fix duplicate banner when connecting to member contact ( #6118 )
2025-07-28 09:37:14 +00:00
spaced4ndy
e9a3eb8f10
core: fix retrying connection via contact card (preset contacts) ( #6104 )
...
* core: fix retrying connection via contact card (preset contacts)
* ios
* kotlin
* banner
2025-07-25 17:31:05 +01:00
spaced4ndy
7b7926a73e
core, ui: allow to choose disappearing messages ttl in user profile ( #6097 )
2025-07-24 14:52:48 +00: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
spaced4ndy
a94c3d9f39
core: don't create duplicate feature items when being accepted to prepared group with member review ( #6074 )
2025-07-15 09:15:47 +00:00
spaced4ndy
8094078bee
core: improve message forwarding to better manage support scopes ( #6056 )
...
* core: test forwarding in support scope
* wip
* test
* add to test
* comment
* rework forwarding
* fixes
* refactor tests
* narrow
* forwardMsgs
* support mem
* unfocus tests
* fix, tests
* plans
* add test
* comment
* add scope to reaction and deletion, refactor
* fix del
* refactor
* query plans
---------
Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com >
2025-07-12 19:39:41 +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
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
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