Commit Graph

1510 Commits

Author SHA1 Message Date
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
Evgeny 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
Evgeny 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
Evgeny Poberezkin 360aba3e8f 6.5.0.16 2026-04-21 23:20:48 +01:00
Evgeny f088220c13 core: update privacy policy commit (#6848) 2026-04-20 19:14:47 +01:00
spaced4ndy e8d16349ae core: fix changing profile of prepared chats losing chat items (#6843) 2026-04-20 13:28:01 +00: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 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
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
Evgeny 673f5e374b core: refactor unnecessary functions away (#6796)
* core: refactor unnecessary functions away

* fix

---------

Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com>
2026-04-13 09:21:14 +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
spaced4ndy 1428ad75f9 core: channel comments preference (#6780)
* core: channel comments preference

* api

* remove from all group prefs

* rename

* fix api docs/types

---------

Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com>
2026-04-11 14:05:51 +01:00
spaced4ndy 7194755f8d core: fix channel profile updates breaking link (#6762) 2026-04-09 10:23:46 +00:00
Evgeny Poberezkin 281eb22f27 cli: fix build 2026-04-04 23:05:40 +01:00
Evgeny Poberezkin 515b0f56cc core: 6.5.0.12 (simplexmq 6.5.0.14) 2026-04-04 19:07:34 +01:00
sh 586a748bc8 cli: add new notifications (#6693) 2026-04-04 16:52:55 +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 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 b690f89a99 core: don't create member announcement chat item in channels (#6744) 2026-04-03 16:31:31 +00:00
spaced4ndy fb9187ca03 core: update query plans 2026-04-03 17:12:24 +04: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 b51c581c19 core: fix postgres channels/relays queries (#6742) 2026-04-03 09:24:14 +00:00
spaced4ndy 5241a2d7f3 core: fix withStore usage in subscriber 2026-04-02 21:13:23 +04:00
spaced4ndy a14a66db14 core, ui: chat relay test (#6736) 2026-04-02 15:36:36 +00:00
spaced4ndy 42fe94752c core, ui: public group profile wip (#6734) 2026-04-01 14:17:27 +00:00
spaced4ndy dfd8e224f6 core, ui: prohibit to invite contact to channel (#6731) 2026-03-31 11:31:09 +00:00
spaced4ndy eddb42bd63 core: fix ghost channel record in chat list on failed/cancelled channel creation (#6728) 2026-03-30 12:42:28 +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 c33c343ccd Merge branch 'master' into chat-relays 2026-03-30 12:33:20 +04:00
Evgeny 1e042718a3 core: shared group ID in group profile for relayed groups (#6716)
* rfc: add shared group ID to profile (the same as linkEntityId and sha256(rootKey))

* implement group ID

* fix

* update simplexmq

* line

* toGroupKeys

* fix test

* fix bot api

* check group ID in other cases

* fix

---------

Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com>
Co-authored-by: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com>
2026-03-30 08:25:54 +00:00
Evgeny f51d8a5a87 core: open chat on "new" unread items (contigous unread aread in the end) (#6724)
* core: open chat on "new" unread items (contigous unread aread in the end)

* move

* ui: match first unread logic with core

---------

Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com>
2026-03-29 21:38:41 +01: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
spaced4ndy b680320dee core: fix preset relays population (#6707) 2026-03-25 17:48:19 +00:00
spaced4ndy 3d6f1e8579 core: fix downgrade from channels/relays (#6706) 2026-03-25 14:09:12 +04: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
Evgeny Poberezkin 5fc7560df9 Merge branch 'master' into chat-relays 2026-03-21 18:07:26 +00:00
Evgeny @ SimpleX Chat a8a8883027 core, ui, website: small text markdown (#6697)
* core: small text markdown

* ios: small markdown

* desktop, android: small markdown

* fix font size

* small markdown on website

* update ios core library

* update bot api docs

---------

Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com>
2026-03-21 18:06:23 +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
sh 2df13dad36 core: add custom data commands, fix groups parser (#6691)
* core: add custom data commands, fix groups parser

- Add APISetGroupCustomData and APISetContactCustomData to ChatCommand,
  with parsers (/_set custom #, /_set custom @) and processors
  following the APISetChatUIThemes pattern
- Fix APIListGroups parser missing space ("/_groups" -> "/_groups ")
  to align with auto-generated cmdString
- Add chatCommandsDocsData entries for APISetGroupCustomData,
  APISetContactCustomData, and APISetUserAutoAcceptMemberContacts

* core: named fields for codegen, run codegen

- Use named record fields for APISetGroupCustomData,
  APISetContactCustomData, APISetUserAutoAcceptMemberContacts
  (required for chatCommandsDocsData field resolution)
- Fix OnOff field name to "onOff" (avoids clash with User field)
- Remove APISetUserAutoAcceptMemberContacts from undocumentedCommands
- Regenerate COMMANDS.md and commands.ts

* nodejs: add ChatApi wrappers for custom data and apiGetChat

- apiSetGroupCustomData, apiSetContactCustomData
- apiSetAutoAcceptMemberContacts
- apiGetChat (manual wrapper, APIGetChat undocumented)
2026-03-19 09:10:19 +00:00
Ed Asriyan b8178d01a8 core: fix /_groups command (#6660)
* core: fix `/_groups` command

add missing space after `/_groups`. fixes #5195

* remove space in CLI commands (they would break parser)

---------

Co-authored-by: Evgeny <evgeny@poberezkin.com>
2026-03-19 09:08:14 +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 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