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>
This commit is contained in:
Evgeny
2026-04-16 23:48:19 +01:00
committed by GitHub
parent e2a55291fc
commit 30ae0d864c
21 changed files with 791 additions and 93 deletions
+2
View File
@@ -282,6 +282,7 @@ cliCommands =
"SetUserGroupReceipts",
"SetUserAutoAcceptMemberContacts",
"SetUserTimedMessages",
"SharePublicGroup",
"ShowChatItem",
"ShowChatItemInfo",
"ShowGroupDescription",
@@ -407,6 +408,7 @@ undocumentedCommands =
"APISetUserGroupReceipts",
"APISetUserServers",
"APISetUserUIThemes",
"APIShareChatMsgContent",
"APIStandaloneFileInfo",
"APIStorageEncryption",
"APISuspendChat",
+1
View File
@@ -132,6 +132,7 @@ undocumentedResponses =
"CRChatItemInfo",
"CRChatItems",
"CRChatItemTTL",
"CRChatMsgContent",
"CRChatRelayTestResult",
"CRChats",
"CRConnectionsDiff",
+4
View File
@@ -299,6 +299,7 @@ chatTypesDocsData =
(sti @InvitationLinkPlan, STUnion, "ILP", [], "", ""),
(sti @InvitedBy, STUnion, "IB", [], "", ""),
(sti @LinkContent, STUnion, "LC", [], "", ""),
(sti @LinkOwnerSig, STRecord, "", [], "", ""),
(sti @LinkPreview, STRecord, "", [], "", ""),
(sti @LocalProfile, STRecord, "", [], "", ""),
(sti @MemberCriteria, STEnum1, "MC", [], "", ""),
@@ -314,6 +315,7 @@ chatTypesDocsData =
(sti @NetworkError, STUnion, "NE", [], "", ""),
(sti @NewUser, STRecord, "", [], "", ""),
(sti @NoteFolder, STRecord, "", [], "", ""),
(sti @OwnerVerification, STUnion, "OV", [], "", ""),
(sti @PendingContactConnection, STRecord, "", [], "", ""),
(sti @PrefEnabled, STRecord, "", [], "", ""),
(sti @Preferences, STRecord, "", [], "", ""),
@@ -506,6 +508,7 @@ deriving instance Generic JSONCIDirection
deriving instance Generic JSONCIFileStatus
deriving instance Generic JSONCIStatus
deriving instance Generic LinkContent
deriving instance Generic LinkOwnerSig
deriving instance Generic LinkPreview
deriving instance Generic LocalProfile
deriving instance Generic MemberCriteria
@@ -521,6 +524,7 @@ deriving instance Generic MsgSigStatus
deriving instance Generic NetworkError
deriving instance Generic NewUser
deriving instance Generic NoteFolder
deriving instance Generic OwnerVerification
deriving instance Generic PendingContactConnection
deriving instance Generic PrefEnabled
deriving instance Generic Preferences
+1
View File
@@ -214,6 +214,7 @@ toTypeInfo tr =
"ProtocolServer",
"SbKey",
"SharedMsgId",
"Signature",
"TransportHost",
"UIColor",
"UserPwd",