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
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
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
Evgeny Poberezkin
811e3b4e28
Merge branch 'master' into chat-relays
2026-01-21 13:36:32 +00:00
spaced4ndy and Evgeny Poberezkin
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 Poberezkin
c11ff747b0
nodejs: update package 6.5.0-beta.4.4
2026-01-15 17:17:38 +00:00
sh
d3a72473e9
nodejs: add and fix windows ( #6581 )
...
* simplex-chat-nodejs: adjust binding.gyp for windows
* simplex-chat-nodejs: different library linkage for windows
* simplex-chat-nodejs: remove non-moving GC in Windows
"non-moving GC is broken on windows with GHC 9.4-9.6.3" from:
https://github.com/simplex-chat/simplex-chat/blob/master/apps/multiplatform/common/src/commonMain/cpp/desktop/simplex-api.c#L11-L17
* ci: add windows to release-nodejs-libs
* simplex-chat-nodejs: same curl flags for dll.def download
2026-01-15 16:36:35 +00:00
spaced4ndy
4873ca2337
Merge branch 'master' into chat-relays
2026-01-15 13:52:08 +04:00
43aa3e7e8a
nodejs: simplex-chat npm package ( #5556 )
...
* nodejs: addon
* rename
* changes
* change lib name
* package
* lib path
* simplex-chat-nodejs: fix library paths
* simplex-chat-nodejs: change addon name
* simplex-chat-nodejs: install libs, adjust package and installation
* simplex-chat-nodejs: add npmignore
* gitignore: add additional nodejs path
* simplex-chat-nodejs: fix shim name
* gitignore: ignore nodejs package lock
* simplex-chat-nodejs: rename shim to underscore
* simplex-chat-nodejs: fix library loading on Mac
* simplex-chat-nodejs: expose low-level functions, move tests
* simplex-chat-nodejs: expose shim fucntions
* simplex-chat-nodejs: fixed libs version
* simplex-chat-nodejs: switch to official repository
* simpelx-chat-nodejs: adjust release tag
* async addon, tests
* refactor, fixes
* high level chat api
* simplify cpp add-on - move logic to JS, fix API
* api for events, api test
* update @simplex-chat/types
* Revert "update @simplex-chat/types"
This reverts commit da3f89866f .
* change @simplex-chat/types version
* receiver for any events, wait with timeout
* low-level bot example
* typedoc
* network connection events
* declarative bot api
* readme, docs
* update docs
* update readme
* add liveMessage support
* allow passing welcome message as string
* @simplex-chat/webrtc-client 6.5.0-beta.3
* bot test
* concurrent connection in tests
* nodejs/download-libs: cleanup on version mismatch
* nodejs/download-libs: bump libs version
* do not handle signals in Haskell
* update bot examples
* flatten docs and use local links to code
* update readme
* 6.5.0-beta.4
* include more files in npm package, 6.5.0-beta.4.2
* .gitignore
---------
Co-authored-by: Avently <7953703+avently@users.noreply.github.com >
Co-authored-by: shum <github.shum@liber.li >
2026-01-14 21:42:21 +00:00
spaced4ndy
27823b613a
Merge branch 'master' into chat-relays
2026-01-12 13:36:10 +04:00
Evgeny
8ebc8894de
bots api: fix typescript code, add start/stop commands ( #6565 )
2026-01-11 16:57:15 +00:00
spaced4ndy
ae0dec480d
Merge branch 'master' into chat-relays
2025-12-12 14:04:31 +04:00
spaced4ndy and Evgeny Poberezkin
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
67461d6971
core: manage chat relays initial ( #6369 )
2025-10-20 08:12:45 +00:00
spaced4ndy and Evgeny Poberezkin
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
e291a71ef3
core: do not add entities to batched agent errors ( #6351 )
2025-10-10 13:54:19 +01:00
spaced4ndy and Evgeny Poberezkin
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
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
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
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
e2d5c675d0
bots: generate code for TypeScript types module from Haskell tests ( #6220 )
...
* bots: generate code for TypeScript types module from Haskell tests
* types for API events and command responses
* code for chat command types
* license, readme
* fix array types
* fix more types
* add response type
* add Connect command to docs/ts
* update typescript client package to use auto-generated types
2025-08-26 16:38:27 +01:00
Narasimha-sc
5ba53e5c7f
typescript README: fix typo ( #6100 )
2025-07-24 23:38:01 +01:00
Evgeny
f283c5f93c
core: fix API of websocket server, fix example in TS client API definition ( #6051 )
2025-07-08 12:22:20 +01:00
Evgeny
a0d1cca389
core: split response to two types, to improve iOS parsing memory usage ( #5867 )
...
* core: split response to two types, to improve iOS parsing memory usage
* ios: split core events to separate types
* comment
* limit more events to CLI
* fix parser
* simplemq
2025-05-04 22:14:36 +01:00
Evgeny
621b291da1
core: member mentions, types and rfc ( #5555 )
...
* core: member mentions, types and rfc
* update
* update rfc
* save/get mentions (WIP)
* markdown
* store received mentions and userMention flag
* sent mentions
* update message with mentions
* db queries
* CLI mentions, test passes
* use maps for mentions
* tests
* comment
* save mentions on sent messages
* postresql schema
* refactor
* M.empty
* include both displayName and localAlias into MentionedMemberInfo
* fix saving sent mentions
* include mentions in previews
* update plans
2025-01-29 13:04:48 +00:00
Stanislav Dmitrenko
307211a47f
android, desktop: landscape calls on Android and better local camera ratio management ( #5124 )
...
* android, desktop: landscape calls on Android and better local camera ratio management
The main thing is that now when exiting from CallActivity while in call
audio devices are not reset to default. It allows to have landscape mode
enabled
* styles
* fix changing calls
2024-12-07 17:09:00 +00:00
Stanislav Dmitrenko
2127c7dcce
android, desktop: don't stop audio track on Android in calls ( #5024 )
...
* android, desktop: don't stop audio track on Android in calls
There is a problem related to managing selected audio output device in
call. When microphone is disabled, WebView turns speaker on without
need. No way to prevent it was found yet. This is temporary workaround
that makes everything work except it makes microphone icon visible in
status bar (microphone is not used actually in that moment)
* enabled=false
2024-10-11 14:37:36 +01:00
Evgeny Poberezkin
ec014d721e
sdk: fix test
2024-10-10 19:15:09 +01:00
Yaroslav Pavlov
75bacb7923
desktop: fix typescript sdk ability to send / receive messages ( #4970 )
...
* typescript sdk: fix send messages
* typescript sdk: fix send messages naming
2024-10-10 19:10:11 +01:00
Stanislav Dmitrenko
fabbe0285d
ui: rely on different value in stats when checking calls media ( #5007 )
...
* ui: rely on different value in stats when checking calls media
* int64
2024-10-09 08:37:21 +01:00
Stanislav Dmitrenko and Evgeny Poberezkin
54b40a5838
android, desktop: checking for camera in calls and handle uninitialized call ( #4997 )
...
* android, desktop: checking for camera in calls and handle uninitialized call
* explanation for situation without permission
* reorder
* reorder
* strings
* font
---------
Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com >
2024-10-08 17:16:34 +01:00
Stanislav Dmitrenko
d9ad755474
android, desktop: make audio call default type of call on desktop ( #4954 )
...
* android, desktop: make audio call default type of call on desktop
* change
2024-09-30 15:45:13 +01:00
Stanislav Dmitrenko
15ca662805
android, desktop: support old Android WebViews (up to 69) ( #4953 )
...
* android, desktop: support old Android WebViews (up to 69)
* refactor
* WebView 70
* comment
2024-09-30 15:44:35 +01:00
Stanislav Dmitrenko
fc0879ebb7
android, desktop: fix Safari sound ( #4947 )
...
* android, desktop: fix Safari sound
* another approach
* test
* Revert "test"
This reverts commit f89a30a88e .
* Revert "another approach"
This reverts commit 824ab7047c .
* Revert "android, desktop: fix Safari sound"
This reverts commit 80a866d472 .
* android, desktop: fix Safari sound
* dependencies
2024-09-27 22:04:16 +01:00
Stanislav Dmitrenko and Evgeny Poberezkin
95c1d8d798
android, desktop: calls switching from audio to video and back ( #4814 )
...
* android, desktop: calls switching from audio to video and back
* refactor
* working all 4 streams with mute handling differently
* changes
* changes
* wrong file
* changes
* padding
* android camera service type
* icons, sizes, clickable
* refactor
* Revert "android camera service type"
This reverts commit 9878ff38e9 .
* late init camera permissions
* enabling camera sooner than call establishes (not fully done)
* changes
* alpha
* fixes for Safari
* enhancements
* fix Safari sound
* padding between buttons on desktop
* android default values for padding
* changes
* calls without encryption are supported and flipping camera on some devices works
* unused param
* logs
* background color
* play local video in Safari
* no line height
* removed one listener from per frame processing
* enhancements
---------
Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com >
2024-09-26 20:18:05 +01:00
Stanislav Dmitrenko
25fb099c44
android, desktop: fix always connecting state in call ( #4911 )
2024-09-19 18:00:08 +01:00
Stanislav Dmitrenko
5f501f1cb9
android, desktop: fix android video calls ( #4118 )
2024-05-02 16:47:52 +01:00
Stanislav Dmitrenko and Evgeny Poberezkin
925cb39397
desktop: using system sound in screenshare ( #4035 )
...
Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com >
2024-04-19 17:37:47 +01:00
Stanislav Dmitrenko
5e71d00ace
android, desktop: workaround of missing stuns support in calls ( #4033 )
...
* android, desktop: workaround of missing stuns support in calls
* const
2024-04-16 08:38:46 +01:00
Stanislav Dmitrenko
c2169f7813
desktop: fix video calls in Firefox ( #4034 )
...
* desktop: fix video calls in Firefox
* one more play()
2024-04-16 08:22:40 +01:00
Stanislav Dmitrenko and Evgeny Poberezkin
24e3806b25
webrtc: updated credentials ( #4011 )
...
* webrtc: updated credentials
* no udp
* change
* stuns
* added stun back
---------
Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com >
2024-04-14 19:18:12 +01:00
spaced4ndy
b0b249a56a
Merge branch 'stable'
2024-02-22 12:11:23 +04:00
spaced4ndy
c544a636f6
core, ui: remove usage of inline files (send only xftp files) ( #3823 )
2024-02-20 13:56:31 +04:00