From fb8d8ec7c3439d0a229d17844f355d70ffeb03cb Mon Sep 17 00:00:00 2001 From: Evgeny Date: Fri, 15 Aug 2025 17:37:10 +0100 Subject: [PATCH] core, ui: chat relay addresses (#6191) --- apps/ios/SimpleXChat/ChatTypes.swift | 2 ++ .../commonMain/kotlin/chat/simplex/common/model/ChatModel.kt | 4 +++- .../common/src/commonMain/resources/MR/base/strings.xml | 1 + cabal.project | 2 +- scripts/nix/sha256map.nix | 2 +- src/Simplex/Chat/Library/Commands.hs | 1 + src/Simplex/Chat/Markdown.hs | 3 ++- 7 files changed, 11 insertions(+), 4 deletions(-) diff --git a/apps/ios/SimpleXChat/ChatTypes.swift b/apps/ios/SimpleXChat/ChatTypes.swift index 7a70c6b664..0e4b63a2e0 100644 --- a/apps/ios/SimpleXChat/ChatTypes.swift +++ b/apps/ios/SimpleXChat/ChatTypes.swift @@ -4666,6 +4666,7 @@ public enum SimplexLinkType: String, Decodable, Hashable { case invitation case group case channel + case relay public var description: String { switch self { @@ -4673,6 +4674,7 @@ public enum SimplexLinkType: String, Decodable, Hashable { case .invitation: return NSLocalizedString("SimpleX one-time invitation", comment: "simplex link type") case .group: return NSLocalizedString("SimpleX group link", comment: "simplex link type") case .channel: return NSLocalizedString("SimpleX channel link", comment: "simplex link type") + case .relay: return NSLocalizedString("SimpleX relay link", comment: "simplex link type") } } } diff --git a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/model/ChatModel.kt b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/model/ChatModel.kt index 94c44b3883..c00507c0a3 100644 --- a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/model/ChatModel.kt +++ b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/model/ChatModel.kt @@ -4437,13 +4437,15 @@ enum class SimplexLinkType(val linkType: String) { contact("contact"), invitation("invitation"), group("group"), - channel("channel"); + channel("channel"), + relay("relay"); val description: String get() = generalGetString(when (this) { contact -> MR.strings.simplex_link_contact invitation -> MR.strings.simplex_link_invitation group -> MR.strings.simplex_link_group channel -> MR.strings.simplex_link_channel + relay -> MR.strings.simplex_link_relay }) } diff --git a/apps/multiplatform/common/src/commonMain/resources/MR/base/strings.xml b/apps/multiplatform/common/src/commonMain/resources/MR/base/strings.xml index 0b53b8d577..b1a9e39157 100644 --- a/apps/multiplatform/common/src/commonMain/resources/MR/base/strings.xml +++ b/apps/multiplatform/common/src/commonMain/resources/MR/base/strings.xml @@ -98,6 +98,7 @@ SimpleX one-time invitation SimpleX group link SimpleX channel link + SimpleX relay link via %1$s SimpleX links Description diff --git a/cabal.project b/cabal.project index c31fba995f..6ef2de59c8 100644 --- a/cabal.project +++ b/cabal.project @@ -12,7 +12,7 @@ constraints: zip +disable-bzip2 +disable-zstd source-repository-package type: git location: https://github.com/simplex-chat/simplexmq.git - tag: 931c533a3ddb86345e95ac54e24df5474d9a349b + tag: 2cedb66667fe4c6b0fed1a7a6f57cbb160695be1 source-repository-package type: git diff --git a/scripts/nix/sha256map.nix b/scripts/nix/sha256map.nix index e47200a34f..35f3687df1 100644 --- a/scripts/nix/sha256map.nix +++ b/scripts/nix/sha256map.nix @@ -1,5 +1,5 @@ { - "https://github.com/simplex-chat/simplexmq.git"."931c533a3ddb86345e95ac54e24df5474d9a349b" = "03s3gnb21fnlnmayy654aq56q4kwva48mfs3qacvr7asm8fpk2p3"; + "https://github.com/simplex-chat/simplexmq.git"."2cedb66667fe4c6b0fed1a7a6f57cbb160695be1" = "0w326lpbn6aaibqms545j0yn6sb9myr0yjc3f5hmykpjdfryw0g3"; "https://github.com/simplex-chat/hs-socks.git"."a30cc7a79a08d8108316094f8f2f82a0c5e1ac51" = "0yasvnr7g91k76mjkamvzab2kvlb1g5pspjyjn2fr6v83swjhj38"; "https://github.com/simplex-chat/direct-sqlcipher.git"."f814ee68b16a9447fbb467ccc8f29bdd3546bfd9" = "1ql13f4kfwkbaq7nygkxgw84213i0zm7c1a8hwvramayxl38dq5d"; "https://github.com/simplex-chat/sqlcipher-simple.git"."a46bd361a19376c5211f1058908fc0ae6bf42446" = "1z0r78d8f0812kxbgsm735qf6xx8lvaz27k1a0b4a2m0sshpd5gl"; diff --git a/src/Simplex/Chat/Library/Commands.hs b/src/Simplex/Chat/Library/Commands.hs index 4fa2e4ac9b..a17af4b5c9 100644 --- a/src/Simplex/Chat/Library/Commands.hs +++ b/src/Simplex/Chat/Library/Commands.hs @@ -3534,6 +3534,7 @@ processChatCommand vr nm = \case Just (cReq, g) -> pure $ Just (con cReq, CPGroupLink (GLPOwnLink g)) Nothing -> (gPlan =<<) <$> getGroupViaShortLinkToConnect db vr user l' CCTChannel -> throwCmdError "channel links are not supported in this version" + CCTRelay -> throwCmdError "chat relay links are not supported in this version" connectWithPlan :: User -> IncognitoEnabled -> ACreatedConnLink -> ConnectionPlan -> CM ChatResponse connectWithPlan user@User {userId} incognito ccLink plan | connectionPlanProceed plan = do diff --git a/src/Simplex/Chat/Markdown.hs b/src/Simplex/Chat/Markdown.hs index 8f34b740d7..5fd6d15af2 100644 --- a/src/Simplex/Chat/Markdown.hs +++ b/src/Simplex/Chat/Markdown.hs @@ -72,7 +72,7 @@ mentionedNames = mapMaybe (\(FormattedText f _) -> mentionedName =<< f) Mention name -> Just name _ -> Nothing -data SimplexLinkType = XLContact | XLInvitation | XLGroup | XLChannel +data SimplexLinkType = XLContact | XLInvitation | XLGroup | XLChannel | XLRelay deriving (Eq, Show) colored :: Color -> Format @@ -326,6 +326,7 @@ markdownP = mconcat <$> A.many' fragmentP CCTGroup -> XLGroup CCTChannel -> XLChannel CCTContact -> XLContact + CCTRelay -> XLRelay strEncodeText :: StrEncoding a => a -> Text strEncodeText = safeDecodeUtf8 . strEncode