spaced4ndy
252b1e90dc
wip
2026-06-29 15:20:52 +04: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
adb3fb8cb2
core: render web previews for channels ( #7029 )
...
* 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: render channel preview data
* core: render channel preview data in relays
* website: use cpp to inject JS functions
* JSC files
* remove directory.js
* channel preview renderer
* Revert "cli: fix redraw slowness (#6735 )"
This reverts commit b801d77c74 .
* sample channel page
* default avatar
* rename options
* better layout
* layout
* images
* some fixes
* tails
* markdown colors
* image sizes
* reactions
* fix reactions
* fewer avatars
* forward icon
* command to change group access parameters
* view public group access changes in CLI
* media metadata color
* ios: group web access ui
* update ui
* add init
* kotlin, labels
* update page
* update relay base URL
* fix
* ios update channel web page info
* update kotlin layout
* use cards
* update layout
* use domains for relay data, path is fixed
* update embed code
* fix bots api
* include only history items and senders
* update preview JS/HTML
* show different error if link is different
* remove stale json files
* better layout
* layout fixes
* improve layout
* improve layout
* update embed code
* web cta
* better layout
* buttons
* layout
* paddings
* desktop cta
* desktop cta
* cta layout
* fonts
* paddings
* paddings
* more paddings
* copy link
* read more
* hide avatar and placeholder when all messages are from channel
* color scheme
* fix color
* improve
* layout
* welcome message
* dark mode colors
* padding
* font size
* overscroll
* font
* logo on button
* better join
* buttons
* refactor
* another logo
* text
* desktop button
* button text
* center
* fix svg
* padding
* smaller gap
* render channel on any message changes etc
* fixes
* atomic file updates, escape attributes
* fix tests
* more tests
* more efficient rendering
* improve security
* sanitize links, include mentioned members
* schema
* fixes
* improve rendering
* fix showing correct subscribers count
* fix member names
---------
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com >
2026-06-16 14:36:55 +01:00
Evgeny Poberezkin
37f7ed3126
Merge branch 'stable'
2026-06-16 07:40:58 +01:00
Evgeny
ad23da63d0
core: supporter badges using anonymous BBS credentials ( #7040 )
...
* core: supporter badges using anonymous BBS credentials
* badges in profiles
* badge in profiles
* process badges
* update simplexmq
* update simplexmq
* change types
* fix migration
* migration
* update simplexmq
* fix bot API, schema
* fix postgresql build
* refactor
* postgresql schema
* correctly set badges in all cases
* badges ffi
* plan, bot types
* FFI
* FFI: export badge symbols
* add extra field
* refactor badge types to GADT
* configurable badge key
* add badge to profile, test
* ui: badge images
* generate badge key and sign badge
* badge sign in CLI
* fix commands, ui
* rename badges
* Binary
* image size, migration
* update badge images, add public key
* send badges in more cases
* update UI, tests
* bot types, schema
* postgres schema
* tone down badges
* revert formula
* refactor badges
* smaller badges
* badge position
* better badge position
* simpler
* position
* move position
* update simplexmq
* show badge after name
* badge layout
* fix badge
* debug badge height
* shift badge
* fix badge in member name
* bigger badge
* badge layout
* differentiate badge colors
* more avatars for the user's profiles
* refactor
* remove color filter
* alerts
* multiple keys, old expired
* use new BBS api
* update badge keys, bot api
* presentation header
* simplify
* parser
* update iOS images
* update public keys
* query plans
* update simplexmq
* refactor badge types
* simplexmq
* bot api types
* update simplexmq - commoncrypto flag
* update simplexmq
* pass commoncrypto flag to simplexmq in nix iOS build
* ios ui
* update core library, fixes
* badge layout
* badge size
* badge gap
* remove extensions
* simplify
* share badge in more events, reverify badge if verification failed
* larger files with badges
* allow sending larger files
* simpler
* update simplexmq
* better decoder for badge keys
* update simplexmq
---------
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com >
Co-authored-by: shum <github.shum@liber.li >
2026-06-15 22:25:08 +01:00
Evgeny Poberezkin
d657bcbba5
Merge branch 'stable'
2026-06-01 21:41:26 +01:00
Evgeny
83f4f6cd38
core: rename field in protocol ( #7038 )
...
* core: rename field in protocol
* update bot apis
---------
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com >
2026-06-01 21:33:35 +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
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