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
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
507a4de61c
Merge branch 'stable'
2026-05-28 23:19:54 +01:00
spaced4ndy and GitHub
12fbf61f32
core, ui: require update for public groups ( #7009 )
2026-05-26 09:03:41 +00:00
fe6b5186e1
core: update simplexmq (receiving services) ( #6212 )
...
* core: update simplexmq
* update agent api
* update simplexmq
* core: add flag to User to use client services
* update simplexmq
* cli command to toggle service for a user
* test, fix
* query plans, core/bot api types
* remove local package reference
* increase server queue size in tests
* show client service status in users list
* update query plans
* cli: fix redraw slowness (#6735 )
* cli: add pland to fix redraw slowness
* updtae doc
* cli: decouple key reading from processing via TQueue
* schema and bot types
---------
Co-authored-by: sh <37271604+shumvgolove@users.noreply.github.com >
2026-05-25 10:37:13 +01:00
spaced4ndy and GitHub
2b48b55190
core: deliver member profiles via relay ( #6953 )
2026-05-22 20:52:01 +00:00
spaced4ndy and GitHub
92e9640e4f
core, ui: relay reject rejoin ( #6978 )
2026-05-18 09:06:25 +00:00
spaced4ndy and GitHub
6f8a07e4ea
core, ui: relay management - add, remove relays, synchronization to relay list ( #6917 )
2026-05-08 07:19:16 +00:00
53a225a0c9
directory: periodically update subscriber counts for registered channels and re-verify links and ownership ( #6879 )
...
* directory: update subscriber counts for registered channels and re-verify links and ownership
* refactor
* rename
* mapM_
* refactor
* refactor
* refactor more
* more
* different approach
* rename
* test
* bot api types
---------
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com >
2026-04-25 10:20:26 +01:00
f3547878cc
directory: support public channels and relay-based groups ( #6840 )
...
* directory: support public channels and relay-based groups (plan)
* types
* amend types
* directory types, resolve known link
* implementation, test fails
* fix test
* fix test
* more test
* minimal test
* more test
* debug test
* clean up
* remove debug logs
* refactor
* use group/channel terms correctly
* remove unsupported commands
* manage profile update
* owner left the channel
* more tests, correct response to sent link
* re-registration
* /help and /link commands
* correct listing for channels
* fix test
* fix bot api
* refactor
* do not include link data in GLPKnown
* refactor
* diff
* undo refactor
* simplify
* remove harness test
* remove flip
* add v6.5 app requirement for channels
* add website support
* update bot api types
* correct member count, fix test
* members -> subscribers
* add link to channel description
* fix css
* move version note
---------
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com >
2026-04-23 13:30:26 +01:00
spaced4ndy and GitHub
2eb25d124f
core, ui: better error on failed channel creation ( #6825 )
2026-04-20 08:17:42 +00:00
spaced4ndy and GitHub
27cab1a575
core, ui: channel relay leave ( #6779 )
2026-04-17 08:27:41 +00:00
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
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
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 and GitHub
a14a66db14
core, ui: chat relay test ( #6736 )
2026-04-02 15:36:36 +00:00
spaced4ndy and GitHub
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 and GitHub
d665b1f5d8
core: relay key and member id as immutable relay link data ( #6711 )
2026-03-28 09:51:50 +00:00
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 and GitHub
58f47cbadf
core, ui: channel subscriber count ( #6696 )
2026-03-24 10:54:32 +00:00
spaced4ndy and GitHub
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
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 and GitHub
b97868d79f
ios: channels and chat relays ui ( #6634 )
2026-03-05 09:13:24 +00:00
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 and GitHub
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
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
46629a1c03
Merge branch 'master' into chat-relays
2026-01-09 15:04:53 +04:00
Evgeny and GitHub
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
61de2e3f61
Merge branch 'master' into chat-relays
2026-01-06 15:15:44 +04:00
Evgeny and GitHub
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
spaced4ndy
d29fd2dfa6
Merge branch 'master' into chat-relays
2026-01-05 11:31:15 +04:00
Evgeny and GitHub
59b31e2631
core: compress commands in remote connection ( #5776 )
...
* core: compress commands in remote connection
* backwards compatible compression
* show in CLI if compression is enabled
* use aroundWith for ghc 8.10.7 compatibility
* skip bot API tests in GHC 8.10.7
2025-12-30 07:49:17 +00:00
Evgeny Poberezkin
b0eb01a8fa
Merge branch 'stable'
2025-12-23 14:19:53 +00:00
Evgeny and GitHub
67fbe62ae1
core: update simplexmq (support any 127.x.x.x address as loopback), show other addresses in CLI during remote connection, update tests ( #6526 )
2025-12-23 14:16:05 +00:00
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 and GitHub
5ddc454049
core: option to run client as chat relay; cli api to get, set relays ( #6407 )
2025-10-27 12:29:38 +00:00
spaced4ndy
79bdc03529
Merge branch 'master' into chat-relays
2025-10-24 15:32:17 +04:00
spaced4ndy and GitHub
35963f9c74
core: don't show no connections diff on event (fix tests) ( #6403 )
...
* different approach
* fix tests
2025-10-24 12:24:05 +01:00
spaced4ndy and GitHub
67461d6971
core: manage chat relays initial ( #6369 )
2025-10-20 08:12:45 +00:00
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 and GitHub
e291a71ef3
core: do not add entities to batched agent errors ( #6351 )
2025-10-10 13:54:19 +01:00
37c8aca3b3
core: sync connections ( #6345 )
...
* core: sync subsbriptions
* sha map
* sync event
* should delete flag
* wip
* schema
* wip
* delete
* update simplexmq
* plans
* rename, adapt
* update
* plans
* option to show ids
* plans
* fix, test
* more tests
* postgres
* plans
* cleanup
* plans
---------
Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com >
2025-10-10 06:27:50 +00:00
Evgeny and GitHub
65e215509b
core: subscribe all queues ( #6347 )
...
* core: subscribe all queues
* tests, plans, fixes
* enable tests
2025-10-09 22:46:42 +01:00
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 and GitHub
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
Evgeny and GitHub
a190d4ea9b
website: directory page ( #6283 )
...
* website: directory page
* core: use markdown in directory entries
* render markdown on directory page
* update markdown
* toggle secrets on click
* update listings asynchronously
* add group links to the listing
* cleanup
* better directory layout with pagination
* script to run website
* update page navigation
* search
* readable markdown colors, better "read less"
* core: atomic update of directory listings, to avoid files unavailable
* fix symlink, sort entries on page with new first
* update listings every 15 min, add activeAt time
* fix sorting in the page and listing url
* replace simplex:/ links on desktop
2025-09-20 19:47:50 +01:00
spaced4ndy and GitHub
382241fe3e
core: rework synchronous group forwarding in receive loop into asynchronous delivery tasks ( #6178 )
2025-09-12 13:22:34 +00:00
Evgeny and GitHub
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