spaced4ndy
e49a5ec6b5
core: XGrpMemNew checks ( #7132 )
2026-06-25 11:42:01 +00:00
spaced4ndy
4f855e6bba
core: support connecting to channels via cli ( #7131 )
2026-06-24 14:55:21 +00:00
spaced4ndy
8d478b7167
core: don't create member role change chat item in channels ( #7124 )
2026-06-24 14:33:12 +00:00
spaced4ndy
0e09b38ea6
core: public groups - roster of privileged members ( #7017 )
2026-06-22 10:15:41 +00:00
Evgeny Poberezkin
f64030f704
Merge branch 'stable'
2026-06-21 23:37:47 +01:00
Evgeny
6cde614e51
core: fix group link use after admin demotion ( #7111 )
...
* Fix group link use after admin demotion
* fix: group role change
* size limit
* fix
* allow delete
* do not remove link
* query plan
* relay test
* refactor
---------
Co-authored-by: Paul Bottinelli <paul.bottinelli@trailofbits.com >
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com >
2026-06-21 23:36:15 +01:00
Evgeny Poberezkin
60e75aa398
Merge branch 'stable'
2026-05-31 17:33:52 +01:00
Evgeny
9bb2bec3fa
plan: web previews for channels ( #7022 )
...
* plan: web previews for channels
* types for recipient side to support channel web previews and domain names
* fix
* migrations
* update schema and api types
* update schema
* rename migrations
* core: check member role
---------
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com >
2026-05-31 17:12:12 +01:00
spaced4ndy
037c05cd29
core: fix races on member removal / delivery of their messages ( #7010 )
2026-05-26 09:07:26 +00:00
spaced4ndy
c017c25d0f
core, ui: member full delete with messages ( #6994 )
2026-05-25 10:43:36 +00:00
spaced4ndy
2b48b55190
core: deliver member profiles via relay ( #6953 )
2026-05-22 20:52:01 +00:00
spaced4ndy
92e9640e4f
core, ui: relay reject rejoin ( #6978 )
2026-05-18 09:06:25 +00:00
Evgeny
7497b90e7c
core, ui: allow indefinite deletion from history for public channel/group owners/moderators ( #6972 )
...
* Revert "core: forward compatible support for owners/admins/moderations deleting channel and public group messages without limitations (#6962 )"
This reverts commit 08108ebabb .
* core, ui: allow indefinite deletion from history for public channel/group owners/moderators
* style
Co-authored-by: Evgeny <evgeny@poberezkin.com >
* refactor
* show error on deletion
* better alerts
* test
* plan
* simplify test
* bot api docs
* refactor
* test that removed from history is not delivered to the new subscribers
* fix, refactor
* fix
* rename
* rename predicate in UI
* rename
* do not forward channel deletions from history
* remove redundant check
---------
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com >
2026-05-13 15:24:52 +01:00
spaced4ndy
24859e1281
core: announce added relay ( #6956 )
2026-05-12 12:36:23 +00:00
spaced4ndy
6f8a07e4ea
core, ui: relay management - add, remove relays, synchronization to relay list ( #6917 )
2026-05-08 07:19:16 +00:00
spaced4ndy
8f66a0cc98
core: fix relay request worker retry limit ( #6931 )
...
* core: fix relay request worker retry limit
* update plan
* update plan
* update plan
* wip
* schema
* wip
* wip
* schema
* update
* remove comment
* rework
* schema
* update
* schema
* update
* plans
* corrections
* add 1 second
* remove + 1
* add +1 to schedule
* changes
* updated schemas
---------
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com >
Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com >
2026-05-02 11:31:03 +01:00
spaced4ndy
66064c38f8
core: don't create subscriber profile item update / create in support scope ( #6910 )
2026-04-28 18:08:39 +00:00
Evgeny
63c278818e
core: support chats in channels, send as owner in support chats ( #6870 )
...
* core: test support chats in channels, CLI defaults to sending as member in support chat
* ui: enable support chats in channels
* use correct scope when sending from UI
* more readable
* remove test output
* show member support chat in channels
* preference for support chats
* ios: types for support preference
* mp: support preference types
* show support preference in UI
* fix ios
* make support preference optional in JSON parser
* update string
* change strings, pass parameters to prefs
* refactor kotlin
* take support preference into account
* refactor core
* do not show broadcast placeholder in support scope
* move role check, add pref check on update
* support preference test (failing)
* fix version
* fix tests
* warning alert when enabling chats with admins
* revert on dismiss
* update text and icons
* query plans
---------
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com >
2026-04-26 14:37:16 +01:00
Evgeny
504ef253cb
core, ui: item about no e2ee in public channels ( #6886 )
...
* core, ui: item about no e2ee in public channels
* fix, refactor
* all tests
* update bot api types
---------
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com >
2026-04-25 20:49:26 +01:00
spaced4ndy
2eb25d124f
core, ui: better error on failed channel creation ( #6825 )
2026-04-20 08:17:42 +00:00
spaced4ndy
27cab1a575
core, ui: channel relay leave ( #6779 )
2026-04-17 08:27:41 +00:00
Evgeny
30ae0d864c
core: share links to channels and verify shared links when connecting ( #6810 )
...
* core: share links to channels and verify shared links when connecting
* refactor
* improve
* refactor case
* simplify
* exctract encodeChatBinding
* share api
* corrections
Co-authored-by: Evgeny <evgeny@poberezkin.com >
* tests
* verify signature in the tests
* drop signature if context does not match on reception
* try to test "fake" forward
* fix
* fix direct chat sharing test
* channel test
* sign link
* rename api
* refactor view
* chal link item CLI view, tests
* clean up
* share channel in channel as channel
* query plan
* fix test
* refactor
* whitespace
* simpler
* refactor
* dont use partial field update
---------
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com >
2026-04-16 23:48:19 +01:00
spaced4ndy
424b869750
core: don't save owner key as passed by relay, if owner record doesn't exist ( #6806 )
2026-04-14 11:15:12 +00:00
spaced4ndy
79a9860159
core: fix group link update overwriting owners ( #6804 )
...
* core: fix group link update overwriting owners
* fix
* rename
2026-04-14 10:02:02 +01:00
spaced4ndy
7194755f8d
core: fix channel profile updates breaking link ( #6762 )
2026-04-09 10:23:46 +00:00
Evgeny
714156c766
core: fix opening chats on new unread items (after sent or viewed items) ( #6747 )
...
* core: fix opening chats on new unread items (after sent or viewed items)
* fix test
* sqlite schema and query plan change
* fix postgresql, update schema
* stabilize tests
---------
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com >
2026-04-04 16:03:36 +01:00
spaced4ndy
b51c581c19
core: fix postgres channels/relays queries ( #6742 )
2026-04-03 09:24:14 +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
c8413583ff
core: move chat relay operations tests ( #6682 )
2026-03-16 12:46:58 +00: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
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 Poberezkin
93c45879c9
Merge branch 'master' into chat-relays
2026-01-23 21:51:49 +00:00
Evgeny
5453d8875c
core: filter all messages with links in text when link content filter is used ( #6591 )
...
* core: change msg_content_tag stored as blob to text
* track if items have links and use has_link when searching for links (MCLink_ MsgContentTag is passed)
* fix test (broken in master)
* merge migrations, update api and schema
* minor fixes
* tests
* update plans
* update migrations
2026-01-23 12:31:42 +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
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
f0467aee00
directory service: fix queries ( #6539 )
...
* fix directory service queries
* fix
* reduce postgres pool size to 1
* stabilize postgres client tests, remove slow handshake tests
* update simplexmq
* fix test
* test delay
2026-01-04 19:04:32 +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
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
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
70e23a04ce
ui: allow to block removed member or member that left ( #6440 )
2025-11-14 09:00:58 +00: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
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
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