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
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
ac6f8b76ac
core: flatten MsgContainer type to match wire JSON format ( #6808 )
...
* core: refactor MsgContainer
* comment
* simplify
* refactor
* corrections
* update
* clean up
---------
Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com >
2026-04-15 20:28:31 +01:00
Evgeny
6f21826579
core, ui: chat item to show message error ( #6785 )
...
* core: chat item to show message error
* ui: chat item for removed messages
* remove local maven repo
* command to test dropped messages
* update nix config
* show parse errors
* error texts, simplexmq
* alert messages
* simplexmq, alert
* better parsing
* better parsing
* simplify
* correct message
* remove test api
* do not check size twice, bot types
* send error in relays
* do not create error item in relays
* diff
---------
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com >
2026-04-11 19:40:33 +01:00
Evgeny
5050e4858e
core: preset chat relays ( #6748 )
...
* core: preset chat relays
* refactor
---------
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com >
2026-04-04 16:50:07 +01:00
Evgeny
8167f7c2ab
core: add fields to chat relay profiles; remove unique name requirement; update relay profile in relay address link data ( #6743 )
...
* core: add fields to chat relay profiles
* wip
* wip
* fix
* fix
* fix
* enable tests
* schema
* api
---------
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com >
Co-authored-by: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com >
2026-04-03 12:42:43 +00:00
spaced4ndy
a14a66db14
core, ui: chat relay test ( #6736 )
2026-04-02 15:36:36 +00:00
spaced4ndy
929783eb6c
core: relay key and member id as immutable relay link data ( #6713 )
2026-03-30 10:48:39 +00:00
spaced4ndy
30386178ec
Revert "core: relay key and member id as immutable relay link data ( #6711 )"
...
This reverts commit d665b1f5d8 .
2026-03-28 14:03:09 +04:00
spaced4ndy
d665b1f5d8
core: relay key and member id as immutable relay link data ( #6711 )
2026-03-28 09:51:50 +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
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
dedc57d328
Merge branch 'master' into chat-relays
2026-02-19 15:29:18 +04:00
sh
764fb27f1c
core, directory: allow voice messages during member approval phase to allow audio captchas in groups that prohibit voice messages ( #6624 )
...
* rfcs: add member-support-voice rfc
* update based on the feedback
* implement RFC
* add new tests
* fix protocol tests and update plans
* restrict voice captcha exemption to host approval phase
* update agent_query_plans.txt
2026-02-14 09:26:18 +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
e29712c2e8
Merge branch 'master' into chat-relays
2026-01-29 19:51:22 +00:00
Evgeny Poberezkin
14d5819ade
Merge branch 'stable'
2026-01-28 23:38:54 +00:00
Evgeny
a786693c1a
core: improve error handling ( #6602 )
...
* core: improve error handling
* simplexmq
2026-01-28 21:57:39 +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
405ce9615e
core: support content filter for contacts and notes to allow media galleries ( #6552 )
...
* core: support content filter for contacts and notes to allow media galleries
* add api to list chat content types, tests
* query plans, api docs
* add indices
2026-01-09 08:24:26 +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
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
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
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
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
9794829d74
core: show group as sender, add contact card to contact request chats, unify api type for prepared and contact request chats ( #6003 )
...
* core: option to show group as sender of chat item (for the initial items, e.g. welcome message)
* add chat item to contact request chats
* return AChat for prepared chats and contact requests
* update iOS api types, show prepared contact as blue, show preview info when content message is not available (previously was showing feature item)
* ios: remove ContactType
* ios: show group as sender, fix avatar not showing when member message sequence starts with merged items
* ios: update compose UI for all connection scenarios
* address settings
* ios: address settings UI
* fix tests
* fix tests 2
* ios: fix minor issues
2025-06-23 14:42:00 +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
7f6bc30894
core, ios: track "short link data set" state, interact with address accordingly ( #5978 )
2025-06-10 15:12:23 +00:00
spaced4ndy
ace7278190
core: short link connection plans wip; short links implementation comments ( #5947 )
2025-05-27 13:00:52 +00:00
Evgeny
a2577c3df3
core: support observers send messages to admins, CLI commands ( #5921 )
...
* core: allow observers send messages to admins
* improve parser, CLI command to approve members
2025-05-19 11:14:43 +01:00
spaced4ndy
60bfd9933a
core: correctly communicate group acceptance state ( #5852 )
2025-04-28 06:28:40 +00:00
spaced4ndy
c12817ac81
core: rework knocking protocol ( #5802 )
2025-04-03 09:36:28 +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
6556e09a33
core: update simplexmq to support PostgreSQL servers ( #5760 )
...
* core: update simplexmq to support postgres
* update simplexmq
* update ios
2025-03-19 07:16:31 +00:00
Evgeny
a6631ce629
core: delete members with messages ( #5711 )
...
* core: delete members with messages (WIP)
* remove messages
* fix, test
* update query plans
2025-03-07 07:47:32 +00:00
Evgeny
b2de37a9fb
core: member acceptance ( #5678 )
...
* core: member acceptance
* migration
* move hook
* core: support sending direct messages to members (#5680 )
* fix compilation, todos
* fix test
* predicates
* comment
* extend hook
* wip
* wip
* wip
* wip
* fix test
* mute output
* schema
* better query
* plans
* fix test
* directory
* captcha
* captcha works
* remove column, add UI types and group status icon
* fix test
* query plans
* exclude messages of pending members from history
* commands for filter settings
* core: separately delete pending approval members; other apis validation (#5699 )
* accepted status
* send captcha messages as replies
* fix blocked words
* simpler filter info
* info about /filter and /role after group registration
* update query plans
---------
Co-authored-by: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com >
2025-03-03 18:57:29 +00:00
spaced4ndy
f701ffa4e0
core: communicate group join rejection ( #5661 )
2025-02-26 09:25:54 +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
Evgeny Poberezkin
e9893989df
Merge branch 'stable'
2025-02-14 23:59:41 +00:00
Evgeny
dfe5a4464b
desktop, android: fix parser for reactions ( #5629 )
...
* desktop, android: fix parser for reactions
* core: restrict API to known reactions
2025-02-14 23:37:06 +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