From 17a0c1b53d59fac884665eaf19b8988552226f80 Mon Sep 17 00:00:00 2001 From: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com> Date: Wed, 1 Oct 2025 15:53:27 +0000 Subject: [PATCH 01/38] core: delivery in channels (#6278) * core: channels delivery (#6274) * core: optimize member retrieval query for postgres (#6280) * core: optimize reading only relays for sending in channels (#6282) * fixes * plans --- src/Simplex/Chat.hs | 2 + src/Simplex/Chat/Controller.hs | 2 + src/Simplex/Chat/Library/Commands.hs | 102 ++++++---- src/Simplex/Chat/Library/Internal.hs | 111 ++++++----- src/Simplex/Chat/Library/Subscriber.hs | 48 +++-- src/Simplex/Chat/Store/Delivery.hs | 36 ++-- src/Simplex/Chat/Store/Groups.hs | 31 +--- .../SQLite/Migrations/agent_query_plans.txt | 4 - src/Simplex/Chat/Store/Shared.hs | 21 +++ src/Simplex/Chat/Types.hs | 5 + tests/ChatTests/Groups.hs | 175 ++++++++++++++++++ 11 files changed, 402 insertions(+), 135 deletions(-) diff --git a/src/Simplex/Chat.hs b/src/Simplex/Chat.hs index db19e20cad..29100c731a 100644 --- a/src/Simplex/Chat.hs +++ b/src/Simplex/Chat.hs @@ -108,6 +108,8 @@ defaultChatConfig = ciExpirationInterval = 30 * 60 * 1000000, -- 30 minutes coreApi = False, highlyAvailable = False, + deliveryWorkerDelay = 0, + deliveryBucketSize = 10000, deviceNameForRemote = "", chatHooks = defaultChatHooks } diff --git a/src/Simplex/Chat/Controller.hs b/src/Simplex/Chat/Controller.hs index 74fda61012..49cb3b499d 100644 --- a/src/Simplex/Chat/Controller.hs +++ b/src/Simplex/Chat/Controller.hs @@ -156,6 +156,8 @@ data ChatConfig = ChatConfig cleanupManagerStepDelay :: Int64, ciExpirationInterval :: Int64, -- microseconds coreApi :: Bool, + deliveryWorkerDelay :: Int64, -- microseconds + deliveryBucketSize :: Int, highlyAvailable :: Bool, deviceNameForRemote :: Text, chatHooks :: ChatHooks diff --git a/src/Simplex/Chat/Library/Commands.hs b/src/Simplex/Chat/Library/Commands.hs index 101181237e..47a4546698 100644 --- a/src/Simplex/Chat/Library/Commands.hs +++ b/src/Simplex/Chat/Library/Commands.hs @@ -656,7 +656,8 @@ processChatCommand vr nm = \case CChatItem SMDSnd ci@ChatItem {meta = CIMeta {itemSharedMsgId, itemTimed, itemLive, editable}, content = ciContent} -> do case (ciContent, itemSharedMsgId, editable) of (CISndMsgContent oldMC, Just itemSharedMId, True) -> do - (chatScopeInfo, recipients) <- getGroupRecipients vr user gInfo scope groupKnockingVersion + chatScopeInfo <- mapM (getChatScopeInfo vr user) scope + recipients <- getGroupRecipients vr user gInfo chatScopeInfo groupKnockingVersion let changed = mc /= oldMC if changed || fromMaybe False itemLive then do @@ -711,15 +712,14 @@ processChatCommand vr nm = \case CTGroup -> withGroupLock "deleteChatItem" chatId $ do (gInfo, items) <- getCommandGroupChatItems user chatId itemIds -- TODO [knocking] check scope for all items? + chatScopeInfo <- mapM (getChatScopeInfo vr user) scope deletions <- case mode of CIDMInternal -> do - chatScopeInfo <- mapM (getChatScopeInfo vr user) scope deleteGroupCIs user gInfo chatScopeInfo items Nothing =<< liftIO getCurrentTime CIDMInternalMark -> do - chatScopeInfo <- mapM (getChatScopeInfo vr user) scope markGroupCIsDeleted user gInfo chatScopeInfo items Nothing =<< liftIO getCurrentTime CIDMBroadcast -> do - (chatScopeInfo, recipients) <- getGroupRecipients vr user gInfo scope groupKnockingVersion + recipients <- getGroupRecipients vr user gInfo chatScopeInfo groupKnockingVersion assertDeletable items assertUserGroupRole gInfo GRObserver -- can still delete messages sent earlier let msgIds = itemsMsgIds items @@ -802,7 +802,8 @@ processChatCommand vr nm = \case (g@GroupInfo {membership}, CChatItem md ci) <- withFastStore $ \db -> do g <- getGroupInfo db vr user chatId (g,) <$> getGroupCIWithReactions db user g itemId - (chatScopeInfo, recipients) <- getGroupRecipients vr user g scope groupKnockingVersion + chatScopeInfo <- mapM (getChatScopeInfo vr user) scope + recipients <- getGroupRecipients vr user g chatScopeInfo groupKnockingVersion case ci of ChatItem {meta = CIMeta {itemSharedMsgId = Just itemSharedMId}} -> do unless (groupFeatureAllowed SGFReactions g) $ @@ -1099,8 +1100,8 @@ processChatCommand vr nm = \case -- TODO [knocking] set support chat as unread? CTGroup | isNothing scope -> do withFastStore $ \db -> do - Group {groupInfo} <- getGroup db vr user chatId - liftIO $ updateGroupUnreadChat db user groupInfo unreadChat + gInfo <- getGroupInfo db vr user chatId + liftIO $ updateGroupUnreadChat db user gInfo unreadChat ok user CTLocal -> do withFastStore $ \db -> do @@ -1148,7 +1149,7 @@ processChatCommand vr nm = \case withFastStore' $ \db -> deletePendingContactConnection db userId chatId pure $ CRContactConnectionDeleted user conn CTGroup | isNothing scope -> do - Group gInfo@GroupInfo {membership} members <- withFastStore $ \db -> getGroup db vr user chatId + gInfo@GroupInfo {membership} <- withFastStore $ \db -> getGroupInfo db vr user chatId let GroupMember {memberRole = membershipMemRole} = membership let isOwner = membershipMemRole == GROwner canDelete = isOwner || not (memberCurrent membership) @@ -1156,8 +1157,8 @@ processChatCommand vr nm = \case filesInfo <- withFastStore' $ \db -> getGroupFileInfo db user gInfo withGroupLock "deleteChat group" chatId $ do deleteCIFiles user filesInfo + (members, recipients) <- getRecipients gInfo let doSendDel = memberActive membership && isOwner - recipients = filter memberCurrentOrPending members when doSendDel . void $ sendGroupMessage' user gInfo recipients XGrpDel deleteGroupLinkIfExists user gInfo deleteMembersConnections' user members doSendDel @@ -1167,6 +1168,14 @@ processChatCommand vr nm = \case withFastStore' $ \db -> deleteGroupMembers db user gInfo withFastStore' $ \db -> deleteGroup db user gInfo pure $ CRGroupDeletedUser user gInfo + where + getRecipients gInfo@GroupInfo {useRelays} + | isTrue useRelays = do + relays <- withFastStore' $ \db -> getGroupRelays db vr user gInfo + pure (relays, relays) + | otherwise = do + ms <- withFastStore' $ \db -> getGroupMembers db vr user gInfo + pure (ms, filter memberCurrentOrPending ms) _ -> throwCmdError "not supported" APIClearChat (ChatRef cType chatId scope) -> withUser $ \user@User {userId} -> case cType of CTDirect -> do @@ -1572,12 +1581,17 @@ processChatCommand vr nm = \case ok user CTGroup | isNothing scope -> do ms <- withFastStore $ \db -> do - Group _ ms <- getGroup db vr user chatId + gInfo <- getGroupInfo db vr user chatId + ms <- liftIO $ getMembers db gInfo liftIO $ updateGroupSettings db user chatId chatSettings pure ms forM_ (filter memberActive ms) $ \m -> forM_ (memberConnId m) $ \connId -> withAgent (\a -> toggleConnectionNtfs a connId $ chatHasNtfs chatSettings) `catchAllErrors` eToView ok user + where + getMembers db gInfo@GroupInfo {useRelays} + | isTrue useRelays = getGroupRelays db vr user gInfo + | otherwise = getGroupMembers db vr user gInfo _ -> throwCmdError "not supported" APISetMemberSettings gId gMemberId settings -> withUser $ \user -> do m <- withFastStore $ \db -> do @@ -2312,6 +2326,7 @@ processChatCommand vr nm = \case pure $ CRMemberSupportChatDeleted user gInfo' m' APIMembersRole groupId memberIds newRole -> withUser $ \user -> withGroupLock "memberRole" groupId $ do + -- TODO [channels fwd] possible optimization is to read only required members + relays g@(Group gInfo members) <- withFastStore $ \db -> getGroup db vr user groupId when (selfSelected gInfo) $ throwCmdError "can't change role for self" let (invitedMems, currentMems, unchangedMems, maxRole, anyAdmin, anyPending) = selectMembers members @@ -2380,6 +2395,7 @@ processChatCommand vr nm = \case pure (m :: GroupMember) {memberRole = newRole} APIBlockMembersForAll groupId memberIds blockFlag -> withUser $ \user -> withGroupLock "blockForAll" groupId $ do + -- TODO [channels fwd] possible optimization is to read only required members + relays Group gInfo members <- withFastStore $ \db -> getGroup db vr user groupId when (selfSelected gInfo) $ throwCmdError "can't block/unblock self" -- TODO [channels fwd] consider sending restriction to all members (remove filtering), as we do in delivery jobs @@ -2427,6 +2443,7 @@ processChatCommand vr nm = \case in NewSndChatItemData msg content ts M.empty Nothing Nothing Nothing APIRemoveMembers {groupId, groupMemberIds, withMessages} -> withUser $ \user -> withGroupLock "removeMembers" groupId $ do + -- TODO [channels fwd] possible optimization is to read only required members + relays Group gInfo members <- withFastStore $ \db -> getGroup db vr user groupId let (count, invitedMems, pendingApprvMems, pendingRvwMems, currentMems, maxRole, anyAdmin) = selectMembers gmIds members gmIds = S.fromList $ L.toList groupMemberIds @@ -2511,11 +2528,11 @@ processChatCommand vr nm = \case | groupFeatureMemberAllowed SGFFullDelete membership gInfo = deleteGroupMembersCIs user gInfo ms membership | otherwise = markGroupMembersCIsDeleted user gInfo ms membership APILeaveGroup groupId -> withUser $ \user@User {userId} -> do - Group gInfo@GroupInfo {membership} members <- withFastStore $ \db -> getGroup db vr user groupId + gInfo@GroupInfo {membership} <- withFastStore $ \db -> getGroupInfo db vr user groupId filesInfo <- withFastStore' $ \db -> getGroupFileInfo db user gInfo withGroupLock "leaveGroup" groupId $ do cancelFilesInProgress user filesInfo - let recipients = filter memberCurrentOrPending members + (members, recipients) <- getRecipients user gInfo msg <- sendGroupMessage' user gInfo recipients XGrpLeave (gInfo', scopeInfo) <- mkLocalGroupChatScope gInfo ci <- saveSndChatItem user (CDGroupSnd gInfo' scopeInfo) msg (CISndGroupEvent SGEUserLeft) @@ -2526,6 +2543,14 @@ processChatCommand vr nm = \case deleteMembersConnections' user members True withFastStore' $ \db -> updateGroupMemberStatus db userId membership GSMemLeft pure $ CRLeftMemberUser user gInfo' {membership = membership {memberStatus = GSMemLeft}} + where + getRecipients user gInfo@GroupInfo {useRelays} + | isTrue useRelays = do + relays <- withFastStore' $ \db -> getGroupRelays db vr user gInfo + pure (relays, relays) + | otherwise = do + ms <- withFastStore' $ \db -> getGroupMembers db vr user gInfo + pure (ms, filter memberCurrentOrPending ms) APIListMembers groupId -> withUser $ \user -> CRGroupMembers user <$> withFastStore (\db -> getGroup db vr user groupId) -- -- validate: prohibit to delete/archive if member is pending (has to communicate approval or rejection) @@ -2573,8 +2598,8 @@ processChatCommand vr nm = \case ct_ <- forM cName_ $ \cName -> withFastStore $ \db -> getContactByName db vr user cName processChatCommand vr nm $ APIListGroups userId (contactId' <$> ct_) search_ APIUpdateGroupProfile groupId p' -> withUser $ \user -> do - g <- withFastStore $ \db -> getGroup db vr user groupId - runUpdateGroupProfile user g p' + gInfo <- withFastStore $ \db -> getGroupInfo db vr user groupId + runUpdateGroupProfile user gInfo p' UpdateGroupNames gName GroupProfile {displayName, fullName, shortDescr} -> updateGroupProfileByName gName $ \p -> p {displayName, fullName, shortDescr} ShowGroupProfile gName -> withUser $ \user -> @@ -2803,7 +2828,8 @@ processChatCommand vr nm = \case pure $ CRSndFileCancelled user (Just aci) ftm fts (Just (ChatRef CTGroup groupId scope), Just aci) -> do (gInfo, sharedMsgId) <- withFastStore $ \db -> (,) <$> getGroupInfo db vr user groupId <*> getSharedMsgIdByFileId db userId fileId - (_chatScopeInfo, recipients) <- getGroupRecipients vr user gInfo scope groupKnockingVersion + chatScopeInfo <- mapM (getChatScopeInfo vr user) scope + recipients <- getGroupRecipients vr user gInfo chatScopeInfo groupKnockingVersion void . sendGroupMessage user gInfo scope recipients $ XFileCancel sharedMsgId pure $ CRSndFileCancelled user (Just aci) ftm fts (Just _, _) -> throwChatError $ CEFileInternal "invalid chat ref for file transfer" @@ -3273,41 +3299,47 @@ processChatCommand vr nm = \case void (sendDirectContactMessage user ct' $ XInfo mergedProfile') `catchAllErrors` eToView lift . when (directOrUsed ct') $ createSndFeatureItems user ct ct' pure $ CRContactPrefsUpdated user ct ct' - runUpdateGroupProfile :: User -> Group -> GroupProfile -> CM ChatResponse - runUpdateGroupProfile user (Group g@GroupInfo {businessChat, groupProfile = p@GroupProfile {displayName = n}} ms) p'@GroupProfile {displayName = n'} = do - assertUserGroupRole g GROwner + runUpdateGroupProfile :: User -> GroupInfo -> GroupProfile -> CM ChatResponse + runUpdateGroupProfile user gInfo@GroupInfo {businessChat, groupProfile = p@GroupProfile {displayName = n}} p'@GroupProfile {displayName = n'} = do + assertUserGroupRole gInfo GROwner when (n /= n') $ checkValidName n' - g' <- withStore $ \db -> updateGroupProfile db user g p' + gInfo' <- withStore $ \db -> updateGroupProfile db user gInfo p' msg <- case businessChat of Just BusinessChatInfo {businessId} -> do + ms <- withStore' $ \db -> getGroupMembers db vr user gInfo' let (newMs, oldMs) = partition (\m -> maxVersion (memberChatVRange m) >= businessChatPrefsVersion) ms -- this is a fallback to send the members with the old version correct profile of the business when preferences change unless (null oldMs) $ do GroupMember {memberProfile = LocalProfile {displayName, fullName, shortDescr, image}} <- - withStore $ \db -> getGroupMemberByMemberId db vr user g businessId + withStore $ \db -> getGroupMemberByMemberId db vr user gInfo' businessId let p'' = p' {displayName, fullName, shortDescr, image} :: GroupProfile recipients = filter memberCurrentOrPending oldMs - void $ sendGroupMessage user g' Nothing recipients (XGrpInfo p'') + void $ sendGroupMessage user gInfo' Nothing recipients (XGrpInfo p'') let ps' = fromMaybe defaultBusinessGroupPrefs $ groupPreferences p' recipients = filter memberCurrentOrPending newMs - sendGroupMessage user g' Nothing recipients $ XGrpPrefs ps' + sendGroupMessage user gInfo' Nothing recipients $ XGrpPrefs ps' Nothing -> do setGroupLinkData' - let recipients = filter memberCurrentOrPending ms - sendGroupMessage user g' Nothing recipients (XGrpInfo p') + recipients <- getRecipients + sendGroupMessage user gInfo' Nothing recipients (XGrpInfo p') where + getRecipients + | isTrue (useRelays gInfo') = withFastStore' $ \db -> getGroupRelays db vr user gInfo' + | otherwise = do + ms <- withFastStore' $ \db -> getGroupMembers db vr user gInfo' + pure $ filter memberCurrentOrPending ms setGroupLinkData' :: CM () setGroupLinkData' = - withFastStore' (\db -> runExceptT $ getGroupLink db user g') >>= \case + withFastStore' (\db -> runExceptT $ getGroupLink db user gInfo') >>= \case Right gLink@GroupLink {shortLinkDataSet} - | shortLinkDataSet -> void $ setGroupLinkData user g' gLink + | shortLinkDataSet -> void $ setGroupLinkData user gInfo' gLink _ -> pure () - let cd = CDGroupSnd g' Nothing + let cd = CDGroupSnd gInfo' Nothing unless (sameGroupProfileInfo p p') $ do ci <- saveSndChatItem user cd msg (CISndGroupEvent $ SGEGroupUpdated p') - toView $ CEvtNewChatItems user [AChatItem SCTGroup SMDSnd (GroupChat g' Nothing) ci] - createGroupFeatureChangedItems user cd CISndGroupFeature g g' - pure $ CRGroupUpdated user g g' Nothing + toView $ CEvtNewChatItems user [AChatItem SCTGroup SMDSnd (GroupChat gInfo' Nothing) ci] + createGroupFeatureChangedItems user cd CISndGroupFeature gInfo gInfo' + pure $ CRGroupUpdated user gInfo gInfo' Nothing setGroupLinkData :: User -> GroupInfo -> GroupLink -> CM ChatResponse setGroupLinkData user gInfo@GroupInfo {groupProfile} gLink@GroupLink {groupLinkId} = do conn <- withFastStore $ \db -> getGroupLinkConnection db vr user gInfo @@ -3367,9 +3399,9 @@ processChatCommand vr nm = \case else markGroupCIsDeleted user gInfo chatScopeInfo items m deletedTs updateGroupProfileByName :: GroupName -> (GroupProfile -> GroupProfile) -> CM ChatResponse updateGroupProfileByName gName update = withUser $ \user -> do - g@(Group GroupInfo {groupProfile = p} _) <- withStore $ \db -> - getGroupIdByName db user gName >>= getGroup db vr user - runUpdateGroupProfile user g $ update p + gInfo@GroupInfo {groupProfile = p} <- withStore $ \db -> + getGroupIdByName db user gName >>= getGroupInfo db vr user + runUpdateGroupProfile user gInfo $ update p withCurrentCall :: ContactId -> (User -> Contact -> Call -> CM (Maybe Call)) -> CM ChatResponse withCurrentCall ctId action = do (user, ct) <- withStore $ \db -> do @@ -3801,7 +3833,8 @@ processChatCommand vr nm = \case sendGroupContentMessages :: User -> GroupInfo -> Maybe GroupChatScope -> Bool -> Maybe Int -> NonEmpty ComposedMessageReq -> CM ChatResponse sendGroupContentMessages user gInfo scope live itemTTL cmrs = do assertMultiSendable live cmrs - (chatScopeInfo, recipients) <- getGroupRecipients vr user gInfo scope modsCompatVersion + chatScopeInfo <- mapM (getChatScopeInfo vr user) scope + recipients <- getGroupRecipients vr user gInfo chatScopeInfo modsCompatVersion sendGroupContentMessages_ user gInfo scope chatScopeInfo recipients live itemTTL cmrs where hasReport = any (\(ComposedMessage {msgContent}, _, _, _) -> isReport msgContent) cmrs @@ -3832,6 +3865,7 @@ processChatCommand vr nm = \case Nothing processComposedMessages :: CM ChatResponse processComposedMessages = do + -- TODO [channels fwd] single description for all recipients (fInvs_, ciFiles_) <- L.unzip <$> setupSndFileTransfers (length recipients) timed_ <- sndGroupCITimed live gInfo itemTTL (chatMsgEvents, quotedItems_) <- L.unzip <$> prepareMsgs (L.zip cmrs fInvs_) timed_ diff --git a/src/Simplex/Chat/Library/Internal.hs b/src/Simplex/Chat/Library/Internal.hs index bbd815f95d..a36e943fd5 100644 --- a/src/Simplex/Chat/Library/Internal.hs +++ b/src/Simplex/Chat/Library/Internal.hs @@ -1365,31 +1365,30 @@ getChatScopeInfo vr user = \case supportMem <- withFastStore $ \db -> getGroupMemberById db vr user gmId pure $ GCSIMemberSupport (Just supportMem) --- TODO [knocking] refactor to GroupChatScope -> "a" function, "a" is some new type? Or possibly split to get scope/get recipients steps -getGroupRecipients :: VersionRangeChat -> User -> GroupInfo -> Maybe GroupChatScope -> VersionChat -> CM (Maybe GroupChatScopeInfo, [GroupMember]) -getGroupRecipients vr user gInfo@GroupInfo {membership} scope modsCompatVersion = case scope of - Nothing -> do - unless (memberCurrent membership && memberActive membership) $ throwChatError $ CECommandError "not current member" - ms <- withFastStore' $ \db -> getGroupMembers db vr user gInfo - let recipients = filter memberCurrent ms - pure (Nothing, recipients) - Just (GCSMemberSupport Nothing) -> do - modMs <- withFastStore' $ \db -> getGroupModerators db vr user gInfo - let rcpModMs' = filter (\m -> compatible m && memberCurrent m) modMs - when (null rcpModMs') $ throwChatError $ CECommandError "no admins support this message" - let scopeInfo = GCSIMemberSupport Nothing - pure (Just scopeInfo, rcpModMs') - Just (GCSMemberSupport (Just gmId)) -> do - unless (memberCurrent membership && memberActive membership) $ throwChatError $ CECommandError "not current member" - supportMem <- withFastStore $ \db -> getGroupMemberById db vr user gmId - unless (memberCurrentOrPending supportMem) $ throwChatError $ CECommandError "support member not current or pending" - let scopeInfo = GCSIMemberSupport (Just supportMem) - if memberStatus supportMem == GSMemPendingApproval - then pure (Just scopeInfo, [supportMem]) - else do +getGroupRecipients :: VersionRangeChat -> User -> GroupInfo -> Maybe GroupChatScopeInfo -> VersionChat -> CM [GroupMember] +getGroupRecipients vr user gInfo@GroupInfo {useRelays, membership} scopeInfo modsCompatVersion + | isTrue useRelays && not (isMemberRelay membership) = do + unless (memberCurrent membership && memberActive membership) $ throwChatError $ CECommandError "not current member" + withFastStore' $ \db -> getGroupRelays db vr user gInfo + | otherwise = case scopeInfo of + Nothing -> do + unless (memberCurrent membership && memberActive membership) $ throwChatError $ CECommandError "not current member" + ms <- withFastStore' $ \db -> getGroupMembers db vr user gInfo + pure $ filter memberCurrent ms + Just (GCSIMemberSupport Nothing) -> do modMs <- withFastStore' $ \db -> getGroupModerators db vr user gInfo let rcpModMs' = filter (\m -> compatible m && memberCurrent m) modMs - pure (Just scopeInfo, [supportMem] <> rcpModMs') + when (null rcpModMs') $ throwChatError $ CECommandError "no admins support this message" + pure rcpModMs' + Just (GCSIMemberSupport (Just supportMem)) -> do + unless (memberCurrent membership && memberActive membership) $ throwChatError $ CECommandError "not current member" + unless (memberCurrentOrPending supportMem) $ throwChatError $ CECommandError "support member not current or pending" + if memberStatus supportMem == GSMemPendingApproval + then pure [supportMem] + else do + modMs <- withFastStore' $ \db -> getGroupModerators db vr user gInfo + let rcpModMs' = filter (\m -> compatible m && memberCurrent m) modMs + pure $ [supportMem] <> rcpModMs' where compatible GroupMember {activeConn, memberChatVRange} = maxVersion (maybe memberChatVRange peerChatVRange activeConn) >= modsCompatVersion @@ -1903,15 +1902,23 @@ sendGroupMessages_ _user gInfo@GroupInfo {groupId} recipientMembers events = do data MemberSendAction = MSASend Connection | MSASendBatched Connection | MSAPending | MSAForwarded --- TODO [channels fwd] review for channels - should only directly send to chat relays, for others - MSAForwarded memberSendAction :: GroupInfo -> NonEmpty (ChatMsgEvent e) -> [GroupMember] -> GroupMember -> Maybe MemberSendAction -memberSendAction gInfo events members m@GroupMember {memberRole, memberStatus} = case memberConn m of - Nothing -> pendingOrForwarded - Just conn@Connection {connStatus} - | connDisabled conn || connStatus == ConnDeleted || memberStatus == GSMemRejected -> Nothing - | connInactive conn -> Just MSAPending - | connStatus == ConnSndReady || connStatus == ConnReady -> sendBatchedOrSeparate conn - | otherwise -> pendingOrForwarded +memberSendAction GroupInfo {useRelays, membership} events members m@GroupMember {memberRole, memberStatus} + -- groups with relays require newer version - we don't need to check member version for batching and forwarding support + | isTrue useRelays = + if + -- if user is chat relay, send to all non chat relay members + | isMemberRelay membership && not (isMemberRelay m) -> MSASendBatched . snd <$> readyMemberConn m + -- if user is not chat relay, send only to chat relays + | not (isMemberRelay membership) && isMemberRelay m -> MSASendBatched . snd <$> readyMemberConn m + | otherwise -> Nothing -- TODO [channels fwd] MSAForwarded to create GSSForwarded snd statuses? + | otherwise = case memberConn m of + Nothing -> pendingOrForwarded + Just conn@Connection {connStatus} + | connDisabled conn || connStatus == ConnDeleted || memberStatus == GSMemRejected -> Nothing + | connInactive conn -> Just MSAPending + | connStatus == ConnSndReady || connStatus == ConnReady -> sendBatchedOrSeparate conn + | otherwise -> pendingOrForwarded where sendBatchedOrSeparate conn -- admin doesn't support batch forwarding - send messages separately so that admin can forward one by one @@ -1922,7 +1929,7 @@ memberSendAction gInfo events members m@GroupMember {memberRole, memberStatus} = GCUserMember -> Nothing -- shouldn't happen GCInviteeMember -> Just MSAPending GCHostMember -> Just MSAPending - GCPreMember -> forwardSupportedOrPending (invitedByGroupMemberId $ membership gInfo) + GCPreMember -> forwardSupportedOrPending (invitedByGroupMemberId membership) GCPostMember -> forwardSupportedOrPending (invitedByGroupMemberId m) where forwardSupportedOrPending invitingMemberId_ @@ -1945,8 +1952,11 @@ memberSendAction gInfo events members m@GroupMember {memberRole, memberStatus} = -- Should match memberSendAction logic readyMemberConn :: GroupMember -> Maybe (GroupMemberId, Connection) -readyMemberConn GroupMember {groupMemberId, activeConn = Just conn@Connection {connStatus}} - | (connStatus == ConnReady || connStatus == ConnSndReady) && not (connDisabled conn) && not (connInactive conn) = +readyMemberConn GroupMember {groupMemberId, activeConn = Just conn@Connection {connStatus}, memberStatus} + | (connStatus == ConnReady || connStatus == ConnSndReady) + && not (connDisabled conn) + && not (connInactive conn) + && memberStatus /= GSMemRejected = Just (groupMemberId, conn) | otherwise = Nothing readyMemberConn GroupMember {activeConn = Nothing} = Nothing @@ -2007,24 +2017,27 @@ saveGroupRcvMsg user groupId authorMember conn@Connection {connId} agentMsgMeta _ -> throwError e pure (am', conn', msg) -saveGroupFwdRcvMsg :: MsgEncodingI e => User -> GroupId -> GroupMember -> GroupMember -> MsgBody -> ChatMessage e -> UTCTime -> CM RcvMessage -saveGroupFwdRcvMsg user groupId forwardingMember refAuthorMember@GroupMember {memberId = refMemberId} msgBody ChatMessage {msgId = sharedMsgId_, chatMsgEvent} brokerTs = do +saveGroupFwdRcvMsg :: MsgEncodingI e => User -> GroupInfo -> GroupMember -> GroupMember -> MsgBody -> ChatMessage e -> UTCTime -> CM (Maybe RcvMessage) +saveGroupFwdRcvMsg user GroupInfo {groupId, useRelays} forwardingMember refAuthorMember@GroupMember {memberId = refMemberId} msgBody ChatMessage {msgId = sharedMsgId_, chatMsgEvent} brokerTs = do let newMsg = NewRcvMessage {chatMsgEvent, msgBody, brokerTs} fwdMemberId = Just $ groupMemberId' forwardingMember refAuthorId = Just $ groupMemberId' refAuthorMember - -- TODO [channels fwd] recipient should deduplicate its own messages if they are forwarded back - -- TODO - it can happen when chat relay forwards a batch of messages of different senders - withStore (\db -> createNewRcvMessage db (GroupId groupId) newMsg sharedMsgId_ refAuthorId fwdMemberId) - `catchAllErrors` \e -> case e of - ChatErrorStore (SEDuplicateGroupMessage _ _ (Just authorGroupMemberId) Nothing) -> do - vr <- chatVersionRange - am@GroupMember {memberId = amMemberId} <- withStore $ \db -> getGroupMember db vr user groupId authorGroupMemberId - if sameMemberId refMemberId am - then forM_ (memberConn forwardingMember) $ \fmConn -> - void $ sendDirectMemberMessage fmConn (XGrpMemCon amMemberId) groupId - else toView $ CEvtMessageError user "error" "saveGroupFwdRcvMsg: referenced author member id doesn't match message member id" - throwError e - _ -> throwError e + -- TODO [channels fwd] TBC highlighting difference between deduplicated messages (useRelays branch) + withStore' (\db -> runExceptT $ createNewRcvMessage db (GroupId groupId) newMsg sharedMsgId_ refAuthorId fwdMemberId) >>= \case + Right msg -> pure $ Just msg + Left e@SEDuplicateGroupMessage {authorGroupMemberId, forwardedByGroupMemberId} + | isTrue useRelays -> pure Nothing -- with chat relays, duplicates are expected + | otherwise -> case (authorGroupMemberId, forwardedByGroupMemberId) of + (Just authorGMId, Nothing) -> do + vr <- chatVersionRange + am@GroupMember {memberId = amMemberId} <- withStore $ \db -> getGroupMember db vr user groupId authorGMId + if sameMemberId refMemberId am + then forM_ (memberConn forwardingMember) $ \fmConn -> + void $ sendDirectMemberMessage fmConn (XGrpMemCon amMemberId) groupId + else toView $ CEvtMessageError user "error" "saveGroupFwdRcvMsg: referenced author member id doesn't match message member id" + throwError $ ChatErrorStore e + _ -> throwError $ ChatErrorStore e + Left e -> throwError $ ChatErrorStore e saveSndChatItem :: ChatTypeI c => User -> ChatDirection c 'MDSnd -> SndMessage -> CIContent 'MDSnd -> CM (ChatItem c 'MDSnd) saveSndChatItem user cd msg content = saveSndChatItem' user cd msg content Nothing Nothing Nothing Nothing False diff --git a/src/Simplex/Chat/Library/Subscriber.hs b/src/Simplex/Chat/Library/Subscriber.hs index 5d29253f88..fd2e41be07 100644 --- a/src/Simplex/Chat/Library/Subscriber.hs +++ b/src/Simplex/Chat/Library/Subscriber.hs @@ -220,7 +220,8 @@ processAgentMsgSndFile _corrId aFileId msg = do Nothing -> eToView $ ChatError $ CEInternalError "SFDONE, sendFileDescriptions: expected at least 1 result" lift $ withAgent' (`xftpDeleteSndFileInternal` aFileId) (_, _, SMDSnd, GroupChat g@GroupInfo {groupId} _scope) -> do - ms <- withStore' $ \db -> getGroupMembers db vr user g + -- TODO [channels fwd] single description for all recipients + ms <- getRecipients let rfdsMemberFTs = zipWith (\rfd (conn, sft) -> (conn, sft, fileDescrText rfd)) rfds (memberFTs ms) extraRFDs = drop (length rfdsMemberFTs) rfds withStore' $ \db -> createExtraSndFTDescrs db user fileId (map fileDescrText extraRFDs) @@ -232,6 +233,9 @@ processAgentMsgSndFile _corrId aFileId msg = do lift $ withAgent' (`xftpDeleteSndFileInternal` aFileId) toView $ CEvtSndFileCompleteXFTP user ci' ft where + getRecipients + | isTrue (useRelays g) = withStore' $ \db -> getGroupRelays db vr user g + | otherwise = withStore' $ \db -> getGroupMembers db vr user g memberFTs :: [GroupMember] -> [(Connection, SndFileTransfer)] memberFTs ms = M.elems $ M.intersectionWith (,) (M.fromList mConns') (M.fromList sfts') where @@ -2819,9 +2823,11 @@ processAgentMessageConn vr user@User {userId} corrId agentConnId agentMessage = event = XGrpMsgForward memberId memberName chatMsg brokerTs sendGroupMemberMessage gInfo member event Nothing (pure ()) + -- TODO [channels fwd] base on differentiation between groups and channels isUserGrpFwdRelay :: GroupInfo -> Bool - isUserGrpFwdRelay GroupInfo {membership = GroupMember {memberRole}} = - memberRole >= GRAdmin + isUserGrpFwdRelay GroupInfo {useRelays, membership = membership@GroupMember {memberRole}} + | isTrue useRelays = isMemberRelay membership + | otherwise = memberRole >= GRAdmin xGrpLeave :: GroupInfo -> GroupMember -> RcvMessage -> UTCTime -> CM (Maybe DeliveryJobScope) xGrpLeave gInfo m msg brokerTs = do @@ -2970,7 +2976,7 @@ processAgentMessageConn vr user@User {userId} corrId agentConnId agentMessage = createInternalChatItem user (CDDirectRcv ct) (CIRcvConnEvent RCEVerificationCodeReset) Nothing xGrpMsgForward :: GroupInfo -> GroupMember -> MemberId -> Maybe ContactName -> ChatMessage 'Json -> UTCTime -> UTCTime -> CM () - xGrpMsgForward gInfo@GroupInfo {groupId} m@GroupMember {memberRole, localDisplayName} memberId memberName chatMsg msgTs brokerTs = do + xGrpMsgForward gInfo m@GroupMember {memberRole, localDisplayName} memberId memberName chatMsg msgTs brokerTs = do when (memberRole < GRAdmin) $ throwChatError (CEGroupContactRole localDisplayName) withStore' (\db -> runExceptT $ getGroupMemberByMemberId db vr user gInfo memberId) >>= \case Right author -> processForwardedMsg author @@ -2984,8 +2990,8 @@ processAgentMessageConn vr user@User {userId} corrId agentConnId agentMessage = processForwardedMsg :: GroupMember -> CM () processForwardedMsg author = do let body = chatMsgToBody chatMsg - rcvMsg@RcvMessage {chatMsgEvent = ACME _ event} <- saveGroupFwdRcvMsg user groupId m author body chatMsg brokerTs - case event of + rcvMsg_ <- saveGroupFwdRcvMsg user gInfo m author body chatMsg brokerTs + forM_ rcvMsg_ $ \rcvMsg@RcvMessage {chatMsgEvent = ACME _ event} -> case event of XMsgNew mc -> void $ memberCanSend author scope $ (const Nothing) <$> newGroupContentMessage gInfo author mc rcvMsg msgTs True where ExtMsgContent {scope} = mcExtMsgContent mc -- file description is always allowed, to allow sending files to support scope @@ -3096,8 +3102,12 @@ deleteGroupConnections :: User -> GroupInfo -> Bool -> CM () deleteGroupConnections user gInfo waitDelivery = do vr <- chatVersionRange -- member records are not deleted to keep history - members <- withStore' $ \db -> getGroupMembers db vr user gInfo + members <- getMembers vr deleteMembersConnections' user members waitDelivery + where + getMembers vr + | isTrue (useRelays gInfo) = withStore' $ \db -> getGroupRelays db vr user gInfo + | otherwise = withStore' $ \db -> getGroupMembers db vr user gInfo startDeliveryTaskWorkers :: CM () startDeliveryTaskWorkers = do @@ -3116,6 +3126,7 @@ getDeliveryTaskWorker hasWork deliveryKey = do runDeliveryTaskWorker :: AgentClient -> DeliveryWorkerKey -> Worker -> CM () runDeliveryTaskWorker a deliveryKey Worker {doWork} = do + delay <- asks $ deliveryWorkerDelay . config vr <- chatVersionRange -- TODO [channels fwd] in future may be required to read groupInfo and user on each iteration for up to date state -- TODO - same for delivery jobs (runDeliveryJobWorker) @@ -3123,6 +3134,7 @@ runDeliveryTaskWorker a deliveryKey Worker {doWork} = do user <- getUserByGroupId db groupId getGroupInfo db vr user groupId forever $ do + unless (delay == 0) $ liftIO $ threadDelay' delay lift $ waitForWork doWork runDeliveryTaskOperation vr gInfo where @@ -3181,12 +3193,14 @@ getDeliveryJobWorker hasWork deliveryKey = do runDeliveryJobWorker :: AgentClient -> DeliveryWorkerKey -> Worker -> CM () runDeliveryJobWorker a deliveryKey Worker {doWork} = do + delay <- asks $ deliveryWorkerDelay . config vr <- chatVersionRange (user, gInfo) <- withStore $ \db -> do user <- getUserByGroupId db groupId gInfo <- getGroupInfo db vr user groupId pure (user, gInfo) forever $ do + unless (delay == 0) $ liftIO $ threadDelay' delay lift $ waitForWork doWork runDeliveryJobOperation vr user gInfo where @@ -3219,16 +3233,18 @@ runDeliveryJobWorker a deliveryKey Worker {doWork} = do | isTrue (useRelays gInfo) = -- channel case jobScope of -- there's no member review in channels, so job spec includePending is ignored - DJSGroup {} -> sendLoop startingCursor + DJSGroup {} -> do + bucketSize <- asks $ deliveryBucketSize . config + sendLoop bucketSize startingCursor where - dbBatchSize = 1000 -- TODO [channels fwd] review, make configurable - sendLoop :: Maybe GroupMemberId -> CM () - sendLoop cursorGMId_ = do - mems <- withStore' $ \db -> getGroupMembersByCursor db vr user gInfo cursorGMId_ singleSenderGMId_ dbBatchSize - let cursorGMId_' = groupMemberId' $ last mems - unless (null mems) $ deliver body mems - withStore' $ \db -> updateDeliveryJobCursor db jobId cursorGMId_' - unless (length mems < dbBatchSize) $ sendLoop (Just cursorGMId_') + sendLoop :: Int -> Maybe GroupMemberId -> CM () + sendLoop bucketSize cursorGMId_ = do + mems <- withStore' $ \db -> getGroupMembersByCursor db vr user gInfo cursorGMId_ singleSenderGMId_ bucketSize + unless (null mems) $ do + deliver body mems + let cursorGMId' = groupMemberId' $ last mems + withStore' $ \db -> updateDeliveryJobCursor db jobId cursorGMId' + unless (length mems < bucketSize) $ sendLoop bucketSize (Just cursorGMId') DJSMemberSupport scopeGMId -> do -- for member support scope we just load all recipients in one go, without cursor modMs <- withStore' $ \db -> getGroupModerators db vr user gInfo diff --git a/src/Simplex/Chat/Store/Delivery.hs b/src/Simplex/Chat/Store/Delivery.hs index 4779572679..30fffac0e7 100644 --- a/src/Simplex/Chat/Store/Delivery.hs +++ b/src/Simplex/Chat/Store/Delivery.hs @@ -5,6 +5,7 @@ {-# LANGUAGE NamedFieldPuns #-} {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE QuasiQuotes #-} +{-# LANGUAGE ScopedTypeVariables #-} {-# LANGUAGE TypeOperators #-} module Simplex.Chat.Store.Delivery @@ -28,15 +29,12 @@ module Simplex.Chat.Store.Delivery ) where -import Control.Monad.Except import Data.ByteString.Char8 (ByteString) -import Data.Either (rights) import Data.Int (Int64) import Data.Text (Text) import Data.Time.Clock (UTCTime, getCurrentTime) import Simplex.Chat.Delivery import Simplex.Chat.Protocol hiding (Binary) -import Simplex.Chat.Store.Groups (getGroupMemberById) import Simplex.Chat.Store.Shared import Simplex.Chat.Types import Simplex.Messaging.Agent.Store.AgentStore (getWorkItem, getWorkItems, maybeFirstRow) @@ -44,11 +42,14 @@ import Simplex.Messaging.Agent.Store.DB (Binary (..), BoolInt (..)) import qualified Simplex.Messaging.Agent.Store.DB as DB import Simplex.Messaging.Util (firstRow') #if defined(dbPostgres) -import Database.PostgreSQL.Simple (Only (..), (:.) (..)) +import Database.PostgreSQL.Simple (In (..), Only (..), (:.) (..)) import Database.PostgreSQL.Simple.SqlQQ (sql) #else +import Control.Monad.Except +import Data.Either (rights) import Database.SQLite.Simple (Only (..), (:.) (..)) import Database.SQLite.Simple.QQ (sql) +import Simplex.Chat.Store.Groups (getGroupMemberById) #endif type DeliveryJobScopeRow = (DeliveryWorkerScope, Maybe DeliveryJobSpecTag, Maybe BoolInt, Maybe GroupMemberId) @@ -180,7 +181,7 @@ getNextDeliveryTasks db gInfo task = AND task_status = ? ORDER BY delivery_task_id ASC |] - ((Only groupId) :. jobScopeRow_ jobScope :. (Only DTSNew)) + ((Only groupId) :. jobScopeRow_ jobScope :. (Only DTSNew)) | otherwise = -- For fully connected groups we guarantee a singleSenderGMId for a delivery job by additionally filtering -- on sender_group_member_id here, so that the job can then retrieve less members as recipients, @@ -202,7 +203,7 @@ getNextDeliveryTasks db gInfo task = AND task_status = ? ORDER BY delivery_task_id ASC |] - ((Only groupId) :. jobScopeRow_ jobScope :. (senderGMId, DTSNew)) + ((Only groupId) :. jobScopeRow_ jobScope :. (senderGMId, DTSNew)) updateDeliveryTaskStatus :: DB.Connection -> Int64 -> DeliveryTaskStatus -> IO () updateDeliveryTaskStatus db taskId status = updateDeliveryTaskStatus_ db taskId status Nothing @@ -317,26 +318,39 @@ updateDeliveryJobStatus_ db jobId status errReason_ = do -- TODO [channels fwd] possible improvement is to prioritize owners and "active" members getGroupMembersByCursor :: DB.Connection -> VersionRangeChat -> User -> GroupInfo -> Maybe GroupMemberId -> Maybe GroupMemberId -> Int -> IO [GroupMember] -getGroupMembersByCursor db vr user GroupInfo {groupId} cursorGMId_ singleSenderGMId_ count = do - memberIds <- +getGroupMembersByCursor db vr user@User {userContactId} GroupInfo {groupId} cursorGMId_ singleSenderGMId_ count = do + gmIds :: [Int64] <- map fromOnly <$> case cursorGMId_ of Nothing -> DB.query db (query <> orderLimit) - (groupId, singleSenderGMId_, GSMemIntroduced, GSMemIntroInvited, GSMemAccepted, GSMemAnnounced, GSMemConnected, GSMemComplete, count) + ( (groupId, userContactId, singleSenderGMId_, GSMemIntroduced, GSMemIntroInvited, GSMemAccepted, GSMemAnnounced, GSMemConnected, GSMemComplete) + :. (Only count) + ) Just cursorGMId -> DB.query db (query <> " AND group_member_id > ?" <> orderLimit) - (groupId, singleSenderGMId_, GSMemIntroduced, GSMemIntroInvited, GSMemAccepted, GSMemAnnounced, GSMemConnected, GSMemComplete, cursorGMId, count) - rights <$> mapM (runExceptT . getGroupMemberById db vr user) memberIds + ( (groupId, userContactId, singleSenderGMId_, GSMemIntroduced, GSMemIntroInvited, GSMemAccepted, GSMemAnnounced, GSMemConnected, GSMemComplete) + :. (cursorGMId, count) + ) +#if defined(dbPostgres) + map (toContactMember vr user) <$> + DB.query + db + (groupMemberQuery <> " WHERE m.group_member_id IN ?") + (Only (In gmIds)) +#else + rights <$> mapM (runExceptT . getGroupMemberById db vr user) gmIds +#endif where query = [sql| SELECT group_member_id FROM group_members WHERE group_id = ? + AND contact_id IS DISTINCT FROM ? AND group_member_id IS DISTINCT FROM ? AND member_status IN (?,?,?,?,?,?) |] diff --git a/src/Simplex/Chat/Store/Groups.hs b/src/Simplex/Chat/Store/Groups.hs index 1fc773738a..59c35b4cdb 100644 --- a/src/Simplex/Chat/Store/Groups.hs +++ b/src/Simplex/Chat/Store/Groups.hs @@ -63,6 +63,7 @@ module Simplex.Chat.Store.Groups getScopeMemberIdViaMemberId, getGroupMembers, getGroupModerators, + getGroupRelays, getGroupMembersForExpiration, getGroupCurrentMembersCount, deleteGroupChatItems, @@ -914,23 +915,6 @@ getGroupInfoByName db vr user gName = do gId <- getGroupIdByName db user gName getGroupInfo db vr user gId -groupMemberQuery :: Query -groupMemberQuery = - [sql| - SELECT - m.group_member_id, m.group_id, m.member_id, m.peer_chat_min_version, m.peer_chat_max_version, m.member_role, m.member_category, m.member_status, m.show_messages, m.member_restriction, - m.invited_by, m.invited_by_group_member_id, m.local_display_name, m.contact_id, m.contact_profile_id, p.contact_profile_id, p.display_name, p.full_name, p.short_descr, p.image, p.contact_link, p.chat_peer_type, p.local_alias, p.preferences, - m.created_at, m.updated_at, - m.support_chat_ts, m.support_chat_items_unread, m.support_chat_items_member_attention, m.support_chat_items_mentions, m.support_chat_last_msg_from_member_ts, - c.connection_id, c.agent_conn_id, c.conn_level, c.via_contact, c.via_user_contact_link, c.via_group_link, c.group_link_id, c.xcontact_id, c.custom_user_profile_id, - c.conn_status, c.conn_type, c.contact_conn_initiated, c.local_alias, c.contact_id, c.group_member_id, c.user_contact_link_id, - c.created_at, c.security_code, c.security_code_verified_at, c.pq_support, c.pq_encryption, c.pq_snd_enabled, c.pq_rcv_enabled, c.auth_err_counter, c.quota_err_counter, - c.conn_chat_version, c.peer_chat_min_version, c.peer_chat_max_version - FROM group_members m - JOIN contact_profiles p ON p.contact_profile_id = COALESCE(m.member_profile_id, m.contact_profile_id) - LEFT JOIN connections c ON c.group_member_id = m.group_member_id - |] - getGroupMember :: DB.Connection -> VersionRangeChat -> User -> GroupId -> GroupMemberId -> ExceptT StoreError IO GroupMember getGroupMember db vr user@User {userId} groupId groupMemberId = ExceptT . firstRow (toContactMember vr user) (SEGroupMemberNotFound groupMemberId) $ @@ -1026,6 +1010,15 @@ getGroupModerators db vr user@User {userId, userContactId} GroupInfo {groupId} = (groupMemberQuery <> " WHERE m.user_id = ? AND m.group_id = ? AND (m.contact_id IS NULL OR m.contact_id != ?) AND m.member_role IN (?,?,?)") (userId, groupId, userContactId, GRModerator, GRAdmin, GROwner) +-- TODO [channels fwd] retrieve relays based on knowledge about member from protocol, not role (isMemberRelay) +getGroupRelays :: DB.Connection -> VersionRangeChat -> User -> GroupInfo -> IO [GroupMember] +getGroupRelays db vr user@User {userId, userContactId} GroupInfo {groupId} = do + map (toContactMember vr user) + <$> DB.query + db + (groupMemberQuery <> " WHERE m.user_id = ? AND m.group_id = ? AND m.contact_id IS DISTINCT FROM ? AND m.member_role = ?") + (userId, groupId, userContactId, GRAdmin) + getGroupMembersForExpiration :: DB.Connection -> VersionRangeChat -> User -> GroupInfo -> IO [GroupMember] getGroupMembersForExpiration db vr user@User {userId, userContactId} GroupInfo {groupId} = do map (toContactMember vr user) @@ -1042,10 +1035,6 @@ getGroupMembersForExpiration db vr user@User {userId, userContactId} GroupInfo { ) (groupId, userId, userContactId, GSMemRemoved, GSMemLeft, GSMemGroupDeleted, GSMemUnknown) -toContactMember :: VersionRangeChat -> User -> (GroupMemberRow :. MaybeConnectionRow) -> GroupMember -toContactMember vr User {userContactId} (memberRow :. connRow) = - (toGroupMember userContactId memberRow) {activeConn = toMaybeConnection vr connRow} - getGroupCurrentMembersCount :: DB.Connection -> User -> GroupInfo -> IO Int getGroupCurrentMembersCount db User {userId} GroupInfo {groupId} = do statuses :: [GroupMemberStatus] <- diff --git a/src/Simplex/Chat/Store/SQLite/Migrations/agent_query_plans.txt b/src/Simplex/Chat/Store/SQLite/Migrations/agent_query_plans.txt index 7dd1835739..418ff56f48 100644 --- a/src/Simplex/Chat/Store/SQLite/Migrations/agent_query_plans.txt +++ b/src/Simplex/Chat/Store/SQLite/Migrations/agent_query_plans.txt @@ -953,10 +953,6 @@ Plan: Query: INSERT INTO xftp_servers (xftp_host, xftp_port, xftp_key_hash) VALUES (?,?,?) Plan: -Query: SELECT 1 FROM connections WHERE conn_id = ? AND deleted_at_wait_delivery < ? LIMIT 1 -Plan: -SEARCH connections USING PRIMARY KEY (conn_id=?) - Query: SELECT 1 FROM encrypted_rcv_message_hashes WHERE conn_id = ? AND hash = ? LIMIT 1 Plan: SEARCH encrypted_rcv_message_hashes USING COVERING INDEX idx_encrypted_rcv_message_hashes_hash (conn_id=? AND hash=?) diff --git a/src/Simplex/Chat/Store/Shared.hs b/src/Simplex/Chat/Store/Shared.hs index 7475165533..243db84da7 100644 --- a/src/Simplex/Chat/Store/Shared.hs +++ b/src/Simplex/Chat/Store/Shared.hs @@ -698,6 +698,27 @@ toGroupMember userContactId ((groupMemberId, groupId, memberId, minVer, maxVer, _ -> Nothing in GroupMember {..} +groupMemberQuery :: Query +groupMemberQuery = + [sql| + SELECT + m.group_member_id, m.group_id, m.member_id, m.peer_chat_min_version, m.peer_chat_max_version, m.member_role, m.member_category, m.member_status, m.show_messages, m.member_restriction, + m.invited_by, m.invited_by_group_member_id, m.local_display_name, m.contact_id, m.contact_profile_id, p.contact_profile_id, p.display_name, p.full_name, p.short_descr, p.image, p.contact_link, p.chat_peer_type, p.local_alias, p.preferences, + m.created_at, m.updated_at, + m.support_chat_ts, m.support_chat_items_unread, m.support_chat_items_member_attention, m.support_chat_items_mentions, m.support_chat_last_msg_from_member_ts, + c.connection_id, c.agent_conn_id, c.conn_level, c.via_contact, c.via_user_contact_link, c.via_group_link, c.group_link_id, c.xcontact_id, c.custom_user_profile_id, + c.conn_status, c.conn_type, c.contact_conn_initiated, c.local_alias, c.contact_id, c.group_member_id, c.user_contact_link_id, + c.created_at, c.security_code, c.security_code_verified_at, c.pq_support, c.pq_encryption, c.pq_snd_enabled, c.pq_rcv_enabled, c.auth_err_counter, c.quota_err_counter, + c.conn_chat_version, c.peer_chat_min_version, c.peer_chat_max_version + FROM group_members m + JOIN contact_profiles p ON p.contact_profile_id = COALESCE(m.member_profile_id, m.contact_profile_id) + LEFT JOIN connections c ON c.group_member_id = m.group_member_id + |] + +toContactMember :: VersionRangeChat -> User -> (GroupMemberRow :. MaybeConnectionRow) -> GroupMember +toContactMember vr User {userContactId} (memberRow :. connRow) = + (toGroupMember userContactId memberRow) {activeConn = toMaybeConnection vr connRow} + rowToLocalProfile :: ProfileRow -> LocalProfile rowToLocalProfile (profileId, displayName, fullName, shortDescr, image, contactLink, peerType, localAlias, preferences) = LocalProfile {profileId, displayName, fullName, shortDescr, image, contactLink, peerType, localAlias, preferences} diff --git a/src/Simplex/Chat/Types.hs b/src/Simplex/Chat/Types.hs index 2cc67d1ff8..bdcf3f0bfb 100644 --- a/src/Simplex/Chat/Types.hs +++ b/src/Simplex/Chat/Types.hs @@ -987,6 +987,11 @@ groupMemberRef :: GroupMember -> GroupMemberRef groupMemberRef GroupMember {groupMemberId, memberProfile = p} = GroupMemberRef {groupMemberId, profile = fromLocalProfile p} +-- TODO [channels fwd] knowledge whether member is a relay should come from protocol, not implicitly via role +-- TODO - in channels members should directly connect only to relays +isMemberRelay :: GroupMember -> Bool +isMemberRelay GroupMember {memberRole} = memberRole == GRAdmin + memberConn :: GroupMember -> Maybe Connection memberConn GroupMember {activeConn} = activeConn diff --git a/tests/ChatTests/Groups.hs b/tests/ChatTests/Groups.hs index 19187d7c30..fed228fe74 100644 --- a/tests/ChatTests/Groups.hs +++ b/tests/ChatTests/Groups.hs @@ -1,5 +1,6 @@ {-# LANGUAGE CPP #-} {-# LANGUAGE DuplicateRecordFields #-} +{-# LANGUAGE NamedFieldPuns #-} {-# LANGUAGE NumericUnderscores #-} {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE PostfixOperators #-} @@ -33,6 +34,7 @@ import Simplex.Chat.Types.Shared (GroupMemberRole (..), GroupAcceptance (..)) import Simplex.Messaging.Agent.Env.SQLite import Simplex.Messaging.Agent.RetryInterval import qualified Simplex.Messaging.Agent.Store.DB as DB +import Simplex.Messaging.Encoding.String import Simplex.Messaging.Server.Env.STM hiding (subscriptions) import Simplex.Messaging.Transport import Simplex.Messaging.Version @@ -222,6 +224,19 @@ chatGroupTests = do it "should correctly maintain unread stats for support chats on reading chat items" testScopedSupportUnreadStatsOnRead it "should correctly maintain unread stats for support chats on deleting chat items" testScopedSupportUnreadStatsOnDelete it "should correct member attention stat for support chat on opening it" testScopedSupportUnreadStatsCorrectOnOpen + -- TODO [channels fwd] enable tests (requires communicating useRelays to members) + -- TODO [channels fwd] add tests for channels + -- TODO - tests with multiple relays (all relays should deliver messages, members should deduplicate) + -- TODO - tests with delivery loop over members restored after restart + -- TODO - delivery in support scopes inside channels + xdescribe "channels" $ do + describe "relay delivery" $ do + it "should deliver messages to members" testChannelsRelayDeliver + describe "should deliver messages in a loop over members" $ do + it "number of recipients is multiple of bucket size (3/1)" (testChannelsRelayDeliverLoop 1) + it "number of recipients is NOT multiple of bucket size (3/2)" (testChannelsRelayDeliverLoop 2) + it "number of recipients is equal to bucket size (3/3)" (testChannelsRelayDeliverLoop 3) + it "sender should deduplicate their own messages" testChannelsSenderDeduplicateOwn testGroupCheckMessages :: HasCallStack => TestParams -> IO () testGroupCheckMessages = @@ -8146,3 +8161,163 @@ testScopedSupportUnreadStatsCorrectOnOpen = testOpts { markRead = False } + +testChannelsRelayDeliver :: HasCallStack => TestParams -> IO () +testChannelsRelayDeliver = + testChat5 aliceProfile bobProfile cathProfile danProfile eveProfile $ \alice bob cath dan eve -> do + createChannel5 alice bob cath dan eve GRObserver + + alice #> "#team hi" + bob <# "#team alice> hi" + [cath, dan, eve] *<# "#team alice> hi [>>]" + + cath ##> "+1 #team hi" + cath <## "added 👍" + bob <# "#team cath> > alice hi" + bob <## " + 👍" + alice <# "#team cath> > alice hi" + alice <## " + 👍" + dan <# "#team cath> > alice hi" + dan <## " + 👍" + eve <# "#team cath> > alice hi" + eve <## " + 👍" + +-- TODO [channels fwd] correctly setup channel with relay forwarding +-- TODO - alice to create group as channel +-- TODO - add bob as relay +-- TODO - alice to manage group link, but members to connect to relay (bob) +createChannel5 :: TestCC -> TestCC -> TestCC -> TestCC -> TestCC -> GroupMemberRole -> IO () +createChannel5 alice bob cath dan eve mRole = do + createGroup2 "team" alice bob + bob ##> ("/create link #team " <> B.unpack (strEncode mRole)) + gLink <- getGroupLink bob "team" mRole True + cath ##> ("/c " <> gLink) + cath <## "connection request sent!" + bob <## "cath (Catherine): accepting request to join group #team..." + concurrentlyN_ + [ bob <## "#team: cath joined the group", + do + cath <## "#team: joining the group..." + cath <## "#team: you joined the group" + cath <## "#team: member alice (Alice) is connected", + do + alice <## "#team: bob added cath (Catherine) to the group (connecting...)" + alice <## "#team: new member cath is connected" + ] + dan ##> ("/c " <> gLink) + dan <## "connection request sent!" + bob <## "dan (Daniel): accepting request to join group #team..." + concurrentlyN_ + [ bob <## "#team: dan joined the group", + do + dan <## "#team: joining the group..." + dan <## "#team: you joined the group" + dan <## "#team: member alice (Alice) is connected" + dan <## "#team: member cath (Catherine) is connected", + do + alice <## "#team: bob added dan (Daniel) to the group (connecting...)" + alice <## "#team: new member dan is connected", + do + cath <## "#team: bob added dan (Daniel) to the group (connecting...)" + cath <## "#team: new member dan is connected" + ] + eve ##> ("/c " <> gLink) + eve <## "connection request sent!" + bob <## "eve (Eve): accepting request to join group #team..." + concurrentlyN_ + [ bob <## "#team: eve joined the group", + eve + <### [ "#team: joining the group...", + "#team: you joined the group", + "#team: member alice (Alice) is connected", + "#team: member cath (Catherine) is connected", + "#team: member dan (Daniel) is connected" + ], + do + alice <## "#team: bob added eve (Eve) to the group (connecting...)" + alice <## "#team: new member eve is connected", + do + cath <## "#team: bob added eve (Eve) to the group (connecting...)" + cath <## "#team: new member eve is connected", + do + dan <## "#team: bob added eve (Eve) to the group (connecting...)" + dan <## "#team: new member eve is connected" + ] + +testChannelsRelayDeliverLoop :: HasCallStack => Int -> TestParams -> IO () +testChannelsRelayDeliverLoop deliveryBucketSize = + testChatCfg5 cfg aliceProfile bobProfile cathProfile danProfile eveProfile $ \alice bob cath dan eve -> do + createChannel5 alice bob cath dan eve GRObserver + + alice #> "#team hi" + bob <# "#team alice> hi" + [cath, dan, eve] *<# "#team alice> hi [>>]" + + cath ##> "+1 #team hi" + cath <## "added 👍" + bob <# "#team cath> > alice hi" + bob <## " + 👍" + alice <# "#team cath> > alice hi" + alice <## " + 👍" + dan <# "#team cath> > alice hi" + dan <## " + 👍" + eve <# "#team cath> > alice hi" + eve <## " + 👍" + where + cfg = testCfg {deliveryBucketSize} + +testChannelsSenderDeduplicateOwn :: HasCallStack => TestParams -> IO () +testChannelsSenderDeduplicateOwn ps = do + withNewTestChat ps "alice" aliceProfile $ \alice -> + withNewTestChat ps "cath" cathProfile $ \cath -> + withNewTestChat ps "dan" danProfile $ \dan -> + withNewTestChat ps "eve" eveProfile $ \eve -> do + withNewTestChatCfg ps cfg "bob" bobProfile $ \bob -> + createChannel5 alice bob cath dan eve GRMember + + -- chat relay bob is offline + alice #> "#team 1" + alice #> "#team 2" + alice #> "#team 3" + cath #> "#team 4" + cath #> "#team 5" + dan #> "#team 6" + + withTestChatCfg ps cfg "bob" $ \bob -> do + bob <## "6 connections subscribed" + bob + <### [ WithTime "#team alice> 1", + WithTime "#team alice> 2", + WithTime "#team alice> 3", + WithTime "#team cath> 4", + WithTime "#team cath> 5", + WithTime "#team dan> 6" + ] + alice + <### [ WithTime "#team cath> 4 [>>]", + WithTime "#team cath> 5 [>>]", + WithTime "#team dan> 6 [>>]" + ] + cath + <### [ WithTime "#team alice> 1 [>>]", + WithTime "#team alice> 2 [>>]", + WithTime "#team alice> 3 [>>]", + WithTime "#team dan> 6 [>>]" + ] + dan + <### [ WithTime "#team alice> 1 [>>]", + WithTime "#team alice> 2 [>>]", + WithTime "#team alice> 3 [>>]", + WithTime "#team cath> 4 [>>]", + WithTime "#team cath> 5 [>>]" + ] + eve + <### [ WithTime "#team alice> 1 [>>]", + WithTime "#team alice> 2 [>>]", + WithTime "#team alice> 3 [>>]", + WithTime "#team cath> 4 [>>]", + WithTime "#team cath> 5 [>>]", + WithTime "#team dan> 6 [>>]" + ] + where + cfg = testCfg {deliveryWorkerDelay = 250000} From 8497d4ff483341a4c710ad015701ec94d09f0d44 Mon Sep 17 00:00:00 2001 From: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com> Date: Fri, 3 Oct 2025 11:05:30 +0000 Subject: [PATCH 02/38] core: update group short link data on receiving x.grp.info (#6328) --- src/Simplex/Chat/Library/Commands.hs | 51 ++-------------------- src/Simplex/Chat/Library/Internal.hs | 58 +++++++++++++++++++++++++- src/Simplex/Chat/Library/Subscriber.hs | 4 +- tests/ChatTests/Profiles.hs | 39 +++++++++++++++++ 4 files changed, 102 insertions(+), 50 deletions(-) diff --git a/src/Simplex/Chat/Library/Commands.hs b/src/Simplex/Chat/Library/Commands.hs index 47a4546698..47c4dbe46d 100644 --- a/src/Simplex/Chat/Library/Commands.hs +++ b/src/Simplex/Chat/Library/Commands.hs @@ -17,7 +17,6 @@ module Simplex.Chat.Library.Commands where -import qualified Codec.Compression.Zstd as Z1 import Control.Applicative (optional, (<|>)) import Control.Concurrent.STM (retry) import Control.Logger.Simple @@ -97,7 +96,6 @@ import Simplex.Messaging.Agent.Store.Shared (upMigration) import qualified Simplex.Messaging.Agent.Store.DB as DB import Simplex.Messaging.Agent.Store.Interface (getCurrentMigrations) import Simplex.Messaging.Client (NetworkConfig (..), NetworkRequestMode (..), NetworkTimeout (..), SMPWebPortServers (..), SocksMode (SMAlways), textToHostMode) -import Simplex.Messaging.Compression (compressionLevel) import qualified Simplex.Messaging.Crypto as C import Simplex.Messaging.Crypto.File (CryptoFile (..), CryptoFileArgs (..)) import qualified Simplex.Messaging.Crypto.File as CF @@ -2645,7 +2643,8 @@ processChatCommand vr nm = \case gInfo <- getGroupInfo db vr user groupId gLink <- getGroupLink db user gInfo pure (gInfo, gLink) - setGroupLinkData user gInfo gLink + gLink' <- setGroupLinkData nm user gInfo gLink + pure $ CRGroupLink user gInfo gLink' APICreateMemberContact gId gMemberId -> withUser $ \user -> do (g, m) <- withFastStore $ \db -> (,) <$> getGroupInfo db vr user gId <*> getGroupMember db vr user gId gMemberId assertUserGroupRole g GRAuthor @@ -3319,7 +3318,7 @@ processChatCommand vr nm = \case recipients = filter memberCurrentOrPending newMs sendGroupMessage user gInfo' Nothing recipients $ XGrpPrefs ps' Nothing -> do - setGroupLinkData' + setGroupLinkData' nm user gInfo' recipients <- getRecipients sendGroupMessage user gInfo' Nothing recipients (XGrpInfo p') where @@ -3328,26 +3327,12 @@ processChatCommand vr nm = \case | otherwise = do ms <- withFastStore' $ \db -> getGroupMembers db vr user gInfo' pure $ filter memberCurrentOrPending ms - setGroupLinkData' :: CM () - setGroupLinkData' = - withFastStore' (\db -> runExceptT $ getGroupLink db user gInfo') >>= \case - Right gLink@GroupLink {shortLinkDataSet} - | shortLinkDataSet -> void $ setGroupLinkData user gInfo' gLink - _ -> pure () let cd = CDGroupSnd gInfo' Nothing unless (sameGroupProfileInfo p p') $ do ci <- saveSndChatItem user cd msg (CISndGroupEvent $ SGEGroupUpdated p') toView $ CEvtNewChatItems user [AChatItem SCTGroup SMDSnd (GroupChat gInfo' Nothing) ci] createGroupFeatureChangedItems user cd CISndGroupFeature gInfo gInfo' pure $ CRGroupUpdated user gInfo gInfo' Nothing - setGroupLinkData :: User -> GroupInfo -> GroupLink -> CM ChatResponse - setGroupLinkData user gInfo@GroupInfo {groupProfile} gLink@GroupLink {groupLinkId} = do - conn <- withFastStore $ \db -> getGroupLinkConnection db vr user gInfo - let userData = encodeShortLinkData $ GroupShortLinkData groupProfile - crClientData = encodeJSON $ CRDataGroup groupLinkId - sLnk <- shortenShortLink' . toShortGroupLink =<< withAgent (\a -> setConnShortLink a nm (aConnId conn) SCMContact userData (Just crClientData)) - gLink' <- withFastStore' $ \db -> setGroupLinkShortLink db gLink sLnk - pure $ CRGroupLink user gInfo gLink' checkValidName :: GroupName -> CM () checkValidName displayName = do when (T.null displayName) $ throwChatError CEInvalidDisplayName {displayName, validName = ""} @@ -3717,41 +3702,11 @@ processChatCommand vr nm = \case business = maybe False businessAddress settings contactData = ContactShortLinkData p msg business in encodeShortLinkData contactData - encodeShortLinkData :: J.ToJSON a => a -> UserLinkData - encodeShortLinkData d = - let s = LB.toStrict $ J.encode d - -- 10kb size limit for compression to be used is based on 13784 limit for link data - -- and the space reserved for the other fields in ConnLinkData encoding (most of these fields are currently unused). - s' - | B.length s > 10240 = B.cons 'X' $ Z1.compress compressionLevel s - | otherwise = s - in UserLinkData s' - decodeShortLinkData :: J.FromJSON a => ConnLinkData c -> IO (Maybe a) - decodeShortLinkData cData - | B.null s = pure Nothing - | B.head s == 'X' = case Z1.decompress $ B.drop 1 s of - Z1.Error e -> Nothing <$ logError ("Error decompressing link data: " <> tshow e) - Z1.Skip -> pure Nothing - Z1.Decompress s' -> decode s' - | otherwise = decode s - where - decode s' = case J.eitherDecodeStrict s' of - Right d -> pure $ Just d - Left e -> Nothing <$ logError ("Error decoding link data: " <> tshow e) - s = linkUserData' cData updatePCCShortLinkData :: PendingContactConnection -> Profile -> CM (Maybe ShortLinkInvitation) updatePCCShortLinkData conn@PendingContactConnection {connLinkInv} profile = forM (connShortLink =<< connLinkInv) $ \_ -> do let userData = contactShortLinkData profile Nothing shortenShortLink' =<< withAgent (\a -> setConnShortLink a nm (aConnId' conn) SCMInvitation userData Nothing) - shortenShortLink' :: ConnShortLink m -> CM (ConnShortLink m) - shortenShortLink' l = (`shortenShortLink` l) <$> asks (shortLinkPresetServers . config) - shortenCreatedLink :: CreatedConnLink m -> CM (CreatedConnLink m) - shortenCreatedLink (CCLink cReq sLnk) = CCLink cReq <$> mapM shortenShortLink' sLnk - createdGroupLink :: CreatedLinkContact -> CreatedLinkContact - createdGroupLink (CCLink cReq shortLink) = CCLink cReq (toShortGroupLink <$> shortLink) - toShortGroupLink :: ShortLinkContact -> ShortLinkContact - toShortGroupLink (CSLContact sch _ srv k) = CSLContact sch CCTGroup srv k updateCIGroupInvitationStatus :: User -> GroupInfo -> CIGroupInvitationStatus -> CM () updateCIGroupInvitationStatus user GroupInfo {groupId} newStatus = do AChatItem _ _ cInfo ChatItem {content, meta = CIMeta {itemId}} <- withFastStore $ \db -> getChatItemByGroupId db vr user groupId diff --git a/src/Simplex/Chat/Library/Internal.hs b/src/Simplex/Chat/Library/Internal.hs index a36e943fd5..4177dc6984 100644 --- a/src/Simplex/Chat/Library/Internal.hs +++ b/src/Simplex/Chat/Library/Internal.hs @@ -18,6 +18,7 @@ module Simplex.Chat.Library.Internal where +import qualified Codec.Compression.Zstd as Z1 import Control.Applicative ((<|>)) import Control.Concurrent.STM (retry) import Control.Logger.Simple @@ -26,9 +27,11 @@ import Control.Monad.Except import Control.Monad.IO.Unlift import Control.Monad.Reader import Crypto.Random (ChaChaDRG) +import qualified Data.Aeson as J import Data.Bifunctor (first) import Data.ByteString.Char8 (ByteString) import qualified Data.ByteString.Char8 as B +import qualified Data.ByteString.Lazy.Char8 as LB import Data.Char (isDigit) import Data.Containers.ListUtils (nubOrd) import Data.Either (partitionEithers, rights) @@ -84,7 +87,8 @@ import Simplex.Messaging.Agent.Lock (withLock) import Simplex.Messaging.Agent.Protocol import qualified Simplex.Messaging.Agent.Protocol as AP (AgentErrorType (..)) import qualified Simplex.Messaging.Agent.Store.DB as DB -import Simplex.Messaging.Client (NetworkConfig (..), NetworkRequestMode) +import Simplex.Messaging.Client (NetworkConfig (..), NetworkRequestMode (..)) +import Simplex.Messaging.Compression (compressionLevel) import Simplex.Messaging.Crypto.File (CryptoFile (..), CryptoFileArgs (..)) import qualified Simplex.Messaging.Crypto.File as CF import Simplex.Messaging.Crypto.Ratchet (PQEncryption (..), PQSupport (..), pattern IKPQOff, pattern PQEncOff, pattern PQEncOn, pattern PQSupportOff, pattern PQSupportOn) @@ -1188,6 +1192,58 @@ splitFileDescr partSize rfdText = splitParts 1 rfdText then fileDescr :| [] else fileDescr <| splitParts (partNo + 1) rest +setGroupLinkData' :: NetworkRequestMode -> User -> GroupInfo -> CM () +setGroupLinkData' nm user gInfo = + withFastStore' (\db -> runExceptT $ getGroupLink db user gInfo) >>= \case + Right gLink@GroupLink {shortLinkDataSet} + | shortLinkDataSet -> void $ setGroupLinkData nm user gInfo gLink + _ -> pure () + +setGroupLinkData :: NetworkRequestMode -> User -> GroupInfo -> GroupLink -> CM GroupLink +setGroupLinkData nm user gInfo@GroupInfo {groupProfile} gLink@GroupLink {groupLinkId} = do + vr <- chatVersionRange + conn <- withFastStore $ \db -> getGroupLinkConnection db vr user gInfo + let userData = encodeShortLinkData $ GroupShortLinkData groupProfile + crClientData = encodeJSON $ CRDataGroup groupLinkId + sLnk <- shortenShortLink' . toShortGroupLink =<< withAgent (\a -> setConnShortLink a nm (aConnId conn) SCMContact userData (Just crClientData)) + withFastStore' $ \db -> setGroupLinkShortLink db gLink sLnk + +encodeShortLinkData :: J.ToJSON a => a -> UserLinkData +encodeShortLinkData d = + let s = LB.toStrict $ J.encode d + -- 10kb size limit for compression to be used is based on 13784 limit for link data + -- and the space reserved for the other fields in ConnLinkData encoding (most of these fields are currently unused). + s' + | B.length s > 10240 = B.cons 'X' $ Z1.compress compressionLevel s + | otherwise = s + in UserLinkData s' + +decodeShortLinkData :: J.FromJSON a => ConnLinkData c -> IO (Maybe a) +decodeShortLinkData cData + | B.null s = pure Nothing + | B.head s == 'X' = case Z1.decompress $ B.drop 1 s of + Z1.Error e -> Nothing <$ logError ("Error decompressing link data: " <> tshow e) + Z1.Skip -> pure Nothing + Z1.Decompress s' -> decode s' + | otherwise = decode s + where + decode s' = case J.eitherDecodeStrict s' of + Right d -> pure $ Just d + Left e -> Nothing <$ logError ("Error decoding link data: " <> tshow e) + s = linkUserData' cData + +shortenShortLink' :: ConnShortLink m -> CM (ConnShortLink m) +shortenShortLink' l = (`shortenShortLink` l) <$> asks (shortLinkPresetServers . config) + +shortenCreatedLink :: CreatedConnLink m -> CM (CreatedConnLink m) +shortenCreatedLink (CCLink cReq sLnk) = CCLink cReq <$> mapM shortenShortLink' sLnk + +createdGroupLink :: CreatedLinkContact -> CreatedLinkContact +createdGroupLink (CCLink cReq shortLink) = CCLink cReq (toShortGroupLink <$> shortLink) + +toShortGroupLink :: ShortLinkContact -> ShortLinkContact +toShortGroupLink (CSLContact sch _ srv k) = CSLContact sch CCTGroup srv k + deleteGroupLink' :: User -> GroupInfo -> CM () deleteGroupLink' user gInfo = do vr <- chatVersionRange diff --git a/src/Simplex/Chat/Library/Subscriber.hs b/src/Simplex/Chat/Library/Subscriber.hs index fd2e41be07..15980ce585 100644 --- a/src/Simplex/Chat/Library/Subscriber.hs +++ b/src/Simplex/Chat/Library/Subscriber.hs @@ -75,7 +75,7 @@ import Simplex.Messaging.Agent.Env.SQLite (Worker (..)) import Simplex.Messaging.Agent.Protocol import qualified Simplex.Messaging.Agent.Protocol as AP (AgentErrorType (..)) import qualified Simplex.Messaging.Agent.Store.DB as DB -import Simplex.Messaging.Client (ProxyClientError (..)) +import Simplex.Messaging.Client (ProxyClientError (..), NetworkRequestMode (..)) import qualified Simplex.Messaging.Crypto as C import Simplex.Messaging.Crypto.File (CryptoFile (..)) import Simplex.Messaging.Crypto.Ratchet (PQEncryption (..), PQSupport (..), pattern PQEncOff, pattern PQEncOn, pattern PQSupportOff, pattern PQSupportOn) @@ -89,6 +89,7 @@ import Simplex.Messaging.Util import Simplex.Messaging.Version import qualified System.FilePath as FP import Text.Read (readMaybe) +import UnliftIO.Concurrent (forkIO) import UnliftIO.Directory import UnliftIO.STM @@ -2869,6 +2870,7 @@ processAgentMessageConn vr user@User {userId} corrId agentConnId agentMessage = (ci, cInfo) <- saveRcvChatItemNoParse user cd msg brokerTs (CIRcvGroupEvent $ RGEGroupUpdated p') groupMsgToView cInfo ci createGroupFeatureChangedItems user cd CIRcvGroupFeature g g'' + void $ forkIO $ setGroupLinkData' NRMBackground user g'' Just _ -> updateGroupPrefs_ g m $ fromMaybe defaultBusinessGroupPrefs $ groupPreferences p' pure $ Just DJSGroup {jobSpec = DJDeliveryJob {includePending = True}} diff --git a/tests/ChatTests/Profiles.hs b/tests/ChatTests/Profiles.hs index c09440ff89..73e6fc8f07 100644 --- a/tests/ChatTests/Profiles.hs +++ b/tests/ChatTests/Profiles.hs @@ -142,6 +142,7 @@ shortLinkTests = do it "changing profile should update address short link data" testShortLinkAddressChangeProfile it "changing auto-reply message should update address short link data" testShortLinkAddressChangeAutoReply it "changing group profile should update short link data" testShortLinkGroupChangeProfile + it "receiving group profile update should update short link data" testShortLinkGroupChangeProfileReceived testUpdateProfile :: HasCallStack => TestParams -> IO () testUpdateProfile = @@ -4149,3 +4150,41 @@ testShortLinkGroupChangeProfile = testChat3 aliceProfile bobProfile cathProfile [alice, cath] *<# "#club bob> 2" cath #> "#club 3" [alice, bob] *<# "#club cath> 3" + +testShortLinkGroupChangeProfileReceived :: HasCallStack => TestParams -> IO () +testShortLinkGroupChangeProfileReceived = testChat3 aliceProfile bobProfile cathProfile test + where + test alice bob cath = do + createGroup2' "team" alice (cath, GROwner) True + alice ##> "/create link #team" + (shortLink, fullLink) <- getGroupLinks alice "team" GRMember True + + cath ##> "/gp team club" + cath <## "changed to #club" + alice <## "cath updated group #team:" + alice <## "changed to #club" + + bob ##> ("/_connect plan 1 " <> shortLink) + bob <## "group link: ok to connect" + groupSLinkData <- getTermLine bob + bob ##> ("/_prepare group 1 " <> fullLink <> " " <> shortLink <> " " <> groupSLinkData) + bob <## "#club: group is prepared" + bob ##> "/_connect group #1" + bob <## "#club: connection started" + alice <## "bob (Bob): accepting request to join group #club..." + concurrentlyN_ + [ alice <## "#club: bob joined the group", + do + bob <## "#club: joining the group..." + bob <## "#club: you joined the group" + bob <## "#club: member cath (Catherine) is connected", + do + cath <## "#club: alice added bob (Bob) to the group (connecting...)" + cath <## "#club: new member bob is connected" + ] + alice #> "#club 1" + [bob, cath] *<# "#club alice> 1" + bob #> "#club 2" + [alice, cath] *<# "#club bob> 2" + cath #> "#club 3" + [alice, bob] *<# "#club cath> 3" From 84dd294983936809fe9053419f84df2fad180f8d Mon Sep 17 00:00:00 2001 From: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com> Date: Sat, 4 Oct 2025 12:08:23 +0000 Subject: [PATCH 03/38] ios: fix showing connection alert when fresh app is opened via link (before onboarding) (#6332) * ios: fix showing connection alert when fresh app is opened via link (before onboarding) * remove logs * revert lib --- apps/ios/Shared/ContentView.swift | 34 +++++++++++++++++---------- apps/ios/Shared/Model/ChatModel.swift | 1 + apps/ios/Shared/SimpleXApp.swift | 11 ++++----- 3 files changed, 27 insertions(+), 19 deletions(-) diff --git a/apps/ios/Shared/ContentView.swift b/apps/ios/Shared/ContentView.swift index 00cc25c1d2..7adf7a0435 100644 --- a/apps/ios/Shared/ContentView.swift +++ b/apps/ios/Shared/ContentView.swift @@ -430,19 +430,27 @@ struct ContentView: View { let m = ChatModel.shared if let url = m.appOpenUrl { m.appOpenUrl = nil - dismissAllSheets() { - var path = url.path - if (path == "/contact" || path == "/invitation" || path == "/a" || path == "/c" || path == "/g" || path == "/i") { - path.removeFirst() - let link = url.absoluteString.replacingOccurrences(of: "///\(path)", with: "/\(path)") - planAndConnect( - link, - theme: theme, - dismiss: false - ) - } else { - AlertManager.shared.showAlert(Alert(title: Text("Error: URL is invalid"))) - } + connectViaUrl_(url) + } else if let url = m.appOpenUrlLater, AppChatState.shared.value == .active, scenePhase == .active { + // correcting branch in case .onChange(of: scenePhase) in SimpleXApp doesn't trigger and transfer appOpenUrlLater into appOpenUrl + m.appOpenUrlLater = nil + connectViaUrl_(url) + } + } + + func connectViaUrl_(_ url: URL) { + dismissAllSheets() { + var path = url.path + if (path == "/contact" || path == "/invitation" || path == "/a" || path == "/c" || path == "/g" || path == "/i") { + path.removeFirst() + let link = url.absoluteString.replacingOccurrences(of: "///\(path)", with: "/\(path)") + planAndConnect( + link, + theme: theme, + dismiss: false + ) + } else { + AlertManager.shared.showAlert(Alert(title: Text("Error: URL is invalid"))) } } } diff --git a/apps/ios/Shared/Model/ChatModel.swift b/apps/ios/Shared/Model/ChatModel.swift index a08f70fd53..e5fd6362a3 100644 --- a/apps/ios/Shared/Model/ChatModel.swift +++ b/apps/ios/Shared/Model/ChatModel.swift @@ -385,6 +385,7 @@ final class ChatModel: ObservableObject { @Published var userAddress: UserContactLink? @Published var chatItemTTL: ChatItemTTL = .none @Published var appOpenUrl: URL? + @Published var appOpenUrlLater: URL? @Published var deviceToken: DeviceToken? @Published var savedToken: DeviceToken? @Published var tokenRegistered = false diff --git a/apps/ios/Shared/SimpleXApp.swift b/apps/ios/Shared/SimpleXApp.swift index 5fbdafe19f..e1a6bb61e8 100644 --- a/apps/ios/Shared/SimpleXApp.swift +++ b/apps/ios/Shared/SimpleXApp.swift @@ -19,7 +19,6 @@ struct SimpleXApp: App { @Environment(\.scenePhase) var scenePhase @State private var enteredBackgroundAuthenticated: TimeInterval? = nil - @State private var appOpenUrlLater: URL? init() { DispatchQueue.global(qos: .background).sync { @@ -46,7 +45,7 @@ struct SimpleXApp: App { if AppChatState.shared.value == .active { chatModel.appOpenUrl = url } else { - appOpenUrlLater = url + chatModel.appOpenUrlLater = url } } .onAppear() { @@ -98,15 +97,15 @@ struct SimpleXApp: App { if !chatModel.showCallView && !CallController.shared.hasActiveCalls() { await updateCallInvitations() } - if let url = appOpenUrlLater { + if let url = chatModel.appOpenUrlLater { await MainActor.run { - appOpenUrlLater = nil + chatModel.appOpenUrlLater = nil chatModel.appOpenUrl = url } } } - } else if let url = appOpenUrlLater { - appOpenUrlLater = nil + } else if let url = chatModel.appOpenUrlLater { + chatModel.appOpenUrlLater = nil chatModel.appOpenUrl = url } } From e88927ee1fa7561824028b4f50733c2154731d84 Mon Sep 17 00:00:00 2001 From: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com> Date: Sat, 4 Oct 2025 12:09:07 +0000 Subject: [PATCH 04/38] android: fix showing connection alert when app is opened via link (#6333) * android: fix showing connection alert when app is opened via link * opened on onboarding * cleanup logs * cleanup logs * restore log --- .../src/commonMain/kotlin/chat/simplex/common/App.kt | 4 ++-- .../kotlin/chat/simplex/common/model/ChatModel.kt | 1 + .../chat/simplex/common/views/chatlist/ChatListView.kt | 7 +++++-- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/App.kt b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/App.kt index d88a450fd1..70e0067260 100644 --- a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/App.kt +++ b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/App.kt @@ -243,9 +243,9 @@ fun MainScreen() { ModalManager.fullscreen.showOneTimePasscodeInView() AlertManager.privacySensitive.showInView() if (onboarding == OnboardingStage.OnboardingComplete) { - LaunchedEffect(chatModel.currentUser.value, chatModel.appOpenUrl.value) { + LaunchedEffect(chatModel.chatRunning.value, chatModel.currentUser.value, chatModel.appOpenUrl.value) { val (rhId, url) = chatModel.appOpenUrl.value ?: (null to null) - if (url != null) { + if (url != null && chatModel.chatRunning.value == true) { chatModel.appOpenUrl.value = null connectIfOpenedViaUri(rhId, url, chatModel) } 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 628e768d57..76a9ab4c16 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 @@ -133,6 +133,7 @@ object ChatModel { // set when app is opened via contact or invitation URI (rhId, uri) val appOpenUrl = mutableStateOf?>(null) + val appOpenUrlConnecting = mutableStateOf(false) // Needed to check for bottom nav bar and to apply or not navigation bar color on Android val newChatSheetVisible = mutableStateOf(false) diff --git a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/chatlist/ChatListView.kt b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/chatlist/ChatListView.kt index 7b5be0c323..2109e21bfe 100644 --- a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/chatlist/ChatListView.kt +++ b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/chatlist/ChatListView.kt @@ -601,7 +601,8 @@ fun connectIfOpenedViaUri(rhId: Long?, uri: String, chatModel: ChatModel) { chatModel.appOpenUrl.value = rhId to uri } else { withBGApi { - planAndConnect(rhId, uri, close = null) + chatModel.appOpenUrlConnecting.value = true + planAndConnect(rhId, uri, close = null, cleanup = { chatModel.appOpenUrlConnecting.value = false }) } } } @@ -670,7 +671,9 @@ private fun ChatListSearchBar(listState: LazyListState, searchText: MutableState // if some other text is pasted, enter search mode focusRequester.requestFocus() } else { - connectProgressManager.cancelConnectProgress() + if (!chatModel.appOpenUrlConnecting.value) { + connectProgressManager.cancelConnectProgress() + } if (listState.layoutInfo.totalItemsCount > 0) { listState.scrollToItem(0) } From f2b37eff513f4624d0b574e837a28348afb4cb8e Mon Sep 17 00:00:00 2001 From: Evgeny Poberezkin Date: Sat, 4 Oct 2025 16:53:18 +0100 Subject: [PATCH 05/38] core: 6.4.6.0 (simplexmq 6.4.6.0) --- cabal.project | 2 +- scripts/nix/sha256map.nix | 2 +- simplex-chat.cabal | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/cabal.project b/cabal.project index 0452f09216..426fe95930 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: 54a2a6c9051f610b8c7533369d9e9cce81af06ad + tag: 538dcb6a4c53e115655dc07266c4ff386d45511d source-repository-package type: git diff --git a/scripts/nix/sha256map.nix b/scripts/nix/sha256map.nix index 1ef1b2f51f..75ae7a0d23 100644 --- a/scripts/nix/sha256map.nix +++ b/scripts/nix/sha256map.nix @@ -1,5 +1,5 @@ { - "https://github.com/simplex-chat/simplexmq.git"."54a2a6c9051f610b8c7533369d9e9cce81af06ad" = "02c6hh5vffm23gz2gkn6rq2ifcyj5c9s6kz0kyk055i78gsfhp43"; + "https://github.com/simplex-chat/simplexmq.git"."538dcb6a4c53e115655dc07266c4ff386d45511d" = "01g6dicws9cdgk4slmlqyvl3i84nw3gyqwmqwr2rwbq0yx7fcmmq"; "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/simplex-chat.cabal b/simplex-chat.cabal index 88a92e6bb4..f576674b1f 100644 --- a/simplex-chat.cabal +++ b/simplex-chat.cabal @@ -5,7 +5,7 @@ cabal-version: 1.12 -- see: https://github.com/sol/hpack name: simplex-chat -version: 6.4.5.1 +version: 6.4.6.0 category: Web, System, Services, Cryptography homepage: https://github.com/simplex-chat/simplex-chat#readme author: simplex.chat From f30053d7aef51d16113ccb2cca892a860ee423ef Mon Sep 17 00:00:00 2001 From: Evgeny Poberezkin Date: Sat, 4 Oct 2025 21:17:59 +0100 Subject: [PATCH 06/38] 6.4.6: ios 299, android 321, desktop 121 --- apps/ios/SimpleX.xcodeproj/project.pbxproj | 56 +++++++++++----------- apps/multiplatform/gradle.properties | 8 ++-- 2 files changed, 32 insertions(+), 32 deletions(-) diff --git a/apps/ios/SimpleX.xcodeproj/project.pbxproj b/apps/ios/SimpleX.xcodeproj/project.pbxproj index 07e68e9284..4e34c05265 100644 --- a/apps/ios/SimpleX.xcodeproj/project.pbxproj +++ b/apps/ios/SimpleX.xcodeproj/project.pbxproj @@ -178,8 +178,8 @@ 64C3B0212A0D359700E19930 /* CustomTimePicker.swift in Sources */ = {isa = PBXBuildFile; fileRef = 64C3B0202A0D359700E19930 /* CustomTimePicker.swift */; }; 64C8299D2D54AEEE006B9E89 /* libgmp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 64C829982D54AEED006B9E89 /* libgmp.a */; }; 64C8299E2D54AEEE006B9E89 /* libffi.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 64C829992D54AEEE006B9E89 /* libffi.a */; }; - 64C8299F2D54AEEE006B9E89 /* libHSsimplex-chat-6.4.5.1-B5MqGjdGsDB2dMXvZ9bdUJ-ghc9.6.3.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 64C8299A2D54AEEE006B9E89 /* libHSsimplex-chat-6.4.5.1-B5MqGjdGsDB2dMXvZ9bdUJ-ghc9.6.3.a */; }; - 64C829A02D54AEEE006B9E89 /* libHSsimplex-chat-6.4.5.1-B5MqGjdGsDB2dMXvZ9bdUJ.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 64C8299B2D54AEEE006B9E89 /* libHSsimplex-chat-6.4.5.1-B5MqGjdGsDB2dMXvZ9bdUJ.a */; }; + 64C8299F2D54AEEE006B9E89 /* libHSsimplex-chat-6.4.6.0-1uYs2FKSnCtGti4vmlXmvH-ghc9.6.3.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 64C8299A2D54AEEE006B9E89 /* libHSsimplex-chat-6.4.6.0-1uYs2FKSnCtGti4vmlXmvH-ghc9.6.3.a */; }; + 64C829A02D54AEEE006B9E89 /* libHSsimplex-chat-6.4.6.0-1uYs2FKSnCtGti4vmlXmvH.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 64C8299B2D54AEEE006B9E89 /* libHSsimplex-chat-6.4.6.0-1uYs2FKSnCtGti4vmlXmvH.a */; }; 64C829A12D54AEEE006B9E89 /* libgmpxx.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 64C8299C2D54AEEE006B9E89 /* libgmpxx.a */; }; 64D0C2C029F9688300B38D5F /* UserAddressView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 64D0C2BF29F9688300B38D5F /* UserAddressView.swift */; }; 64D0C2C229FA57AB00B38D5F /* UserAddressLearnMore.swift in Sources */ = {isa = PBXBuildFile; fileRef = 64D0C2C129FA57AB00B38D5F /* UserAddressLearnMore.swift */; }; @@ -545,8 +545,8 @@ 64C3B0202A0D359700E19930 /* CustomTimePicker.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CustomTimePicker.swift; sourceTree = ""; }; 64C829982D54AEED006B9E89 /* libgmp.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libgmp.a; sourceTree = ""; }; 64C829992D54AEEE006B9E89 /* libffi.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libffi.a; sourceTree = ""; }; - 64C8299A2D54AEEE006B9E89 /* libHSsimplex-chat-6.4.5.1-B5MqGjdGsDB2dMXvZ9bdUJ-ghc9.6.3.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = "libHSsimplex-chat-6.4.5.1-B5MqGjdGsDB2dMXvZ9bdUJ-ghc9.6.3.a"; sourceTree = ""; }; - 64C8299B2D54AEEE006B9E89 /* libHSsimplex-chat-6.4.5.1-B5MqGjdGsDB2dMXvZ9bdUJ.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = "libHSsimplex-chat-6.4.5.1-B5MqGjdGsDB2dMXvZ9bdUJ.a"; sourceTree = ""; }; + 64C8299A2D54AEEE006B9E89 /* libHSsimplex-chat-6.4.6.0-1uYs2FKSnCtGti4vmlXmvH-ghc9.6.3.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = "libHSsimplex-chat-6.4.6.0-1uYs2FKSnCtGti4vmlXmvH-ghc9.6.3.a"; sourceTree = ""; }; + 64C8299B2D54AEEE006B9E89 /* libHSsimplex-chat-6.4.6.0-1uYs2FKSnCtGti4vmlXmvH.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = "libHSsimplex-chat-6.4.6.0-1uYs2FKSnCtGti4vmlXmvH.a"; sourceTree = ""; }; 64C8299C2D54AEEE006B9E89 /* libgmpxx.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libgmpxx.a; sourceTree = ""; }; 64D0C2BF29F9688300B38D5F /* UserAddressView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UserAddressView.swift; sourceTree = ""; }; 64D0C2C129FA57AB00B38D5F /* UserAddressLearnMore.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UserAddressLearnMore.swift; sourceTree = ""; }; @@ -708,8 +708,8 @@ 64C8299D2D54AEEE006B9E89 /* libgmp.a in Frameworks */, 64C8299E2D54AEEE006B9E89 /* libffi.a in Frameworks */, 64C829A12D54AEEE006B9E89 /* libgmpxx.a in Frameworks */, - 64C8299F2D54AEEE006B9E89 /* libHSsimplex-chat-6.4.5.1-B5MqGjdGsDB2dMXvZ9bdUJ-ghc9.6.3.a in Frameworks */, - 64C829A02D54AEEE006B9E89 /* libHSsimplex-chat-6.4.5.1-B5MqGjdGsDB2dMXvZ9bdUJ.a in Frameworks */, + 64C8299F2D54AEEE006B9E89 /* libHSsimplex-chat-6.4.6.0-1uYs2FKSnCtGti4vmlXmvH-ghc9.6.3.a in Frameworks */, + 64C829A02D54AEEE006B9E89 /* libHSsimplex-chat-6.4.6.0-1uYs2FKSnCtGti4vmlXmvH.a in Frameworks */, CE38A29C2C3FCD72005ED185 /* SwiftyGif in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; @@ -795,8 +795,8 @@ 64C829992D54AEEE006B9E89 /* libffi.a */, 64C829982D54AEED006B9E89 /* libgmp.a */, 64C8299C2D54AEEE006B9E89 /* libgmpxx.a */, - 64C8299A2D54AEEE006B9E89 /* libHSsimplex-chat-6.4.5.1-B5MqGjdGsDB2dMXvZ9bdUJ-ghc9.6.3.a */, - 64C8299B2D54AEEE006B9E89 /* libHSsimplex-chat-6.4.5.1-B5MqGjdGsDB2dMXvZ9bdUJ.a */, + 64C8299A2D54AEEE006B9E89 /* libHSsimplex-chat-6.4.6.0-1uYs2FKSnCtGti4vmlXmvH-ghc9.6.3.a */, + 64C8299B2D54AEEE006B9E89 /* libHSsimplex-chat-6.4.6.0-1uYs2FKSnCtGti4vmlXmvH.a */, ); path = Libraries; sourceTree = ""; @@ -2003,7 +2003,7 @@ CLANG_TIDY_MISC_REDUNDANT_EXPRESSION = YES; CODE_SIGN_ENTITLEMENTS = "SimpleX (iOS).entitlements"; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 298; + CURRENT_PROJECT_VERSION = 299; DEAD_CODE_STRIPPING = YES; DEVELOPMENT_TEAM = 5NN7GUYB6T; ENABLE_BITCODE = NO; @@ -2028,7 +2028,7 @@ "@executable_path/Frameworks", ); LLVM_LTO = YES_THIN; - MARKETING_VERSION = 6.4.5; + MARKETING_VERSION = 6.4.6; OTHER_LDFLAGS = "-Wl,-stack_size,0x1000000"; PRODUCT_BUNDLE_IDENTIFIER = chat.simplex.app; PRODUCT_NAME = SimpleX; @@ -2053,7 +2053,7 @@ CLANG_TIDY_MISC_REDUNDANT_EXPRESSION = YES; CODE_SIGN_ENTITLEMENTS = "SimpleX (iOS).entitlements"; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 298; + CURRENT_PROJECT_VERSION = 299; DEAD_CODE_STRIPPING = YES; DEVELOPMENT_TEAM = 5NN7GUYB6T; ENABLE_BITCODE = NO; @@ -2078,7 +2078,7 @@ "@executable_path/Frameworks", ); LLVM_LTO = YES; - MARKETING_VERSION = 6.4.5; + MARKETING_VERSION = 6.4.6; OTHER_LDFLAGS = "-Wl,-stack_size,0x1000000"; PRODUCT_BUNDLE_IDENTIFIER = chat.simplex.app; PRODUCT_NAME = SimpleX; @@ -2095,11 +2095,11 @@ buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 298; + CURRENT_PROJECT_VERSION = 299; DEVELOPMENT_TEAM = 5NN7GUYB6T; GENERATE_INFOPLIST_FILE = YES; IPHONEOS_DEPLOYMENT_TARGET = 15.0; - MARKETING_VERSION = 6.4.5; + MARKETING_VERSION = 6.4.6; PRODUCT_BUNDLE_IDENTIFIER = "chat.simplex.Tests-iOS"; PRODUCT_NAME = "$(TARGET_NAME)"; SDKROOT = iphoneos; @@ -2115,11 +2115,11 @@ buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 298; + CURRENT_PROJECT_VERSION = 299; DEVELOPMENT_TEAM = 5NN7GUYB6T; GENERATE_INFOPLIST_FILE = YES; IPHONEOS_DEPLOYMENT_TARGET = 15.0; - MARKETING_VERSION = 6.4.5; + MARKETING_VERSION = 6.4.6; PRODUCT_BUNDLE_IDENTIFIER = "chat.simplex.Tests-iOS"; PRODUCT_NAME = "$(TARGET_NAME)"; SDKROOT = iphoneos; @@ -2140,7 +2140,7 @@ CODE_SIGN_ENTITLEMENTS = "SimpleX NSE/SimpleX NSE.entitlements"; CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 298; + CURRENT_PROJECT_VERSION = 299; DEVELOPMENT_TEAM = 5NN7GUYB6T; ENABLE_BITCODE = NO; GCC_OPTIMIZATION_LEVEL = s; @@ -2155,7 +2155,7 @@ "@executable_path/../../Frameworks", ); LLVM_LTO = YES; - MARKETING_VERSION = 6.4.5; + MARKETING_VERSION = 6.4.6; PRODUCT_BUNDLE_IDENTIFIER = "chat.simplex.app.SimpleX-NSE"; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; @@ -2177,7 +2177,7 @@ CODE_SIGN_ENTITLEMENTS = "SimpleX NSE/SimpleX NSE.entitlements"; CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 298; + CURRENT_PROJECT_VERSION = 299; DEVELOPMENT_TEAM = 5NN7GUYB6T; ENABLE_BITCODE = NO; ENABLE_CODE_COVERAGE = NO; @@ -2192,7 +2192,7 @@ "@executable_path/../../Frameworks", ); LLVM_LTO = YES; - MARKETING_VERSION = 6.4.5; + MARKETING_VERSION = 6.4.6; PRODUCT_BUNDLE_IDENTIFIER = "chat.simplex.app.SimpleX-NSE"; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; @@ -2214,7 +2214,7 @@ CLANG_TIDY_BUGPRONE_REDUNDANT_BRANCH_CONDITION = YES; CLANG_TIDY_MISC_REDUNDANT_EXPRESSION = YES; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 298; + CURRENT_PROJECT_VERSION = 299; DEFINES_MODULE = YES; DEVELOPMENT_TEAM = 5NN7GUYB6T; DYLIB_COMPATIBILITY_VERSION = 1; @@ -2240,7 +2240,7 @@ "$(PROJECT_DIR)/Libraries/sim", ); LLVM_LTO = YES; - MARKETING_VERSION = 6.4.5; + MARKETING_VERSION = 6.4.6; PRODUCT_BUNDLE_IDENTIFIER = chat.simplex.SimpleXChat; PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; SDKROOT = iphoneos; @@ -2265,7 +2265,7 @@ CLANG_TIDY_BUGPRONE_REDUNDANT_BRANCH_CONDITION = YES; CLANG_TIDY_MISC_REDUNDANT_EXPRESSION = YES; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 298; + CURRENT_PROJECT_VERSION = 299; DEFINES_MODULE = YES; DEVELOPMENT_TEAM = 5NN7GUYB6T; DYLIB_COMPATIBILITY_VERSION = 1; @@ -2291,7 +2291,7 @@ "$(PROJECT_DIR)/Libraries/sim", ); LLVM_LTO = YES; - MARKETING_VERSION = 6.4.5; + MARKETING_VERSION = 6.4.6; PRODUCT_BUNDLE_IDENTIFIER = chat.simplex.SimpleXChat; PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; SDKROOT = iphoneos; @@ -2316,7 +2316,7 @@ CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; CODE_SIGN_ENTITLEMENTS = "SimpleX SE/SimpleX SE.entitlements"; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 298; + CURRENT_PROJECT_VERSION = 299; DEVELOPMENT_TEAM = 5NN7GUYB6T; ENABLE_USER_SCRIPT_SANDBOXING = YES; GCC_C_LANGUAGE_STANDARD = gnu17; @@ -2331,7 +2331,7 @@ "@executable_path/../../Frameworks", ); LOCALIZATION_PREFERS_STRING_CATALOGS = YES; - MARKETING_VERSION = 6.4.5; + MARKETING_VERSION = 6.4.6; PRODUCT_BUNDLE_IDENTIFIER = "chat.simplex.app.SimpleX-SE"; PRODUCT_NAME = "$(TARGET_NAME)"; SDKROOT = iphoneos; @@ -2350,7 +2350,7 @@ CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; CODE_SIGN_ENTITLEMENTS = "SimpleX SE/SimpleX SE.entitlements"; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 298; + CURRENT_PROJECT_VERSION = 299; DEVELOPMENT_TEAM = 5NN7GUYB6T; ENABLE_USER_SCRIPT_SANDBOXING = YES; GCC_C_LANGUAGE_STANDARD = gnu17; @@ -2365,7 +2365,7 @@ "@executable_path/../../Frameworks", ); LOCALIZATION_PREFERS_STRING_CATALOGS = YES; - MARKETING_VERSION = 6.4.5; + MARKETING_VERSION = 6.4.6; PRODUCT_BUNDLE_IDENTIFIER = "chat.simplex.app.SimpleX-SE"; PRODUCT_NAME = "$(TARGET_NAME)"; SDKROOT = iphoneos; diff --git a/apps/multiplatform/gradle.properties b/apps/multiplatform/gradle.properties index b4f41b8221..53e4c60872 100644 --- a/apps/multiplatform/gradle.properties +++ b/apps/multiplatform/gradle.properties @@ -24,13 +24,13 @@ android.nonTransitiveRClass=true kotlin.mpp.androidSourceSetLayoutVersion=2 kotlin.jvm.target=11 -android.version_name=6.4.5 -android.version_code=319 +android.version_name=6.4.6 +android.version_code=321 android.bundle=false -desktop.version_name=6.4.5 -desktop.version_code=120 +desktop.version_name=6.4.6 +desktop.version_code=121 kotlin.version=2.1.20 gradle.plugin.version=8.7.0 From 47fcbb61f2baeb634a9ac772c009b90d0e1789a5 Mon Sep 17 00:00:00 2001 From: Evgeny Poberezkin Date: Sun, 21 Sep 2025 09:43:02 +0100 Subject: [PATCH 07/38] android, desktop: update dependency --- apps/multiplatform/common/build.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/multiplatform/common/build.gradle.kts b/apps/multiplatform/common/build.gradle.kts index 8b4dd0e4d7..2227766cfa 100644 --- a/apps/multiplatform/common/build.gradle.kts +++ b/apps/multiplatform/common/build.gradle.kts @@ -113,7 +113,7 @@ kotlin { } // For jSystemThemeDetector only implementation("net.java.dev.jna:jna-platform:5.14.0") - implementation("com.sshtools:two-slices:0.9.0-SNAPSHOT") + implementation("com.sshtools:two-slices:0.9.1") implementation("org.slf4j:slf4j-simple:2.0.12") implementation("uk.co.caprica:vlcj:4.8.3") implementation("net.java.dev.jna:jna:5.14.0") From 0c3372917ccce5e645913cbc71047d6e00091b30 Mon Sep 17 00:00:00 2001 From: sh <37271604+shumvgolove@users.noreply.github.com> Date: Sun, 5 Oct 2025 09:02:15 +0000 Subject: [PATCH 08/38] flatpak: update metainfo (#6339) --- .../flatpak/chat.simplex.simplex.metainfo.xml | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/scripts/flatpak/chat.simplex.simplex.metainfo.xml b/scripts/flatpak/chat.simplex.simplex.metainfo.xml index e44251361a..082f8a7dc9 100644 --- a/scripts/flatpak/chat.simplex.simplex.metainfo.xml +++ b/scripts/flatpak/chat.simplex.simplex.metainfo.xml @@ -38,6 +38,27 @@ + + https://simplex.chat/blog/20250729-simplex-chat-v6-4-1-welcome-contacts-protect-groups-app-security.html + +

New in v6.4.6:

+
    +
  • fixed opening SimpleX links from outside of the app.
  • +
+

New in v6.4-6.4.5:

+
    +
  • new UX to connect.
  • +
  • review new group members.
  • +
  • chat with group admins.
  • +
  • new UI languages: Catalan, Indonesian, Romanian and Vietnamese.
  • +
  • Linux app builds for aarch64 CPUs
  • +
  • UI support for bot commands.
  • +
  • support markdown hyperlinks, such as [click here](https://example.com).
  • +
  • option to remove tracking parameters from the links.
  • +
  • better information about network errors.
  • +
+
+
https://simplex.chat/blog/20250729-simplex-chat-v6-4-1-welcome-contacts-protect-groups-app-security.html From 3d8bbaf03b816938771323f7bf213f2c8dcc38c3 Mon Sep 17 00:00:00 2001 From: Evgeny Poberezkin Date: Mon, 6 Oct 2025 22:36:15 +0100 Subject: [PATCH 09/38] core: update simplexmq --- cabal.project | 2 +- scripts/nix/sha256map.nix | 2 +- simplex-chat.cabal | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/cabal.project b/cabal.project index 8541d6ca0e..7580f232e1 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: 9854caca331f6c85f4d76db47f8eb3d205fa7eee + tag: a3d1a72eb06df0dc6e1f2a8d72cab8535870fb03 source-repository-package type: git diff --git a/scripts/nix/sha256map.nix b/scripts/nix/sha256map.nix index 0b342c8dd1..357d5ee9f7 100644 --- a/scripts/nix/sha256map.nix +++ b/scripts/nix/sha256map.nix @@ -1,5 +1,5 @@ { - "https://github.com/simplex-chat/simplexmq.git"."9854caca331f6c85f4d76db47f8eb3d205fa7eee" = "1wldnkp1ivf1b7qa39lldkvgyh08948dvg2sicdjg7har4ygwwl7"; + "https://github.com/simplex-chat/simplexmq.git"."a3d1a72eb06df0dc6e1f2a8d72cab8535870fb03" = "16pmac5l4fwjhi6msf3y9dljc51mbfhvql4kv1sqn6gkbf9lnmpx"; "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/simplex-chat.cabal b/simplex-chat.cabal index e0c8c28688..a66dde4432 100644 --- a/simplex-chat.cabal +++ b/simplex-chat.cabal @@ -5,7 +5,7 @@ cabal-version: 1.12 -- see: https://github.com/sol/hpack name: simplex-chat -version: 6.4.6.0 +version: 6.5.0.2 category: Web, System, Services, Cryptography homepage: https://github.com/simplex-chat/simplex-chat#readme author: simplex.chat From d9b38317fb95f769e41cdd54bcdf3a9e5940a259 Mon Sep 17 00:00:00 2001 From: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com> Date: Tue, 7 Oct 2025 07:16:56 +0000 Subject: [PATCH 10/38] core: don't save introduction links (#6341) --- src/Simplex/Chat/Library/Subscriber.hs | 9 ++-- src/Simplex/Chat/Store/Groups.hs | 53 +++---------------- .../SQLite/Migrations/chat_query_plans.txt | 24 +-------- src/Simplex/Chat/Types.hs | 3 +- 4 files changed, 16 insertions(+), 73 deletions(-) diff --git a/src/Simplex/Chat/Library/Subscriber.hs b/src/Simplex/Chat/Library/Subscriber.hs index 15980ce585..b6c17f6413 100644 --- a/src/Simplex/Chat/Library/Subscriber.hs +++ b/src/Simplex/Chat/Library/Subscriber.hs @@ -2632,14 +2632,17 @@ processAgentMessageConn vr user@User {userId} corrId agentConnId agentMessage = withStore' (\db -> runExceptT $ getGroupMemberByMemberId db vr user gInfo memId) >>= \case Left _ -> messageError "x.grp.mem.inv error: referenced member does not exist" Right reMember -> do - GroupMemberIntro {introId} <- withStore $ \db -> saveIntroInvitation db reMember m introInv + introId <- withStore $ \db -> do + GroupMemberIntro {introId} <- getIntroduction db reMember m + liftIO $ updateIntroStatus db introId GMIntroInvReceived + pure introId sendGroupMemberMessage gInfo reMember (XGrpMemFwd (memberInfo m) introInv) (Just introId) $ withStore' $ \db -> updateIntroStatus db introId GMIntroInvForwarded _ -> messageError "x.grp.mem.inv can be only sent by invitee member" xGrpMemFwd :: GroupInfo -> GroupMember -> MemberInfo -> IntroInvitation -> CM () - xGrpMemFwd gInfo@GroupInfo {membership, chatSettings} m memInfo@(MemberInfo memId memRole memChatVRange _) introInv@IntroInvitation {groupConnReq, directConnReq} = do + xGrpMemFwd gInfo@GroupInfo {membership, chatSettings} m memInfo@(MemberInfo memId memRole memChatVRange _) IntroInvitation {groupConnReq, directConnReq} = do let GroupMember {memberId = membershipMemId} = membership checkHostRole m memRole toMember <- @@ -2654,7 +2657,7 @@ processAgentMessageConn vr user@User {userId} corrId agentConnId agentMessage = -- TODO add GSMemIntroInvitedPending, GSMemConnectedPending, etc.? -- TODO keep as is? (GSMemIntroInvited has no purpose) let newMemberStatus = if memberPending toMember then memberStatus toMember else GSMemIntroInvited - withStore' $ \db -> saveMemberInvitation db toMember introInv newMemberStatus + withStore' $ \db -> updateGroupMemberStatus db userId toMember newMemberStatus subMode <- chatReadVar subscriptionMode -- [incognito] send membership incognito profile, create direct connection as incognito let membershipProfile = redactedMemberProfile $ fromLocalProfile $ memberProfile membership diff --git a/src/Simplex/Chat/Store/Groups.hs b/src/Simplex/Chat/Store/Groups.hs index 59c35b4cdb..720d9f50d9 100644 --- a/src/Simplex/Chat/Store/Groups.hs +++ b/src/Simplex/Chat/Store/Groups.hs @@ -98,7 +98,6 @@ module Simplex.Chat.Store.Groups updateGroupMemberRole, createIntroductions, updateIntroStatus, - saveIntroInvitation, getIntroduction, getIntroducedGroupMemberIds, getForwardIntroducedMembers, @@ -108,7 +107,6 @@ module Simplex.Chat.Store.Groups getForwardScopeMember, createIntroReMember, createIntroToMemberContact, - saveMemberInvitation, getMatchingContacts, getMatchingMembers, getMatchingMemberContacts, @@ -1542,7 +1540,7 @@ createIntroductions db chatV members toMember = do |] (groupMemberId' reMember, groupMemberId' toMember, GMIntroPending, chatV, ts, ts) introId <- insertedRowId db - pure $ Just GroupMemberIntro {introId, reMember, toMember, introStatus = GMIntroPending, introInvitation = Nothing} + pure $ Just GroupMemberIntro {introId, reMember, toMember, introStatus = GMIntroPending} where checkInverseIntro :: IO (Maybe Int64) checkInverseIntro = @@ -1564,56 +1562,21 @@ updateIntroStatus db introId introStatus = do |] (introStatus, currentTs, introId) -saveIntroInvitation :: DB.Connection -> GroupMember -> GroupMember -> IntroInvitation -> ExceptT StoreError IO GroupMemberIntro -saveIntroInvitation db reMember toMember introInv@IntroInvitation {groupConnReq} = do - intro <- getIntroduction db reMember toMember - liftIO $ do - currentTs <- getCurrentTime - DB.execute - db - [sql| - UPDATE group_member_intros - SET intro_status = ?, - group_queue_info = ?, - direct_queue_info = ?, - updated_at = ? - WHERE group_member_intro_id = ? - |] - (GMIntroInvReceived, groupConnReq, directConnReq introInv, currentTs, introId intro) - pure intro {introInvitation = Just introInv, introStatus = GMIntroInvReceived} - -saveMemberInvitation :: DB.Connection -> GroupMember -> IntroInvitation -> GroupMemberStatus -> IO () -saveMemberInvitation db GroupMember {groupMemberId} IntroInvitation {groupConnReq, directConnReq} newMemberStatus = do - currentTs <- getCurrentTime - DB.execute - db - [sql| - UPDATE group_members - SET member_status = ?, - group_queue_info = ?, - direct_queue_info = ?, - updated_at = ? - WHERE group_member_id = ? - |] - (newMemberStatus, groupConnReq, directConnReq, currentTs, groupMemberId) - getIntroduction :: DB.Connection -> GroupMember -> GroupMember -> ExceptT StoreError IO GroupMemberIntro -getIntroduction db reMember toMember = ExceptT $ do - toIntro - <$> DB.query +getIntroduction db reMember toMember = ExceptT $ + firstRow toIntro SEIntroNotFound $ + DB.query db [sql| - SELECT group_member_intro_id, group_queue_info, direct_queue_info, intro_status + SELECT group_member_intro_id, intro_status FROM group_member_intros WHERE re_group_member_id = ? AND to_group_member_id = ? |] (groupMemberId' reMember, groupMemberId' toMember) where - toIntro :: [(Int64, Maybe ConnReqInvitation, Maybe ConnReqInvitation, GroupMemberIntroStatus)] -> Either StoreError GroupMemberIntro - toIntro [(introId, groupConnReq, directConnReq, introStatus)] = - let introInvitation = IntroInvitation <$> groupConnReq <*> pure directConnReq - in Right GroupMemberIntro {introId, reMember, toMember, introStatus, introInvitation} - toIntro _ = Left SEIntroNotFound + toIntro :: (Int64, GroupMemberIntroStatus) -> GroupMemberIntro + toIntro (introId, introStatus) = + GroupMemberIntro {introId, reMember, toMember, introStatus} getIntroducedGroupMemberIds :: DB.Connection -> GroupMember -> IO [GroupMemberId] getIntroducedGroupMemberIds db invitee = diff --git a/src/Simplex/Chat/Store/SQLite/Migrations/chat_query_plans.txt b/src/Simplex/Chat/Store/SQLite/Migrations/chat_query_plans.txt index be8e7fe244..0b8a53ff3f 100644 --- a/src/Simplex/Chat/Store/SQLite/Migrations/chat_query_plans.txt +++ b/src/Simplex/Chat/Store/SQLite/Migrations/chat_query_plans.txt @@ -3514,7 +3514,7 @@ Plan: SEARCH chat_item_reactions USING INDEX idx_chat_item_reactions_group (group_id=? AND shared_msg_id=?) Query: - SELECT group_member_intro_id, group_queue_info, direct_queue_info, intro_status + SELECT group_member_intro_id, intro_status FROM group_member_intros WHERE re_group_member_id = ? AND to_group_member_id = ? @@ -3809,17 +3809,6 @@ SEARCH connections USING INDEX idx_connections_group_member_id (group_member_id= LIST SUBQUERY 1 SCAN group_members USING COVERING INDEX idx_group_members_user_id_local_display_name -Query: - UPDATE group_member_intros - SET intro_status = ?, - group_queue_info = ?, - direct_queue_info = ?, - updated_at = ? - WHERE group_member_intro_id = ? - -Plan: -SEARCH group_member_intros USING INTEGER PRIMARY KEY (rowid=?) - Query: UPDATE group_member_intros SET intro_status='fwd' WHERE re_group_member_id IN (SELECT group_member_id FROM group_members WHERE local_display_name = ?) @@ -4798,17 +4787,6 @@ Query: Plan: SEARCH group_members USING INTEGER PRIMARY KEY (rowid=?) -Query: - UPDATE group_members - SET member_status = ?, - group_queue_info = ?, - direct_queue_info = ?, - updated_at = ? - WHERE group_member_id = ? - -Plan: -SEARCH group_members USING INTEGER PRIMARY KEY (rowid=?) - Query: UPDATE group_members SET member_status = ?, member_role = ?, updated_at = ? diff --git a/src/Simplex/Chat/Types.hs b/src/Simplex/Chat/Types.hs index bdcf3f0bfb..0b1571eec2 100644 --- a/src/Simplex/Chat/Types.hs +++ b/src/Simplex/Chat/Types.hs @@ -1764,8 +1764,7 @@ data GroupMemberIntro = GroupMemberIntro { introId :: Int64, reMember :: GroupMember, toMember :: GroupMember, - introStatus :: GroupMemberIntroStatus, - introInvitation :: Maybe IntroInvitation + introStatus :: GroupMemberIntroStatus } deriving (Show) From 530d784a3b77d93d17b7654c829fc2bedae7d127 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Tue, 7 Oct 2025 12:03:55 +0100 Subject: [PATCH 11/38] ios: fix keyboard freeze (#6343) * ios: fix keyboard freeze * comment --- .../Chat/ComposeMessage/NativeTextEditor.swift | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/apps/ios/Shared/Views/Chat/ComposeMessage/NativeTextEditor.swift b/apps/ios/Shared/Views/Chat/ComposeMessage/NativeTextEditor.swift index 31d4ceecc6..c5fd8e39d0 100644 --- a/apps/ios/Shared/Views/Chat/ComposeMessage/NativeTextEditor.swift +++ b/apps/ios/Shared/Views/Chat/ComposeMessage/NativeTextEditor.swift @@ -71,13 +71,17 @@ struct NativeTextEditor: UIViewRepresentable { if field.selectedRange != selectedRange { field.selectedRange = selectedRange } - if focused && !field.isFocused { - DispatchQueue.main.async { - if !field.isFocused { - field.becomeFirstResponder() - } - } - } +// This block causes delays in closing keyboard when navigating from chat view to chat list. +// It is also a candidate for iOS 26.1 freeze. +// This was added in commit below to open keyboard programmatically via a passed binding but this approach is not reliable. +// https://github.com/simplex-chat/simplex-chat/pull/6003/commits/cb666de51375623451a5e80dcf59449adc7d2a5f +// if focused && !field.isFocused { +// DispatchQueue.main.async { +// if !field.isFocused { +// field.becomeFirstResponder() +// } +// } +// } } } From 61eae7670ba6957e499a8d130cdaad6fecf618f0 Mon Sep 17 00:00:00 2001 From: Evgeny Poberezkin Date: Tue, 7 Oct 2025 14:46:52 +0100 Subject: [PATCH 12/38] ios: 6.4.6 build 300 --- apps/ios/SimpleX.xcodeproj/project.pbxproj | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/apps/ios/SimpleX.xcodeproj/project.pbxproj b/apps/ios/SimpleX.xcodeproj/project.pbxproj index 4e34c05265..57788d4232 100644 --- a/apps/ios/SimpleX.xcodeproj/project.pbxproj +++ b/apps/ios/SimpleX.xcodeproj/project.pbxproj @@ -2003,7 +2003,7 @@ CLANG_TIDY_MISC_REDUNDANT_EXPRESSION = YES; CODE_SIGN_ENTITLEMENTS = "SimpleX (iOS).entitlements"; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 299; + CURRENT_PROJECT_VERSION = 300; DEAD_CODE_STRIPPING = YES; DEVELOPMENT_TEAM = 5NN7GUYB6T; ENABLE_BITCODE = NO; @@ -2053,7 +2053,7 @@ CLANG_TIDY_MISC_REDUNDANT_EXPRESSION = YES; CODE_SIGN_ENTITLEMENTS = "SimpleX (iOS).entitlements"; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 299; + CURRENT_PROJECT_VERSION = 300; DEAD_CODE_STRIPPING = YES; DEVELOPMENT_TEAM = 5NN7GUYB6T; ENABLE_BITCODE = NO; @@ -2095,7 +2095,7 @@ buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 299; + CURRENT_PROJECT_VERSION = 300; DEVELOPMENT_TEAM = 5NN7GUYB6T; GENERATE_INFOPLIST_FILE = YES; IPHONEOS_DEPLOYMENT_TARGET = 15.0; @@ -2115,7 +2115,7 @@ buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 299; + CURRENT_PROJECT_VERSION = 300; DEVELOPMENT_TEAM = 5NN7GUYB6T; GENERATE_INFOPLIST_FILE = YES; IPHONEOS_DEPLOYMENT_TARGET = 15.0; @@ -2140,7 +2140,7 @@ CODE_SIGN_ENTITLEMENTS = "SimpleX NSE/SimpleX NSE.entitlements"; CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 299; + CURRENT_PROJECT_VERSION = 300; DEVELOPMENT_TEAM = 5NN7GUYB6T; ENABLE_BITCODE = NO; GCC_OPTIMIZATION_LEVEL = s; @@ -2177,7 +2177,7 @@ CODE_SIGN_ENTITLEMENTS = "SimpleX NSE/SimpleX NSE.entitlements"; CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 299; + CURRENT_PROJECT_VERSION = 300; DEVELOPMENT_TEAM = 5NN7GUYB6T; ENABLE_BITCODE = NO; ENABLE_CODE_COVERAGE = NO; @@ -2214,7 +2214,7 @@ CLANG_TIDY_BUGPRONE_REDUNDANT_BRANCH_CONDITION = YES; CLANG_TIDY_MISC_REDUNDANT_EXPRESSION = YES; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 299; + CURRENT_PROJECT_VERSION = 300; DEFINES_MODULE = YES; DEVELOPMENT_TEAM = 5NN7GUYB6T; DYLIB_COMPATIBILITY_VERSION = 1; @@ -2265,7 +2265,7 @@ CLANG_TIDY_BUGPRONE_REDUNDANT_BRANCH_CONDITION = YES; CLANG_TIDY_MISC_REDUNDANT_EXPRESSION = YES; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 299; + CURRENT_PROJECT_VERSION = 300; DEFINES_MODULE = YES; DEVELOPMENT_TEAM = 5NN7GUYB6T; DYLIB_COMPATIBILITY_VERSION = 1; @@ -2316,7 +2316,7 @@ CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; CODE_SIGN_ENTITLEMENTS = "SimpleX SE/SimpleX SE.entitlements"; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 299; + CURRENT_PROJECT_VERSION = 300; DEVELOPMENT_TEAM = 5NN7GUYB6T; ENABLE_USER_SCRIPT_SANDBOXING = YES; GCC_C_LANGUAGE_STANDARD = gnu17; @@ -2350,7 +2350,7 @@ CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; CODE_SIGN_ENTITLEMENTS = "SimpleX SE/SimpleX SE.entitlements"; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 299; + CURRENT_PROJECT_VERSION = 300; DEVELOPMENT_TEAM = 5NN7GUYB6T; ENABLE_USER_SCRIPT_SANDBOXING = YES; GCC_C_LANGUAGE_STANDARD = gnu17; From f82b9a1a5a6747538be14e38787ea1109f63c203 Mon Sep 17 00:00:00 2001 From: Evgeny Poberezkin Date: Wed, 8 Oct 2025 18:19:34 +0100 Subject: [PATCH 13/38] core: fix query in postgres --- src/Simplex/Chat/Store/Groups.hs | 1 + 1 file changed, 1 insertion(+) diff --git a/src/Simplex/Chat/Store/Groups.hs b/src/Simplex/Chat/Store/Groups.hs index 720d9f50d9..00aa527603 100644 --- a/src/Simplex/Chat/Store/Groups.hs +++ b/src/Simplex/Chat/Store/Groups.hs @@ -1023,6 +1023,7 @@ getGroupMembersForExpiration db vr user@User {userId, userContactId} GroupInfo { <$> DB.query db ( groupMemberQuery + <> " " <> [sql| WHERE m.group_id = ? AND m.user_id = ? AND (m.contact_id IS NULL OR m.contact_id != ?) AND m.member_status IN (?, ?, ?, ?) From 65e215509b252cdd8ce8a442b618a9ef8232599f Mon Sep 17 00:00:00 2001 From: Evgeny Date: Thu, 9 Oct 2025 22:46:42 +0100 Subject: [PATCH 14/38] core: subscribe all queues (#6347) * core: subscribe all queues * tests, plans, fixes * enable tests --- bots/src/API/Docs/Events.hs | 5 - cabal.project | 2 +- src/Simplex/Chat.hs | 1 - src/Simplex/Chat/Controller.hs | 12 +- src/Simplex/Chat/Library/Commands.hs | 66 +------- src/Simplex/Chat/Library/Subscriber.hs | 14 +- src/Simplex/Chat/Mobile.hs | 1 - .../SQLite/Migrations/agent_query_plans.txt | 102 ++++++++++-- .../SQLite/Migrations/chat_query_plans.txt | 152 +----------------- src/Simplex/Chat/Terminal/Output.hs | 7 +- src/Simplex/Chat/Types.hs | 2 +- src/Simplex/Chat/View.hs | 14 +- tests/Bots/BroadcastTests.hs | 2 +- tests/Bots/DirectoryTests.hs | 10 +- tests/ChatTests/Direct.hs | 92 ++++++----- tests/ChatTests/Files.hs | 8 +- tests/ChatTests/Groups.hs | 78 ++++----- tests/ChatTests/Profiles.hs | 71 ++++---- tests/MobileTests.hs | 11 +- 19 files changed, 232 insertions(+), 418 deletions(-) diff --git a/bots/src/API/Docs/Events.hs b/bots/src/API/Docs/Events.hs index 92303a68b6..fc303d12de 100644 --- a/bots/src/API/Docs/Events.hs +++ b/bots/src/API/Docs/Events.hs @@ -174,10 +174,6 @@ undocumentedEvents = "CEvtContactPQEnabled", "CEvtContactRatchetSync", "CEvtContactRequestAlreadyAccepted", - "CEvtContactsDisconnected", - "CEvtContactsSubscribed", - "CEvtConnSubError", - "CEvtConnSubSummary", "CEvtContactSwitch", "CEvtCustomChatEvent", "CEvtGroupMemberRatchetSync", @@ -185,7 +181,6 @@ undocumentedEvents = "CEvtHostConnected", "CEvtHostDisconnected", "CEvtNetworkStatus", - "CEvtNetworkStatuses", "CEvtNewRemoteHost", "CEvtNoMemberContactCreating", "CEvtNtfMessage", diff --git a/cabal.project b/cabal.project index 7580f232e1..b2a8dc4dca 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: a3d1a72eb06df0dc6e1f2a8d72cab8535870fb03 + tag: 80aa56cbcce92f4b61cda06a965eef3d0f640df1 source-repository-package type: git diff --git a/src/Simplex/Chat.hs b/src/Simplex/Chat.hs index 29100c731a..c64954498a 100644 --- a/src/Simplex/Chat.hs +++ b/src/Simplex/Chat.hs @@ -106,7 +106,6 @@ defaultChatConfig = cleanupManagerInterval = 30 * 60, -- 30 minutes cleanupManagerStepDelay = 3 * 1000000, -- 3 seconds ciExpirationInterval = 30 * 60 * 1000000, -- 30 minutes - coreApi = False, highlyAvailable = False, deliveryWorkerDelay = 0, deliveryBucketSize = 10000, diff --git a/src/Simplex/Chat/Controller.hs b/src/Simplex/Chat/Controller.hs index 49cb3b499d..849510c489 100644 --- a/src/Simplex/Chat/Controller.hs +++ b/src/Simplex/Chat/Controller.hs @@ -155,7 +155,6 @@ data ChatConfig = ChatConfig cleanupManagerInterval :: NominalDiffTime, cleanupManagerStepDelay :: Int64, ciExpirationInterval :: Int64, -- microseconds - coreApi :: Bool, deliveryWorkerDelay :: Int64, -- microseconds deliveryBucketSize :: Int, highlyAvailable :: Bool, @@ -827,12 +826,7 @@ data ChatEvent | CEvtContactSndReady {user :: User, contact :: Contact} | CEvtContactAnotherClient {user :: User, contact :: Contact} | CEvtSubscriptionEnd {user :: User, connectionEntity :: ConnectionEntity} - | CEvtContactsDisconnected {server :: SMPServer, contactRefs :: [ContactRef]} - | CEvtContactsSubscribed {server :: SMPServer, contactRefs :: [ContactRef]} - | CEvtConnSubError {user :: User, agentConnId :: AgentConnId, chatError :: ChatError} - | CEvtConnSubSummary {user :: User, connSubResults :: [ConnSubResult]} - | CEvtNetworkStatus {networkStatus :: NetworkStatus, connections :: [AgentConnId]} - | CEvtNetworkStatuses {user_ :: Maybe User, networkStatuses :: [ConnNetworkStatus]} -- there is the same command response + | CEvtNetworkStatus {server :: SMPServer, networkStatus :: NetworkStatus, connections :: [AgentConnId]} | CEvtHostConnected {protocol :: AProtocolType, transportHost :: TransportHost} | CEvtHostDisconnected {protocol :: AProtocolType, transportHost :: TransportHost} | CEvtReceivedGroupInvitation {user :: User, groupInfo :: GroupInfo, contact :: Contact, fromMemberRole :: GroupMemberRole, memberRole :: GroupMemberRole} @@ -912,9 +906,7 @@ allowRemoteEvent = \case logEventToFile :: ChatEvent -> Bool logEventToFile = \case - CEvtContactsDisconnected {} -> True - CEvtContactsSubscribed {} -> True - CEvtConnSubError {} -> True + CEvtNetworkStatus {} -> True CEvtHostConnected {} -> True CEvtHostDisconnected {} -> True CEvtConnectionDisabled {} -> True diff --git a/src/Simplex/Chat/Library/Commands.hs b/src/Simplex/Chat/Library/Commands.hs index 47c4dbe46d..b1717b565a 100644 --- a/src/Simplex/Chat/Library/Commands.hs +++ b/src/Simplex/Chat/Library/Commands.hs @@ -103,7 +103,6 @@ import Simplex.Messaging.Crypto.Ratchet (PQEncryption (..), PQSupport (..), patt import Simplex.Messaging.Encoding.String import Simplex.Messaging.Parsers (base64P) import Simplex.Messaging.Protocol (AProtoServerWithAuth (..), AProtocolType (..), MsgFlags (..), NtfServer, ProtoServerWithAuth (..), ProtocolServer, ProtocolType (..), ProtocolTypeI (..), SProtocolType (..), SubscriptionMode (..), UserProtocol, userProtocol) -import qualified Simplex.Messaging.Protocol as SMP import Simplex.Messaging.ServiceScheme (ServiceScheme (..)) import qualified Simplex.Messaging.TMap as TM import Simplex.Messaging.Transport.Client (defaultSocksProxyWithAuth) @@ -213,12 +212,8 @@ startChatController mainApp enableSndFiles = do subscribeUsers :: Bool -> [User] -> CM' () subscribeUsers onlyNeeded users = do - let (us, us') = partition activeUser users - subscribe us - subscribe us' - where - subscribe :: [User] -> CM' () - subscribe = mapM_ $ runExceptT . subscribeUserConnections onlyNeeded + let activeUserId_ = (\User {agentUserId = AgentUserId uId} -> uId) <$> find activeUser users + withAgent (\a -> subscribeAllConnections a onlyNeeded activeUserId_) `catchAllErrors'` eToView' startFilesToReceive :: [User] -> CM' () startFilesToReceive users = do @@ -4133,63 +4128,6 @@ agentSubscriber = do type AgentSubResult = Map ConnId (Either AgentErrorType (Maybe ClientServiceId)) --- TODO [certs rcv] -subscribeUserConnections :: Bool -> User -> CM () -subscribeUserConnections onlyNeeded user = do - (ctConnIds, uclConnIds, memberConnIds, pendingConnIds) <- - withStore' $ \db -> do - ctConnIds <- getContactConnsToSub db user onlyNeeded - uclConnIds <- getUCLConnsToSub db user onlyNeeded - memberConnIds <- getMemberConnsToSub db user onlyNeeded - pendingConnIds <- getPendingConnsToSub db user onlyNeeded - unsetConnectionToSubscribe db user - pure (ctConnIds, uclConnIds, memberConnIds, pendingConnIds) - let allConnIds = ctConnIds <> uclConnIds <> memberConnIds <> pendingConnIds - rs <- withAgent $ \a -> subscribeConnections a allConnIds - processContactNetStatuses rs ctConnIds - unlessM (asks $ coreApi . config) $ notifyCLI rs allConnIds - where - processContactNetStatuses :: AgentSubResult -> [ConnId] -> CM () - processContactNetStatuses rs ctConnIds = do - chatModifyVar connNetworkStatuses $ M.union (M.fromList statuses) - let networkStatuses = map (uncurry ConnNetworkStatus) statuses - toView $ CEvtNetworkStatuses (Just user) networkStatuses - where - statuses :: [(AgentConnId, NetworkStatus)] - statuses = foldr' addStatus [] ctConnIds - where - addStatus :: ConnId -> [(AgentConnId, NetworkStatus)] -> [(AgentConnId, NetworkStatus)] - addStatus connId nss = - let ns = (AgentConnId connId, netStatus $ subSuccessOrErr connId rs) - in ns : nss - netStatus :: Maybe ChatError -> NetworkStatus - netStatus = maybe NSConnected $ NSError . errorNetworkStatus - errorNetworkStatus :: ChatError -> String - errorNetworkStatus = \case - ChatErrorAgent (BROKER _ (NETWORK _)) _ -> "network" - ChatErrorAgent (SMP _ SMP.AUTH) _ -> "contact deleted" - e -> show e - notifyCLI :: AgentSubResult -> [ConnId] -> CM () - notifyCLI rs connIds = do - let connSubResults = map (\(acId, err_) -> ConnSubResult (AgentConnId acId) err_) connIdsResults - toView $ CEvtConnSubSummary user connSubResults - whenM (asks $ subscriptionEvents . config) $ do - let connSubErrs = filterErrors connIdsResults - mapM_ (toView . uncurry (CEvtConnSubError user . AgentConnId)) connSubErrs - where - connIdsResults :: [(ConnId, Maybe ChatError)] - connIdsResults = foldr' addResult [] connIds - where - addResult :: ConnId -> [(ConnId, Maybe ChatError)] -> [(ConnId, Maybe ChatError)] - addResult connId idsResults = (connId, subSuccessOrErr connId rs) : idsResults - filterErrors :: [(ConnId, Maybe ChatError)] -> [(ConnId, ChatError)] - filterErrors = mapMaybe (\(a, e_) -> (a,) <$> e_) - subSuccessOrErr :: ConnId -> AgentSubResult -> Maybe ChatError - subSuccessOrErr connId rs = case M.lookup connId rs of - Just (Right _) -> Nothing -- success - Just (Left e) -> Just $ ChatErrorAgent e Nothing - Nothing -> Just . ChatError . CEAgentNoSubResult $ AgentConnId connId - cleanupManager :: CM () cleanupManager = do interval <- asks (cleanupManagerInterval . config) diff --git a/src/Simplex/Chat/Library/Subscriber.hs b/src/Simplex/Chat/Library/Subscriber.hs index b6c17f6413..ab316ddcae 100644 --- a/src/Simplex/Chat/Library/Subscriber.hs +++ b/src/Simplex/Chat/Library/Subscriber.hs @@ -131,23 +131,19 @@ processAgentMessageNoConn :: AEvent 'AENone -> CM () processAgentMessageNoConn = \case CONNECT p h -> hostEvent $ CEvtHostConnected p h DISCONNECT p h -> hostEvent $ CEvtHostDisconnected p h - DOWN srv conns -> serverEvent srv conns NSDisconnected CEvtContactsDisconnected - UP srv conns -> serverEvent srv conns NSConnected CEvtContactsSubscribed + DOWN srv conns -> serverEvent srv NSDisconnected conns + UP srv conns -> serverEvent srv NSConnected conns SUSPENDED -> toView CEvtChatSuspended DEL_USER agentUserId -> toView $ CEvtAgentUserDeleted agentUserId - ERRS cErrs -> errsEvent cErrs + ERRS cErrs -> errsEvent $ L.toList cErrs where hostEvent :: ChatEvent -> CM () hostEvent = whenM (asks $ hostEvents . config) . toView - serverEvent srv conns nsStatus event = do + serverEvent srv nsStatus conns = do chatModifyVar connNetworkStatuses $ \m -> foldl' (\m' cId -> M.insert cId nsStatus m') m connIds - ifM (asks $ coreApi . config) (notifyAPI connIds) notifyCLI + toView $ CEvtNetworkStatus srv nsStatus connIds where connIds = map AgentConnId conns - notifyAPI = toView . CEvtNetworkStatus nsStatus - notifyCLI = do - cs <- withStore' (`getConnectionsContacts` conns) - toView $ event srv cs errsEvent :: [(ConnId, AgentErrorType)] -> CM () errsEvent cErrs = do vr <- chatVersionRange diff --git a/src/Simplex/Chat/Mobile.hs b/src/Simplex/Chat/Mobile.hs index fc61fa6fb5..b22cfebcdd 100644 --- a/src/Simplex/Chat/Mobile.hs +++ b/src/Simplex/Chat/Mobile.hs @@ -277,7 +277,6 @@ defaultMobileConfig = defaultChatConfig { confirmMigrations = MCYesUp, logLevel = CLLError, - coreApi = True, deviceNameForRemote = "Mobile" } diff --git a/src/Simplex/Chat/Store/SQLite/Migrations/agent_query_plans.txt b/src/Simplex/Chat/Store/SQLite/Migrations/agent_query_plans.txt index 418ff56f48..0175df531b 100644 --- a/src/Simplex/Chat/Store/SQLite/Migrations/agent_query_plans.txt +++ b/src/Simplex/Chat/Store/SQLite/Migrations/agent_query_plans.txt @@ -378,14 +378,40 @@ USE TEMP B-TREE FOR DISTINCT Query: SELECT DISTINCT c.conn_id, c.host, c.port, COALESCE(c.server_key_hash, s.key_hash) FROM commands c + JOIN connections cs ON c.conn_id = cs.conn_id LEFT JOIN servers s ON s.host = c.host AND s.port = c.port - ORDER BY c.conn_id + WHERE cs.deleted = 0 Plan: SCAN c USING INDEX idx_commands_conn_id +SEARCH cs USING PRIMARY KEY (conn_id=?) SEARCH s USING PRIMARY KEY (host=? AND port=?) LEFT-JOIN USE TEMP B-TREE FOR DISTINCT +Query: + SELECT DISTINCT c.user_id, q.host, q.port, COALESCE(q.server_key_hash, s.key_hash) + FROM rcv_queues q + JOIN servers s ON q.host = s.host AND q.port = s.port + JOIN connections c ON q.conn_id = c.conn_id + WHERE c.deleted = 0 AND q.deleted = 0 +Plan: +SCAN q USING INDEX idx_rcv_queues_link_id +SEARCH c USING PRIMARY KEY (conn_id=?) +SEARCH s USING PRIMARY KEY (host=? AND port=?) +USE TEMP B-TREE FOR DISTINCT + +Query: + SELECT DISTINCT c.user_id, q.host, q.port, COALESCE(q.server_key_hash, s.key_hash) + FROM rcv_queues q + JOIN servers s ON q.host = s.host AND q.port = s.port + JOIN connections c ON q.conn_id = c.conn_id + WHERE q.to_subscribe = 1 AND c.deleted = 0 AND q.deleted = 0 +Plan: +SEARCH q USING INDEX idx_rcv_queues_to_subscribe (to_subscribe=?) +SEARCH s USING PRIMARY KEY (host=? AND port=?) +SEARCH c USING PRIMARY KEY (conn_id=?) +USE TEMP B-TREE FOR DISTINCT + Query: SELECT DISTINCT ntf_host, ntf_port, ntf_key_hash FROM ntf_tokens_to_delete @@ -555,10 +581,10 @@ SEARCH messages USING COVERING INDEX idx_messages_conn_id_internal_rcv_id (conn_ Query: INSERT INTO rcv_queues ( host, port, rcv_id, conn_id, rcv_private_key, rcv_dh_secret, e2e_priv_key, e2e_dh_secret, - snd_id, queue_mode, status, rcv_queue_id, rcv_primary, replace_rcv_queue_id, smp_client_version, server_key_hash, + snd_id, queue_mode, status, to_subscribe, rcv_queue_id, rcv_primary, replace_rcv_queue_id, smp_client_version, server_key_hash, link_id, link_key, link_priv_sig_key, link_enc_fixed_data, ntf_public_key, ntf_private_key, ntf_id, rcv_ntf_dh_secret - ) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?); + ) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?); Plan: @@ -580,16 +606,15 @@ SEARCH messages USING COVERING INDEX idx_messages_conn_id_internal_snd_id (conn_ Query: INSERT INTO snd_queues - (host, port, snd_id, queue_mode, conn_id, snd_public_key, snd_private_key, e2e_pub_key, e2e_dh_secret, + (host, port, snd_id, queue_mode, conn_id, snd_private_key, e2e_pub_key, e2e_dh_secret, status, snd_queue_id, snd_primary, replace_snd_queue_id, smp_client_version, server_key_hash) - VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?) + VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?) ON CONFLICT (host, port, snd_id) DO UPDATE SET host=EXCLUDED.host, port=EXCLUDED.port, snd_id=EXCLUDED.snd_id, queue_mode=EXCLUDED.queue_mode, conn_id=EXCLUDED.conn_id, - snd_public_key=EXCLUDED.snd_public_key, snd_private_key=EXCLUDED.snd_private_key, e2e_pub_key=EXCLUDED.e2e_pub_key, e2e_dh_secret=EXCLUDED.e2e_dh_secret, @@ -734,7 +759,28 @@ SEARCH snd_queues USING PRIMARY KEY (host=? AND port=? AND snd_id=?) Query: SELECT c.user_id, COALESCE(q.server_key_hash, s.key_hash), q.conn_id, q.host, q.port, q.snd_id, q.queue_mode, - q.snd_public_key, q.snd_private_key, q.e2e_pub_key, q.e2e_dh_secret, q.status, + q.snd_private_key, q.e2e_pub_key, q.e2e_dh_secret, q.status, + q.snd_queue_id, q.snd_primary, q.replace_snd_queue_id, q.switch_status, q.smp_client_version + FROM snd_queues q + JOIN servers s ON q.host = s.host AND q.port = s.port + JOIN connections c ON q.conn_id = c.conn_id + + JOIN (SELECT DISTINCT conn_id, snd_queue_id FROM snd_message_deliveries WHERE failed = 0) d + ON d.conn_id = q.conn_id AND d.snd_queue_id = q.snd_queue_id + WHERE c.deleted = 0 + +Plan: +MATERIALIZE d +SCAN snd_message_deliveries USING COVERING INDEX idx_snd_message_deliveries_expired +SCAN d +SEARCH q USING INDEX idx_snd_queue_id (conn_id=? AND snd_queue_id=?) +SEARCH s USING PRIMARY KEY (host=? AND port=?) +SEARCH c USING PRIMARY KEY (conn_id=?) + +Query: + SELECT + c.user_id, COALESCE(q.server_key_hash, s.key_hash), q.conn_id, q.host, q.port, q.snd_id, q.queue_mode, + q.snd_private_key, q.e2e_pub_key, q.e2e_dh_secret, q.status, q.snd_queue_id, q.snd_primary, q.replace_snd_queue_id, q.switch_status, q.smp_client_version FROM snd_queues q JOIN servers s ON q.host = s.host AND q.port = s.port @@ -747,7 +793,7 @@ SEARCH s USING PRIMARY KEY (host=? AND port=?) Query: SELECT c.user_id, COALESCE(q.server_key_hash, s.key_hash), q.conn_id, q.host, q.port, q.rcv_id, q.rcv_private_key, q.rcv_dh_secret, - q.e2e_priv_key, q.e2e_dh_secret, q.snd_id, q.queue_mode, q.status, + q.e2e_priv_key, q.e2e_dh_secret, q.snd_id, q.queue_mode, q.status, c.enable_ntfs, q.rcv_queue_id, q.rcv_primary, q.replace_rcv_queue_id, q.switch_status, q.smp_client_version, q.delete_errors, q.ntf_public_key, q.ntf_private_key, q.ntf_id, q.rcv_ntf_dh_secret, q.link_id, q.link_key, q.link_priv_sig_key, q.link_enc_fixed_data @@ -762,7 +808,7 @@ SEARCH s USING PRIMARY KEY (host=? AND port=?) Query: SELECT c.user_id, COALESCE(q.server_key_hash, s.key_hash), q.conn_id, q.host, q.port, q.rcv_id, q.rcv_private_key, q.rcv_dh_secret, - q.e2e_priv_key, q.e2e_dh_secret, q.snd_id, q.queue_mode, q.status, + q.e2e_priv_key, q.e2e_dh_secret, q.snd_id, q.queue_mode, q.status, c.enable_ntfs, q.rcv_queue_id, q.rcv_primary, q.replace_rcv_queue_id, q.switch_status, q.smp_client_version, q.delete_errors, q.ntf_public_key, q.ntf_private_key, q.ntf_id, q.rcv_ntf_dh_secret, q.link_id, q.link_key, q.link_priv_sig_key, q.link_enc_fixed_data @@ -777,7 +823,7 @@ SEARCH c USING PRIMARY KEY (conn_id=?) Query: SELECT c.user_id, COALESCE(q.server_key_hash, s.key_hash), q.conn_id, q.host, q.port, q.rcv_id, q.rcv_private_key, q.rcv_dh_secret, - q.e2e_priv_key, q.e2e_dh_secret, q.snd_id, q.queue_mode, q.status, + q.e2e_priv_key, q.e2e_dh_secret, q.snd_id, q.queue_mode, q.status, c.enable_ntfs, q.rcv_queue_id, q.rcv_primary, q.replace_rcv_queue_id, q.switch_status, q.smp_client_version, q.delete_errors, q.ntf_public_key, q.ntf_private_key, q.ntf_id, q.rcv_ntf_dh_secret, q.link_id, q.link_key, q.link_priv_sig_key, q.link_enc_fixed_data @@ -792,7 +838,7 @@ SEARCH c USING PRIMARY KEY (conn_id=?) Query: SELECT c.user_id, COALESCE(q.server_key_hash, s.key_hash), q.conn_id, q.host, q.port, q.rcv_id, q.rcv_private_key, q.rcv_dh_secret, - q.e2e_priv_key, q.e2e_dh_secret, q.snd_id, q.queue_mode, q.status, + q.e2e_priv_key, q.e2e_dh_secret, q.snd_id, q.queue_mode, q.status, c.enable_ntfs, q.rcv_queue_id, q.rcv_primary, q.replace_rcv_queue_id, q.switch_status, q.smp_client_version, q.delete_errors, q.ntf_public_key, q.ntf_private_key, q.ntf_id, q.rcv_ntf_dh_secret, q.link_id, q.link_key, q.link_priv_sig_key, q.link_enc_fixed_data @@ -807,7 +853,7 @@ SEARCH s USING PRIMARY KEY (host=? AND port=?) Query: SELECT c.user_id, COALESCE(q.server_key_hash, s.key_hash), q.conn_id, q.host, q.port, q.rcv_id, q.rcv_private_key, q.rcv_dh_secret, - q.e2e_priv_key, q.e2e_dh_secret, q.snd_id, q.queue_mode, q.status, + q.e2e_priv_key, q.e2e_dh_secret, q.snd_id, q.queue_mode, q.status, c.enable_ntfs, q.rcv_queue_id, q.rcv_primary, q.replace_rcv_queue_id, q.switch_status, q.smp_client_version, q.delete_errors, q.ntf_public_key, q.ntf_private_key, q.ntf_id, q.rcv_ntf_dh_secret, q.link_id, q.link_key, q.link_priv_sig_key, q.link_enc_fixed_data @@ -820,6 +866,30 @@ SEARCH q USING PRIMARY KEY (host=? AND port=? AND rcv_id=?) SEARCH s USING PRIMARY KEY (host=? AND port=?) SEARCH c USING PRIMARY KEY (conn_id=?) +Query: + SELECT c.user_id, q.conn_id, q.host, q.port, COALESCE(q.server_key_hash, s.key_hash), q.rcv_id, q.rcv_private_key, q.status, c.enable_ntfs, + q.rcv_queue_id, q.rcv_primary, q.replace_rcv_queue_id + FROM rcv_queues q + JOIN servers s ON q.host = s.host AND q.port = s.port + JOIN connections c ON q.conn_id = c.conn_id + WHERE c.deleted = 0 AND q.deleted = 0 AND c.user_id = ? AND q.host = ? AND q.port = ? +Plan: +SEARCH s USING PRIMARY KEY (host=? AND port=?) +SEARCH q USING PRIMARY KEY (host=? AND port=?) +SEARCH c USING PRIMARY KEY (conn_id=?) + +Query: + SELECT c.user_id, q.conn_id, q.host, q.port, COALESCE(q.server_key_hash, s.key_hash), q.rcv_id, q.rcv_private_key, q.status, c.enable_ntfs, + q.rcv_queue_id, q.rcv_primary, q.replace_rcv_queue_id + FROM rcv_queues q + JOIN servers s ON q.host = s.host AND q.port = s.port + JOIN connections c ON q.conn_id = c.conn_id + WHERE q.to_subscribe = 1 AND c.deleted = 0 AND q.deleted = 0 AND c.user_id = ? AND q.host = ? AND q.port = ? +Plan: +SEARCH q USING INDEX idx_rcv_queues_to_subscribe (to_subscribe=? AND host=? AND port=?) +SEARCH c USING PRIMARY KEY (conn_id=?) +SEARCH s USING PRIMARY KEY (host=? AND port=?) + Query: DELETE FROM commands WHERE command_id = ? Plan: SEARCH commands USING INTEGER PRIMARY KEY (rowid=?) @@ -965,10 +1035,6 @@ Query: SELECT 1 FROM snd_message_deliveries WHERE conn_id = ? AND failed = 0 LIM Plan: SEARCH snd_message_deliveries USING COVERING INDEX idx_snd_message_deliveries_expired (conn_id=?) -Query: SELECT DISTINCT conn_id FROM snd_message_deliveries WHERE failed = 0 -Plan: -SCAN snd_message_deliveries USING COVERING INDEX idx_snd_message_deliveries_expired - Query: SELECT conn_id FROM connections WHERE user_id = ? Plan: SEARCH connections USING COVERING INDEX idx_connections_user (user_id=?) @@ -1129,6 +1195,10 @@ Query: UPDATE rcv_queues SET rcv_primary = ?, replace_rcv_queue_id = ? WHERE con Plan: SEARCH rcv_queues USING COVERING INDEX idx_rcv_queue_id (conn_id=? AND rcv_queue_id=?) +Query: UPDATE rcv_queues SET to_subscribe = 0 WHERE to_subscribe = 1 +Plan: +SEARCH rcv_queues USING COVERING INDEX idx_rcv_queues_to_subscribe (to_subscribe=?) + Query: UPDATE servers_stats SET servers_stats = ?, updated_at = ? WHERE servers_stats_id = 1 Plan: SEARCH servers_stats USING INTEGER PRIMARY KEY (rowid=?) diff --git a/src/Simplex/Chat/Store/SQLite/Migrations/chat_query_plans.txt b/src/Simplex/Chat/Store/SQLite/Migrations/chat_query_plans.txt index 0b8a53ff3f..b15b6b9dd6 100644 --- a/src/Simplex/Chat/Store/SQLite/Migrations/chat_query_plans.txt +++ b/src/Simplex/Chat/Store/SQLite/Migrations/chat_query_plans.txt @@ -1355,20 +1355,6 @@ SEARCH cp USING COVERING INDEX idx_contact_profiles_contact_link (user_id=? AND SEARCH ct USING COVERING INDEX idx_contacts_contact_profile_id (contact_profile_id=?) SEARCH c USING COVERING INDEX idx_connections_contact_id (contact_id=?) LEFT-JOIN -Query: - SELECT ct.contact_id, c.connection_id, c.agent_conn_id, ct.local_display_name - FROM contacts ct - JOIN connections c ON c.contact_id = ct.contact_id - WHERE c.agent_conn_id IN (SELECT conn_id FROM temp_conn_ids) - AND c.conn_type = ? - AND ct.deleted = 0 - -Plan: -SEARCH c USING INDEX sqlite_autoindex_connections_1 (agent_conn_id=?) -LIST SUBQUERY 1 -SCAN temp_conn_ids -SEARCH ct USING INTEGER PRIMARY KEY (rowid=?) - Query: SELECT g.group_id FROM groups g @@ -3117,76 +3103,6 @@ Query: Plan: SEARCH chat_items USING COVERING INDEX idx_chat_items_notes (user_id=? AND note_folder_id=? AND item_status=?) -Query: - SELECT agent_conn_id - FROM connections - WHERE user_id = ? - - AND conn_type = ? - AND contact_id IS NULL - AND conn_status != ? - -Plan: -SEARCH connections USING INDEX idx_connections_contact_id (contact_id=?) - -Query: - SELECT agent_conn_id - FROM connections - WHERE user_id = ? - AND to_subscribe = 1 - AND conn_type = ? - AND contact_id IS NULL - AND conn_status != ? - -Plan: -SEARCH connections USING INDEX idx_connections_contact_id (contact_id=?) - -Query: - SELECT c.agent_conn_id - FROM connections c - JOIN contacts ct ON ct.contact_id = c.contact_id - WHERE c.user_id = ? - - AND c.conn_status != ? - AND ct.contact_status = ? AND ct.deleted = 0 - -Plan: -SEARCH c USING INDEX idx_connections_to_subscribe (user_id=?) -SEARCH ct USING INTEGER PRIMARY KEY (rowid=?) - -Query: - SELECT c.agent_conn_id - FROM connections c - JOIN contacts ct ON ct.contact_id = c.contact_id - WHERE c.user_id = ? - AND c.to_subscribe = 1 - AND c.conn_status != ? - AND ct.contact_status = ? AND ct.deleted = 0 - -Plan: -SEARCH c USING INDEX idx_connections_to_subscribe (user_id=? AND to_subscribe=?) -SEARCH ct USING INTEGER PRIMARY KEY (rowid=?) - -Query: - SELECT c.agent_conn_id - FROM connections c - JOIN user_contact_links ucl ON ucl.user_contact_link_id = c.user_contact_link_id - WHERE c.user_id = ? - AND c.conn_status != ? -Plan: -SEARCH c USING INDEX idx_connections_to_subscribe (user_id=?) -SEARCH ucl USING INTEGER PRIMARY KEY (rowid=?) - -Query: - SELECT c.agent_conn_id - FROM connections c - JOIN user_contact_links ucl ON ucl.user_contact_link_id = c.user_contact_link_id - WHERE c.user_id = ? - AND c.to_subscribe = 1 AND c.conn_status != ? -Plan: -SEARCH c USING INDEX idx_connections_to_subscribe (user_id=? AND to_subscribe=?) -SEARCH ucl USING INTEGER PRIMARY KEY (rowid=?) - Query: SELECT c.connection_id, c.agent_conn_id, c.conn_level, c.via_contact, c.via_user_contact_link, c.via_group_link, c.group_link_id, c.xcontact_id, c.custom_user_profile_id, c.conn_status, c.conn_type, c.contact_conn_initiated, c.local_alias, c.contact_id, c.group_member_id, c.user_contact_link_id, @@ -3837,56 +3753,6 @@ Query: Plan: SEARCH groups USING INTEGER PRIMARY KEY (rowid=?) -Query: - WITH user_groups AS MATERIALIZED ( - SELECT g.group_id - FROM groups g - JOIN group_members mu ON mu.group_id = g.group_id - WHERE g.user_id = ? - AND mu.contact_id = ? - AND mu.member_status NOT IN (?,?,?) - ) - SELECT c.agent_conn_id - FROM connections c - JOIN group_members m ON m.group_member_id = c.group_member_id - JOIN user_groups ug ON ug.group_id = m.group_id - WHERE c.user_id = ? - AND c.conn_status != ? - AND m.member_status NOT IN (?,?,?) - -Plan: -MATERIALIZE user_groups -SEARCH mu USING INDEX idx_group_members_contact_id (contact_id=?) -SEARCH g USING INTEGER PRIMARY KEY (rowid=?) -SEARCH c USING INDEX idx_connections_to_subscribe (user_id=?) -SEARCH m USING INTEGER PRIMARY KEY (rowid=?) -SEARCH ug USING AUTOMATIC COVERING INDEX (group_id=?) - -Query: - WITH user_groups AS MATERIALIZED ( - SELECT g.group_id - FROM groups g - JOIN group_members mu ON mu.group_id = g.group_id - WHERE g.user_id = ? - AND mu.contact_id = ? - AND mu.member_status NOT IN (?,?,?) - ) - SELECT c.agent_conn_id - FROM connections c - JOIN group_members m ON m.group_member_id = c.group_member_id - JOIN user_groups ug ON ug.group_id = m.group_id - WHERE c.user_id = ? - AND c.conn_status != ? - AND m.member_status NOT IN (?,?,?) - AND c.to_subscribe = 1 -Plan: -MATERIALIZE user_groups -SEARCH mu USING INDEX idx_group_members_contact_id (contact_id=?) -SEARCH g USING INTEGER PRIMARY KEY (rowid=?) -SEARCH c USING INDEX idx_connections_to_subscribe (user_id=? AND to_subscribe=?) -SEARCH m USING INTEGER PRIMARY KEY (rowid=?) -SEARCH ug USING AUTOMATIC COVERING INDEX (group_id=?) - Query: DELETE FROM chat_items WHERE group_scope_group_member_id = ? @@ -5133,7 +4999,7 @@ Query: FROM group_members m JOIN contact_profiles p ON p.contact_profile_id = COALESCE(m.member_profile_id, m.contact_profile_id) LEFT JOIN connections c ON c.group_member_id = m.group_member_id - + WHERE m.group_id = ? AND m.user_id = ? AND (m.contact_id IS NULL OR m.contact_id != ?) AND m.member_status IN (?, ?, ?, ?) AND m.group_member_id NOT IN ( @@ -5575,9 +5441,6 @@ Query: SELECT chat_item_id FROM chat_items WHERE user_id = ? AND group_id = ? Plan: SEARCH chat_items USING COVERING INDEX idx_chat_items_groups_msg_content_tag_item_ts (user_id=? AND group_id=? AND msg_content_tag=?) -Query: CREATE TABLE temp_conn_ids (conn_id BLOB) -Error: SQLite3 returned ErrorError while attempting to perform prepare "explain query plan CREATE TABLE temp_conn_ids (conn_id BLOB)": table temp_conn_ids already exists - Query: CREATE TABLE temp_delete_members (contact_profile_id INTEGER, member_profile_id INTEGER, local_display_name TEXT) Error: SQLite3 returned ErrorError while attempting to perform prepare "explain query plan CREATE TABLE temp_delete_members (contact_profile_id INTEGER, member_profile_id INTEGER, local_display_name TEXT)": table temp_delete_members already exists @@ -5978,15 +5841,9 @@ SEARCH contacts USING COVERING INDEX sqlite_autoindex_contacts_2 (user_id=?) SEARCH display_names USING COVERING INDEX sqlite_autoindex_display_names_2 (user_id=?) SEARCH contact_profiles USING COVERING INDEX idx_contact_profiles_user_id (user_id=?) -Query: DROP TABLE IF EXISTS temp_conn_ids -Plan: - Query: DROP TABLE IF EXISTS temp_delete_members Plan: -Query: DROP TABLE temp_conn_ids -Plan: - Query: DROP TABLE temp_delete_members Plan: @@ -6083,9 +5940,6 @@ Query: INSERT INTO snd_files (file_id, file_status, file_descr_id, group_member_ Plan: SEARCH connections USING INTEGER PRIMARY KEY (rowid=?) -Query: INSERT INTO temp_conn_ids (conn_id) VALUES (?) -Plan: - Query: INSERT INTO user_contact_links (user_id, conn_req_contact, short_link_contact, short_link_data_set, short_link_large_data_set, created_at, updated_at) VALUES (?,?,?,?,?,?,?) Plan: @@ -6396,10 +6250,6 @@ Query: UPDATE connections SET security_code = ?, security_code_verified_at = ?, Plan: SEARCH connections USING INTEGER PRIMARY KEY (rowid=?) -Query: UPDATE connections SET to_subscribe = 0 WHERE user_id = ? AND to_subscribe = 1 -Plan: -SEARCH connections USING INDEX idx_connections_to_subscribe (user_id=? AND to_subscribe=?) - Query: UPDATE contact_requests SET business_group_id = ? WHERE contact_request_id = ? Plan: SEARCH contact_requests USING INTEGER PRIMARY KEY (rowid=?) diff --git a/src/Simplex/Chat/Terminal/Output.hs b/src/Simplex/Chat/Terminal/Output.hs index 8a37a4c477..ca591903ff 100644 --- a/src/Simplex/Chat/Terminal/Output.hs +++ b/src/Simplex/Chat/Terminal/Output.hs @@ -33,11 +33,9 @@ import Simplex.Chat.Styled import Simplex.Chat.Terminal.Notification (Notification (..), initializeNotifications) import Simplex.Chat.Types import Simplex.Chat.View -import Simplex.Messaging.Agent.Protocol -import Simplex.Messaging.Encoding.String import Simplex.Messaging.TMap (TMap) import qualified Simplex.Messaging.TMap as TM -import Simplex.Messaging.Util (safeDecodeUtf8, tshow) +import Simplex.Messaging.Util (tshow) import System.Console.ANSI.Types import System.IO (IOMode (..), hPutStrLn, withFile) import System.Mem.Weak (Weak) @@ -196,8 +194,6 @@ chatEventNotification t@ChatTerminal {sendNotification} cc = \case CEvtContactAnotherClient u ct -> do whenCurrUser cc u $ unsetActiveContact t ct when (contactNtf u ct False) $ sendNtf (viewContactName ct <> "> ", "connected to another client") - CEvtContactsDisconnected srv _ -> serverNtf srv "disconnected" - CEvtContactsSubscribed srv _ -> serverNtf srv "connected" CEvtReceivedGroupInvitation u g ct _ _ -> when (contactNtf u ct False) $ sendNtf ("#" <> viewGroupName g <> " " <> viewContactName ct <> "> ", "invited you to join the group") @@ -215,7 +211,6 @@ chatEventNotification t@ChatTerminal {sendNotification} cc = \case _ -> pure () where sendNtf = maybe (\_ -> pure ()) (. uncurry Notification) sendNotification - serverNtf (SMPServer host _ _) str = sendNtf ("server " <> str, safeDecodeUtf8 $ strEncode host) msgText :: MsgContent -> Maybe MarkdownList -> Text msgText (MCFile _) _ = "wants to send a file" diff --git a/src/Simplex/Chat/Types.hs b/src/Simplex/Chat/Types.hs index 0b1571eec2..c137ad5154 100644 --- a/src/Simplex/Chat/Types.hs +++ b/src/Simplex/Chat/Types.hs @@ -1813,7 +1813,7 @@ data NetworkStatus netStatusStr :: NetworkStatus -> String netStatusStr = \case NSUnknown -> "unknown" - NSConnected -> "connected" + NSConnected -> "subscribed" NSDisconnected -> "disconnected" NSError e -> "error: " <> e diff --git a/src/Simplex/Chat/View.hs b/src/Simplex/Chat/View.hs index 08ccefd536..a4602614cb 100644 --- a/src/Simplex/Chat/View.hs +++ b/src/Simplex/Chat/View.hs @@ -22,7 +22,7 @@ import qualified Data.ByteString.Lazy.Char8 as LB import Data.Char (isSpace, toUpper) import Data.Function (on) import Data.Int (Int64) -import Data.List (groupBy, intercalate, intersperse, partition, sortOn) +import Data.List (groupBy, intercalate, intersperse, sortOn) import Data.List.NonEmpty (NonEmpty (..)) import qualified Data.List.NonEmpty as L import Data.Map.Strict (Map) @@ -384,7 +384,7 @@ contactList :: [ContactRef] -> String contactList cs = T.unpack . T.intercalate ", " $ map (\ContactRef {localDisplayName = n} -> "@" <> n) cs chatEventToView :: (Maybe RemoteHostId, Maybe User) -> ChatConfig -> Bool -> CurrentTime -> TimeZone -> Maybe RemoteHostId -> ChatEvent -> [StyledString] -chatEventToView hu ChatConfig {logLevel, showReactions, showReceipts, testView, coreApi} liveItems ts tz outputRH = \case +chatEventToView hu ChatConfig {logLevel, showReactions, showReceipts, testView} liveItems ts tz outputRH = \case CEvtChatSuspended -> ["chat suspended"] CEvtContactSwitch u ct progress -> ttyUser u $ viewContactSwitch ct progress CEvtGroupMemberSwitch u g m progress -> ttyUser u $ viewGroupMemberSwitch g m progress @@ -452,15 +452,7 @@ chatEventToView hu ChatConfig {logLevel, showReactions, showReceipts, testView, CEvtSubscriptionEnd u acEntity -> let Connection {connId} = entityConnection acEntity in ttyUser u [sShow connId <> ": END"] - CEvtContactsDisconnected srv cs -> [plain $ "server disconnected " <> showSMPServer srv <> " (" <> contactList cs <> ")"] - CEvtContactsSubscribed srv cs -> [plain $ "server connected " <> showSMPServer srv <> " (" <> contactList cs <> ")"] - CEvtConnSubError u connId e -> ttyUser u ["conn ID " <> sShow connId <> ": subscription error " <> sShow e] - CEvtConnSubSummary u connSubResults -> - ttyUser u $ [sShow (length subscribed) <> " connections subscribed" | not (null subscribed)] <> viewSubErrorsSummary errs - where - (errs, subscribed) = partition (isJust . connSubError) connSubResults - CEvtNetworkStatus status conns -> if testView && coreApi then [plain $ show (length conns) <> " connections " <> netStatusStr status] else [] - CEvtNetworkStatuses u statuses -> if testView && coreApi then ttyUser' u $ viewNetworkStatuses statuses else [] + CEvtNetworkStatus srv status conns -> [plain $ netStatusStr status <> " " <> show (length conns) <> " connections on server " <> showSMPServer srv] CEvtReceivedGroupInvitation {user = u, groupInfo = g, contact = c, memberRole = r} -> ttyUser u $ viewReceivedGroupInvitation g c r CEvtUserJoinedGroup u g _ -> ttyUser u $ viewUserJoinedGroup g CEvtJoinedGroupMember u g m -> ttyUser u $ viewJoinedGroupMember g m diff --git a/tests/Bots/BroadcastTests.hs b/tests/Bots/BroadcastTests.hs index 40c05f21f3..f56a4d803d 100644 --- a/tests/Bots/BroadcastTests.hs +++ b/tests/Bots/BroadcastTests.hs @@ -71,7 +71,7 @@ testBroadcastMessages ps = do withTestChat ps "alice" $ \alice -> withNewTestChat ps "bob" bobProfile $ \bob -> withNewTestChat ps "cath" cathProfile $ \cath -> do - alice <## "1 connections subscribed" + alice <## "subscribed 1 connections on server localhost" bob `connectVia` botLink bob #> "@broadcast_bot hello" bob <# "broadcast_bot> > hello" diff --git a/tests/Bots/DirectoryTests.hs b/tests/Bots/DirectoryTests.hs index 6c3c657292..42d59cfa9f 100644 --- a/tests/Bots/DirectoryTests.hs +++ b/tests/Bots/DirectoryTests.hs @@ -1232,8 +1232,8 @@ testRestoreDirectory ps = do restoreDirectoryService ps 11 $ \superUser _dsLink -> withTestChat ps "bob" $ \bob -> withTestChat ps "cath" $ \cath -> do - bob <## "5 connections subscribed" - cath <## "5 connections subscribed" + bob <## "subscribed 5 connections on server localhost" + cath <## "subscribed 5 connections on server localhost" listGroups superUser bob cath groupFoundN 3 bob "privacy" groupFound bob "security" @@ -1365,7 +1365,7 @@ restoreDirectoryService :: HasCallStack => TestParams -> Int -> (TestCC -> Strin restoreDirectoryService ps connCount test = do dsLink <- withTestChat ps serviceDbPrefix $ \ds -> do - ds .<## (show connCount <> " connections subscribed") + ds .<## ("subscribed " <> show connCount <> " connections on server localhost") ds ##> "/sa" dsLink <- getContactLink ds False ds <## "auto_accept on" @@ -1381,8 +1381,8 @@ withDirectoryOwnersGroup ps cfg dsLink createOwnersGroup webFolder test = do runDirectory cfg opts $ withTestChatCfg ps cfg "super_user" $ \superUser -> do if createOwnersGroup - then superUser <## "2 connections subscribed" - else superUser <## "1 connections subscribed" + then superUser <## "subscribed 2 connections on server localhost" + else superUser <## "subscribed 1 connections on server localhost" test superUser dsLink runDirectory :: ChatConfig -> DirectoryOpts -> IO () -> IO () diff --git a/tests/ChatTests/Direct.hs b/tests/ChatTests/Direct.hs index 33c67b8fdd..74395bf24e 100644 --- a/tests/ChatTests/Direct.hs +++ b/tests/ChatTests/Direct.hs @@ -55,7 +55,7 @@ chatDirectTests = do describe "direct messages" $ do describe "add contact and send/receive messages" testAddContact it "retry connecting via the same link" testRetryConnecting - xit'' "retry connecting via the same link with client timeout" testRetryConnectingClientTimeout + it "retry connecting via the same link with client timeout" testRetryConnectingClientTimeout it "mark multiple messages as read" testMarkReadDirect it "clear chat with contact" testContactClear it "deleting contact deletes profile" testDeleteContactDeletesProfile @@ -243,14 +243,14 @@ testRetryConnecting ps = testChatCfgOpts2 cfg' opts' aliceProfile bobProfile tes inv <- withSmpServer' serverCfg' $ do alice ##> "/_connect 1" getInvitation alice - alice <## "server disconnected localhost ()" + alice <## "disconnected 1 connections on server localhost" bob ##> ("/_connect plan 1 " <> inv) bob <## "invitation link: ok to connect" _sLinkData <- getTermLine bob bob ##> ("/_connect 1 " <> inv) bob <##. "smp agent error: BROKER" withSmpServer' serverCfg' $ do - alice <## "server connected localhost ()" + alice <## "subscribed 1 connections on server localhost" threadDelay 250000 bob ##> ("/_connect plan 1 " <> inv) bob <## "invitation link: ok to connect" @@ -264,8 +264,8 @@ testRetryConnecting ps = testChatCfgOpts2 cfg' opts' aliceProfile bobProfile tes bob <# "alice> message 1" bob #> "@alice message 2" alice <# "bob> message 2" - bob <## "server disconnected localhost (@alice)" - alice <## "server disconnected localhost (@bob)" + bob <## "disconnected 1 connections on server localhost" + alice <## "disconnected 1 connections on server localhost" serverCfg' = smpServerCfg { transports = [("7003", transport @TLS, False)], @@ -312,8 +312,8 @@ testRetryConnectingClientTimeout ps = do withTestChatCfgOpts ps cfg' opts' "alice" $ \alice -> do withTestChatCfgOpts ps cfg' opts' "bob" $ \bob -> do threadDelay 250000 - alice <## "1 connections subscribed" - bob <## "1 subscription errors (run with -c option to show each error)" + alice <## "subscribed 1 connections on server localhost" + -- bob <## "1 subscription errors (run with -c option to show each error)" bob ##> ("/_connect plan 1 " <> inv) bob <## "invitation link: ok to connect" _sLinkData <- getTermLine bob @@ -1249,7 +1249,7 @@ testAsyncInitiatingOffline withShortLink aliceCfg bobCfg ps = do bob ##> ("/c " <> inv) bob <## "confirmation sent!" withTestChatCfg ps aliceCfg "alice" $ \alice -> do - alice <## "1 connections subscribed" + alice <## "subscribed 1 connections on server localhost" concurrently_ (bob <## "alice (Alice): contact is connected") (alice <## "bob (Bob): contact is connected") @@ -1265,8 +1265,8 @@ testAsyncAcceptingOffline withShortLink aliceCfg bobCfg ps = do bob <## "confirmation sent!" withTestChatCfg ps aliceCfg "alice" $ \alice -> do withTestChatCfg ps bobCfg "bob" $ \bob -> do - alice <## "1 connections subscribed" - bob <## "1 connections subscribed" + alice <## "subscribed 1 connections on server localhost" + bob <## "subscribed 1 connections on server localhost" concurrently_ (bob <## "alice (Alice): contact is connected") (alice <## "bob (Bob): contact is connected") @@ -1283,10 +1283,10 @@ testFullAsyncFast ps = do bob <## "confirmation sent!" threadDelay 250000 withTestChat ps "alice" $ \alice -> do - alice <## "1 connections subscribed" + alice <## "subscribed 1 connections on server localhost" alice <## "bob (Bob): contact is connected" withTestChat ps "bob" $ \bob -> do - bob <## "1 connections subscribed" + bob <## "subscribed 1 connections on server localhost" bob <## "alice (Alice): contact is connected" testFullAsyncSlow :: HasCallStack => Bool -> ChatConfig -> ChatConfig -> TestParams -> IO () @@ -1300,14 +1300,14 @@ testFullAsyncSlow withShortLink aliceCfg bobCfg ps = do bob ##> ("/c " <> inv) bob <## "confirmation sent!" withAlice $ \alice -> - alice <## "1 connections subscribed" + alice <## "subscribed 1 connections on server localhost" withBob $ \bob -> - bob <## "1 connections subscribed" + bob <## "subscribed 1 connections on server localhost" withAlice $ \alice -> do - alice <## "1 connections subscribed" + alice <## "subscribed 1 connections on server localhost" alice <## "bob (Bob): contact is connected" withBob $ \bob -> do - bob <## "1 connections subscribed" + bob <## "subscribed 1 connections on server localhost" bob <## "alice (Alice): contact is connected" where withAlice = withTestChatCfg ps aliceCfg "alice" @@ -1401,7 +1401,7 @@ testMaintenanceMode ps = do alice ##> "/_start" alice <## "chat started" -- chat works after start - alice <## "1 connections subscribed" + alice <## "subscribed 1 connections on server localhost" alice #> "@bob hi again" bob <# "alice> hi again" bob #> "@alice hello" @@ -1422,7 +1422,7 @@ testMaintenanceMode ps = do testChatWorking :: HasCallStack => TestCC -> TestCC -> IO () testChatWorking alice bob = do - alice <## "1 connections subscribed" + alice <## "subscribed 1 connections on server localhost" alice #> "@bob hello again" bob <# "alice> hello again" bob #> "@alice hello too" @@ -1541,7 +1541,7 @@ testSubscribeAppNSE ps = (nseAlice "/_app activate" alice <## "ok" - alice <## "1 connections subscribed" + alice <## "subscribed 1 connections on server localhost" alice <## "bob (Bob) wants to connect to you!" alice <## "to accept: /ac bob" alice <## "to reject: /rc bob (the sender will NOT be notified)" @@ -1752,8 +1752,8 @@ testUsersSubscribeAfterRestart ps = do withTestChat ps "alice" $ \alice -> do -- second user is active - alice <## "1 connections subscribed" - alice <## "[user: alice] 1 connections subscribed" + alice <## "subscribed 1 connections on server localhost" + alice <## "subscribed 1 connections on server localhost" -- second user receives message alice <##> bob @@ -2058,8 +2058,8 @@ testUsersRestartCIExpiration ps = do showActiveUser alice "alice (Alice)" withTestChatCfg ps cfg "alice" $ \alice -> do - alice <## "1 connections subscribed" - alice <## "[user: alisa] 1 connections subscribed" + alice <## "subscribed 1 connections on server localhost" + alice <## "subscribed 1 connections on server localhost" -- first user messages alice ##> "/user alice" @@ -2157,8 +2157,8 @@ testEnableCIExpirationOnlyForOneUser ps = do alice #$> ("/_get chat @6 count=100", chat, chatFeatures <> [(1, "alisa 1"), (0, "alisa 2"), (1, "alisa 3"), (0, "alisa 4")]) withTestChatCfg ps cfg "alice" $ \alice -> do - alice <## "1 connections subscribed" - alice <## "[user: alice] 1 connections subscribed" + alice <## "subscribed 1 connections on server localhost" + alice <## "subscribed 1 connections on server localhost" -- messages are not deleted for second user after restart alice #$> ("/_get chat @6 count=100", chat, chatFeatures <> [(1, "alisa 1"), (0, "alisa 2"), (1, "alisa 3"), (0, "alisa 4")]) @@ -2213,8 +2213,8 @@ testDisableCIExpirationOnlyForOneUser ps = do alice #$> ("/_get chat @6 count=100", chat, [(1,"chat banner")]) withTestChatCfg ps cfg "alice" $ \alice -> do - alice <## "1 connections subscribed" - alice <## "[user: alice] 1 connections subscribed" + alice <## "subscribed 1 connections on server localhost" + alice <## "subscribed 1 connections on server localhost" -- second user still has ttl configured after restart alice #$> ("/ttl", id, "old messages are set to be deleted after: 1 second(s)") @@ -2320,8 +2320,8 @@ testUsersTimedMessages ps = do alice <# "bob> alisa 4" withTestChat ps "alice" $ \alice -> do - alice <## "1 connections subscribed" - alice <## "[user: alice] 1 connections subscribed" + alice <## "subscribed 1 connections on server localhost" + alice <## "subscribed 1 connections on server localhost" alice ##> "/user alice" showActiveUser alice "alice (Alice)" @@ -2670,7 +2670,7 @@ testAbortSwitchContact ps = do alice ##> "/abort switch bob" alice <## "error: command is prohibited, abortConnectionSwitch: not allowed" withTestChat ps "bob" $ \bob -> do - bob <## "1 connections subscribed" + bob <## "subscribed 1 connections on server localhost" bob <## "alice started changing address for you" -- alice changes address again alice #$> ("/switch bob", id, "switch started") @@ -2717,7 +2717,7 @@ testAbortSwitchGroupMember ps = do alice ##> "/abort switch #team bob" alice <## "error: command is prohibited, abortConnectionSwitch: not allowed" withTestChat ps "bob" $ \bob -> do - bob <## "2 connections subscribed" + bob <## "subscribed 2 connections on server localhost" bob <## "#team: alice started changing address for you" -- alice changes address again alice #$> ("/switch #team bob", id, "switch started") @@ -2816,7 +2816,7 @@ testMsgDecryptError ps = alice <# "bob> hey" setupDesynchronizedRatchet ps alice withTestChat ps "bob" $ \bob -> do - bob <## "1 connections subscribed" + bob <## "subscribed 1 connections on server localhost" alice #> "@bob hello again" bob <# "alice> skipped message ID 9..11" bob <# "alice> hello again" @@ -2827,7 +2827,7 @@ setupDesynchronizedRatchet :: HasCallStack => TestParams -> TestCC -> IO () setupDesynchronizedRatchet ps alice = do copyDb "bob" "bob_old" withTestChat ps "bob" $ \bob -> do - bob <## "1 connections subscribed" + bob <## "subscribed 1 connections on server localhost" alice #> "@bob 1" bob <# "alice> 1" bob #> "@alice 2" @@ -2838,7 +2838,7 @@ setupDesynchronizedRatchet ps alice = do alice <# "bob> 4" threadDelay 500000 withTestChat ps "bob_old" $ \bob -> do - bob <## "1 connections subscribed" + bob <## "subscribed 1 connections on server localhost" bob ##> "/sync alice" bob <## "error: command is prohibited, synchronizeRatchet: not allowed" alice #> "@bob 1" @@ -2869,7 +2869,7 @@ testSyncRatchet ps = alice <# "bob> hey" setupDesynchronizedRatchet ps alice withTestChat ps "bob_old" $ \bob -> do - bob <## "1 connections subscribed" + bob <## "subscribed 1 connections on server localhost" bob ##> "/sync alice" bob <## "connection synchronization started" alice <## "bob: connection synchronization agreed" @@ -2908,7 +2908,7 @@ testSyncRatchetCodeReset ps = aliceInfo bob True setupDesynchronizedRatchet ps alice withTestChat ps "bob_old" $ \bob -> do - bob <## "1 connections subscribed" + bob <## "subscribed 1 connections on server localhost" bob ##> "/sync alice" bob <## "connection synchronization started" alice <## "bob: connection synchronization agreed" @@ -3132,7 +3132,7 @@ testUpdatePeerChatVRange ps = contactInfoChatVRange bob supportedChatVRange withTestChat ps "bob" $ \bob -> do - bob <## "1 connections subscribed" + bob <## "subscribed 1 connections on server localhost" bob #> "@alice hello 1" alice <# "bob> hello 1" @@ -3144,7 +3144,7 @@ testUpdatePeerChatVRange ps = contactInfoChatVRange bob supportedChatVRange withTestChatCfg ps cfg11 "bob" $ \bob -> do - bob <## "1 connections subscribed" + bob <## "subscribed 1 connections on server localhost" bob #> "@alice hello 2" alice <# "bob> hello 2" @@ -3159,17 +3159,15 @@ testUpdatePeerChatVRange ps = testGetNetworkStatuses :: HasCallStack => TestParams -> IO () testGetNetworkStatuses ps = do - withNewTestChatCfg ps cfg "alice" aliceProfile $ \alice -> do - withNewTestChatCfg ps cfg "bob" bobProfile $ \bob -> do + withNewTestChat ps "alice" aliceProfile $ \alice -> do + withNewTestChat ps "bob" bobProfile $ \bob -> do connectUsers alice bob alice ##> "/_network_statuses" - alice <## "1 connections connected" - withTestChatCfg ps cfg "alice" $ \alice -> - withTestChatCfg ps cfg "bob" $ \bob -> do - alice <## "1 connections connected" - bob <## "1 connections connected" - where - cfg = testCfg {coreApi = True} + alice <## "1 connections subscribed" + withTestChat ps "alice" $ \alice -> + withTestChat ps "bob" $ \bob -> do + alice <## "subscribed 1 connections on server localhost" + bob <## "subscribed 1 connections on server localhost" vr11 :: VersionRangeChat vr11 = mkVersionRange (VersionChat 1) (VersionChat 1) diff --git a/tests/ChatTests/Files.hs b/tests/ChatTests/Files.hs index 7692bbcafa..2de9d7ffe5 100644 --- a/tests/ChatTests/Files.hs +++ b/tests/ChatTests/Files.hs @@ -818,7 +818,7 @@ testXFTPContinueRcv ps = do -- server is down - file is not received withTestChat ps "bob" $ \bob -> do - bob <## "1 connections subscribed" + bob <## "subscribed 1 connections on server localhost" bob ##> "/fr 1 ./tests/tmp" bob <### [ "saving file 1 from alice to ./tests/tmp/test.pdf", @@ -833,7 +833,7 @@ testXFTPContinueRcv ps = do withXFTPServer $ do -- server is up - file reception is continued withTestChat ps "bob" $ \bob -> do - bob <## "1 connections subscribed" + bob <## "subscribed 1 connections on server localhost" bob <## "completed receiving file 1 (test.pdf) from alice" src <- B.readFile "./tests/fixtures/test.pdf" dest <- B.readFile "./tests/tmp/test.pdf" @@ -866,7 +866,7 @@ testXFTPMarkToReceive = do bob <## "chat started" bob - <### [ "1 connections subscribed", + <### [ "subscribed 1 connections on server localhost", "started receiving file 1 (test.pdf) from alice", "saving file 1 from alice to test.pdf" ] @@ -892,7 +892,7 @@ testXFTPRcvError ps = do -- server is up w/t store log - file reception should fail withXFTPServer' xftpServerConfig {storeLogFile = Nothing} $ do withTestChat ps "bob" $ \bob -> do - bob <## "1 connections subscribed" + bob <## "subscribed 1 connections on server localhost" bob ##> "/fr 1 ./tests/tmp" bob <### [ "saving file 1 from alice to ./tests/tmp/test.pdf", diff --git a/tests/ChatTests/Groups.hs b/tests/ChatTests/Groups.hs index fed228fe74..e9168ba469 100644 --- a/tests/ChatTests/Groups.hs +++ b/tests/ChatTests/Groups.hs @@ -94,8 +94,8 @@ chatGroupTests = do -- TODO [postgres] this test hangs with PostgreSQL it "send multiple messages (many chat batches)" testSendMultiManyBatches #endif - xit'' "shared message body is reused" testSharedMessageBody - xit'' "shared batch body is reused" testSharedBatchBody + it "shared message body is reused" testSharedMessageBody + it "shared batch body is reused" testSharedBatchBody describe "async group connections" $ do xit "create and join group when clients go offline" testGroupAsync describe "group links" $ do @@ -1774,10 +1774,10 @@ testGroupDelayedModeration ps = do alice <## "message marked deleted by you" cath <# "#team cath> [marked deleted by alice] hi" withTestChatCfg ps cfg "bob" $ \bob -> do - bob <## "2 connections subscribed" + bob <## "subscribed 2 connections on server localhost" bob <## "#team: alice added cath (Catherine) to the group (connecting...)" withTestChatCfg ps cfg "cath" $ \cath -> do - cath <## "3 connections subscribed" + cath <## "subscribed 3 connections on server localhost" cath <## "#team: member bob (Bob) is connected" bob <### [ "#team: new member cath is connected", @@ -1828,13 +1828,13 @@ testGroupDelayedModerationFullDelete ps = do cath <## "updated group preferences:" cath <## "Full deletion: on" withTestChatCfg ps cfg "bob" $ \bob -> do - bob <## "2 connections subscribed" + bob <## "subscribed 2 connections on server localhost" bob <## "#team: alice added cath (Catherine) to the group (connecting...)" bob <## "alice updated group #team:" bob <## "updated group preferences:" bob <## "Full deletion: on" withTestChatCfg ps cfg "cath" $ \cath -> do - cath <## "3 connections subscribed" + cath <## "subscribed 3 connections on server localhost" cath <## "#team: member bob (Bob) is connected" bob <### [ "#team: new member cath is connected", @@ -2004,7 +2004,7 @@ testSharedMessageBody ps = withNewTestChatOpts ps opts' "cath" cathProfile $ \cath -> do createGroup3 "team" alice bob cath - alice <##. "server disconnected localhost" + alice <## "disconnected 4 connections on server localhost" alice #> "#team hello" bodiesCount1 <- withCCAgentTransaction alice $ \db -> DB.query_ db "SELECT count(1) FROM snd_message_bodies" :: IO [[Int]] @@ -2014,9 +2014,9 @@ testSharedMessageBody ps = withTestChatOpts ps opts' "bob" $ \bob -> withTestChatOpts ps opts' "cath" $ \cath -> do concurrentlyN_ - [ alice <##. "server connected localhost", - bob <## "3 connections subscribed", - cath <## "3 connections subscribed" + [ alice <## "subscribed 4 connections on server localhost", + bob <## "subscribed 3 connections on server localhost", + cath <## "subscribed 3 connections on server localhost" ] bob <# "#team alice> hello" cath <# "#team alice> hello" @@ -2024,7 +2024,7 @@ testSharedMessageBody ps = DB.query_ db "SELECT count(1) FROM snd_message_bodies" :: IO [[Int]] bodiesCount2 `shouldBe` [[0]] - alice <##. "server disconnected localhost" + alice <## "disconnected 4 connections on server localhost" where tmp = tmpPath ps serverCfg' = @@ -2048,7 +2048,7 @@ testSharedBatchBody ps = withNewTestChatOpts ps opts' "cath" cathProfile $ \cath -> do createGroup3 "team" alice bob cath - alice <##. "server disconnected localhost" + alice <## "disconnected 4 connections on server localhost" let cm i = "{\"msgContent\": {\"type\": \"text\", \"text\": \"message " <> show i <> "\"}}" cms = intercalate ", " (map cm [1 .. 300 :: Int]) @@ -2064,9 +2064,9 @@ testSharedBatchBody ps = withTestChatOpts ps opts' "bob" $ \bob -> withTestChatOpts ps opts' "cath" $ \cath -> do concurrentlyN_ - [ alice <##. "server connected localhost", - bob <## "3 connections subscribed", - cath <## "3 connections subscribed" + [ alice <## "subscribed 4 connections on server localhost", + bob <## "subscribed 3 connections on server localhost", + cath <## "subscribed 3 connections on server localhost" ] forM_ [(1 :: Int) .. 300] $ \i -> do concurrently_ @@ -2076,7 +2076,7 @@ testSharedBatchBody ps = DB.query_ db "SELECT count(1) FROM snd_message_bodies" :: IO [[Int]] bodiesCount2 `shouldBe` [[0]] - alice <##. "server disconnected localhost" + alice <## "disconnected 4 connections on server localhost" where tmp = tmpPath ps serverCfg' = @@ -2115,7 +2115,7 @@ testGroupAsync ps = do bob <# "#team alice> hello bob" withTestChat ps "alice" $ \alice -> do withNewTestChat ps "cath" cathProfile $ \cath -> do - alice <## "2 connections subscribed" + alice <## "subscribed 2 connections on server localhost" connectUsers alice cath alice ##> "/a team cath" concurrentlyN_ @@ -2135,18 +2135,18 @@ testGroupAsync ps = do withTestChat ps "cath" $ \cath -> do concurrentlyN_ [ do - bob <## "2 connections subscribed" + bob <## "subscribed 2 connections on server localhost" bob <## "#team: alice added cath (Catherine) to the group (connecting...)" bob <# "#team alice> hello cath" bob <## "#team: new member cath is connected", do - cath <## "3 connections subscribed" + cath <## "subscribed 3 connections on server localhost" cath <## "#team: member bob (Bob) is connected" ] threadDelay 500000 withTestChat ps "bob" $ \bob -> do withNewTestChat ps "dan" danProfile $ \dan -> do - bob <## "4 connections subscribed" + bob <## "subscribed 4 connections on server localhost" connectUsers bob dan bob ##> "/a team dan" concurrentlyN_ @@ -2167,15 +2167,15 @@ testGroupAsync ps = do withTestChat ps "dan" $ \dan -> do concurrentlyN_ [ do - alice <## "4 connections subscribed" + alice <## "subscribed 4 connections on server localhost" alice <## "#team: bob added dan (Daniel) to the group (connecting...)" alice <## "#team: new member dan is connected", do - cath <## "4 connections subscribed" + cath <## "subscribed 4 connections on server localhost" cath <## "#team: bob added dan (Daniel) to the group (connecting...)" cath <## "#team: new member dan is connected", do - dan <## "5 connections subscribed" + dan <## "subscribed 5 connections on server localhost" dan <## "#team: member alice (Alice) is connected" dan <## "#team: member cath (Catherine) is connected" ] @@ -2185,10 +2185,10 @@ testGroupAsync ps = do withTestChat ps "cath" $ \cath -> do withTestChat ps "dan" $ \dan -> do concurrentlyN_ - [ alice <## "6 connections subscribed", - bob <## "6 connections subscribed", - cath <## "6 connections subscribed", - dan <## "6 connections subscribed" + [ alice <## "subscribed 6 connections server localhost", + bob <## "subscribed 6 connections server localhost", + cath <## "subscribed 6 connections server localhost", + dan <## "subscribed 6 connections server localhost" ] alice #> "#team hello" concurrentlyN_ @@ -3529,12 +3529,12 @@ testPlanGroupLinkConnecting ps = do threadDelay 100000 withTestChat ps "alice" $ \alice -> do alice - <### [ "1 connections subscribed", + <### [ "subscribed 1 connections on server localhost", "bob (Bob): accepting request to join group #team..." ] withTestChat ps "bob" $ \bob -> do threadDelay 500000 - bob <## "1 connections subscribed" + bob <## "subscribed 1 connections on server localhost" bob <## "#team: joining the group..." bob <## "#team: you joined the group" @@ -3576,12 +3576,12 @@ testPlanGroupLinkConnectingSlow ps = do threadDelay 100000 withTestChatCfg ps testCfgSlow "alice" $ \alice -> do alice - <### [ "1 connections subscribed", + <### [ "subscribed 1 connections on server localhost", "bob (Bob): accepting request to join group #team..." ] withTestChatCfg ps testCfgSlow "bob" $ \bob -> do threadDelay 500000 - bob <## "1 connections subscribed" + bob <## "subscribed 1 connections on server localhost" bob <## "#team: joining the group..." bob ##> ("/_connect plan 1 " <> gLink) @@ -3606,7 +3606,7 @@ testGroupMsgDecryptError ps = alice <# "#team bob> hey" setupDesynchronizedRatchet ps alice withTestChat ps "bob" $ \bob -> do - bob <## "2 connections subscribed" + bob <## "subscribed 2 connections on server localhost" alice #> "#team hello again" bob <# "#team alice> skipped message ID 9..11" bob <# "#team alice> hello again" @@ -3617,7 +3617,7 @@ setupDesynchronizedRatchet :: HasCallStack => TestParams -> TestCC -> IO () setupDesynchronizedRatchet ps alice = do copyDb "bob" "bob_old" withTestChat ps "bob" $ \bob -> do - bob <## "2 connections subscribed" + bob <## "subscribed 2 connections on server localhost" alice #> "#team 1" bob <# "#team alice> 1" bob #> "#team 2" @@ -3627,7 +3627,7 @@ setupDesynchronizedRatchet ps alice = do bob #> "#team 4" alice <# "#team bob> 4" withTestChat ps "bob_old" $ \bob -> do - bob <## "2 connections subscribed" + bob <## "subscribed 2 connections on server localhost" bob ##> "/sync #team alice" bob <## "error: command is prohibited, synchronizeRatchet: not allowed" alice #> "#team 1" @@ -3655,7 +3655,7 @@ testGroupSyncRatchet ps = alice <# "#team bob> hey" setupDesynchronizedRatchet ps alice withTestChat ps "bob_old" $ \bob -> do - bob <## "2 connections subscribed" + bob <## "subscribed 2 connections on server localhost" bob `send` "#team 1" -- "send prohibited" error is not printed in group as SndMessage is created, -- but it should be displayed in per member snd statuses @@ -3700,7 +3700,7 @@ testGroupSyncRatchetCodeReset ps = aliceInfo bob True setupDesynchronizedRatchet ps alice withTestChat ps "bob_old" $ \bob -> do - bob <## "2 connections subscribed" + bob <## "subscribed 2 connections on server localhost" bob ##> "/sync #team alice" bob <## "connection synchronization started" alice <## "#team bob: connection synchronization agreed" @@ -4429,7 +4429,7 @@ testMemberContactInvitedConnectionReplaced ps = do where subscriptions :: TestCC -> Int -> IO () subscriptions cc n = - cc <## (show n <> " connections subscribed") + cc <## ("subscribed " <> show n <> " connections on server localhost") checkConnectionsWork alice bob = do alice <##> bob alice @@@ [("@bob", "hey"), ("@cath", "sent invitation to join group team as admin"), ("#team", "connected")] @@ -7001,7 +7001,7 @@ testGroupMemberInactive ps = do threadDelay 1500000 withTestChatCfgOpts ps cfg' opts' "bob" $ \bob -> do - bob <## "2 connections subscribed" + bob <## "subscribed 2 connections on server localhost" bob <# "#team alice> 1" bob <# "#team alice> 2" bob <#. "#team alice> skipped message ID" @@ -8284,7 +8284,7 @@ testChannelsSenderDeduplicateOwn ps = do dan #> "#team 6" withTestChatCfg ps cfg "bob" $ \bob -> do - bob <## "6 connections subscribed" + bob <## "subscribed 6 connections server localhost" bob <### [ WithTime "#team alice> 1", WithTime "#team alice> 2", diff --git a/tests/ChatTests/Profiles.hs b/tests/ChatTests/Profiles.hs index 73e6fc8f07..a1ab8548ed 100644 --- a/tests/ChatTests/Profiles.hs +++ b/tests/ChatTests/Profiles.hs @@ -321,27 +321,27 @@ testRetryConnectingViaContactLink ps = testChatCfgOpts2 cfg' opts' aliceProfile cLink <- withSmpServer' serverCfg' $ do alice ##> "/ad" getContactLink alice True - alice <## "server disconnected localhost ()" + alice <## "disconnected 1 connections on server localhost" bob ##> ("/_connect plan 1 " <> cLink) bob <## "contact address: ok to connect" _sLinkData <- getTermLine bob bob ##> ("/_connect 1 " <> cLink) bob <##. "smp agent error: BROKER" withSmpServer' serverCfg' $ do - alice <## "server connected localhost ()" + alice <## "subscribed 1 connections on server localhost" threadDelay 250000 bob ##> ("/_connect plan 1 " <> cLink) bob <## "contact address: ok to connect" _sLinkData <- getTermLine bob bob ##> ("/_connect 1 " <> cLink) alice <#? bob - alice <## "server disconnected localhost ()" - bob <## "server disconnected localhost ()" + alice <## "disconnected 1 connections on server localhost" + bob <## "disconnected 1 connections on server localhost" alice ##> "/ac bob" alice <##. "smp agent error: BROKER" withSmpServer' serverCfg' $ do - alice <## "server connected localhost ()" - bob <## "server connected localhost ()" + alice <## "subscribed 1 connections on server localhost" + bob <## "subscribed 1 connections on server localhost" alice ##> "/ac bob" alice <## "bob (Bob): accepting contact request, you can send messages to contact" concurrently_ @@ -351,8 +351,8 @@ testRetryConnectingViaContactLink ps = testChatCfgOpts2 cfg' opts' aliceProfile bob <# "alice> message 1" bob #> "@alice message 2" alice <# "bob> message 2" - alice <## "server disconnected localhost (@bob)" - bob <## "server disconnected localhost (@alice)" + alice <## "disconnected 2 connections on server localhost" + bob <## "disconnected 1 connections on server localhost" serverCfg' = smpServerCfg { transports = [("7003", transport @TLS, False)], @@ -1086,7 +1086,7 @@ testPlanAddressConnecting ps = do threadDelay 100000 withTestChat ps "alice" $ \alice -> do - alice <## "1 connections subscribed" + alice <## "subscribed 1 connections on server localhost" alice <## "bob (Bob) wants to connect to you!" alice <## "to accept: /ac bob" alice <## "to reject: /rc bob (the sender will NOT be notified)" @@ -1094,7 +1094,7 @@ testPlanAddressConnecting ps = do alice <## "bob (Bob): accepting contact request, you can send messages to contact" withTestChat ps "bob" $ \bob -> do threadDelay 500000 - bob <## "1 connections subscribed" + bob <## "subscribed 1 connections on server localhost" bob <## "alice (Alice): contact is connected" bob @@@ [("@alice", "Audio/video calls: enabled")] bob ##> ("/_connect plan 1 " <> cLink) @@ -1130,7 +1130,7 @@ testPlanAddressConnectingSlow ps = do threadDelay 100000 withTestChatCfg ps testCfgSlow "alice" $ \alice -> do - alice <## "1 connections subscribed" + alice <## "subscribed 1 connections on server localhost" alice <## "bob (Bob) wants to connect to you!" alice <## "to accept: /ac bob" alice <## "to reject: /rc bob (the sender will NOT be notified)" @@ -1138,7 +1138,7 @@ testPlanAddressConnectingSlow ps = do alice <## "bob (Bob): accepting contact request..." withTestChatCfg ps testCfgSlow "bob" $ \bob -> do threadDelay 500000 - bob <## "1 connections subscribed" + bob <## "subscribed 1 connections on server localhost" bob @@@ [("@alice", "")] bob ##> ("/_connect plan 1 " <> cLink) bob <## "contact address: connecting to contact alice" @@ -1548,12 +1548,12 @@ testSetConnectionIncognitoProhibitedDuringNegotiation ps = do bob <## "confirmation sent!" withTestChat ps "alice" $ \alice -> do threadDelay 250000 - alice <## "1 connections subscribed" + alice <## "subscribed 1 connections on server localhost" alice <## "bob (Bob): contact is connected" alice ##> "/_set incognito :1 on" alice <## "chat db error: SEPendingConnectionNotFound {connId = 1}" withTestChat ps "bob" $ \bob -> do - bob <## "1 connections subscribed" + bob <## "subscribed 1 connections on server localhost" bob <## "alice (Alice): contact is connected" alice <##> bob alice `hasContactProfiles` ["alice", "bob"] @@ -1571,11 +1571,11 @@ testSetConnectionIncognitoProhibitedDuringNegotiationSlow ps = do bob <## "confirmation sent!" withTestChatCfg ps testCfgSlow "alice" $ \alice -> do threadDelay 250000 - alice <## "1 connections subscribed" + alice <## "subscribed 1 connections on server localhost" alice ##> "/_set incognito :1 on" alice <## "chat db error: SEPendingConnectionNotFound {connId = 1}" withTestChatCfg ps testCfgSlow "bob" $ \bob -> do - bob <## "1 connections subscribed" + bob <## "subscribed 1 connections on server localhost" concurrently_ (bob <## "alice (Alice): contact is connected") (alice <## "bob (Bob): contact is connected") @@ -3035,11 +3035,11 @@ testShortLinkInvitationConnectRetry ps = testChatOpts2 opts' aliceProfile bobPro bob ##> ("/_prepare contact 1 " <> fullLink <> " " <> shortLink <> " " <> contactSLinkData) bob <## "alice: contact is prepared" pure shortLink - alice <## "server disconnected localhost ()" + alice <## "disconnected 1 connections on server localhost" bob ##> "/_connect contact @2 text hello" bob <##. "smp agent error: BROKER" withSmpServer' serverCfg' $ do - alice <## "server connected localhost ()" + alice <## "subscribed 1 connections on server localhost" threadDelay 250000 bob ##> ("/_connect plan 1 " <> shortLink) bob <## "invitation link: known prepared contact alice" @@ -3053,8 +3053,8 @@ testShortLinkInvitationConnectRetry ps = testChatOpts2 opts' aliceProfile bobPro (bob <## "alice (Alice): contact is connected") (alice <## "bob (Bob): contact is connected") alice <##> bob - alice <## "server disconnected localhost (@bob)" - bob <## "server disconnected localhost (@alice)" + alice <## "disconnected 1 connections on server localhost" + bob <## "disconnected 1 connections on server localhost" tmp = tmpPath ps serverCfg' = smpServerCfg @@ -3200,11 +3200,11 @@ testShortLinkAddressConnectRetry ps = bob ##> ("/_prepare contact 1 " <> fullLink <> " " <> shortLink <> " " <> contactSLinkData) bob <## "alice: contact is prepared" pure shortLink - alice <## "server disconnected localhost ()" + alice <## "disconnected 1 connections on server localhost" bob ##> "/_connect contact @2 text hello" bob <##. "smp agent error: BROKER" withSmpServer' serverCfg' $ do - alice <## "server connected localhost ()" + alice <## "subscribed 1 connections on server localhost" threadDelay 250000 bob ##> ("/_connect plan 1 " <> shortLink) bob <## "contact address: known prepared contact alice" @@ -3225,8 +3225,8 @@ testShortLinkAddressConnectRetry ps = (bob <## "alice (Alice): contact is connected") (alice <## "bob (Bob): contact is connected") alice <##> bob - alice <## "server disconnected localhost (@bob)" - bob <## "server disconnected localhost (@alice)" + alice <## "disconnected 2 connections on server localhost" + bob <## "disconnected 1 connections on server localhost" where tmp = tmpPath ps serverCfg' = @@ -3255,11 +3255,11 @@ testShortLinkAddressConnectRetryIncognito ps = bob ##> ("/_prepare contact 1 " <> fullLink <> " " <> shortLink <> " " <> contactSLinkData) bob <## "alice: contact is prepared" pure shortLink - alice <## "server disconnected localhost ()" + alice <## "disconnected 1 connections on server localhost" bob ##> "/_connect contact @2 incognito=on text hello" bob <##. "smp agent error: BROKER" - bobIncognito <- withSmpServer' serverCfg' $ do - alice <## "server connected localhost ()" + withSmpServer' serverCfg' $ do + alice <## "subscribed 1 connections on server localhost" threadDelay 250000 bob ##> ("/_connect plan 1 " <> shortLink) bob <## "contact address: known prepared contact alice" @@ -3288,9 +3288,8 @@ testShortLinkAddressConnectRetryIncognito ps = bob ?<# "alice> hi" bob ?#> "@alice hey" alice <# (bobIncognito <> "> hey") - pure bobIncognito - alice <## ("server disconnected localhost (@" <> bobIncognito <> ")") - bob <## "server disconnected localhost (@alice)" + alice <## "disconnected 2 connections on server localhost" + bob <## "disconnected 1 connections on server localhost" where tmp = tmpPath ps serverCfg' = @@ -3545,15 +3544,15 @@ testShortLinkGroupRetry ps = testChatOpts2 opts' aliceProfile bobProfile test ps bob ##> ("/_prepare group 1 " <> fullLink <> " " <> shortLink <> " " <> groupSLinkData) bob <## "#team: group is prepared" pure shortLink - alice <## "server disconnected localhost (@bob)" - bob <## "server disconnected localhost (@alice)" + alice <## "disconnected 2 connections on server localhost" + bob <## "disconnected 1 connections on server localhost" bob ##> "/_connect group #1" bob <##. "smp agent error: BROKER" withSmpServer' serverCfg' $ do bob ##> ("/_connect plan 1 " <> shortLink) bob <## "group link: known prepared group #team" - alice <## "server connected localhost (@bob)" - bob <## "server connected localhost (@alice)" + alice <## "subscribed 2 connections on server localhost" + bob <## "subscribed 1 connections on server localhost" threadDelay 250000 bob ##> "/_connect group #1" bob <## "#team: connection started" @@ -3572,8 +3571,8 @@ testShortLinkGroupRetry ps = testChatOpts2 opts' aliceProfile bobProfile test ps bob <# "#team alice> 1" bob #> "#team 2" alice <# "#team bob> 2" - alice <## "server disconnected localhost (@bob)" - bob <## "server disconnected localhost (@alice)" + alice <## "disconnected 3 connections on server localhost" + bob <## "disconnected 2 connections on server localhost" tmp = tmpPath ps serverCfg' = smpServerCfg diff --git a/tests/MobileTests.hs b/tests/MobileTests.hs index e0bda6848d..d4f65b3b1c 100644 --- a/tests/MobileTests.hs +++ b/tests/MobileTests.hs @@ -5,7 +5,7 @@ {-# OPTIONS_GHC -fno-warn-orphans #-} -module MobileTests where +module MobileTests (mobileTests) where import ChatTests.DBUtils import ChatTests.Utils @@ -111,14 +111,6 @@ chatStarted = chatStartedTagged #endif -networkStatuses :: LB.ByteString -networkStatuses = -#if defined(darwin_HOST_OS) && defined(swiftJSON) - networkStatusesSwift -#else - networkStatusesTagged -#endif - parsedMarkdown :: LB.ByteString parsedMarkdown = #if defined(darwin_HOST_OS) && defined(swiftJSON) @@ -151,7 +143,6 @@ testChatApi ps = do chatSendCmd cc "/u" `shouldReturn` activeUser chatSendCmd cc "/create user alice Alice" `shouldReturn` activeUserExists chatSendCmd cc "/_start" `shouldReturn` chatStarted - chatRecvMsg cc `shouldReturn` networkStatuses chatRecvMsgWait cc 10000 `shouldReturn` "" chatParseMarkdown "hello" `shouldBe` "{}" chatParseMarkdown "*hello*" `shouldBe` parsedMarkdown From 37c8aca3b393e7f9ea8df9c4caa7c902a1b4ad62 Mon Sep 17 00:00:00 2001 From: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com> Date: Fri, 10 Oct 2025 06:27:50 +0000 Subject: [PATCH 15/38] 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 --- bots/src/API/Docs/Commands.hs | 1 + bots/src/API/Docs/Events.hs | 1 + bots/src/API/Docs/Responses.hs | 1 + cabal.project | 2 +- scripts/nix/sha256map.nix | 2 +- simplex-chat.cabal | 2 + src/Simplex/Chat/Controller.hs | 5 +- src/Simplex/Chat/Library/Commands.hs | 26 +++ src/Simplex/Chat/Store/Connections.hs | 26 ++- src/Simplex/Chat/Store/Postgres/Migrations.hs | 4 +- .../Migrations/M20251007_connections_sync.hs | 27 +++ .../Store/Postgres/Migrations/chat_schema.sql | 24 +++ src/Simplex/Chat/Store/SQLite/Migrations.hs | 4 +- .../Migrations/M20251007_connections_sync.hs | 25 +++ .../SQLite/Migrations/agent_query_plans.txt | 38 ++++ .../SQLite/Migrations/chat_query_plans.txt | 87 +++++++++ .../Store/SQLite/Migrations/chat_schema.sql | 5 + src/Simplex/Chat/View.hs | 41 +++++ tests/ChatTests/Direct.hs | 169 +++++++++++++++++- 19 files changed, 478 insertions(+), 12 deletions(-) create mode 100644 src/Simplex/Chat/Store/Postgres/Migrations/M20251007_connections_sync.hs create mode 100644 src/Simplex/Chat/Store/SQLite/Migrations/M20251007_connections_sync.hs diff --git a/bots/src/API/Docs/Commands.hs b/bots/src/API/Docs/Commands.hs index 279a74480b..b673937d63 100644 --- a/bots/src/API/Docs/Commands.hs +++ b/bots/src/API/Docs/Commands.hs @@ -440,6 +440,7 @@ undocumentedCommands = "ReconnectAllServers", "ReconnectServer", "ResetAgentServersStats", + "ShowConnectionsDiff", "ResubscribeAllConnections", "SetAllContactReceipts", "SetChatItemTTL", diff --git a/bots/src/API/Docs/Events.hs b/bots/src/API/Docs/Events.hs index fc303d12de..1dbf484579 100644 --- a/bots/src/API/Docs/Events.hs +++ b/bots/src/API/Docs/Events.hs @@ -199,6 +199,7 @@ undocumentedEvents = "CEvtSndFileRedirectStartXFTP", "CEvtSndFileStart", -- legacy SMP files "CEvtSndStandaloneFileComplete", + "CEvtConnectionsDiff", "CEvtSubscriptionEnd", "CEvtTerminalEvent", "CEvtTimedAction", diff --git a/bots/src/API/Docs/Responses.hs b/bots/src/API/Docs/Responses.hs index 8d5cb9f348..3a08606ea3 100644 --- a/bots/src/API/Docs/Responses.hs +++ b/bots/src/API/Docs/Responses.hs @@ -130,6 +130,7 @@ undocumentedResponses = "CRChats", "CRChatStarted", "CRChatStopped", + "CRConnectionsDiff", "CRChatTags", "CRConnectionAliasUpdated", "CRConnectionIncognitoUpdated", diff --git a/cabal.project b/cabal.project index b2a8dc4dca..254ca50d6f 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: 80aa56cbcce92f4b61cda06a965eef3d0f640df1 + tag: 1dbc15b2e6225c0e254564747bc8412970273e85 source-repository-package type: git diff --git a/scripts/nix/sha256map.nix b/scripts/nix/sha256map.nix index 357d5ee9f7..6ef3ac65c4 100644 --- a/scripts/nix/sha256map.nix +++ b/scripts/nix/sha256map.nix @@ -1,5 +1,5 @@ { - "https://github.com/simplex-chat/simplexmq.git"."a3d1a72eb06df0dc6e1f2a8d72cab8535870fb03" = "16pmac5l4fwjhi6msf3y9dljc51mbfhvql4kv1sqn6gkbf9lnmpx"; + "https://github.com/simplex-chat/simplexmq.git"."1dbc15b2e6225c0e254564747bc8412970273e85" = "03hmlynixssyp0720h984slw4lkrzn3kr63k3mah50lbyxzsmnrs"; "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/simplex-chat.cabal b/simplex-chat.cabal index a66dde4432..74855355f7 100644 --- a/simplex-chat.cabal +++ b/simplex-chat.cabal @@ -120,6 +120,7 @@ library Simplex.Chat.Store.Postgres.Migrations.M20250813_delivery_tasks Simplex.Chat.Store.Postgres.Migrations.M20250919_group_summary Simplex.Chat.Store.Postgres.Migrations.M20250922_remove_unused_connections + Simplex.Chat.Store.Postgres.Migrations.M20251007_connections_sync else exposed-modules: Simplex.Chat.Archive @@ -263,6 +264,7 @@ library Simplex.Chat.Store.SQLite.Migrations.M20250813_delivery_tasks Simplex.Chat.Store.SQLite.Migrations.M20250919_group_summary Simplex.Chat.Store.SQLite.Migrations.M20250922_remove_unused_connections + Simplex.Chat.Store.SQLite.Migrations.M20251007_connections_sync other-modules: Paths_simplex_chat hs-source-dirs: diff --git a/src/Simplex/Chat/Controller.hs b/src/Simplex/Chat/Controller.hs index 849510c489..a48ec3fe55 100644 --- a/src/Simplex/Chat/Controller.hs +++ b/src/Simplex/Chat/Controller.hs @@ -69,7 +69,7 @@ import Simplex.Chat.Types.Shared import Simplex.Chat.Types.UITheme import Simplex.Chat.Util (liftIOEither) import Simplex.FileTransfer.Description (FileDescriptionURI) -import Simplex.Messaging.Agent (AgentClient, SubscriptionsInfo) +import Simplex.Messaging.Agent (AgentClient, DatabaseDiff, SubscriptionsInfo) import Simplex.Messaging.Agent.Client (AgentLocks, AgentQueuesInfo (..), AgentWorkersDetails (..), AgentWorkersSummary (..), ProtocolTestFailure, SMPServerSubs, ServerQueueInfo, UserNetworkInfo) import Simplex.Messaging.Agent.Env.SQLite (AgentConfig, NetworkConfig, ServerCfg, Worker) import Simplex.Messaging.Agent.Lock @@ -292,6 +292,7 @@ data ChatCommand | APIStopChat | APIActivateChat {restoreChat :: Bool} | APISuspendChat {suspendTimeout :: Int} + | ShowConnectionsDiff Bool | ResubscribeAllConnections | SetTempFolder FilePath | SetFilesFolder FilePath @@ -633,6 +634,7 @@ data ChatResponse | CRChatStarted | CRChatRunning | CRChatStopped + | CRConnectionsDiff {showIds :: Bool, userIds :: DatabaseDiff AgentUserId, connIds :: DatabaseDiff AgentConnId} | CRApiChats {user :: User, chats :: [AChat]} | CRChats {chats :: [AChat]} | CRApiChat {user :: User, chat :: AChat, navInfo :: Maybe NavigationInfo} @@ -825,6 +827,7 @@ data ChatEvent | CEvtContactConnected {user :: User, contact :: Contact, userCustomProfile :: Maybe Profile} | CEvtContactSndReady {user :: User, contact :: Contact} | CEvtContactAnotherClient {user :: User, contact :: Contact} + | CEvtConnectionsDiff {userIds :: DatabaseDiff AgentUserId, connIds :: DatabaseDiff AgentConnId} | CEvtSubscriptionEnd {user :: User, connectionEntity :: ConnectionEntity} | CEvtNetworkStatus {server :: SMPServer, networkStatus :: NetworkStatus, connections :: [AgentConnId]} | CEvtHostConnected {protocol :: AProtocolType, transportHost :: TransportHost} diff --git a/src/Simplex/Chat/Library/Commands.hs b/src/Simplex/Chat/Library/Commands.hs index b1717b565a..a140cd4efe 100644 --- a/src/Simplex/Chat/Library/Commands.hs +++ b/src/Simplex/Chat/Library/Commands.hs @@ -164,10 +164,20 @@ startChatController mainApp enableSndFiles = do asks smpAgent >>= liftIO . resumeAgentClient unless mainApp $ chatWriteVar' subscriptionMode SMOnlyCreate users <- fromRight [] <$> runExceptT (withFastStore' getUsers) + runExceptT (syncConnections' users) >>= \case + Left e -> liftIO $ putStrLn $ "Error synchronizing connections: " <> show e + Right _ -> pure () restoreCalls s <- asks agentAsync readTVarIO s >>= maybe (start s users) (pure . fst) where + syncConnections' users = + whenM (withFastStore' shouldSyncConnections) $ do + let aUserIds = map aUserId users + connIds <- concat <$> forM users getConnsToSub + (userDiff, connDiff) <- withAgent (\a -> syncConnections a aUserIds connIds) + withFastStore' setConnectionsSyncTs + toView $ CEvtConnectionsDiff (AgentUserId <$> userDiff) (AgentConnId <$> connDiff) start s users = do a1 <- async agentSubscriber a2 <- @@ -210,6 +220,15 @@ startChatController mainApp enableSndFiles = do ttlCount <- getChatTTLCount db user pure $ ttl > 0 || ttlCount > 0 +getConnsToSub :: User -> CM [ConnId] +getConnsToSub user = + withFastStore' $ \db -> do + ctConnIds <- getContactConnsToSub db user False + uclConnIds <- getUCLConnsToSub db user False + memberConnIds <- getMemberConnsToSub db user False + pendingConnIds <- getPendingConnsToSub db user False + pure $ ctConnIds <> uclConnIds <> memberConnIds <> pendingConnIds + subscribeUsers :: Bool -> [User] -> CM' () subscribeUsers onlyNeeded users = do let activeUserId_ = (\User {agentUserId = AgentUserId uId} -> uId) <$> find activeUser users @@ -443,6 +462,12 @@ processChatCommand vr nm = \case stopRemoteCtrl lift $ withAgent' (`suspendAgent` t) ok_ + ShowConnectionsDiff showIds -> do + users <- withFastStore' getUsers + let aUserIds = map aUserId users + connIds <- concat <$> forM users getConnsToSub + (userDiff, connDiff) <- withAgent (\a -> compareConnections a aUserIds connIds) + pure $ CRConnectionsDiff showIds (AgentUserId <$> userDiff) (AgentConnId <$> connDiff) ResubscribeAllConnections -> withStore' getUsers >>= lift . subscribeUsers False >> ok_ -- has to be called before StartChat SetTempFolder tf -> do @@ -4291,6 +4316,7 @@ chatCommandP = "/_app activate restore=" *> (APIActivateChat <$> onOffP), "/_app activate" $> APIActivateChat True, "/_app suspend " *> (APISuspendChat <$> A.decimal), + "/_connections diff" *> (ShowConnectionsDiff <$> (" show_ids=" *> onOffP <|> pure False)), "/_resubscribe all" $> ResubscribeAllConnections, -- deprecated, use /set file paths "/_temp_folder " *> (SetTempFolder <$> filePath), diff --git a/src/Simplex/Chat/Store/Connections.hs b/src/Simplex/Chat/Store/Connections.hs index 5a22ec4562..9467675272 100644 --- a/src/Simplex/Chat/Store/Connections.hs +++ b/src/Simplex/Chat/Store/Connections.hs @@ -19,7 +19,8 @@ module Simplex.Chat.Store.Connections getUCLConnsToSub, getMemberConnsToSub, getPendingConnsToSub, - unsetConnectionToSubscribe, + shouldSyncConnections, + setConnectionsSyncTs, ) where @@ -28,13 +29,14 @@ import Control.Monad.IO.Class import Data.Bitraversable (bitraverse) import Data.Int (Int64) import Data.Maybe (fromMaybe) +import Data.Time.Clock (getCurrentTime) import Simplex.Chat.Protocol import Simplex.Chat.Store.Direct import Simplex.Chat.Store.Groups import Simplex.Chat.Store.Shared import Simplex.Chat.Types import Simplex.Messaging.Agent.Protocol (ConnId) -import Simplex.Messaging.Agent.Store.AgentStore (firstRow, firstRow', maybeFirstRow) +import Simplex.Messaging.Agent.Store.AgentStore (firstRow, firstRow', fromOnlyBI, maybeFirstRow) import Simplex.Messaging.Agent.Store.DB (BoolInt (..)) import qualified Simplex.Messaging.Agent.Store.DB as DB import Simplex.Messaging.Util (eitherToMaybe) @@ -321,9 +323,21 @@ getPendingConnsToSub db User {userId} filterToSubscribe = AND conn_status != ? |] -unsetConnectionToSubscribe :: DB.Connection -> User -> IO () -unsetConnectionToSubscribe db User {userId} = +shouldSyncConnections :: DB.Connection -> IO Bool +shouldSyncConnections db = + fromOnlyBI . head + <$> DB.query_ + db + "SELECT should_sync FROM connections_sync WHERE connections_sync_id = 1" + +setConnectionsSyncTs :: DB.Connection -> IO () +setConnectionsSyncTs db = do + currentTs <- getCurrentTime DB.execute db - "UPDATE connections SET to_subscribe = 0 WHERE user_id = ? AND to_subscribe = 1" - (Only userId) + [sql| + UPDATE connections_sync + SET should_sync = 0, last_sync_ts = ? + WHERE connections_sync_id = 1 + |] + (Only currentTs) diff --git a/src/Simplex/Chat/Store/Postgres/Migrations.hs b/src/Simplex/Chat/Store/Postgres/Migrations.hs index 69013d90ba..c6c04b465b 100644 --- a/src/Simplex/Chat/Store/Postgres/Migrations.hs +++ b/src/Simplex/Chat/Store/Postgres/Migrations.hs @@ -19,6 +19,7 @@ import Simplex.Chat.Store.Postgres.Migrations.M20250802_chat_peer_type import Simplex.Chat.Store.Postgres.Migrations.M20250813_delivery_tasks import Simplex.Chat.Store.Postgres.Migrations.M20250919_group_summary import Simplex.Chat.Store.Postgres.Migrations.M20250922_remove_unused_connections +import Simplex.Chat.Store.Postgres.Migrations.M20251007_connections_sync import Simplex.Messaging.Agent.Store.Shared (Migration (..)) schemaMigrations :: [(String, Text, Maybe Text)] @@ -37,7 +38,8 @@ schemaMigrations = ("20250802_chat_peer_type", m20250802_chat_peer_type, Just down_m20250802_chat_peer_type), ("20250813_delivery_tasks", m20250813_delivery_tasks, Just down_m20250813_delivery_tasks), ("20250919_group_summary", m20250919_group_summary, Just down_m20250919_group_summary), - ("20250922_remove_unused_connections", m20250922_remove_unused_connections, Just down_m20250922_remove_unused_connections) + ("20250922_remove_unused_connections", m20250922_remove_unused_connections, Just down_m20250922_remove_unused_connections), + ("20251007_connections_sync", m20251007_connections_sync, Just down_m20251007_connections_sync) ] -- | The list of migrations in ascending order by date diff --git a/src/Simplex/Chat/Store/Postgres/Migrations/M20251007_connections_sync.hs b/src/Simplex/Chat/Store/Postgres/Migrations/M20251007_connections_sync.hs new file mode 100644 index 0000000000..f73145f4e9 --- /dev/null +++ b/src/Simplex/Chat/Store/Postgres/Migrations/M20251007_connections_sync.hs @@ -0,0 +1,27 @@ +{-# LANGUAGE QuasiQuotes #-} + +module Simplex.Chat.Store.Postgres.Migrations.M20251007_connections_sync where + +import Data.Text (Text) +import qualified Data.Text as T +import Text.RawString.QQ (r) + +m20251007_connections_sync :: Text +m20251007_connections_sync = + T.pack + [r| +CREATE TABLE connections_sync( + connections_sync_id BIGINT PRIMARY KEY GENERATED BY DEFAULT AS IDENTITY, + should_sync SMALLINT NOT NULL DEFAULT 0, + last_sync_ts TIMESTAMPTZ +); + +INSERT INTO connections_sync (connections_sync_id, should_sync, last_sync_ts) VALUES (1,0,NULL); +|] + +down_m20251007_connections_sync :: Text +down_m20251007_connections_sync = + T.pack + [r| +DROP TABLE connections_sync; +|] diff --git a/src/Simplex/Chat/Store/Postgres/Migrations/chat_schema.sql b/src/Simplex/Chat/Store/Postgres/Migrations/chat_schema.sql index fb7a78b4f3..6b54b6d9ee 100644 --- a/src/Simplex/Chat/Store/Postgres/Migrations/chat_schema.sql +++ b/src/Simplex/Chat/Store/Postgres/Migrations/chat_schema.sql @@ -390,6 +390,25 @@ ALTER TABLE test_chat_schema.connections ALTER COLUMN connection_id ADD GENERATE +CREATE TABLE test_chat_schema.connections_sync ( + connections_sync_id bigint NOT NULL, + should_sync smallint DEFAULT 0 NOT NULL, + last_sync_ts timestamp with time zone +); + + + +ALTER TABLE test_chat_schema.connections_sync ALTER COLUMN connections_sync_id ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME test_chat_schema.connections_sync_connections_sync_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + + CREATE TABLE test_chat_schema.contact_profiles ( contact_profile_id bigint NOT NULL, display_name text NOT NULL, @@ -1358,6 +1377,11 @@ ALTER TABLE ONLY test_chat_schema.connections +ALTER TABLE ONLY test_chat_schema.connections_sync + ADD CONSTRAINT connections_sync_pkey PRIMARY KEY (connections_sync_id); + + + ALTER TABLE ONLY test_chat_schema.contact_profiles ADD CONSTRAINT contact_profiles_pkey PRIMARY KEY (contact_profile_id); diff --git a/src/Simplex/Chat/Store/SQLite/Migrations.hs b/src/Simplex/Chat/Store/SQLite/Migrations.hs index b62b71fa91..e568e2a663 100644 --- a/src/Simplex/Chat/Store/SQLite/Migrations.hs +++ b/src/Simplex/Chat/Store/SQLite/Migrations.hs @@ -142,6 +142,7 @@ import Simplex.Chat.Store.SQLite.Migrations.M20250802_chat_peer_type import Simplex.Chat.Store.SQLite.Migrations.M20250813_delivery_tasks import Simplex.Chat.Store.SQLite.Migrations.M20250919_group_summary import Simplex.Chat.Store.SQLite.Migrations.M20250922_remove_unused_connections +import Simplex.Chat.Store.SQLite.Migrations.M20251007_connections_sync import Simplex.Messaging.Agent.Store.Shared (Migration (..)) schemaMigrations :: [(String, Query, Maybe Query)] @@ -283,7 +284,8 @@ schemaMigrations = ("20250802_chat_peer_type", m20250802_chat_peer_type, Just down_m20250802_chat_peer_type), ("20250813_delivery_tasks", m20250813_delivery_tasks, Just down_m20250813_delivery_tasks), ("20250919_group_summary", m20250919_group_summary, Just down_m20250919_group_summary), - ("20250922_remove_unused_connections", m20250922_remove_unused_connections, Just down_m20250922_remove_unused_connections) + ("20250922_remove_unused_connections", m20250922_remove_unused_connections, Just down_m20250922_remove_unused_connections), + ("20251007_connections_sync", m20251007_connections_sync, Just down_m20251007_connections_sync) ] -- | The list of migrations in ascending order by date diff --git a/src/Simplex/Chat/Store/SQLite/Migrations/M20251007_connections_sync.hs b/src/Simplex/Chat/Store/SQLite/Migrations/M20251007_connections_sync.hs new file mode 100644 index 0000000000..64a9275f9a --- /dev/null +++ b/src/Simplex/Chat/Store/SQLite/Migrations/M20251007_connections_sync.hs @@ -0,0 +1,25 @@ +{-# LANGUAGE QuasiQuotes #-} + +module Simplex.Chat.Store.SQLite.Migrations.M20251007_connections_sync where + +import Database.SQLite.Simple (Query) +import Database.SQLite.Simple.QQ (sql) + +-- should_sync should be set manually when required +m20251007_connections_sync :: Query +m20251007_connections_sync = + [sql| +CREATE TABLE connections_sync( + connections_sync_id INTEGER PRIMARY KEY AUTOINCREMENT, + should_sync INTEGER NOT NULL DEFAULT 0, + last_sync_ts TEXT +); + +INSERT INTO connections_sync (connections_sync_id, should_sync, last_sync_ts) VALUES (1,0,NULL); +|] + +down_m20251007_connections_sync :: Query +down_m20251007_connections_sync = + [sql| +DROP TABLE connections_sync; +|] diff --git a/src/Simplex/Chat/Store/SQLite/Migrations/agent_query_plans.txt b/src/Simplex/Chat/Store/SQLite/Migrations/agent_query_plans.txt index 0175df531b..0b2b4ddc95 100644 --- a/src/Simplex/Chat/Store/SQLite/Migrations/agent_query_plans.txt +++ b/src/Simplex/Chat/Store/SQLite/Migrations/agent_query_plans.txt @@ -912,6 +912,20 @@ SEARCH messages USING COVERING INDEX idx_messages_conn_id (conn_id=?) SEARCH snd_queues USING COVERING INDEX idx_snd_queue_id (conn_id=?) SEARCH rcv_queues USING COVERING INDEX idx_rcv_queue_id (conn_id=?) +Query: DELETE FROM connections WHERE user_id = 2 +Plan: +SEARCH connections USING COVERING INDEX idx_connections_user (user_id=?) +SEARCH processed_ratchet_key_hashes USING COVERING INDEX idx_processed_ratchet_key_hashes_hash (conn_id=?) +SEARCH encrypted_rcv_message_hashes USING COVERING INDEX idx_encrypted_rcv_message_hashes_hash (conn_id=?) +SEARCH snd_message_deliveries USING COVERING INDEX idx_snd_message_deliveries_conn_id_internal_id (conn_id=?) +SEARCH commands USING COVERING INDEX idx_commands_conn_id (conn_id=?) +SEARCH ratchets USING PRIMARY KEY (conn_id=?) +SEARCH conn_invitations USING COVERING INDEX idx_conn_invitations_contact_conn_id (contact_conn_id=?) +SEARCH conn_confirmations USING COVERING INDEX idx_conn_confirmations_conn_id (conn_id=?) +SEARCH messages USING COVERING INDEX idx_messages_conn_id (conn_id=?) +SEARCH snd_queues USING COVERING INDEX idx_snd_queue_id (conn_id=?) +SEARCH rcv_queues USING COVERING INDEX idx_rcv_queue_id (conn_id=?) + Query: DELETE FROM deleted_snd_chunk_replicas WHERE deleted_snd_chunk_replica_id = ? Plan: SEARCH deleted_snd_chunk_replicas USING INTEGER PRIMARY KEY (rowid=?) @@ -963,6 +977,14 @@ Query: DELETE FROM snd_queues WHERE conn_id = ? AND snd_queue_id = ? Plan: SEARCH snd_queues USING COVERING INDEX idx_snd_queue_id (conn_id=? AND snd_queue_id=?) +Query: DELETE FROM users WHERE user_id = 2 +Plan: +SEARCH users USING INTEGER PRIMARY KEY (rowid=?) +SEARCH deleted_snd_chunk_replicas USING COVERING INDEX idx_deleted_snd_chunk_replicas_user_id (user_id=?) +SEARCH snd_files USING COVERING INDEX idx_snd_files_user_id (user_id=?) +SEARCH rcv_files USING COVERING INDEX idx_rcv_files_user_id (user_id=?) +SEARCH connections USING COVERING INDEX idx_connections_user (user_id=?) + Query: DELETE FROM users WHERE user_id = ? Plan: SEARCH users USING INTEGER PRIMARY KEY (rowid=?) @@ -1035,14 +1057,26 @@ Query: SELECT 1 FROM snd_message_deliveries WHERE conn_id = ? AND failed = 0 LIM Plan: SEARCH snd_message_deliveries USING COVERING INDEX idx_snd_message_deliveries_expired (conn_id=?) +Query: SELECT conn_id FROM connections WHERE deleted = 0 +Plan: +SCAN connections + Query: SELECT conn_id FROM connections WHERE user_id = ? Plan: SEARCH connections USING COVERING INDEX idx_connections_user (user_id=?) +Query: SELECT count(1) FROM connections +Plan: +SCAN connections USING COVERING INDEX idx_connections_user + Query: SELECT count(1) FROM snd_message_bodies Plan: SCAN snd_message_bodies +Query: SELECT count(1) FROM users +Plan: +SCAN users + Query: SELECT deleted FROM snd_files WHERE snd_file_id = ? Plan: SEARCH snd_files USING INTEGER PRIMARY KEY (rowid=?) @@ -1103,6 +1137,10 @@ Query: SELECT started_at, servers_stats FROM servers_stats WHERE servers_stats_i Plan: SEARCH servers_stats USING INTEGER PRIMARY KEY (rowid=?) +Query: SELECT user_id FROM users WHERE deleted = 0 +Plan: +SCAN users + Query: SELECT user_id FROM users WHERE user_id = ? AND deleted = ? Plan: SEARCH users USING INTEGER PRIMARY KEY (rowid=?) diff --git a/src/Simplex/Chat/Store/SQLite/Migrations/chat_query_plans.txt b/src/Simplex/Chat/Store/SQLite/Migrations/chat_query_plans.txt index b15b6b9dd6..91db234fd1 100644 --- a/src/Simplex/Chat/Store/SQLite/Migrations/chat_query_plans.txt +++ b/src/Simplex/Chat/Store/SQLite/Migrations/chat_query_plans.txt @@ -3103,6 +3103,41 @@ Query: Plan: SEARCH chat_items USING COVERING INDEX idx_chat_items_notes (user_id=? AND note_folder_id=? AND item_status=?) +Query: + SELECT agent_conn_id + FROM connections + WHERE user_id = ? + + AND conn_type = ? + AND contact_id IS NULL + AND conn_status != ? + +Plan: +SEARCH connections USING INDEX idx_connections_contact_id (contact_id=?) + +Query: + SELECT c.agent_conn_id + FROM connections c + JOIN contacts ct ON ct.contact_id = c.contact_id + WHERE c.user_id = ? + + AND c.conn_status != ? + AND ct.contact_status = ? AND ct.deleted = 0 + +Plan: +SEARCH c USING INDEX idx_connections_to_subscribe (user_id=?) +SEARCH ct USING INTEGER PRIMARY KEY (rowid=?) + +Query: + SELECT c.agent_conn_id + FROM connections c + JOIN user_contact_links ucl ON ucl.user_contact_link_id = c.user_contact_link_id + WHERE c.user_id = ? + AND c.conn_status != ? +Plan: +SEARCH c USING INDEX idx_connections_to_subscribe (user_id=?) +SEARCH ucl USING INTEGER PRIMARY KEY (rowid=?) + Query: SELECT c.connection_id, c.agent_conn_id, c.conn_level, c.via_contact, c.via_user_contact_link, c.via_group_link, c.group_link_id, c.xcontact_id, c.custom_user_profile_id, c.conn_status, c.conn_type, c.contact_conn_initiated, c.local_alias, c.contact_id, c.group_member_id, c.user_contact_link_id, @@ -3753,6 +3788,31 @@ Query: Plan: SEARCH groups USING INTEGER PRIMARY KEY (rowid=?) +Query: + WITH user_groups AS MATERIALIZED ( + SELECT g.group_id + FROM groups g + JOIN group_members mu ON mu.group_id = g.group_id + WHERE g.user_id = ? + AND mu.contact_id = ? + AND mu.member_status NOT IN (?,?,?) + ) + SELECT c.agent_conn_id + FROM connections c + JOIN group_members m ON m.group_member_id = c.group_member_id + JOIN user_groups ug ON ug.group_id = m.group_id + WHERE c.user_id = ? + AND c.conn_status != ? + AND m.member_status NOT IN (?,?,?) + +Plan: +MATERIALIZE user_groups +SEARCH mu USING INDEX idx_group_members_contact_id (contact_id=?) +SEARCH g USING INTEGER PRIMARY KEY (rowid=?) +SEARCH c USING INDEX idx_connections_to_subscribe (user_id=?) +SEARCH m USING INTEGER PRIMARY KEY (rowid=?) +SEARCH ug USING AUTOMATIC COVERING INDEX (group_id=?) + Query: DELETE FROM chat_items WHERE group_scope_group_member_id = ? @@ -4581,6 +4641,14 @@ Query: Plan: SEARCH connections USING INTEGER PRIMARY KEY (rowid=?) +Query: + UPDATE connections_sync + SET should_sync = 0, last_sync_ts = ? + WHERE connections_sync_id = 1 + +Plan: +SEARCH connections_sync USING INTEGER PRIMARY KEY (rowid=?) + Query: UPDATE contact_profiles SET contact_link = ?, updated_at = ? @@ -5571,6 +5639,17 @@ Query: DELETE FROM commands WHERE user_id = ? AND command_id = ? Plan: SEARCH commands USING INTEGER PRIMARY KEY (rowid=?) +Query: DELETE FROM connections WHERE contact_id = (SELECT contact_id FROM contacts WHERE local_display_name = 'cath') +Plan: +SEARCH connections USING INDEX idx_connections_contact_id (contact_id=?) +SCALAR SUBQUERY 1 +SCAN contacts USING COVERING INDEX sqlite_autoindex_contacts_1 +SEARCH msg_deliveries USING COVERING INDEX idx_msg_deliveries_agent_msg_id (connection_id=?) +SEARCH commands USING COVERING INDEX idx_commands_connection_id (connection_id=?) +SEARCH messages USING COVERING INDEX idx_messages_connection_id (connection_id=?) +SEARCH snd_files USING COVERING INDEX idx_snd_files_connection_id (connection_id=?) +SEARCH contacts USING COVERING INDEX idx_contacts_grp_direct_inv_from_member_conn_id (grp_direct_inv_from_member_conn_id=?) + Query: DELETE FROM connections WHERE user_id = ? AND connection_id = ? Plan: SEARCH connections USING INTEGER PRIMARY KEY (rowid=?) @@ -6178,6 +6257,10 @@ Query: SELECT sent_inv_queue_info FROM group_members WHERE group_member_id = ? A Plan: SEARCH group_members USING INTEGER PRIMARY KEY (rowid=?) +Query: SELECT should_sync FROM connections_sync WHERE connections_sync_id = 1 +Plan: +SEARCH connections_sync USING INTEGER PRIMARY KEY (rowid=?) + Query: SELECT user_contact_link_id FROM contact_requests WHERE contact_request_id = ? Plan: SEARCH contact_requests USING INTEGER PRIMARY KEY (rowid=?) @@ -6250,6 +6333,10 @@ Query: UPDATE connections SET security_code = ?, security_code_verified_at = ?, Plan: SEARCH connections USING INTEGER PRIMARY KEY (rowid=?) +Query: UPDATE connections_sync SET should_sync = 1 WHERE connections_sync_id = 1 +Plan: +SEARCH connections_sync USING INTEGER PRIMARY KEY (rowid=?) + Query: UPDATE contact_requests SET business_group_id = ? WHERE contact_request_id = ? Plan: SEARCH contact_requests USING INTEGER PRIMARY KEY (rowid=?) diff --git a/src/Simplex/Chat/Store/SQLite/Migrations/chat_schema.sql b/src/Simplex/Chat/Store/SQLite/Migrations/chat_schema.sql index 4dcf9b01f7..7d8f9d0dcd 100644 --- a/src/Simplex/Chat/Store/SQLite/Migrations/chat_schema.sql +++ b/src/Simplex/Chat/Store/SQLite/Migrations/chat_schema.sql @@ -716,6 +716,11 @@ CREATE TABLE group_member_status_predicates( member_status TEXT NOT NULL PRIMARY KEY, current_member INTEGER NOT NULL DEFAULT 0 ); +CREATE TABLE connections_sync( + connections_sync_id INTEGER PRIMARY KEY AUTOINCREMENT, + should_sync INTEGER NOT NULL DEFAULT 0, + last_sync_ts TEXT +); CREATE INDEX contact_profiles_index ON contact_profiles( display_name, full_name diff --git a/src/Simplex/Chat/View.hs b/src/Simplex/Chat/View.hs index a4602614cb..44675c69a2 100644 --- a/src/Simplex/Chat/View.hs +++ b/src/Simplex/Chat/View.hs @@ -57,6 +57,7 @@ import Simplex.Chat.Types.Preferences import Simplex.Chat.Types.Shared import Simplex.Chat.Types.UITheme import qualified Simplex.FileTransfer.Transport as XFTP +import Simplex.Messaging.Agent (DatabaseDiff (..)) import Simplex.Messaging.Agent.Client (ProtocolTestFailure (..), ProtocolTestStep (..), SubscriptionsInfo (..)) import Simplex.Messaging.Agent.Env.SQLite (NetworkConfig (..), ServerRoles (..)) import Simplex.Messaging.Agent.Protocol @@ -116,6 +117,9 @@ chatResponseToView hu cfg@ChatConfig {logLevel, showReactions, testView} liveIte CRChatStarted -> ["chat started"] CRChatRunning -> ["chat is running"] CRChatStopped -> ["chat stopped"] + CRConnectionsDiff showIds userDiff connDiff + | showIds -> viewConnDiffIds userDiff connDiff + | otherwise -> viewConnDiffSummary userDiff connDiff CRApiChats u chats -> ttyUser u $ if testView then testViewChats chats else [viewJSON chats] CRChats chats -> viewChats ts tz chats CRApiChat u chat _ -> ttyUser u $ if testView then testViewChat chat else [viewJSON chat] @@ -449,6 +453,7 @@ chatEventToView hu ChatConfig {logLevel, showReactions, showReceipts, testView} CEvtContactConnected u ct userCustomProfile -> ttyUser u $ viewContactConnected ct userCustomProfile testView CEvtContactSndReady u ct -> ttyUser u [ttyFullContact ct <> ": you can send messages to contact"] CEvtContactAnotherClient u c -> ttyUser u [ttyContact' c <> ": contact is connected to another client"] + CEvtConnectionsDiff userDiff connDiff -> viewConnDiffSync userDiff connDiff CEvtSubscriptionEnd u acEntity -> let Connection {connId} = entityConnection acEntity in ttyUser u [sShow connId <> ": END"] @@ -1423,6 +1428,42 @@ viewUserPrivacy User {userId} User {userId = userId', localDisplayName = n', sho "profile is " <> if isJust viewPwdHash then "hidden" else "visible" ] +viewConnDiffSync :: DatabaseDiff AgentUserId -> DatabaseDiff AgentConnId -> [StyledString] +viewConnDiffSync userDiff connDiff = + viewConnDiffSummary userDiff connDiff + <> ["removed extra users in agent" | not (null $ extraIds userDiff)] + <> ["removed extra connections in agent" | not (null $ extraIds connDiff)] + +viewConnDiffSummary :: DatabaseDiff AgentUserId -> DatabaseDiff AgentConnId -> [StyledString] +viewConnDiffSummary userDiff connDiff + | noDiff userDiff && noDiff connDiff = + ["no difference between agent and chat connections"] + | otherwise = + ["connections difference summary:"] + <> showDatabaseDiff "users" userDiff + <> showDatabaseDiff "connections" connDiff + where + noDiff DatabaseDiff {missingIds, extraIds} = null missingIds && null extraIds + showDatabaseDiff name DatabaseDiff {missingIds, extraIds} = + ["number of missing " <> name <> " in agent: " <> sShow (length missingIds) | not (null missingIds)] + <> ["number of extra " <> name <> " in agent: " <> sShow (length extraIds) | not (null extraIds)] + +viewConnDiffIds :: DatabaseDiff AgentUserId -> DatabaseDiff AgentConnId -> [StyledString] +viewConnDiffIds userDiff connDiff + | noDiff userDiff && noDiff connDiff = + ["no difference between agent and chat connections"] + | otherwise = + ["connections difference:"] + <> showDatabaseDiff "users" (\(AgentUserId uId) -> uId) userDiff + <> showDatabaseDiff "connections" (\(AgentConnId cId) -> cId) connDiff + where + noDiff DatabaseDiff {missingIds, extraIds} = null missingIds && null extraIds + showDatabaseDiff name unwrapId DatabaseDiff {missingIds, extraIds} = + ["missing " <> name <> " in agent (agent IDs): " <> showIds missingIds | not (null missingIds)] + <> ["extra " <> name <> " in agent (agent IDs): " <> showIds extraIds | not (null extraIds)] + where + showIds = plain . T.intercalate ", " . map (tshow . unwrapId) + viewUserServers :: UserOperatorServers -> [StyledString] viewUserServers (UserOperatorServers _ [] []) = [] viewUserServers UserOperatorServers {operator, smpServers, xftpServers} = diff --git a/tests/ChatTests/Direct.hs b/tests/ChatTests/Direct.hs index 74395bf24e..c6976fbe47 100644 --- a/tests/ChatTests/Direct.hs +++ b/tests/ChatTests/Direct.hs @@ -16,7 +16,7 @@ import ChatTests.DBUtils import ChatTests.Utils import Control.Concurrent (threadDelay) import Control.Concurrent.Async (concurrently_) -import Control.Monad (forM_) +import Control.Monad (forM_, void) import Data.Aeson (ToJSON) import qualified Data.Aeson as J import qualified Data.ByteString.Char8 as B @@ -118,6 +118,11 @@ chatDirectTests = do it "export/import chat with files" testMaintenanceModeWithFiles it "encrypt/decrypt database" testDatabaseEncryption #endif + describe "connections synchronization" $ do + it "should report users missing in agent" testConnSyncMissingAgentUsers + it "should remove and report extra users in agent" testConnSyncExtraAgentUsers + it "should report connections missing in agent" testConnSyncMissingAgentConns + it "should remove and report extra connections in agent" testConnSyncExtraAgentConns describe "coordination between app and NSE" $ do it "should not subscribe in NSE and subscribe in the app" testSubscribeAppNSE describe "mute/unmute messages" $ do @@ -1523,6 +1528,168 @@ testDatabaseEncryption ps = do testChatWorking alice bob #endif +testConnSyncMissingAgentUsers :: HasCallStack => TestParams -> IO () +testConnSyncMissingAgentUsers ps = do + withNewTestChat ps "bob" bobProfile $ \bob -> do + withNewTestChat ps "alice" aliceProfile $ \alice -> do + connectUsers alice bob + + alice ##> "/create user alisa" + showActiveUser alice "alisa" + alice ##> "/user alice" + showActiveUser alice "alice (Alice)" + + alice ##> "/_connections diff" + alice <## "no difference between agent and chat connections" + + void $ withCCAgentTransaction alice $ \db -> + DB.execute_ db "DELETE FROM users WHERE user_id = 2" + + alice ##> "/_connections diff" + alice <## "connections difference summary:" + alice <## "number of missing users in agent: 1" + + alice ##> "/_connections diff show_ids=on" + alice <## "connections difference:" + alice <## "missing users in agent (agent IDs): 2" + + void $ withCCTransaction alice $ \db -> + DB.execute_ db "UPDATE connections_sync SET should_sync = 1 WHERE connections_sync_id = 1" + + withTestChat ps "alice" $ \alice -> do + alice <## "connections difference summary:" + alice <## "number of missing users in agent: 1" + + alice <## "subscribed 1 connections on server localhost" + + alice <##> bob + +testConnSyncExtraAgentUsers :: HasCallStack => TestParams -> IO () +testConnSyncExtraAgentUsers ps = do + withNewTestChat ps "bob" bobProfile $ \bob -> do + withNewTestChat ps "alice" aliceProfile $ \alice -> do + connectUsers alice bob + + alice ##> "/_connections diff" + alice <## "no difference between agent and chat connections" + + void $ withCCAgentTransaction alice $ \db -> + DB.execute_ db "INSERT INTO users DEFAULT VALUES" + agentUserCount <- withCCAgentTransaction alice $ \db -> + DB.query_ db "SELECT count(1) FROM users" :: IO [[Int]] + agentUserCount `shouldBe` [[2]] + + alice ##> "/_connections diff" + alice <## "connections difference summary:" + alice <## "number of extra users in agent: 1" + + alice ##> "/_connections diff show_ids=on" + alice <## "connections difference:" + alice <## "extra users in agent (agent IDs): 2" + + void $ withCCTransaction alice $ \db -> + DB.execute_ db "UPDATE connections_sync SET should_sync = 1 WHERE connections_sync_id = 1" + + withTestChat ps "alice" $ \alice -> do + alice <## "connections difference summary:" + alice <## "number of extra users in agent: 1" + alice <## "removed extra users in agent" + + alice <## "subscribed 1 connections on server localhost" + + threadDelay 100000 + agentUserCount <- withCCAgentTransaction alice $ \db -> + DB.query_ db "SELECT count(1) FROM users" :: IO [[Int]] + agentUserCount `shouldBe` [[1]] + + alice <##> bob + +testConnSyncMissingAgentConns :: HasCallStack => TestParams -> IO () +testConnSyncMissingAgentConns ps = do + withNewTestChat ps "bob" bobProfile $ \bob -> do + withNewTestChat ps "cath" cathProfile $ \cath -> do + withNewTestChat ps "alice" aliceProfile $ \alice -> do + connectUsers alice bob + + alice ##> "/create user alisa" + showActiveUser alice "alisa" + + -- connection with cath is in user 2, below we delete connection by user_id + -- because it's one of the simplest ways to differentiate them in agent db + connectUsers alice cath + + alice ##> "/user alice" + showActiveUser alice "alice (Alice)" + + alice ##> "/_connections diff" + alice <## "no difference between agent and chat connections" + + void $ withCCAgentTransaction alice $ \db -> + DB.execute_ db "DELETE FROM connections WHERE user_id = 2" + + alice ##> "/_connections diff" + alice <## "connections difference summary:" + alice <## "number of missing connections in agent: 1" + + alice ##> "/_connections diff show_ids=on" + alice <## "connections difference:" + alice <##. "missing connections in agent (agent IDs):" + + void $ withCCTransaction alice $ \db -> + DB.execute_ db "UPDATE connections_sync SET should_sync = 1 WHERE connections_sync_id = 1" + + withTestChat ps "alice" $ \alice -> do + alice <## "connections difference summary:" + alice <## "number of missing connections in agent: 1" + + alice <## "subscribed 1 connections on server localhost" + -- alice <## "[user: alisa] 1 subscription errors (run with -c option to show each error)" + + alice <##> bob + +testConnSyncExtraAgentConns :: HasCallStack => TestParams -> IO () +testConnSyncExtraAgentConns ps = do + withNewTestChat ps "bob" bobProfile $ \bob -> do + withNewTestChat ps "cath" cathProfile $ \cath -> do + withNewTestChat ps "alice" aliceProfile $ \alice -> do + connectUsers alice bob + connectUsers alice cath + + alice ##> "/_connections diff" + alice <## "no difference between agent and chat connections" + + -- deleting connection record in chat db + void $ withCCTransaction alice $ \db -> + DB.execute_ db "DELETE FROM connections WHERE contact_id = (SELECT contact_id FROM contacts WHERE local_display_name = 'cath')" + agentConnCount <- withCCAgentTransaction alice $ \db -> + DB.query_ db "SELECT count(1) FROM connections" :: IO [[Int]] + agentConnCount `shouldBe` [[2]] + + alice ##> "/_connections diff" + alice <## "connections difference summary:" + alice <## "number of extra connections in agent: 1" + + alice ##> "/_connections diff show_ids=on" + alice <## "connections difference:" + alice <##. "extra connections in agent (agent IDs):" + + void $ withCCTransaction alice $ \db -> + DB.execute_ db "UPDATE connections_sync SET should_sync = 1 WHERE connections_sync_id = 1" + + withTestChat ps "alice" $ \alice -> do + alice <## "connections difference summary:" + alice <## "number of extra connections in agent: 1" + alice <## "removed extra connections in agent" + + alice <## "subscribed 1 connections on server localhost" + + threadDelay 100000 + agentConnCount <- withCCAgentTransaction alice $ \db -> + DB.query_ db "SELECT count(1) FROM connections" :: IO [[Int]] + agentConnCount `shouldBe` [[1]] + + alice <##> bob + testSubscribeAppNSE :: HasCallStack => TestParams -> IO () testSubscribeAppNSE ps = withNewTestChat ps "bob" bobProfile $ \bob -> do From ad12f840f149a783e844f7f52d3672006114e4bf Mon Sep 17 00:00:00 2001 From: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com> Date: Fri, 10 Oct 2025 07:40:09 +0000 Subject: [PATCH 16/38] core: don't create and drop postgres db around unit tests (#6350) --- tests/Test.hs | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/tests/Test.hs b/tests/Test.hs index 253a535370..e4e76fd43e 100644 --- a/tests/Test.hs +++ b/tests/Test.hs @@ -26,7 +26,7 @@ import ViewTests import Control.Exception (bracket_) import PostgresSchemaDump import Simplex.Chat.Store.Postgres.Migrations (migrations) -import Simplex.Messaging.Agent.Store.Postgres.Util (createDBAndUserIfNotExists, dropAllSchemasExceptSystem, dropDatabaseAndUser) +import Simplex.Messaging.Agent.Store.Postgres.Util (createDBAndUserIfNotExists, dropDatabaseAndUser) import System.Directory (createDirectoryIfMissing, removePathForcibly) #else import APIDocs @@ -44,13 +44,9 @@ main = do agentQueryStats <- TM.emptyIO #endif withGlobalLogging logCfg . hspec -#if defined(dbPostgres) - . before_ (dropDatabaseAndUser testDBConnectInfo >> createDBAndUserIfNotExists testDBConnectInfo) - . after_ (dropDatabaseAndUser testDBConnectInfo) -#endif $ do #if defined(dbPostgres) - around_ (bracket_ (createDirectoryIfMissing False "tests/tmp") (removePathForcibly "tests/tmp")) $ + createdDropDb . around_ (bracket_ (createDirectoryIfMissing False "tests/tmp") (removePathForcibly "tests/tmp")) $ describe "Postgres schema dump" $ postgresSchemaDumpTest migrations @@ -70,7 +66,7 @@ main = do describe "Operators" operatorTests describe "Random servers" randomServersTests #if defined(dbPostgres) - around testBracket + createdDropDb . around testBracket #else around (testBracket chatQueryStats agentQueryStats) #endif @@ -87,6 +83,9 @@ main = do #endif where #if defined(dbPostgres) + createdDropDb = + before_ (dropDatabaseAndUser testDBConnectInfo >> createDBAndUserIfNotExists testDBConnectInfo) + . after_ (dropDatabaseAndUser testDBConnectInfo) testBracket test = withSmpServer $ tmpBracket $ \tmpPath -> test TestParams {tmpPath, printOutput = False} #else testBracket chatQueryStats agentQueryStats test = From e291a71ef3eee735b11bc77b658d0c454638a157 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Fri, 10 Oct 2025 13:54:19 +0100 Subject: [PATCH 17/38] core: do not add entities to batched agent errors (#6351) --- bots/api/TYPES.md | 1 + .../types/typescript/src/types.ts | 1 + src/Simplex/Chat/Controller.hs | 4 +- src/Simplex/Chat/Library/Commands.hs | 4 +- src/Simplex/Chat/Library/Internal.hs | 6 +-- src/Simplex/Chat/Library/Subscriber.hs | 48 ++++++++----------- src/Simplex/Chat/Remote.hs | 2 +- src/Simplex/Chat/View.hs | 8 ++-- 8 files changed, 35 insertions(+), 39 deletions(-) diff --git a/bots/api/TYPES.md b/bots/api/TYPES.md index f7012f2923..d4a46e59ab 100644 --- a/bots/api/TYPES.md +++ b/bots/api/TYPES.md @@ -911,6 +911,7 @@ Error: ErrorAgent: - type: "errorAgent" - agentError: [AgentErrorType](#agenterrortype) +- agentConnId: string - connectionEntity_: [ConnectionEntity](#connectionentity)? ErrorStore: diff --git a/packages/simplex-chat-client/types/typescript/src/types.ts b/packages/simplex-chat-client/types/typescript/src/types.ts index d7c7286b45..64eb1571b9 100644 --- a/packages/simplex-chat-client/types/typescript/src/types.ts +++ b/packages/simplex-chat-client/types/typescript/src/types.ts @@ -941,6 +941,7 @@ export namespace ChatError { export interface ErrorAgent extends Interface { type: "errorAgent" agentError: AgentErrorType + agentConnId: string connectionEntity_?: ConnectionEntity } diff --git a/src/Simplex/Chat/Controller.hs b/src/Simplex/Chat/Controller.hs index a48ec3fe55..10c218b84e 100644 --- a/src/Simplex/Chat/Controller.hs +++ b/src/Simplex/Chat/Controller.hs @@ -1238,7 +1238,7 @@ data SlowSQLQuery = SlowSQLQuery data ChatError = ChatError {errorType :: ChatErrorType} - | ChatErrorAgent {agentError :: AgentErrorType, connectionEntity_ :: Maybe ConnectionEntity} + | ChatErrorAgent {agentError :: AgentErrorType, agentConnId :: AgentConnId, connectionEntity_ :: Maybe ConnectionEntity} | ChatErrorStore {storeError :: StoreError} | ChatErrorDatabase {databaseError :: DatabaseError} | ChatErrorRemoteCtrl {remoteCtrlError :: RemoteCtrlError} @@ -1572,7 +1572,7 @@ withAgent :: (AgentClient -> ExceptT AgentErrorType IO a) -> CM a withAgent action = asks smpAgent >>= liftIO . runExceptT . action - >>= liftEither . first (`ChatErrorAgent` Nothing) + >>= liftEither . first (\e -> ChatErrorAgent e (AgentConnId "") Nothing) withAgent' :: (AgentClient -> IO a) -> CM' a withAgent' action = asks smpAgent >>= liftIO . action diff --git a/src/Simplex/Chat/Library/Commands.hs b/src/Simplex/Chat/Library/Commands.hs index a140cd4efe..33660dc801 100644 --- a/src/Simplex/Chat/Library/Commands.hs +++ b/src/Simplex/Chat/Library/Commands.hs @@ -3527,7 +3527,7 @@ processChatCommand vr nm = \case deleteCIFiles user filesInfo withAgent (\a -> deleteUser a (aUserId user) delSMPQueues) `catchAllErrors` \case - e@(ChatErrorAgent NO_USER _) -> eToView e + e@(ChatErrorAgent NO_USER _ _) -> eToView e e -> throwError e withFastStore' (`deleteUserRecord` user) when (activeUser user) $ chatWriteVar currentUser Nothing @@ -4139,7 +4139,7 @@ agentSubscriber = do q <- asks $ subQ . smpAgent forever (atomically (readTBQueue q) >>= process) `E.catchAny` \e -> do - eToView' $ ChatErrorAgent (CRITICAL True $ "Message reception stopped: " <> show e) Nothing + eToView' $ ChatErrorAgent (CRITICAL True $ "Message reception stopped: " <> show e) (AgentConnId "") Nothing E.throwIO e where process :: (ACorrId, AEntityId, AEvt) -> CM' () diff --git a/src/Simplex/Chat/Library/Internal.hs b/src/Simplex/Chat/Library/Internal.hs index 4177dc6984..74cd0e0d47 100644 --- a/src/Simplex/Chat/Library/Internal.hs +++ b/src/Simplex/Chat/Library/Internal.hs @@ -659,8 +659,8 @@ receiveFileEvt' user ft userApprovedRelays rcvInline_ filePath_ = do rctFileCancelled :: ChatError -> Bool rctFileCancelled = \case - ChatErrorAgent (SMP _ SMP.AUTH) _ -> True - ChatErrorAgent (CONN DUPLICATE _) _ -> True + ChatErrorAgent (SMP _ SMP.AUTH) _ _ -> True + ChatErrorAgent (CONN DUPLICATE _) _ _ -> True _ -> False acceptFileReceive :: User -> RcvFileTransfer -> Bool -> Maybe Bool -> Maybe FilePath -> CM AChatItem @@ -1814,7 +1814,7 @@ deliverMessagesB msgReqs = do Left _ce -> (prev, Left (AP.INTERNAL "ChatError, skip")) -- as long as it is Left, the agent batchers should just step over it prepareBatch (Right req) (Right ar) = Right (req, ar) prepareBatch (Left ce) _ = Left ce -- restore original ChatError - prepareBatch _ (Left ae) = Left $ ChatErrorAgent ae Nothing + prepareBatch _ (Left ae) = Left $ ChatErrorAgent ae (AgentConnId "") Nothing createDelivery :: DB.Connection -> (ChatMsgReq, (AgentMsgId, PQEncryption)) -> IO (Either ChatError ([Int64], PQEncryption)) createDelivery db ((Connection {connId}, _, (_, msgIds)), (agentMsgId, pqEnc')) = do Right . (,pqEnc') <$> mapM (createSndMsgDelivery db (SndMsgDelivery {connId, agentMsgId})) msgIds diff --git a/src/Simplex/Chat/Library/Subscriber.hs b/src/Simplex/Chat/Library/Subscriber.hs index ab316ddcae..4b71c23fb9 100644 --- a/src/Simplex/Chat/Library/Subscriber.hs +++ b/src/Simplex/Chat/Library/Subscriber.hs @@ -104,13 +104,13 @@ processAgentMessage _ _ (DEL_RCVQS delQs) = processAgentMessage _ _ (DEL_CONNS connIds) = toView $ CEvtAgentConnsDeleted $ L.map AgentConnId connIds processAgentMessage _ "" (ERR e) = - eToView $ ChatErrorAgent e Nothing + eToView $ ChatErrorAgent e (AgentConnId "") Nothing processAgentMessage corrId connId msg = do - lockEntity <- critical (withStore (`getChatLockEntity` AgentConnId connId)) + lockEntity <- critical connId (withStore (`getChatLockEntity` AgentConnId connId)) withEntityLock "processAgentMessage" lockEntity $ do vr <- chatVersionRange -- getUserByAConnId never throws logical errors, only SEDBBusyError can be thrown here - critical (withStore' (`getUserByAConnId` AgentConnId connId)) >>= \case + critical connId (withStore' (`getUserByAConnId` AgentConnId connId)) >>= \case Just user -> processAgentMessageConn vr user corrId connId msg `catchAllErrors` eToView _ -> throwChatError $ CENoConnectionUser (AgentConnId connId) @@ -121,10 +121,10 @@ processAgentMessage corrId connId msg = do -- - without ACK the message delivery will be stuck, -- - with ACK message will be lost, as it failed to be saved. -- Full app restart is likely to resolve database condition and the message will be received and processed again. -critical :: CM a -> CM a -critical a = +critical :: ConnId -> CM a -> CM a +critical agentConnId a = a `catchAllErrors` \case - ChatErrorStore SEDBBusyError {message} -> throwError $ ChatErrorAgent (CRITICAL True message) Nothing + ChatErrorStore SEDBBusyError {message} -> throwError $ ChatErrorAgent (CRITICAL True message) (AgentConnId agentConnId) Nothing e -> throwError e processAgentMessageNoConn :: AEvent 'AENone -> CM () @@ -145,15 +145,7 @@ processAgentMessageNoConn = \case where connIds = map AgentConnId conns errsEvent :: [(ConnId, AgentErrorType)] -> CM () - errsEvent cErrs = do - vr <- chatVersionRange - errs <- lift $ rights <$> withStoreBatch' (\db -> map (getChatErr vr db) cErrs) - toView $ CEvtChatErrors errs - where - getChatErr :: VersionRangeChat -> DB.Connection -> (ConnId, AgentErrorType) -> IO ChatError - getChatErr vr db (connId, err) = - let acId = AgentConnId connId - in ChatErrorAgent err <$> (getUserByAConnId db acId $>>= \user -> eitherToMaybe <$> runExceptT (getConnectionEntity db vr user acId)) + errsEvent = toView . CEvtChatErrors . map (\(cId, e) -> ChatErrorAgent e (AgentConnId cId) Nothing) processAgentMsgSndFile :: ACorrId -> SndFileId -> AEvent 'AESndFile -> CM () processAgentMsgSndFile _corrId aFileId msg = do @@ -361,7 +353,7 @@ processAgentMessageConn vr user@User {userId} corrId agentConnId agentMessage = -- as in this case no need to ACK message - we can't process messages for this connection anyway. -- SEDBException will be re-trown as CRITICAL as it is likely to indicate a temporary database condition -- that will be resolved with app restart. - entity <- critical $ withStore (\db -> getConnectionEntity db vr user $ AgentConnId agentConnId) >>= updateConnStatus + entity <- critical agentConnId $ withStore (\db -> getConnectionEntity db vr user $ AgentConnId agentConnId) >>= updateConnStatus case agentMessage of END -> case entity of RcvDirectMsgConnection _ (Just ct) -> toView $ CEvtContactAnotherClient user ct @@ -442,13 +434,13 @@ processAgentMessageConn vr user@User {userId} corrId agentConnId agentMessage = MWARN _ err -> processConnMWARN connEntity conn err MERR _ err -> do - eToView (ChatErrorAgent err $ Just connEntity) + eToView $ ChatErrorAgent err (AgentConnId agentConnId) (Just connEntity) processConnMERR connEntity conn err MERRS _ err -> do -- error cannot be AUTH error here - eToView (ChatErrorAgent err $ Just connEntity) + eToView $ ChatErrorAgent err (AgentConnId agentConnId) (Just connEntity) ERR err -> do - eToView (ChatErrorAgent err $ Just connEntity) + eToView $ ChatErrorAgent err (AgentConnId agentConnId) (Just connEntity) when (corrId /= "") $ withCompletedCommand conn agentMsg $ \_cmdData -> pure () -- TODO add debugging output _ -> pure () @@ -663,14 +655,14 @@ processAgentMessageConn vr user@User {userId} corrId agentConnId agentMessage = processConnMWARN connEntity conn err MERR msgId err -> do updateDirectItemStatus ct conn msgId (CISSndError $ agentSndError err) - eToView (ChatErrorAgent err $ Just connEntity) + eToView $ ChatErrorAgent err (AgentConnId agentConnId) (Just connEntity) processConnMERR connEntity conn err MERRS msgIds err -> do -- error cannot be AUTH error here updateDirectItemsStatusMsgs ct conn (L.toList msgIds) (CISSndError $ agentSndError err) - eToView (ChatErrorAgent err $ Just connEntity) + eToView $ ChatErrorAgent err (AgentConnId agentConnId) (Just connEntity) ERR err -> do - eToView (ChatErrorAgent err $ Just connEntity) + eToView $ ChatErrorAgent err (AgentConnId agentConnId) (Just connEntity) when (corrId /= "") $ withCompletedCommand conn agentMsg $ \_cmdData -> pure () -- TODO add debugging output _ -> pure () @@ -1054,16 +1046,16 @@ processAgentMessageConn vr user@User {userId} corrId agentConnId agentMessage = MERR msgId err -> do withStore' $ \db -> updateGroupItemsErrorStatus db msgId (groupMemberId' m) (GSSError $ agentSndError err) -- group errors are silenced to reduce load on UI event log - -- eToView (ChatErrorAgent err $ Just connEntity) + -- eToView $ ChatErrorAgent err (AgentConnId agentConnId) (Just connEntity) processConnMERR connEntity conn err MERRS msgIds err -> do let newStatus = GSSError $ agentSndError err -- error cannot be AUTH error here withStore' $ \db -> forM_ msgIds $ \msgId -> updateGroupItemsErrorStatus db msgId (groupMemberId' m) newStatus `catchAll_` pure () - eToView (ChatErrorAgent err $ Just connEntity) + eToView $ ChatErrorAgent err (AgentConnId agentConnId) (Just connEntity) ERR err -> do - eToView (ChatErrorAgent err $ Just connEntity) + eToView $ ChatErrorAgent err (AgentConnId agentConnId) (Just connEntity) when (corrId /= "") $ withCompletedCommand conn agentMsg $ \_cmdData -> pure () -- TODO add debugging output _ -> pure () @@ -1156,10 +1148,10 @@ processAgentMessageConn vr user@User {userId} corrId agentConnId agentMessage = -- TODO show/log error, other events in contact request _ -> pure () MERR _ err -> do - eToView (ChatErrorAgent err $ Just connEntity) + eToView $ ChatErrorAgent err (AgentConnId agentConnId) (Just connEntity) processConnMERR connEntity conn err ERR err -> do - eToView (ChatErrorAgent err $ Just connEntity) + eToView $ ChatErrorAgent err (AgentConnId agentConnId) (Just connEntity) when (corrId /= "") $ withCompletedCommand conn agentMsg $ \_cmdData -> pure () -- TODO add debugging output _ -> pure () @@ -1405,7 +1397,7 @@ processAgentMessageConn vr user@User {userId} corrId agentConnId agentMessage = unless shouldDelConns $ withLog (eInfo <> " ok") $ ackMsg msgMeta $ if withRcpt then Just "" else Nothing -- If showCritical is True, then these errors don't result in ACK and show user visible alert -- This prevents losing the message that failed to be processed. - Left (ChatErrorStore SEDBBusyError {message}) | showCritical -> throwError $ ChatErrorAgent (CRITICAL True message) Nothing + Left (ChatErrorStore SEDBBusyError {message}) | showCritical -> throwError $ ChatErrorAgent (CRITICAL True message) (AgentConnId "") Nothing Left e -> do withLog (eInfo <> " error: " <> tshow e) $ ackMsg msgMeta Nothing throwError e diff --git a/src/Simplex/Chat/Remote.hs b/src/Simplex/Chat/Remote.hs index 47dce826ce..ebbc9296ad 100644 --- a/src/Simplex/Chat/Remote.hs +++ b/src/Simplex/Chat/Remote.hs @@ -531,7 +531,7 @@ handleRemoteCommand execCC encryption remoteOutputQ HTTP2Request {request, reqBo Left e -> eToView' $ ChatErrorRemoteCtrl $ RCEProtocolError e takeRCStep :: RCStepTMVar a -> CM a -takeRCStep = liftError' (\e -> ChatErrorAgent {agentError = RCP e, connectionEntity_ = Nothing}) . atomically . takeTMVar +takeRCStep = liftError' (\e -> ChatErrorAgent {agentError = RCP e, agentConnId = AgentConnId "", connectionEntity_ = Nothing}) . atomically . takeTMVar type GetChunk = Int -> IO ByteString diff --git a/src/Simplex/Chat/View.hs b/src/Simplex/Chat/View.hs index 44675c69a2..3a41c5f767 100644 --- a/src/Simplex/Chat/View.hs +++ b/src/Simplex/Chat/View.hs @@ -2396,7 +2396,7 @@ viewRemoteCtrl CtrlAppInfo {deviceName, appVersionRange = AppVersionRange _ (App viewRemoteCtrlStopped :: RemoteCtrlStopReason -> [StyledString] viewRemoteCtrlStopped = \case - RCSRConnectionFailed (ChatErrorAgent (RCP RCEIdentity) _) -> + RCSRConnectionFailed (ChatErrorAgent (RCP RCEIdentity) _ _) -> ["remote controller stopped: this link was used with another controller, please create a new link on the host"] _ -> ["remote controller stopped"] @@ -2531,7 +2531,7 @@ viewChatError isCmd logLevel testView = \case DBErrorExport e -> ["error encrypting database: " <> sqliteError' e] DBErrorOpen e -> ["error opening database after encryption: " <> sqliteError' e] e -> ["chat database error: " <> sShow e] - ChatErrorAgent err entity_ -> case err of + ChatErrorAgent err (AgentConnId acId) entity_ -> case err of CMD PROHIBITED cxt -> [withConnEntity <> plain ("error: command is prohibited, " <> cxt)] SMP _ SMP.AUTH -> [ withConnEntity @@ -2562,7 +2562,9 @@ viewChatError isCmd logLevel testView = \case "[" <> connEntityLabel entity <> ", groupId: " <> sShow groupId <> ", memberId: " <> sShow groupMemberId <> ", connId: " <> cId conn <> "] " Just entity@(UserContactConnection conn UserContact {userContactLinkId}) -> "[" <> connEntityLabel entity <> ", userContactLinkId: " <> sShow userContactLinkId <> ", connId: " <> cId conn <> "] " - Nothing -> "" + Nothing + | acId == "" -> "" + | otherwise -> plain $ "agent conn ID: " <> acId cId :: Connection -> StyledString cId Connection {connId} = sShow connId ChatErrorRemoteCtrl e -> [plain $ "remote controller error: " <> show e] From f21ef8f55da6216a62d71435f72ad241318f29b7 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Fri, 10 Oct 2025 17:29:12 +0100 Subject: [PATCH 18/38] core: send updated profile to group when bio changes (#6352) * core: send updated profile to group when bio changes * redact short links from descriptions where group preferences prohibit them --- src/Simplex/Chat/Library/Commands.hs | 42 +++++++++++++------------ src/Simplex/Chat/Library/Internal.hs | 43 +++++++++++++++++++++----- src/Simplex/Chat/Library/Subscriber.hs | 36 +++++++++++---------- src/Simplex/Chat/Store/Profiles.hs | 6 ++-- src/Simplex/Chat/Types.hs | 22 +++---------- 5 files changed, 84 insertions(+), 65 deletions(-) diff --git a/src/Simplex/Chat/Library/Commands.hs b/src/Simplex/Chat/Library/Commands.hs index 33660dc801..3f7738656e 100644 --- a/src/Simplex/Chat/Library/Commands.hs +++ b/src/Simplex/Chat/Library/Commands.hs @@ -2118,7 +2118,7 @@ processChatCommand vr nm = \case case memberContactId m of Nothing -> do g <- withFastStore $ \db -> getGroupInfo db vr user gId - unless (groupFeatureMemberAllowed SGFDirectMessages (membership g) g) $ throwCmdError "direct messages not allowed" + unless (groupFeatureUserAllowed SGFDirectMessages g) $ throwCmdError "direct messages not allowed" toView $ CEvtNoMemberContactCreating user g m processChatCommand vr nm (APICreateMemberContact gId mId) >>= \case CRNewMemberContact _ ct@Contact {contactId} _ _ -> do @@ -2543,7 +2543,7 @@ processChatCommand vr nm = \case void $ deleteOrUpdateMemberRecordIO db user gInfo m pure m {memberStatus = GSMemRemoved} deleteMessages user gInfo@GroupInfo {membership} ms - | groupFeatureMemberAllowed SGFFullDelete membership gInfo = deleteGroupMembersCIs user gInfo ms membership + | groupFeatureUserAllowed SGFFullDelete gInfo = deleteGroupMembersCIs user gInfo ms membership | otherwise = markGroupMembersCIsDeleted user gInfo ms membership APILeaveGroup groupId -> withUser $ \user@User {userId} -> do gInfo@GroupInfo {membership} <- withFastStore $ \db -> getGroupInfo db vr user groupId @@ -2668,7 +2668,7 @@ processChatCommand vr nm = \case APICreateMemberContact gId gMemberId -> withUser $ \user -> do (g, m) <- withFastStore $ \db -> (,) <$> getGroupInfo db vr user gId <*> getGroupMember db vr user gId gMemberId assertUserGroupRole g GRAuthor - unless (groupFeatureMemberAllowed SGFDirectMessages (membership g) g) $ throwCmdError "direct messages not allowed" + unless (groupFeatureUserAllowed SGFDirectMessages g) $ throwCmdError "direct messages not allowed" case memberConn m of Just mConn@Connection {peerChatVRange} -> do unless (maxVersion peerChatVRange >= groupDirectInvVersion) $ throwChatError CEPeerChatVRangeIncompatible @@ -3128,25 +3128,25 @@ processChatCommand vr nm = \case Just (PCEContact ct@Contact {activeConn}) -> case activeConn of Nothing -> connect' Nothing Nothing Just conn@Connection {connStatus, xContactId} -> case connStatus of - ConnPrepared -> joinPreparedConn' xContactId conn False + ConnPrepared -> joinPreparedConn' xContactId conn Nothing _ -> pure $ CVRConnectedContact ct - Just (PCEGroup _gInfo GroupMember {activeConn}) -> case activeConn of + Just (PCEGroup gInfo GroupMember {activeConn}) -> case activeConn of Nothing -> connect' groupLinkId Nothing Just conn@Connection {connStatus, xContactId} -> case connStatus of - ConnPrepared -> joinPreparedConn' xContactId conn $ isJust groupLinkId + ConnPrepared -> joinPreparedConn' xContactId conn $ Just (Just gInfo) _ -> connect' groupLinkId xContactId -- why not "already connected" for host member? Nothing -> withFastStore' (\db -> getConnReqContactXContactId db vr user cReqHash1 cReqHash2) >>= \case Right ct@Contact {activeConn} -> case groupLinkId of Nothing -> case activeConn of - Just conn@Connection {connStatus = ConnPrepared, xContactId} -> joinPreparedConn' xContactId conn False + Just conn@Connection {connStatus = ConnPrepared, xContactId} -> joinPreparedConn' xContactId conn Nothing _ -> pure $ CVRConnectedContact ct Just gLinkId -> -- allow repeat contact request -- TODO [short links] is this branch needed? it probably remained from the time we created host contact connect' (Just gLinkId) Nothing Left conn_ -> case conn_ of - Just conn@Connection {connStatus = ConnPrepared, xContactId} -> joinPreparedConn' xContactId conn $ isJust groupLinkId + Just conn@Connection {connStatus = ConnPrepared, xContactId} -> joinPreparedConn' xContactId conn $ groupLinkId $> Nothing -- TODO [short links] this is executed on repeat request after success -- it probably should send the second message without creating the second connection? Just Connection {xContactId} -> connect' groupLinkId xContactId @@ -3155,12 +3155,12 @@ processChatCommand vr nm = \case cReqHash = ConnReqUriHash . C.sha256Hash . strEncode cReqHash1 = cReqHash $ CRContactUri crData {crScheme = SSSimplex} cReqHash2 = cReqHash $ CRContactUri crData {crScheme = simplexChat} - joinPreparedConn' xContactId_ conn@Connection {customUserProfileId} inGroup = do + joinPreparedConn' xContactId_ conn@Connection {customUserProfileId} gInfo_ = do when (incognito /= isJust customUserProfileId) $ throwCmdError "incognito mode is different from prepared connection" xContactId <- mkXContactId xContactId_ localIncognitoProfile <- forM customUserProfileId $ \pId -> withFastStore $ \db -> getProfileById db userId pId let incognitoProfile = fromLocalProfile <$> localIncognitoProfile - conn' <- joinContact user conn cReq incognitoProfile xContactId welcomeSharedMsgId msg_ inGroup PQSupportOn + conn' <- joinContact user conn cReq incognitoProfile xContactId welcomeSharedMsgId msg_ gInfo_ PQSupportOn pure $ CVRSentInvitation conn' incognitoProfile connect' groupLinkId xContactId_ = do let inGroup = isJust groupLinkId @@ -3172,7 +3172,7 @@ processChatCommand vr nm = \case subMode <- chatReadVar subscriptionMode let sLnk' = serverShortLink <$> sLnk conn <- withFastStore' $ \db -> createConnReqConnection db userId connId preparedEntity_ cReq cReqHash1 sLnk' xContactId incognitoProfile groupLinkId subMode chatV pqSup - conn' <- joinContact user conn cReq incognitoProfile xContactId welcomeSharedMsgId msg_ inGroup pqSup + conn' <- joinContact user conn cReq incognitoProfile xContactId welcomeSharedMsgId msg_ (groupLinkId $> Nothing) pqSup pure $ CVRSentInvitation conn' incognitoProfile connectContactViaAddress :: User -> IncognitoEnabled -> Contact -> CreatedLinkContact -> CM ChatResponse connectContactViaAddress user@User {userId} incognito ct@Contact {contactId, activeConn} (CCLink cReq shortLink) = @@ -3187,7 +3187,7 @@ processChatCommand vr nm = \case subMode <- chatReadVar subscriptionMode let cReqHash = ConnReqUriHash . C.sha256Hash $ strEncode cReq conn <- withFastStore' $ \db -> createConnReqConnection db userId connId (Just $ PCEContact ct) cReq cReqHash shortLink newXContactId incognitoProfile Nothing subMode chatV pqSup - void $ joinContact user conn cReq incognitoProfile newXContactId Nothing Nothing False pqSup + void $ joinContact user conn cReq incognitoProfile newXContactId Nothing Nothing Nothing pqSup ct' <- withStore $ \db -> getContact db vr user contactId pure $ CRSentInvitationToContact user ct' incognitoProfile Just conn@Connection {connStatus, xContactId = xContactId_, customUserProfileId} -> case connStatus of @@ -3196,7 +3196,7 @@ processChatCommand vr nm = \case xContactId <- mkXContactId xContactId_ localIncognitoProfile <- forM customUserProfileId $ \pId -> withFastStore $ \db -> getProfileById db userId pId let incognitoProfile = fromLocalProfile <$> localIncognitoProfile - void $ joinContact user conn cReq incognitoProfile xContactId Nothing Nothing False PQSupportOn + void $ joinContact user conn cReq incognitoProfile xContactId Nothing Nothing Nothing PQSupportOn ct' <- withStore $ \db -> getContact db vr user contactId pure $ CRSentInvitationToContact user ct' incognitoProfile _ -> throwCmdError "contact already has connection" @@ -3213,12 +3213,14 @@ processChatCommand vr nm = \case pure (connId, chatV) mkXContactId :: Maybe XContactId -> CM XContactId mkXContactId = maybe (XContactId <$> drgRandomBytes 16) pure - joinContact :: User -> Connection -> ConnReqContact -> Maybe Profile -> XContactId -> Maybe SharedMsgId -> Maybe (SharedMsgId, MsgContent) -> Bool -> PQSupport -> CM Connection - joinContact user conn@Connection {connChatVersion = chatV} cReq incognitoProfile xContactId welcomeSharedMsgId msg_ inGroup pqSup = do - let profileToSend = - if inGroup - then userProfileInGroup user incognitoProfile - else userProfileDirect user incognitoProfile Nothing True + joinContact :: User -> Connection -> ConnReqContact -> Maybe Profile -> XContactId -> Maybe SharedMsgId -> Maybe (SharedMsgId, MsgContent) -> Maybe (Maybe GroupInfo) -> PQSupport -> CM Connection + joinContact user conn@Connection {connChatVersion = chatV} cReq incognitoProfile xContactId welcomeSharedMsgId msg_ gInfo_ pqSup = do + -- gInfo_ is Maybe (Maybe GroupInfo), where Just Nothing means "some unknown group", e.g. when joining via link without profile + let profileToSend = case gInfo_ of + Just gInfo_' -> + let allowSimplexLinks = maybe True (groupFeatureUserAllowed SGFSimplexLinks) gInfo_' + in userProfileInGroup' user allowSimplexLinks incognitoProfile + Nothing -> userProfileDirect user incognitoProfile Nothing True dm <- encodeConnInfoPQ pqSup chatV (XContact profileToSend (Just xContactId) welcomeSharedMsgId msg_) subMode <- chatReadVar subscriptionMode void $ withAgent $ \a -> joinConnection a nm (aUserId user) (aConnId conn) True cReq dm pqSup subMode @@ -3399,7 +3401,7 @@ processChatCommand vr nm = \case ciIds <- concat <$> withStore' (\db -> forM items $ \(CChatItem _ ci) -> markMessageReportsDeleted db user gInfo ci membership deletedTs) unless (null ciIds) $ toView $ CEvtGroupChatItemsDeleted user gInfo ciIds True (Just membership) let m = if moderation then Just membership else Nothing - if groupFeatureMemberAllowed SGFFullDelete membership gInfo + if groupFeatureUserAllowed SGFFullDelete gInfo then deleteGroupCIs user gInfo chatScopeInfo items m deletedTs else markGroupCIsDeleted user gInfo chatScopeInfo items m deletedTs updateGroupProfileByName :: GroupName -> (GroupProfile -> GroupProfile) -> CM ChatResponse diff --git a/src/Simplex/Chat/Library/Internal.hs b/src/Simplex/Chat/Library/Internal.hs index 74cd0e0d47..9ebdd00b81 100644 --- a/src/Simplex/Chat/Library/Internal.hs +++ b/src/Simplex/Chat/Library/Internal.hs @@ -349,9 +349,9 @@ prohibitedSimplexLinks :: GroupInfo -> GroupMember -> Maybe MarkdownList -> Bool prohibitedSimplexLinks gInfo m ft = not (groupFeatureMemberAllowed SGFSimplexLinks m gInfo) && maybe False (any ftIsSimplexLink) ft - where - ftIsSimplexLink :: FormattedText -> Bool - ftIsSimplexLink FormattedText {format} = maybe False isSimplexLink format + +ftIsSimplexLink :: FormattedText -> Bool +ftIsSimplexLink FormattedText {format} = maybe False isSimplexLink format roundedFDCount :: Int -> Int roundedFDCount n @@ -927,7 +927,7 @@ acceptGroupJoinRequestAsync (groupMemberId, memberId) <- withStore $ \db -> createJoiningMember db gVar user gInfo cReqChatVRange cReqProfile cReqXContactId_ welcomeMsgId_ gLinkMemRole initialStatus currentMemCount <- withStore' $ \db -> getGroupCurrentMembersCount db user gInfo - let Profile {displayName} = userProfileInGroup user (fromIncognitoProfile <$> incognitoProfile) + let Profile {displayName} = userProfileInGroup user gInfo (fromIncognitoProfile <$> incognitoProfile) GroupMember {memberRole = userRole, memberId = userMemberId} = membership msg = XGrpLinkInv $ @@ -1053,7 +1053,7 @@ introduceToRemaining vr user gInfo m = do introduceMember :: VersionRangeChat -> User -> GroupInfo -> GroupMember -> [GroupMember] -> Maybe MsgScope -> CM () introduceMember _ _ _ GroupMember {activeConn = Nothing} _ _ = throwChatError $ CEInternalError "member connection not active" introduceMember vr user gInfo@GroupInfo {groupId} m@GroupMember {activeConn = Just conn} introduceToMembers msgScope = do - void . sendGroupMessage' user gInfo introduceToMembers $ XGrpMemNew (memberInfo m) msgScope + void . sendGroupMessage' user gInfo introduceToMembers $ XGrpMemNew (memberInfo gInfo m) msgScope sendIntroductions introduceToMembers where sendIntroductions members = do @@ -1068,7 +1068,7 @@ introduceMember vr user gInfo@GroupInfo {groupId} m@GroupMember {activeConn = Ju processIntro intro `catchAllErrors` eToView memberIntro :: GroupMember -> ChatMsgEvent 'Json memberIntro reMember = - let mInfo = memberInfo reMember + let mInfo = memberInfo gInfo reMember mRestrictions = memberRestrictions reMember in XGrpMemIntro mInfo mRestrictions shuffleIntros :: [GroupMemberIntro] -> IO [GroupMemberIntro] @@ -1084,6 +1084,34 @@ introduceMember vr user gInfo@GroupInfo {groupId} m@GroupMember {activeConn = Ju void $ sendDirectMemberMessage conn (memberIntro $ reMember intro) groupId withStore' $ \db -> updateIntroStatus db introId GMIntroSent +userProfileInGroup :: User -> GroupInfo -> Maybe Profile -> Profile +userProfileInGroup user = userProfileInGroup' user . groupFeatureUserAllowed SGFSimplexLinks +{-# INLINE userProfileInGroup #-} + +userProfileInGroup' :: User -> Bool -> Maybe Profile -> Profile +userProfileInGroup' User {profile = p} allowSimplexLinks incognitoProfile = + let p' = fromMaybe (fromLocalProfile p) incognitoProfile + in redactedMemberProfile allowSimplexLinks p' + +memberInfo :: GroupInfo -> GroupMember -> MemberInfo +memberInfo g m@GroupMember {memberId, memberRole, memberProfile, activeConn} = + MemberInfo + { memberId, + memberRole, + v = ChatVersionRange . peerChatVRange <$> activeConn, + profile = redactedMemberProfile allowSimplexLinks $ fromLocalProfile memberProfile + } + where + allowSimplexLinks = groupFeatureMemberAllowed SGFSimplexLinks m g + +redactedMemberProfile :: Bool -> Profile -> Profile +redactedMemberProfile allowSimplexLinks Profile {displayName, fullName, shortDescr, image, peerType} = + Profile {displayName, fullName, shortDescr = removeSimplexLink =<< shortDescr, image, contactLink = Nothing, preferences = Nothing, peerType} + where + removeSimplexLink s + | allowSimplexLinks = Just s + | otherwise = maybe (Just s) (\fts -> if any ftIsSimplexLink fts then Nothing else Just s) $ parseMaybeMarkdownList s + sendHistory :: User -> GroupInfo -> GroupMember -> CM () sendHistory _ _ GroupMember {activeConn = Nothing} = throwChatError $ CEInternalError "member connection not active" sendHistory user gInfo@GroupInfo {groupId, membership} m@GroupMember {activeConn = Just conn} = @@ -1858,7 +1886,8 @@ sendGroupMessages user gInfo scope members events = do _ -> False sendProfileUpdate = do let members' = filter (`supportsVersion` memberProfileUpdateVersion) members - profileUpdateEvent = XInfo $ redactedMemberProfile $ fromLocalProfile p + allowSimplexLinks = groupFeatureUserAllowed SGFSimplexLinks gInfo + profileUpdateEvent = XInfo $ redactedMemberProfile allowSimplexLinks $ fromLocalProfile p void $ sendGroupMessage' user gInfo members' profileUpdateEvent currentTs <- liftIO getCurrentTime withStore' $ \db -> updateUserMemberProfileSentAt db user gInfo currentTs diff --git a/src/Simplex/Chat/Library/Subscriber.hs b/src/Simplex/Chat/Library/Subscriber.hs index 4b71c23fb9..06f71fcaca 100644 --- a/src/Simplex/Chat/Library/Subscriber.hs +++ b/src/Simplex/Chat/Library/Subscriber.hs @@ -404,12 +404,11 @@ processAgentMessageConn vr user@User {userId} corrId agentConnId agentMessage = CONF confId pqSupport _ connInfo -> do conn' <- processCONFpqSupport conn pqSupport -- [incognito] send saved profile - (conn'', inGroup) <- saveConnInfo conn' connInfo + (conn'', gInfo_) <- saveConnInfo conn' connInfo incognitoProfile <- forM customUserProfileId $ \profileId -> withStore (\db -> getProfileById db userId profileId) - let profileToSend = - if inGroup - then userProfileInGroup user (fromLocalProfile <$> incognitoProfile) - else userProfileDirect user (fromLocalProfile <$> incognitoProfile) Nothing True + let profileToSend = case gInfo_ of + Just gInfo -> userProfileInGroup user gInfo (fromLocalProfile <$> incognitoProfile) + Nothing -> userProfileDirect user (fromLocalProfile <$> incognitoProfile) Nothing True -- [async agent commands] no continuation needed, but command should be asynchronous for stability allowAgentConnectionAsync user conn'' confId $ XInfo profileToSend INFO pqSupport connInfo -> do @@ -536,7 +535,7 @@ processAgentMessageConn vr user@User {userId} corrId agentConnId agentMessage = void $ createChatItem user (CDGroupSnd gInfo Nothing) False CIChatBanner Nothing (Just epochStart) -- [incognito] send saved profile incognitoProfile <- forM customUserProfileId $ \pId -> withStore (\db -> getProfileById db userId pId) - let profileToSend = userProfileInGroup user (fromLocalProfile <$> incognitoProfile) + let profileToSend = userProfileInGroup user gInfo (fromLocalProfile <$> incognitoProfile) allowAgentConnectionAsync user conn'' confId $ XInfo profileToSend toView $ CEvtBusinessLinkConnecting user gInfo host ct _ -> messageError "CONF for existing contact must have x.grp.mem.info or x.info" @@ -742,7 +741,7 @@ processAgentMessageConn vr user@User {userId} corrId agentConnId agentMessage = (gInfo', m') <- withStore $ \db -> updatePreparedUserAndHostMembersInvited db vr user gInfo m glInv -- [incognito] send saved profile incognitoProfile <- forM customUserProfileId $ \pId -> withStore (\db -> getProfileById db userId pId) - let profileToSend = userProfileInGroup user (fromLocalProfile <$> incognitoProfile) + let profileToSend = userProfileInGroup user gInfo (fromLocalProfile <$> incognitoProfile) allowAgentConnectionAsync user conn' confId $ XInfo profileToSend toView $ CEvtGroupLinkConnecting user gInfo' m' XGrpLinkReject glRjct@GroupLinkRejection {rejectionReason} -> do @@ -755,7 +754,8 @@ processAgentMessageConn vr user@User {userId} corrId agentConnId agentMessage = XGrpMemInfo memId _memProfile | sameMemberId memId m -> do let GroupMember {memberId = membershipMemId} = membership - membershipProfile = redactedMemberProfile $ fromLocalProfile $ memberProfile membership + allowSimplexLinks = groupFeatureUserAllowed SGFSimplexLinks gInfo + membershipProfile = redactedMemberProfile allowSimplexLinks $ fromLocalProfile $ memberProfile membership -- TODO update member profile -- [async agent commands] no continuation needed, but command should be asynchronous for stability allowAgentConnectionAsync user conn' confId $ XGrpMemInfo membershipMemId membershipProfile @@ -835,7 +835,7 @@ processAgentMessageConn vr user@User {userId} corrId agentConnId agentMessage = where sendXGrpLinkMem gInfo'' = do let incognitoProfile = ExistingIncognito <$> incognitoMembershipProfile gInfo'' - profileToSend = userProfileInGroup user (fromIncognitoProfile <$> incognitoProfile) + profileToSend = userProfileInGroup user gInfo (fromIncognitoProfile <$> incognitoProfile) void $ sendDirectMemberMessage conn (XGrpLinkMem profileToSend) groupId _ -> do unless (memberPending m) $ withStore' $ \db -> updateGroupMemberStatus db userId m GSMemConnected @@ -2261,7 +2261,7 @@ processAgentMessageConn vr user@User {userId} corrId agentConnId agentMessage = processMemberProfileUpdate :: GroupInfo -> GroupMember -> Profile -> Bool -> Maybe UTCTime -> CM GroupMember processMemberProfileUpdate gInfo m@GroupMember {memberProfile = p, memberContactId} p' createItems itemTs_ - | redactedMemberProfile (fromLocalProfile p) /= redactedMemberProfile p' = do + | redactedMemberProfile allowSimplexLinks (fromLocalProfile p) /= redactedMemberProfile allowSimplexLinks p' = do updateBusinessChatProfile gInfo case memberContactId of Nothing -> do @@ -2288,6 +2288,7 @@ processAgentMessageConn vr user@User {userId} corrId agentConnId agentMessage = | otherwise = pure m where + allowSimplexLinks = groupFeatureMemberAllowed SGFSimplexLinks m gInfo updateBusinessChatProfile g@GroupInfo {businessChat} = case businessChat of Just bc | isMainBusinessMember bc m -> do g' <- withStore $ \db -> updateGroupProfileFromMember db user g p' @@ -2512,7 +2513,7 @@ processAgentMessageConn vr user@User {userId} corrId agentConnId agentMessage = toView $ CEvtContactAndMemberAssociated user c2 g m1 c2' pure c2' - saveConnInfo :: Connection -> ConnInfo -> CM (Connection, Bool) + saveConnInfo :: Connection -> ConnInfo -> CM (Connection, Maybe GroupInfo) saveConnInfo activeConn connInfo = do ChatMessage {chatVRange, chatMsgEvent} <- parseChatMessage activeConn connInfo conn' <- updatePeerChatVRange activeConn chatVRange @@ -2520,18 +2521,18 @@ processAgentMessageConn vr user@User {userId} corrId agentConnId agentMessage = XInfo p -> do ct <- withStore $ \db -> createDirectContact db vr user conn' p toView $ CEvtContactConnecting user ct - pure (conn', False) + pure (conn', Nothing) XGrpLinkInv glInv -> do (gInfo, host) <- withStore $ \db -> createGroupInvitedViaLink db vr user conn' glInv toView $ CEvtGroupLinkConnecting user gInfo host - pure (conn', True) + pure (conn', Just gInfo) XGrpLinkReject glRjct@GroupLinkRejection {rejectionReason} -> do (gInfo, host) <- withStore $ \db -> createGroupRejectedViaLink db vr user conn' glRjct toView $ CEvtGroupLinkConnecting user gInfo host toViewTE $ TEGroupLinkRejected user gInfo rejectionReason - pure (conn', True) + pure (conn', Just gInfo) -- TODO show/log error, other events in SMP confirmation - _ -> pure (conn', False) + _ -> pure (conn', Nothing) xGrpMemNew :: GroupInfo -> GroupMember -> MemberInfo -> Maybe MsgScope -> RcvMessage -> UTCTime -> CM (Maybe DeliveryJobScope) xGrpMemNew gInfo m memInfo@(MemberInfo memId memRole _ _) msgScope_ msg brokerTs = do @@ -2624,7 +2625,7 @@ processAgentMessageConn vr user@User {userId} corrId agentConnId agentMessage = GroupMemberIntro {introId} <- getIntroduction db reMember m liftIO $ updateIntroStatus db introId GMIntroInvReceived pure introId - sendGroupMemberMessage gInfo reMember (XGrpMemFwd (memberInfo m) introInv) (Just introId) $ + sendGroupMemberMessage gInfo reMember (XGrpMemFwd (memberInfo gInfo m) introInv) (Just introId) $ withStore' $ \db -> updateIntroStatus db introId GMIntroInvForwarded _ -> messageError "x.grp.mem.inv can be only sent by invitee member" @@ -2648,7 +2649,8 @@ processAgentMessageConn vr user@User {userId} corrId agentConnId agentMessage = withStore' $ \db -> updateGroupMemberStatus db userId toMember newMemberStatus subMode <- chatReadVar subscriptionMode -- [incognito] send membership incognito profile, create direct connection as incognito - let membershipProfile = redactedMemberProfile $ fromLocalProfile $ memberProfile membership + let membershipProfile = redactedMemberProfile allowSimplexLinks $ fromLocalProfile $ memberProfile membership + allowSimplexLinks = groupFeatureUserAllowed SGFSimplexLinks gInfo dm <- encodeConnInfo $ XGrpMemInfo membershipMemId membershipProfile -- [async agent commands] no continuation needed, but commands should be asynchronous for stability groupConnIds <- joinAgentConnectionAsync user (chatHasNtfs chatSettings) groupConnReq dm subMode diff --git a/src/Simplex/Chat/Store/Profiles.hs b/src/Simplex/Chat/Store/Profiles.hs index e6316e2666..af46c14b83 100644 --- a/src/Simplex/Chat/Store/Profiles.hs +++ b/src/Simplex/Chat/Store/Profiles.hs @@ -321,9 +321,9 @@ updateUserProfile db user p' DB.execute db "UPDATE users SET user_member_profile_updated_at = ? WHERE user_id = ?" (currentTs, userId) pure $ Just currentTs | otherwise = pure userMemberProfileUpdatedAt - userMemberProfileChanged = newName /= displayName || newFullName /= fullName || newImage /= image - User {userId, userContactId, localDisplayName, profile = LocalProfile {profileId, displayName, fullName, image, localAlias}, userMemberProfileUpdatedAt} = user - Profile {displayName = newName, fullName = newFullName, image = newImage, preferences} = p' + userMemberProfileChanged = newName /= displayName || fn' /= fullName || d' /= shortDescr || img' /= image + User {userId, userContactId, localDisplayName, profile = LocalProfile {profileId, displayName, fullName, shortDescr, image, localAlias}, userMemberProfileUpdatedAt} = user + Profile {displayName = newName, fullName = fn', shortDescr = d', image = img', preferences} = p' profile = toLocalProfile profileId p' localAlias fullPreferences = fullPreferences' preferences diff --git a/src/Simplex/Chat/Types.hs b/src/Simplex/Chat/Types.hs index c137ad5154..2f4fd058e3 100644 --- a/src/Simplex/Chat/Types.hs +++ b/src/Simplex/Chat/Types.hs @@ -581,6 +581,10 @@ groupFeatureMemberAllowed :: GroupFeatureRoleI f => SGroupFeature f -> GroupMemb groupFeatureMemberAllowed feature GroupMember {memberRole} = groupFeatureMemberAllowed' feature memberRole . fullGroupPreferences +groupFeatureUserAllowed :: GroupFeatureRoleI f => SGroupFeature f -> GroupInfo -> Bool +groupFeatureUserAllowed feature GroupInfo {membership = GroupMember {memberRole}, fullGroupPreferences} = + groupFeatureMemberAllowed' feature memberRole fullGroupPreferences + mergeUserChatPrefs :: User -> Contact -> FullPreferences mergeUserChatPrefs user ct = mergeUserChatPrefs' user (contactConnIncognito ct) (userPreferences ct) @@ -673,10 +677,6 @@ profilesMatch LocalProfile {displayName = n2, fullName = fn2, image = i2} = n1 == n2 && fn1 == fn2 && i1 == i2 -redactedMemberProfile :: Profile -> Profile -redactedMemberProfile Profile {displayName, fullName, shortDescr, image, peerType} = - Profile {displayName, fullName, shortDescr, image, contactLink = Nothing, preferences = Nothing, peerType} - data IncognitoProfile = NewIncognito Profile | ExistingIncognito LocalProfile fromIncognitoProfile :: IncognitoProfile -> Profile @@ -684,11 +684,6 @@ fromIncognitoProfile = \case NewIncognito p -> p ExistingIncognito lp -> fromLocalProfile lp -userProfileInGroup :: User -> Maybe Profile -> Profile -userProfileInGroup User {profile = p} incognitoProfile = - let p' = fromMaybe (fromLocalProfile p) incognitoProfile - in redactedMemberProfile p' - userProfileDirect :: User -> Maybe Profile -> Maybe Contact -> Bool -> Profile userProfileDirect user@User {profile = p} incognitoProfile ct canFallbackToUserTTL = let p' = fromMaybe (fromLocalProfile p) incognitoProfile @@ -870,15 +865,6 @@ data BusinessChatInfo = BusinessChatInfo } deriving (Eq, Show) -memberInfo :: GroupMember -> MemberInfo -memberInfo GroupMember {memberId, memberRole, memberProfile, activeConn} = - MemberInfo - { memberId, - memberRole, - v = ChatVersionRange . peerChatVRange <$> activeConn, - profile = redactedMemberProfile $ fromLocalProfile memberProfile - } - data MemberRestrictionStatus = MRSBlocked | MRSUnrestricted From ff1054dab7bc6897e5467543513011456aa52690 Mon Sep 17 00:00:00 2001 From: sh <37271604+shumvgolove@users.noreply.github.com> Date: Tue, 14 Oct 2025 08:14:52 +0000 Subject: [PATCH 19/38] github/workflows: macos-13 -> macos-15-intel (#6362) --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 1fc1c18fe1..7f72d114b9 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -343,7 +343,7 @@ jobs: cli_asset_name: simplex-chat-macos-aarch64 desktop_asset_name: simplex-desktop-macos-aarch64.dmg openssl_dir: "/opt/homebrew/opt" - - os: macos-13 + - os: macos-15-intel ghc: ${{ needs.variables.outputs.GHC_VER }} cli_asset_name: simplex-chat-macos-x86-64 desktop_asset_name: simplex-desktop-macos-x86_64.dmg From 78601326b8d97a1197f1aece9862e6909e6a0642 Mon Sep 17 00:00:00 2001 From: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com> Date: Thu, 16 Oct 2025 07:56:14 +0000 Subject: [PATCH 20/38] android, desktop: smoother scroll of member list achieved by async member image loading (#6365) --- .../chat/simplex/common/platform/Images.kt | 28 ++++++++++++++++++ .../views/chat/group/GroupChatInfoView.kt | 2 +- .../views/chat/group/GroupMemberInfoView.kt | 6 ++-- .../common/views/helpers/ChatInfoImage.kt | 29 ++++++++++++------- 4 files changed, 51 insertions(+), 14 deletions(-) diff --git a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/platform/Images.kt b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/platform/Images.kt index 19e40ab0a2..d7a241d5ee 100644 --- a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/platform/Images.kt +++ b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/platform/Images.kt @@ -1,7 +1,15 @@ package chat.simplex.common.platform +import androidx.compose.foundation.Image +import androidx.compose.runtime.Composable +import androidx.compose.runtime.getValue +import androidx.compose.runtime.produceState +import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.ImageBitmap +import androidx.compose.ui.layout.ContentScale import boofcv.struct.image.GrayU8 +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.withContext import java.io.ByteArrayOutputStream import java.io.InputStream import java.net.URI @@ -23,3 +31,23 @@ expect fun isImage(uri: URI): Boolean expect fun isAnimImage(uri: URI, drawable: Any?): Boolean expect fun loadImageBitmap(inputStream: InputStream): ImageBitmap + +@Composable +fun Base64AsyncImage( + base64ImageString: String, + contentDescription: String?, + contentScale: ContentScale, + modifier: Modifier = Modifier +) { + val imageBitmap by produceState(initialValue = null, base64ImageString) { + value = withContext(Dispatchers.IO) { base64ToBitmap(base64ImageString) } + } + imageBitmap?.let { + Image( + bitmap = it, + contentDescription = contentDescription, + contentScale = contentScale, + modifier = modifier + ) + } +} diff --git a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/chat/group/GroupChatInfoView.kt b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/chat/group/GroupChatInfoView.kt index 1ea3daeab1..46669ead70 100644 --- a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/chat/group/GroupChatInfoView.kt +++ b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/chat/group/GroupChatInfoView.kt @@ -867,7 +867,7 @@ fun MemberRow(member: GroupMember, user: Boolean = false, infoPage: Boolean = tr verticalAlignment = Alignment.CenterVertically, horizontalArrangement = Arrangement.spacedBy(4.dp) ) { - MemberProfileImage(size = MEMBER_ROW_AVATAR_SIZE, member) + MemberProfileImage(size = MEMBER_ROW_AVATAR_SIZE, member, async = true) Spacer(Modifier.width(DEFAULT_PADDING_HALF)) Column { Row(verticalAlignment = Alignment.CenterVertically) { diff --git a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/chat/group/GroupMemberInfoView.kt b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/chat/group/GroupMemberInfoView.kt index b29374390e..7febf2a904 100644 --- a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/chat/group/GroupMemberInfoView.kt +++ b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/chat/group/GroupMemberInfoView.kt @@ -714,14 +714,16 @@ fun MemberProfileImage( size: Dp, mem: GroupMember, color: Color = MaterialTheme.colors.secondaryVariant, - backgroundColor: Color? = null + backgroundColor: Color? = null, + async: Boolean = false ) { ProfileImage( size = size, image = mem.image, color = color, backgroundColor = backgroundColor, - blurred = mem.blocked + blurred = mem.blocked, + async = async ) } diff --git a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/helpers/ChatInfoImage.kt b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/helpers/ChatInfoImage.kt index 72ef8c623d..5f3a73e7ea 100644 --- a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/helpers/ChatInfoImage.kt +++ b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/helpers/ChatInfoImage.kt @@ -12,12 +12,9 @@ import androidx.compose.runtime.remember import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.draw.* -import androidx.compose.ui.geometry.Size import androidx.compose.ui.graphics.* import androidx.compose.ui.layout.ContentScale -import androidx.compose.ui.platform.InspectableValue import androidx.compose.ui.unit.* -import chat.simplex.common.model.BusinessChatType import dev.icerock.moko.resources.compose.painterResource import dev.icerock.moko.resources.compose.stringResource import chat.simplex.common.model.ChatInfo @@ -57,7 +54,8 @@ fun ProfileImage( icon: ImageResource = MR.images.ic_account_circle_filled, color: Color = MaterialTheme.colors.secondaryVariant, backgroundColor: Color? = null, - blurred: Boolean = false + blurred: Boolean = false, + async: Boolean = false ) { Box(Modifier.size(size)) { if (image == null) { @@ -85,13 +83,22 @@ fun ProfileImage( ) } } else { - val imageBitmap = base64ToBitmap(image) - Image( - imageBitmap, - stringResource(MR.strings.image_descr_profile_image), - contentScale = ContentScale.Crop, - modifier = ProfileIconModifier(size, blurred = blurred) - ) + if (async) { + Base64AsyncImage( + base64ImageString = image, + contentDescription = stringResource(MR.strings.image_descr_profile_image), + contentScale = ContentScale.Crop, + modifier = ProfileIconModifier(size, blurred = blurred) + ) + } else { + val imageBitmap = base64ToBitmap(image) + Image( + bitmap = imageBitmap, + contentDescription = stringResource(MR.strings.image_descr_profile_image), + contentScale = ContentScale.Crop, + modifier = ProfileIconModifier(size, blurred = blurred) + ) + } } } } From 0dc33708a38464c94a37efa1874efd516d1ed2fd Mon Sep 17 00:00:00 2001 From: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com> Date: Thu, 16 Oct 2025 07:56:49 +0000 Subject: [PATCH 21/38] desktop: reset member list on opening chat view (#6367) --- .../kotlin/chat/simplex/common/views/chat/ChatView.kt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/chat/ChatView.kt b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/chat/ChatView.kt index b69c98887d..c7bc2e2724 100644 --- a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/chat/ChatView.kt +++ b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/chat/ChatView.kt @@ -161,6 +161,9 @@ fun ChatView( } if (chatsCtx.secondaryContextFilter == null) { markUnreadChatAsRead(chatId) + chatModel.groupMembers.value = emptyList() + chatModel.groupMembersIndexes.value = emptyMap() + chatModel.membersLoaded.value = false } showSearch.value = false searchText.value = "" From a65151ba6db50f654f459a1fd2af1ca76e4cfc42 Mon Sep 17 00:00:00 2001 From: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com> Date: Sat, 18 Oct 2025 21:53:47 +0000 Subject: [PATCH 22/38] 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 50cf94beede94eafc12a06002dec2e98042d05f0. * 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 --- apps/ios/Shared/Model/AppAPITypes.swift | 52 +----- apps/ios/Shared/Model/ChatModel.swift | 25 +-- apps/ios/Shared/Model/SimpleXAPI.swift | 88 +++++----- .../Shared/Views/Chat/ChatInfoToolbar.swift | 32 ++++ apps/ios/Shared/Views/Chat/ChatInfoView.swift | 65 +++---- apps/ios/Shared/Views/Chat/ChatView.swift | 34 ++-- .../Chat/ComposeMessage/ComposeView.swift | 2 - .../Chat/Group/GroupMemberInfoView.swift | 11 +- .../Views/ChatList/ChatPreviewView.swift | 30 ---- .../Views/UserSettings/UserAddressView.swift | 7 +- apps/ios/SimpleX.xcodeproj/project.pbxproj | 16 +- apps/ios/SimpleXChat/APITypes.swift | 55 +++++- .../chat/simplex/common/model/ChatModel.kt | 42 +---- .../chat/simplex/common/model/SimpleXAPI.kt | 164 +++++++++++------- .../simplex/common/views/chat/ChatInfoView.kt | 40 ++--- .../simplex/common/views/chat/ChatView.kt | 67 ++++++- ...ContextGroupDirectInvitationActionsView.kt | 1 - .../simplex/common/views/chat/ComposeView.kt | 2 - .../views/chat/group/GroupMemberInfoView.kt | 12 +- .../views/chatlist/ChatListNavLinkView.kt | 10 +- .../common/views/chatlist/ChatPreviewView.kt | 31 +--- .../views/chatlist/ServersSummaryView.kt | 14 +- .../networkAndServers/OperatorView.kt | 3 +- .../commonMain/resources/MR/ar/strings.xml | 2 +- .../commonMain/resources/MR/base/strings.xml | 8 +- .../commonMain/resources/MR/bg/strings.xml | 2 +- .../commonMain/resources/MR/ca/strings.xml | 2 +- .../commonMain/resources/MR/cs/strings.xml | 2 +- .../commonMain/resources/MR/da/strings.xml | 2 +- .../commonMain/resources/MR/de/strings.xml | 2 +- .../commonMain/resources/MR/es/strings.xml | 2 +- .../commonMain/resources/MR/fa/strings.xml | 2 +- .../commonMain/resources/MR/fi/strings.xml | 2 +- .../commonMain/resources/MR/fr/strings.xml | 2 +- .../commonMain/resources/MR/hu/strings.xml | 2 +- .../commonMain/resources/MR/in/strings.xml | 2 +- .../commonMain/resources/MR/it/strings.xml | 2 +- .../commonMain/resources/MR/iw/strings.xml | 2 +- .../commonMain/resources/MR/ja/strings.xml | 2 +- .../commonMain/resources/MR/lt/strings.xml | 2 +- .../commonMain/resources/MR/nl/strings.xml | 2 +- .../commonMain/resources/MR/pl/strings.xml | 2 +- .../resources/MR/pt-rBR/strings.xml | 2 +- .../commonMain/resources/MR/ro/strings.xml | 2 +- .../commonMain/resources/MR/ru/strings.xml | 2 +- .../commonMain/resources/MR/th/strings.xml | 2 +- .../commonMain/resources/MR/tr/strings.xml | 2 +- .../commonMain/resources/MR/uk/strings.xml | 2 +- .../commonMain/resources/MR/vi/strings.xml | 2 +- .../resources/MR/zh-rCN/strings.xml | 2 +- .../resources/MR/zh-rTW/strings.xml | 2 +- bots/api/TYPES.md | 16 ++ bots/src/API/Docs/Commands.hs | 1 - bots/src/API/Docs/Events.hs | 2 +- bots/src/API/Docs/Responses.hs | 1 - bots/src/API/Docs/Types.hs | 3 + cabal.project | 2 +- .../types/typescript/src/types.ts | 14 ++ scripts/nix/sha256map.nix | 2 +- simplex-chat.cabal | 1 - src/Simplex/Chat.hs | 4 +- src/Simplex/Chat/Controller.hs | 11 +- src/Simplex/Chat/Library/Commands.hs | 16 +- src/Simplex/Chat/Library/Subscriber.hs | 14 +- src/Simplex/Chat/Messages.hs | 1 - src/Simplex/Chat/Operators.hs | 1 - .../SQLite/Migrations/agent_query_plans.txt | 26 ++- src/Simplex/Chat/Types.hs | 25 --- src/Simplex/Chat/Types/UITheme.hs | 1 - src/Simplex/Chat/Types/Util.hs | 8 - src/Simplex/Chat/View.hs | 16 +- tests/ChatTests/Direct.hs | 19 +- tests/JSONFixtures.hs | 6 - tests/JSONTests.hs | 1 - 74 files changed, 529 insertions(+), 527 deletions(-) delete mode 100644 src/Simplex/Chat/Types/Util.hs diff --git a/apps/ios/Shared/Model/AppAPITypes.swift b/apps/ios/Shared/Model/AppAPITypes.swift index 85b0b9a1dc..193b675a57 100644 --- a/apps/ios/Shared/Model/AppAPITypes.swift +++ b/apps/ios/Shared/Model/AppAPITypes.swift @@ -158,7 +158,6 @@ enum ChatCommand: ChatCmdProtocol { case apiGetCallInvitations case apiCallStatus(contact: Contact, callStatus: WebRTCCallStatus) // WebRTC calls / - case apiGetNetworkStatuses case apiChatRead(type: ChatType, id: Int64, scope: GroupChatScope?) case apiChatItemsRead(type: ChatType, id: Int64, scope: GroupChatScope?, itemIds: [Int64]) case apiChatUnread(type: ChatType, id: Int64, unreadChat: Bool) @@ -359,7 +358,6 @@ enum ChatCommand: ChatCmdProtocol { case let .apiEndCall(contact): return "/_call end @\(contact.apiId)" case .apiGetCallInvitations: return "/_call get" case let .apiCallStatus(contact, callStatus): return "/_call status @\(contact.apiId) \(callStatus.rawValue)" - case .apiGetNetworkStatuses: return "/_network_statuses" case let .apiChatRead(type, id, scope): return "/_read chat \(ref(type, id, scope: scope))" case let .apiChatItemsRead(type, id, scope, itemIds): return "/_read chat items \(ref(type, id, scope: scope)) \(joinedIds(itemIds))" case let .apiChatUnread(type, id, unreadChat): return "/_unread chat \(ref(type, id, scope: nil)) \(onOff(unreadChat))" @@ -534,7 +532,6 @@ enum ChatCommand: ChatCmdProtocol { case .apiEndCall: return "apiEndCall" case .apiGetCallInvitations: return "apiGetCallInvitations" case .apiCallStatus: return "apiCallStatus" - case .apiGetNetworkStatuses: return "apiGetNetworkStatuses" case .apiChatRead: return "apiChatRead" case .apiChatItemsRead: return "apiChatItemsRead" case .apiChatUnread: return "apiChatUnread" @@ -793,7 +790,6 @@ enum ChatResponse1: Decodable, ChatAPIResult { case userContactLinkDeleted(user: User) case acceptingContactRequest(user: UserRef, contact: Contact) case contactRequestRejected(user: UserRef, contactRequest: UserContactRequest, contact_: Contact?) - case networkStatuses(user_: UserRef?, networkStatuses: [ConnNetworkStatus]) case newChatItems(user: UserRef, chatItems: [AChatItem]) case groupChatItemsDeleted(user: UserRef, groupInfo: GroupInfo, chatItemIDs: Set, byUser: Bool, member_: GroupMember?) case forwardPlan(user: UserRef, chatItemIds: [Int64], forwardConfirmation: ForwardConfirmation?) @@ -837,7 +833,6 @@ enum ChatResponse1: Decodable, ChatAPIResult { case .userContactLinkDeleted: "userContactLinkDeleted" case .acceptingContactRequest: "acceptingContactRequest" case .contactRequestRejected: "contactRequestRejected" - case .networkStatuses: "networkStatuses" case .newChatItems: "newChatItems" case .groupChatItemsDeleted: "groupChatItemsDeleted" case .forwardPlan: "forwardPlan" @@ -870,7 +865,6 @@ enum ChatResponse1: Decodable, ChatAPIResult { case .userContactLinkDeleted: return noDetails case let .acceptingContactRequest(u, contact): return withUser(u, String(describing: contact)) case let .contactRequestRejected(u, contactRequest, contact_): return withUser(u, "contactRequest: \(String(describing: contactRequest))\ncontact_: \(String(describing: contact_))") - case let .networkStatuses(u, statuses): return withUser(u, String(describing: statuses)) case let .newChatItems(u, chatItems): let itemsString = chatItems.map { chatItem in String(describing: chatItem) }.joined(separator: "\n") return withUser(u, itemsString) @@ -1059,8 +1053,7 @@ enum ChatEvent: Decodable, ChatAPIResult { case receivedContactRequest(user: UserRef, contactRequest: UserContactRequest, chat_: ChatData?) case contactUpdated(user: UserRef, toContact: Contact) case groupMemberUpdated(user: UserRef, groupInfo: GroupInfo, fromMember: GroupMember, toMember: GroupMember) - case networkStatus(networkStatus: NetworkStatus, connections: [String]) - case networkStatuses(user_: UserRef?, networkStatuses: [ConnNetworkStatus]) + case subscriptionStatus(subscriptionStatus: SubscriptionStatus, connections: [String]) case chatInfoUpdated(user: UserRef, chatInfo: ChatInfo) case newChatItems(user: UserRef, chatItems: [AChatItem]) case chatItemsStatusesUpdated(user: UserRef, chatItems: [AChatItem]) @@ -1137,8 +1130,7 @@ enum ChatEvent: Decodable, ChatAPIResult { case .receivedContactRequest: "receivedContactRequest" case .contactUpdated: "contactUpdated" case .groupMemberUpdated: "groupMemberUpdated" - case .networkStatus: "networkStatus" - case .networkStatuses: "networkStatuses" + case .subscriptionStatus: "subscriptionStatus" case .chatInfoUpdated: "chatInfoUpdated" case .newChatItems: "newChatItems" case .chatItemsStatusesUpdated: "chatItemsStatusesUpdated" @@ -1210,8 +1202,7 @@ enum ChatEvent: Decodable, ChatAPIResult { case let .receivedContactRequest(u, contactRequest, chat_): return withUser(u, "contactRequest: \(String(describing: contactRequest))\nchat_: \(String(describing: chat_))") case let .contactUpdated(u, toContact): return withUser(u, String(describing: toContact)) case let .groupMemberUpdated(u, groupInfo, fromMember, toMember): return withUser(u, "groupInfo: \(groupInfo)\nfromMember: \(fromMember)\ntoMember: \(toMember)") - case let .networkStatus(status, conns): return "networkStatus: \(String(describing: status))\nconnections: \(String(describing: conns))" - case let .networkStatuses(u, statuses): return withUser(u, String(describing: statuses)) + case let .subscriptionStatus(status, conns): return "subscriptionStatus: \(String(describing: status))\nconnections: \(String(describing: conns))" case let .chatInfoUpdated(u, chatInfo): return withUser(u, String(describing: chatInfo)) case let .newChatItems(u, chatItems): let itemsString = chatItems.map { chatItem in String(describing: chatItem) }.joined(separator: "\n") @@ -1371,38 +1362,6 @@ enum ChatDeleteMode: Codable { } } -enum NetworkStatus: Decodable, Equatable { - case unknown - case connected - case disconnected - case error(connectionError: String) - - var statusString: LocalizedStringKey { - switch self { - case .connected: "connected" - case .error: "error" - default: "connecting" - } - } - - var statusExplanation: LocalizedStringKey { - switch self { - case .connected: "You are connected to the server used to receive messages from this contact." - case let .error(err): "Trying to connect to the server used to receive messages from this contact (error: \(err))." - default: "Trying to connect to the server used to receive messages from this contact." - } - } - - var imageName: String { - switch self { - case .unknown: "circle.dotted" - case .connected: "circle.fill" - case .disconnected: "ellipsis.circle.fill" - case .error: "exclamationmark.circle.fill" - } - } -} - enum ForwardConfirmation: Decodable, Hashable { case filesNotAccepted(fileIds: [Int64]) case filesInProgress(filesCount: Int) @@ -1410,11 +1369,6 @@ enum ForwardConfirmation: Decodable, Hashable { case filesFailed(filesCount: Int) } -struct ConnNetworkStatus: Decodable { - var agentConnId: String - var networkStatus: NetworkStatus -} - struct UserMsgReceiptSettings: Codable { var enable: Bool var clearOverrides: Bool diff --git a/apps/ios/Shared/Model/ChatModel.swift b/apps/ios/Shared/Model/ChatModel.swift index e5fd6362a3..5ebab167fd 100644 --- a/apps/ios/Shared/Model/ChatModel.swift +++ b/apps/ios/Shared/Model/ChatModel.swift @@ -283,29 +283,6 @@ class ChatTagsModel: ObservableObject { } } -class NetworkModel: ObservableObject { - // map of connections network statuses, key is agent connection id - @Published var networkStatuses: Dictionary = [:] - - static let shared = NetworkModel() - - private init() { } - - func setContactNetworkStatus(_ contact: Contact, _ status: NetworkStatus) { - if let conn = contact.activeConn { - networkStatuses[conn.agentConnId] = status - } - } - - func contactNetworkStatus(_ contact: Contact) -> NetworkStatus { - if let conn = contact.activeConn { - networkStatuses[conn.agentConnId] ?? .unknown - } else { - .unknown - } - } -} - /// ChatItemWithMenu can depend on previous or next item for it's appearance /// This dummy model is used to force an update of all chat items, /// when they might have changed appearance. @@ -374,6 +351,8 @@ final class ChatModel: ObservableObject { @Published var deletedChats: Set = [] // current chat @Published var chatId: String? + @Published var chatAgentConnId: String? + @Published var chatSubStatus: SubscriptionStatus? @Published var openAroundItemId: ChatItem.ID? = nil @Published var chatToTop: String? @Published var groupMembers: [GMember] = [] diff --git a/apps/ios/Shared/Model/SimpleXAPI.swift b/apps/ios/Shared/Model/SimpleXAPI.swift index c7e382f3ed..222d6021d9 100644 --- a/apps/ios/Shared/Model/SimpleXAPI.swift +++ b/apps/ios/Shared/Model/SimpleXAPI.swift @@ -15,8 +15,6 @@ import SwiftUI private var chatController: chat_ctrl? -private let networkStatusesLock = DispatchQueue(label: "chat.simplex.app.network-statuses.lock") - enum TerminalItem: Identifiable { case cmd(Date, ChatCommand) case res(Date, ChatAPIResult) @@ -1319,6 +1317,10 @@ func apiCreateUserAddress() async throws -> CreatedConnLink? { let userId = try currentUserId("apiCreateUserAddress") let r: APIResult? = await chatApiSendCmdWithRetry(.apiCreateMyAddress(userId: userId)) if case let .result(.userContactLinkCreated(_, connLink)) = r { return connLink } + if case let .error(.errorAgent(.NOTICE(server, preset, expires))) = r { + showClientNotice(server, preset, expires) + return nil + } if let r { throw r.unexpected } else { return nil } } @@ -1640,7 +1642,6 @@ func acceptContactRequest(incognito: Bool, contactRequestId: Int64, inProgress: } else { ChatModel.shared.replaceChat(contactRequestChatId(contactRequestId), chat) } - NetworkModel.shared.setContactNetworkStatus(contact, .connected) inProgress?.wrappedValue = false } if contact.sndReady { @@ -1728,12 +1729,6 @@ func apiCallStatus(_ contact: Contact, _ status: String) async throws { } } -func apiGetNetworkStatuses() throws -> [ConnNetworkStatus] { - let r: ChatResponse1 = try chatSendCmdSync(.apiGetNetworkStatuses) - if case let .networkStatuses(_, statuses) = r { return statuses } - throw r.unexpected -} - func markChatRead(_ im: ItemsModel, _ chat: Chat) async { do { if chat.chatStats.unreadCount > 0 { @@ -1899,6 +1894,10 @@ func apiUpdateGroup(_ groupId: Int64, _ groupProfile: GroupProfile) async throws func apiCreateGroupLink(_ groupId: Int64, memberRole: GroupMemberRole = .member) async throws -> GroupLink? { let r: APIResult? = await chatApiSendCmdWithRetry(.apiCreateGroupLink(groupId: groupId, memberRole: memberRole)) if case let .result(.groupLinkCreated(_, _, groupLink)) = r { return groupLink } + if case let .error(.errorAgent(.NOTICE(server, preset, expires))) = r { + showClientNotice(server, preset, expires) + return nil + } if let r { throw r.unexpected } else { return nil } } @@ -1955,7 +1954,6 @@ func acceptMemberContact(contactId: Int64, inProgress: Binding? = nil) asy if let contact = await apiAcceptMemberContact(contactId: contactId) { await MainActor.run { ChatModel.shared.updateContact(contact) - NetworkModel.shared.setContactNetworkStatus(contact, .connected) inProgress?.wrappedValue = false } if contact.sndReady { @@ -2241,7 +2239,6 @@ class ChatReceiver { func processReceivedMsg(_ res: ChatEvent) async { let m = ChatModel.shared - let n = NetworkModel.shared logger.debug("processReceivedMsg: \(res.responseType)") switch res { case let .contactDeletedByContact(user, contact): @@ -2258,14 +2255,15 @@ func processReceivedMsg(_ res: ChatEvent) async { m.dismissConnReqView(conn.id) m.removeChat(conn.id) } + if contact.id == m.chatId, let conn = contact.activeConn { + m.chatAgentConnId = conn.agentConnId + m.chatSubStatus = .active + } } } if contact.directOrUsed { NtfManager.shared.notifyContactConnected(user, contact) } - await MainActor.run { - n.setContactNetworkStatus(contact, .connected) - } case let .contactConnecting(user, contact): if active(user) && contact.directOrUsed { await MainActor.run { @@ -2286,9 +2284,6 @@ func processReceivedMsg(_ res: ChatEvent) async { } } } - await MainActor.run { - n.setContactNetworkStatus(contact, .connected) - } case let .receivedContactRequest(user, contactRequest, chat_): if active(user) { await MainActor.run { @@ -2327,30 +2322,10 @@ func processReceivedMsg(_ res: ChatEvent) async { _ = m.upsertGroupMember(groupInfo, toMember) } } - case let .networkStatus(status, connections): - // dispatch queue to synchronize access - networkStatusesLock.sync { - var ns = n.networkStatuses - // slow loop is on the background thread - for cId in connections { - ns[cId] = status - } - // fast model update is on the main thread - DispatchQueue.main.sync { - n.networkStatuses = ns - } - } - case let .networkStatuses(_, statuses): () - // dispatch queue to synchronize access - networkStatusesLock.sync { - var ns = n.networkStatuses - // slow loop is on the background thread - for s in statuses { - ns[s.agentConnId] = s.networkStatus - } - // fast model update is on the main thread - DispatchQueue.main.sync { - n.networkStatuses = ns + case let .subscriptionStatus(status, connections): + if let chatAgentConnId = m.chatAgentConnId, connections.contains(chatAgentConnId) { + await MainActor.run { + m.chatSubStatus = status } } case let .chatInfoUpdated(user, chatInfo): @@ -2554,11 +2529,6 @@ func processReceivedMsg(_ res: ChatEvent) async { _ = m.upsertGroupMember(groupInfo, member) } } - if let contact = memberContact { - await MainActor.run { - n.setContactNetworkStatus(contact, .connected) - } - } case let .groupUpdated(user, toGroup): if active(user) { await MainActor.run { @@ -2784,13 +2754,10 @@ func processReceivedMsg(_ res: ChatEvent) async { func switchToLocalSession() { let m = ChatModel.shared - let n = NetworkModel.shared m.remoteCtrlSession = nil do { m.users = try listUsers() try getUserChatData() - let statuses = (try apiGetNetworkStatuses()).map { s in (s.agentConnId, s.networkStatus) } - n.networkStatuses = Dictionary(uniqueKeysWithValues: statuses) } catch let error { logger.debug("error updating chat data: \(responseError(error))") } @@ -2898,3 +2865,26 @@ private struct UserResponse: Decodable { var user: User? var error: String? } + +private func showClientNotice(_ server: String, _ preset: Bool, _ expiresAt: Date?) { + DispatchQueue.main.async { + var message = "Server: \(server).\nConditions of use violation notice received from \(preset ? "preset" : "this") server.\nNo IDs shared, see How it works." + if let expiresAt { + message += "\n\nNew addresses can be created after \(expiresAt.formatted(date: .abbreviated, time: .shortened))." + } + showAlert("Not allowed", message: message) { + let howItWorks = UIAlertAction(title: NSLocalizedString("How it works", comment: "alert button"), style: .default, handler: { _ in + UIApplication.shared.open(contentModerationPostLink) + }) + return preset + ? [ + okAlertAction, + UIAlertAction(title: NSLocalizedString("Conditions of use", comment: "alert button"), style: .default, handler: { _ in + UIApplication.shared.open(conditionsURL) + }), + howItWorks + ] + : [okAlertAction, howItWorks] + } + } +} diff --git a/apps/ios/Shared/Views/Chat/ChatInfoToolbar.swift b/apps/ios/Shared/Views/Chat/ChatInfoToolbar.swift index b60842a4a0..37f3b982a1 100644 --- a/apps/ios/Shared/Views/Chat/ChatInfoToolbar.swift +++ b/apps/ios/Shared/Views/Chat/ChatInfoToolbar.swift @@ -12,6 +12,7 @@ import SimpleXChat struct ChatInfoToolbar: View { @Environment(\.colorScheme) var colorScheme @EnvironmentObject var theme: AppTheme + @EnvironmentObject var m: ChatModel @ObservedObject var chat: Chat var imageSize: CGFloat = 32 @@ -56,6 +57,13 @@ struct ChatInfoToolbar: View { .padding(.top, -2) } } + if let contact = chat.chatInfo.contact, + contact.ready && contact.active, + let chatSubStatus = m.chatSubStatus, + chatSubStatus != .active { + SubStatusView(status: chatSubStatus) + .padding(.leading, 4) + } } .foregroundColor(theme.colors.onBackground) .frame(width: 220) @@ -68,6 +76,30 @@ struct ChatInfoToolbar: View { .baselineOffset(1) .kerning(-2) } + + struct SubStatusView: View { + @Environment(\.dynamicTypeSize) private var userFont: DynamicTypeSize + @EnvironmentObject var theme: AppTheme + var status: SubscriptionStatus + + var body: some View { + switch status { + case .active: EmptyView() + case .pending: ProgressView() + case .removed: subStatusError() + case .noSub: subStatusError() + } + } + + @ViewBuilder private func subStatusError() -> some View { + let dynamicChatInfoSize = dynamicSize(userFont).chatInfoSize + Image(systemName: "exclamationmark.circle") + .resizable() + .scaledToFit() + .frame(width: dynamicChatInfoSize, height: dynamicChatInfoSize) + .foregroundColor(theme.colors.secondary) + } + } } struct ChatInfoToolbar_Previews: PreviewProvider { diff --git a/apps/ios/Shared/Views/Chat/ChatInfoView.swift b/apps/ios/Shared/Views/Chat/ChatInfoView.swift index 77c1db341a..ad82af05e2 100644 --- a/apps/ios/Shared/Views/Chat/ChatInfoView.swift +++ b/apps/ios/Shared/Views/Chat/ChatInfoView.swift @@ -92,7 +92,6 @@ struct ChatInfoView: View { @EnvironmentObject var chatModel: ChatModel @EnvironmentObject var theme: AppTheme @Environment(\.dismiss) var dismiss: DismissAction - @ObservedObject var networkModel = NetworkModel.shared @ObservedObject var chat: Chat @State var contact: Contact @State var localAlias: String @@ -115,7 +114,7 @@ struct ChatInfoView: View { enum ChatInfoViewAlert: Identifiable { case clearChatAlert - case networkStatusAlert + case subStatusAlert(status: SubscriptionStatus) case switchAddressAlert case abortSwitchAddressAlert case syncConnectionForceAlert @@ -126,7 +125,7 @@ struct ChatInfoView: View { var id: String { switch self { case .clearChatAlert: return "clearChatAlert" - case .networkStatusAlert: return "networkStatusAlert" + case let .subStatusAlert(status): return "subStatusAlert \(status)" case .switchAddressAlert: return "switchAddressAlert" case .abortSwitchAddressAlert: return "abortSwitchAddressAlert" case .syncConnectionForceAlert: return "syncConnectionForceAlert" @@ -236,10 +235,12 @@ struct ChatInfoView: View { if contact.ready && contact.active { Section(header: Text("Servers").foregroundColor(theme.colors.secondary)) { - networkStatusRow() - .onTapGesture { - alert = .networkStatusAlert - } + if let chatSubStatus = chatModel.chatSubStatus { + SubStatusRow(status: chatSubStatus) + .onTapGesture { + alert = .subStatusAlert(status: chatSubStatus) + } + } if let connStats = connectionStats { Button("Change receiving address") { alert = .switchAddressAlert @@ -325,7 +326,7 @@ struct ChatInfoView: View { .alert(item: $alert) { alertItem in switch(alertItem) { case .clearChatAlert: return clearChatAlert() - case .networkStatusAlert: return networkStatusAlert() + case let .subStatusAlert(status): return subStatusAlert(status) case .switchAddressAlert: return switchAddressAlert(switchContactAddress) case .abortSwitchAddressAlert: return abortSwitchAddressAlert(abortSwitchContactAddress) case .syncConnectionForceAlert: @@ -546,26 +547,6 @@ struct ChatInfoView: View { } } - private func networkStatusRow() -> some View { - HStack { - Text("Network status") - Image(systemName: "info.circle") - .foregroundColor(theme.colors.primary) - .font(.system(size: 14)) - Spacer() - Text(networkModel.contactNetworkStatus(contact).statusString) - .foregroundColor(theme.colors.secondary) - serverImage() - } - } - - private func serverImage() -> some View { - let status = networkModel.contactNetworkStatus(contact) - return Image(systemName: status.imageName) - .foregroundColor(status == .connected ? .green : theme.colors.secondary) - .font(.system(size: 12)) - } - private func deleteContactButton() -> some View { Button(role: .destructive) { deleteContactDialog( @@ -605,10 +586,10 @@ struct ChatInfoView: View { ) } - private func networkStatusAlert() -> Alert { + private func subStatusAlert(_ status: SubscriptionStatus) -> Alert { Alert( title: Text("Network status"), - message: Text(networkModel.contactNetworkStatus(contact).statusExplanation) + message: Text(status.statusExplanation) ) } @@ -667,6 +648,30 @@ struct ChatInfoView: View { } } +struct SubStatusRow: View { + @EnvironmentObject var theme: AppTheme + var status: SubscriptionStatus + + var body: some View { + HStack { + Text("Network status") + Image(systemName: "info.circle") + .foregroundColor(theme.colors.primary) + .font(.system(size: 14)) + Spacer() + Text(status.statusString) + .foregroundColor(theme.colors.secondary) + serverImage(status) + } + } + + private func serverImage(_ status: SubscriptionStatus) -> some View { + return Image(systemName: status.imageName) + .foregroundColor(status == .active ? .green : theme.colors.secondary) + .font(.system(size: 12)) + } +} + struct ChatTTLOption: View { @ObservedObject var chat: Chat @Binding var progressIndicator: Bool diff --git a/apps/ios/Shared/Views/Chat/ChatView.swift b/apps/ios/Shared/Views/Chat/ChatView.swift index fa53045391..709758655f 100644 --- a/apps/ios/Shared/Views/Chat/ChatView.swift +++ b/apps/ios/Shared/Views/Chat/ChatView.swift @@ -393,6 +393,8 @@ struct ChatView: View { if chatModel.chatId == cInfo.id && !presentationMode.wrappedValue.isPresented { DispatchQueue.main.asyncAfter(deadline: .now() + 0.35) { if chatModel.chatId == nil { + chatModel.chatAgentConnId = nil + chatModel.chatSubStatus = nil im.reversedChatItems = [] im.chatState.clear() chatModel.groupMembers = [] @@ -657,18 +659,30 @@ struct ChatView: View { private func initChatView() { let cInfo = chat.chatInfo // This check prevents the call to apiContactInfo after the app is suspended, and the database is closed. - if case .active = scenePhase, - case let .direct(contact) = cInfo { - Task { - do { - let (stats, _) = try await apiContactInfo(chat.chatInfo.apiId) - await MainActor.run { - if let s = stats { - chatModel.updateContactConnectionStats(contact, s) + if case .active = scenePhase { + if case let .direct(contact) = cInfo { + Task { + do { + let (stats, _) = try await apiContactInfo(chat.chatInfo.apiId) + await MainActor.run { + if let s = stats { + chatModel.updateContactConnectionStats(contact, s) + if let conn = contact.activeConn { + chatModel.chatAgentConnId = conn.agentConnId + chatModel.chatSubStatus = s.subStatus + } + } } + } catch let error { + logger.error("apiContactInfo error: \(responseError(error))") + } + } + } else { + Task { + await MainActor.run { + chatModel.chatAgentConnId = nil + chatModel.chatSubStatus = nil } - } catch let error { - logger.error("apiContactInfo error: \(responseError(error))") } } } diff --git a/apps/ios/Shared/Views/Chat/ComposeMessage/ComposeView.swift b/apps/ios/Shared/Views/Chat/ComposeMessage/ComposeView.swift index 683dea0f56..3745d0f0b8 100644 --- a/apps/ios/Shared/Views/Chat/ComposeMessage/ComposeView.swift +++ b/apps/ios/Shared/Views/Chat/ComposeMessage/ComposeView.swift @@ -788,7 +788,6 @@ struct ComposeView: View { await MainActor.run { self.chatModel.updateContact(contact) clearState() - NetworkModel.shared.setContactNetworkStatus(contact, .connected) } } else { AlertManager.shared.showAlertMsg(title: "Empty message!") @@ -827,7 +826,6 @@ struct ComposeView: View { if let contact = await apiConnectPreparedContact(contactId: chat.chatInfo.apiId, incognito: incognito, msg: mc) { await MainActor.run { self.chatModel.updateContact(contact) - NetworkModel.shared.setContactNetworkStatus(contact, .connected) clearState() } } else { diff --git a/apps/ios/Shared/Views/Chat/Group/GroupMemberInfoView.swift b/apps/ios/Shared/Views/Chat/Group/GroupMemberInfoView.swift index 2298af614e..01a3805910 100644 --- a/apps/ios/Shared/Views/Chat/Group/GroupMemberInfoView.swift +++ b/apps/ios/Shared/Views/Chat/Group/GroupMemberInfoView.swift @@ -160,7 +160,15 @@ struct GroupMemberInfoView: View { if let connStats = connectionStats { Section(header: Text("Servers").foregroundColor(theme.colors.secondary)) { - // TODO network connection status + if let subStatus = connStats.subStatus { + SubStatusRow(status: subStatus) + .onTapGesture { + showAlert( + NSLocalizedString("Network status", comment: "alert title"), + message: subStatus.statusExplanation + ) + } + } Button("Change receiving address") { alert = .switchAddressAlert } @@ -396,7 +404,6 @@ struct GroupMemberInfoView: View { ItemsModel.shared.loadOpenChat(memberContact.id) { dismissAllSheets(animated: true) } - NetworkModel.shared.setContactNetworkStatus(memberContact, .connected) } } catch let error { logger.error("createMemberContactButton apiCreateMemberContact error: \(responseError(error))") diff --git a/apps/ios/Shared/Views/ChatList/ChatPreviewView.swift b/apps/ios/Shared/Views/ChatList/ChatPreviewView.swift index c56d947a5a..be2c456802 100644 --- a/apps/ios/Shared/Views/ChatList/ChatPreviewView.swift +++ b/apps/ios/Shared/Views/ChatList/ChatPreviewView.swift @@ -460,12 +460,6 @@ struct ChatPreviewView: View { @ViewBuilder private func chatStatusImage() -> some View { let size = dynamicSize(userFont).incognitoSize switch chat.chatInfo { - case let .direct(contact): - if contact.active, let status = contact.activeConn?.connStatus, status == .ready || status == .sndReady { - NetworkStatusView(contact: contact, size: size) - } else { - incognitoIcon(chat.chatInfo.incognito, theme.colors.secondary, size: size) - } case .group: if progressByTimeout { ProgressView() @@ -482,30 +476,6 @@ struct ChatPreviewView: View { incognitoIcon(chat.chatInfo.incognito, theme.colors.secondary, size: size) } } - - struct NetworkStatusView: View { - @Environment(\.dynamicTypeSize) private var userFont: DynamicTypeSize - @EnvironmentObject var theme: AppTheme - @ObservedObject var networkModel = NetworkModel.shared - - let contact: Contact - let size: CGFloat - - var body: some View { - let dynamicChatInfoSize = dynamicSize(userFont).chatInfoSize - switch (networkModel.contactNetworkStatus(contact)) { - case .connected: incognitoIcon(contact.contactConnIncognito, theme.colors.secondary, size: size) - case .error: - Image(systemName: "exclamationmark.circle") - .resizable() - .scaledToFit() - .frame(width: dynamicChatInfoSize, height: dynamicChatInfoSize) - .foregroundColor(theme.colors.secondary) - default: - ProgressView() - } - } - } } @ViewBuilder func incognitoIcon(_ incognito: Bool, _ secondaryColor: Color, size: CGFloat) -> some View { diff --git a/apps/ios/Shared/Views/UserSettings/UserAddressView.swift b/apps/ios/Shared/Views/UserSettings/UserAddressView.swift index 1e5b4bff16..d40ec116f4 100644 --- a/apps/ios/Shared/Views/UserSettings/UserAddressView.swift +++ b/apps/ios/Shared/Views/UserSettings/UserAddressView.swift @@ -196,12 +196,13 @@ struct UserAddressView: View { progressIndicator = true Task { do { - if let connLinkContact = try await apiCreateUserAddress() { - DispatchQueue.main.async { + let connLinkContact = try await apiCreateUserAddress() + DispatchQueue.main.async { + if let connLinkContact { chatModel.userAddress = UserContactLink(connLinkContact) alert = .shareOnCreate - progressIndicator = false } + progressIndicator = false } } catch let error { logger.error("UserAddressView apiCreateUserAddress: \(responseError(error))") diff --git a/apps/ios/SimpleX.xcodeproj/project.pbxproj b/apps/ios/SimpleX.xcodeproj/project.pbxproj index 57788d4232..e23c535ebb 100644 --- a/apps/ios/SimpleX.xcodeproj/project.pbxproj +++ b/apps/ios/SimpleX.xcodeproj/project.pbxproj @@ -178,8 +178,8 @@ 64C3B0212A0D359700E19930 /* CustomTimePicker.swift in Sources */ = {isa = PBXBuildFile; fileRef = 64C3B0202A0D359700E19930 /* CustomTimePicker.swift */; }; 64C8299D2D54AEEE006B9E89 /* libgmp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 64C829982D54AEED006B9E89 /* libgmp.a */; }; 64C8299E2D54AEEE006B9E89 /* libffi.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 64C829992D54AEEE006B9E89 /* libffi.a */; }; - 64C8299F2D54AEEE006B9E89 /* libHSsimplex-chat-6.4.6.0-1uYs2FKSnCtGti4vmlXmvH-ghc9.6.3.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 64C8299A2D54AEEE006B9E89 /* libHSsimplex-chat-6.4.6.0-1uYs2FKSnCtGti4vmlXmvH-ghc9.6.3.a */; }; - 64C829A02D54AEEE006B9E89 /* libHSsimplex-chat-6.4.6.0-1uYs2FKSnCtGti4vmlXmvH.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 64C8299B2D54AEEE006B9E89 /* libHSsimplex-chat-6.4.6.0-1uYs2FKSnCtGti4vmlXmvH.a */; }; + 64C8299F2D54AEEE006B9E89 /* libHSsimplex-chat-6.5.0.2-6qgCrd2M1igHbyytG3wCNC-ghc9.6.3.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 64C8299A2D54AEEE006B9E89 /* libHSsimplex-chat-6.5.0.2-6qgCrd2M1igHbyytG3wCNC-ghc9.6.3.a */; }; + 64C829A02D54AEEE006B9E89 /* libHSsimplex-chat-6.5.0.2-6qgCrd2M1igHbyytG3wCNC.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 64C8299B2D54AEEE006B9E89 /* libHSsimplex-chat-6.5.0.2-6qgCrd2M1igHbyytG3wCNC.a */; }; 64C829A12D54AEEE006B9E89 /* libgmpxx.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 64C8299C2D54AEEE006B9E89 /* libgmpxx.a */; }; 64D0C2C029F9688300B38D5F /* UserAddressView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 64D0C2BF29F9688300B38D5F /* UserAddressView.swift */; }; 64D0C2C229FA57AB00B38D5F /* UserAddressLearnMore.swift in Sources */ = {isa = PBXBuildFile; fileRef = 64D0C2C129FA57AB00B38D5F /* UserAddressLearnMore.swift */; }; @@ -545,8 +545,8 @@ 64C3B0202A0D359700E19930 /* CustomTimePicker.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CustomTimePicker.swift; sourceTree = ""; }; 64C829982D54AEED006B9E89 /* libgmp.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libgmp.a; sourceTree = ""; }; 64C829992D54AEEE006B9E89 /* libffi.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libffi.a; sourceTree = ""; }; - 64C8299A2D54AEEE006B9E89 /* libHSsimplex-chat-6.4.6.0-1uYs2FKSnCtGti4vmlXmvH-ghc9.6.3.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = "libHSsimplex-chat-6.4.6.0-1uYs2FKSnCtGti4vmlXmvH-ghc9.6.3.a"; sourceTree = ""; }; - 64C8299B2D54AEEE006B9E89 /* libHSsimplex-chat-6.4.6.0-1uYs2FKSnCtGti4vmlXmvH.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = "libHSsimplex-chat-6.4.6.0-1uYs2FKSnCtGti4vmlXmvH.a"; sourceTree = ""; }; + 64C8299A2D54AEEE006B9E89 /* libHSsimplex-chat-6.5.0.2-6qgCrd2M1igHbyytG3wCNC-ghc9.6.3.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = "libHSsimplex-chat-6.5.0.2-6qgCrd2M1igHbyytG3wCNC-ghc9.6.3.a"; sourceTree = ""; }; + 64C8299B2D54AEEE006B9E89 /* libHSsimplex-chat-6.5.0.2-6qgCrd2M1igHbyytG3wCNC.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = "libHSsimplex-chat-6.5.0.2-6qgCrd2M1igHbyytG3wCNC.a"; sourceTree = ""; }; 64C8299C2D54AEEE006B9E89 /* libgmpxx.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libgmpxx.a; sourceTree = ""; }; 64D0C2BF29F9688300B38D5F /* UserAddressView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UserAddressView.swift; sourceTree = ""; }; 64D0C2C129FA57AB00B38D5F /* UserAddressLearnMore.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UserAddressLearnMore.swift; sourceTree = ""; }; @@ -708,8 +708,8 @@ 64C8299D2D54AEEE006B9E89 /* libgmp.a in Frameworks */, 64C8299E2D54AEEE006B9E89 /* libffi.a in Frameworks */, 64C829A12D54AEEE006B9E89 /* libgmpxx.a in Frameworks */, - 64C8299F2D54AEEE006B9E89 /* libHSsimplex-chat-6.4.6.0-1uYs2FKSnCtGti4vmlXmvH-ghc9.6.3.a in Frameworks */, - 64C829A02D54AEEE006B9E89 /* libHSsimplex-chat-6.4.6.0-1uYs2FKSnCtGti4vmlXmvH.a in Frameworks */, + 64C8299F2D54AEEE006B9E89 /* libHSsimplex-chat-6.5.0.2-6qgCrd2M1igHbyytG3wCNC-ghc9.6.3.a in Frameworks */, + 64C829A02D54AEEE006B9E89 /* libHSsimplex-chat-6.5.0.2-6qgCrd2M1igHbyytG3wCNC.a in Frameworks */, CE38A29C2C3FCD72005ED185 /* SwiftyGif in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; @@ -795,8 +795,8 @@ 64C829992D54AEEE006B9E89 /* libffi.a */, 64C829982D54AEED006B9E89 /* libgmp.a */, 64C8299C2D54AEEE006B9E89 /* libgmpxx.a */, - 64C8299A2D54AEEE006B9E89 /* libHSsimplex-chat-6.4.6.0-1uYs2FKSnCtGti4vmlXmvH-ghc9.6.3.a */, - 64C8299B2D54AEEE006B9E89 /* libHSsimplex-chat-6.4.6.0-1uYs2FKSnCtGti4vmlXmvH.a */, + 64C8299A2D54AEEE006B9E89 /* libHSsimplex-chat-6.5.0.2-6qgCrd2M1igHbyytG3wCNC-ghc9.6.3.a */, + 64C8299B2D54AEEE006B9E89 /* libHSsimplex-chat-6.5.0.2-6qgCrd2M1igHbyytG3wCNC.a */, ); path = Libraries; sourceTree = ""; diff --git a/apps/ios/SimpleXChat/APITypes.swift b/apps/ios/SimpleXChat/APITypes.swift index 80cc1577c6..fce0f100f2 100644 --- a/apps/ios/SimpleXChat/APITypes.swift +++ b/apps/ios/SimpleXChat/APITypes.swift @@ -545,6 +545,7 @@ public struct ConnectionStats: Decodable, Hashable { public var sndQueuesInfo: [SndQueueInfo] public var ratchetSyncState: RatchetSyncState public var ratchetSyncSupported: Bool + public var subStatus: SubscriptionStatus? public var ratchetSyncAllowed: Bool { ratchetSyncSupported && [.allowed, .required].contains(ratchetSyncState) @@ -559,25 +560,28 @@ public struct ConnectionStats: Decodable, Hashable { } } -public struct RcvQueueInfo: Codable, Hashable { +public struct RcvQueueInfo: Decodable, Hashable { public var rcvServer: String + public var status: QueueStatus public var rcvSwitchStatus: RcvSwitchStatus? public var canAbortSwitch: Bool + public var subStatus: SubscriptionStatus } -public enum RcvSwitchStatus: String, Codable, Hashable { +public enum RcvSwitchStatus: String, Decodable, Hashable { case switchStarted = "switch_started" case sendingQADD = "sending_qadd" case sendingQUSE = "sending_quse" case receivedMessage = "received_message" } -public struct SndQueueInfo: Codable, Hashable { +public struct SndQueueInfo: Decodable, Hashable { public var sndServer: String + public var status: QueueStatus public var sndSwitchStatus: SndSwitchStatus? } -public enum SndSwitchStatus: String, Codable, Hashable { +public enum SndSwitchStatus: String, Decodable, Hashable { case sendingQKEY = "sending_qkey" case sendingQTEST = "sending_qtest" } @@ -606,6 +610,48 @@ public enum RatchetSyncState: String, Decodable { case agreed } +public enum QueueStatus: String, Decodable, Hashable { + case new + case confirmed + case secured + case active + case disabled +} + +public enum SubscriptionStatus: Decodable, Hashable { + case active + case pending + case removed(subError: String) + case noSub + + public var statusString: LocalizedStringKey { + switch self { + case .active: "connected" + case .pending: "connecting" + case .removed: "error" + case .noSub: "no subscription" + } + } + + public var statusExplanation: String { + switch self { + case .active: NSLocalizedString("You are connected to the server used to receive messages from this connection.", comment: "subscription status explanation") + case .pending: NSLocalizedString("Trying to connect to the server used to receive messages from this connection.", comment: "subscription status explanation") + case let .removed(err): String.localizedStringWithFormat(NSLocalizedString("Error connecting to the server used to receive messages from this connection: %@", comment: "subscription status explanation"), err) + case .noSub: NSLocalizedString("You are not connected to the server used to receive messages from this connection (no subscription).", comment: "subscription status explanation") + } + } + + public var imageName: String { + switch self { + case .active: "circle.fill" + case .pending: "ellipsis.circle.fill" + case .removed: "exclamationmark.circle.fill" + case .noSub: "circle.dotted" + } + } +} + public protocol SelectableItem: Identifiable, Equatable { var label: LocalizedStringKey { get } static var values: [Self] { get } @@ -833,6 +879,7 @@ public enum AgentErrorType: Decodable, Hashable { case RCP(rcpErr: RCErrorType) case BROKER(brokerAddress: String, brokerErr: BrokerErrorType) case AGENT(agentErr: SMPAgentError) + case NOTICE(server: String, preset: Bool, expiresAt: Date?) case INTERNAL(internalErr: String) case CRITICAL(offerRestart: Bool, criticalErr: String) case INACTIVE 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 aca4ec4a76..debd0ec328 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 @@ -96,11 +96,12 @@ object ChatModel { val dbMigrationInProgress = mutableStateOf(false) val incompleteInitializedDbRemoved = mutableStateOf(false) // map of connections network statuses, key is agent connection id - val networkStatuses = mutableStateMapOf() val switchingUsersAndHosts = mutableStateOf(false) // current chat val chatId = mutableStateOf(null) + val chatAgentConnId = mutableStateOf(null) + val chatSubStatus = mutableStateOf(null) val openAroundItemId: MutableState = mutableStateOf(null) val chatsContext = ChatsContext(null) val secondaryChatsContext = mutableStateOf(null) @@ -1147,21 +1148,6 @@ object ChatModel { showingInvitation.value = showingInvitation.value?.copy(connChatUsed = true) } - fun setContactNetworkStatus(contact: Contact, status: NetworkStatus) { - val conn = contact.activeConn - if (conn != null) { - networkStatuses[conn.agentConnId] = status - } - } - - fun contactNetworkStatus(contact: Contact): NetworkStatus { - val conn = contact.activeConn - return if (conn != null) - networkStatuses[conn.agentConnId] ?: NetworkStatus.Unknown() - else - NetworkStatus.Unknown() - } - fun addTerminalItem(item: TerminalItem) { val maxItems = if (appPreferences.developerTools.get()) 500 else 200 if (terminalsVisible.isNotEmpty()) { @@ -1721,30 +1707,6 @@ sealed class ChatInfo: SomeChat, NamedChat { } } -@Serializable -sealed class NetworkStatus { - val statusString: String get() = - when (this) { - is Connected -> generalGetString(MR.strings.server_connected) - is Error -> generalGetString(MR.strings.server_error) - else -> generalGetString(MR.strings.server_connecting) - } - val statusExplanation: String get() = - when (this) { - is Connected -> generalGetString(MR.strings.connected_to_server_to_receive_messages_from_contact) - is Error -> String.format(generalGetString(MR.strings.trying_to_connect_to_server_to_receive_messages_with_error), connectionError) - else -> generalGetString(MR.strings.trying_to_connect_to_server_to_receive_messages) - } - - @Serializable @SerialName("unknown") class Unknown: NetworkStatus() - @Serializable @SerialName("connected") class Connected: NetworkStatus() - @Serializable @SerialName("disconnected") class Disconnected: NetworkStatus() - @Serializable @SerialName("error") class Error(val connectionError: String): NetworkStatus() -} - -@Serializable -data class ConnNetworkStatus(val agentConnId: String, val networkStatus: NetworkStatus) - @Serializable data class Contact( val contactId: Long, diff --git a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/model/SimpleXAPI.kt b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/model/SimpleXAPI.kt index a4f9aa1a50..5f024b8134 100644 --- a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/model/SimpleXAPI.kt +++ b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/model/SimpleXAPI.kt @@ -13,6 +13,7 @@ import androidx.compose.ui.focus.focusRequester import androidx.compose.ui.graphics.Color import androidx.compose.ui.graphics.painter.Painter import androidx.compose.ui.platform.LocalClipboardManager +import androidx.compose.ui.platform.LocalUriHandler import androidx.compose.ui.text.AnnotatedString import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.unit.dp @@ -27,12 +28,14 @@ import dev.icerock.moko.resources.compose.painterResource import chat.simplex.common.platform.* import chat.simplex.common.ui.theme.* import chat.simplex.common.views.call.* +import chat.simplex.common.views.chat.item.contentModerationPostLink import chat.simplex.common.views.chat.item.showContentBlockedAlert import chat.simplex.common.views.chat.item.showQuotedItemDoesNotExistAlert import chat.simplex.common.views.chatlist.openGroupChat import chat.simplex.common.views.migration.MigrationFileLinkData import chat.simplex.common.views.onboarding.OnboardingStage import chat.simplex.common.views.usersettings.* +import chat.simplex.common.views.usersettings.networkAndServers.defaultConditionsLink import chat.simplex.common.views.usersettings.networkAndServers.serverHostname import com.charleskorn.kaml.Yaml import com.charleskorn.kaml.YamlConfiguration @@ -46,12 +49,17 @@ import kotlinx.coroutines.channels.Channel import kotlinx.coroutines.sync.withLock import kotlinx.datetime.Clock import kotlinx.datetime.Instant +import kotlinx.datetime.TimeZone +import kotlinx.datetime.toJavaLocalDateTime +import kotlinx.datetime.toLocalDateTime import kotlinx.serialization.* import kotlinx.serialization.builtins.* import kotlinx.serialization.descriptors.* import kotlinx.serialization.encoding.Decoder import kotlinx.serialization.encoding.Encoder import kotlinx.serialization.json.* +import java.time.format.DateTimeFormatter +import java.time.format.FormatStyle import java.util.Date typealias ChatCtrl = Long @@ -1709,6 +1717,11 @@ object ChatController { val userId = kotlin.runCatching { currentUserId("apiCreateUserAddress") }.getOrElse { return null } val r = sendCmdWithRetry(rh, CC.ApiCreateMyAddress(userId)) if (r is API.Result && r.res is CR.UserContactLinkCreated) return r.res.connLinkContact + if (r is API.Error && r.err is ChatError.ChatErrorAgent && r.err.agentError is AgentErrorType.NOTICE) { + val e = r.err.agentError + showClientNoticeAlert(e.server, e.preset, e.expiresAt) + return null + } if (r == null) return null if (!(networkErrorAlert(r))) { apiErrorAlert("apiCreateUserAddress", generalGetString(MR.strings.error_creating_address), r) @@ -1842,13 +1855,6 @@ object ChatController { return r.result is CR.CmdOk } - suspend fun apiGetNetworkStatuses(rh: Long?): List? { - val r = sendCmd(rh, CC.ApiGetNetworkStatuses()) - if (r is API.Result && r.res is CR.NetworkStatuses) return r.res.networkStatuses - Log.e(TAG, "apiGetNetworkStatuses bad response: ${r.responseType} ${r.details}") - return null - } - suspend fun apiChatRead(rh: Long?, type: ChatType, id: Long): Boolean { val r = sendCmd(rh, CC.ApiChatRead(type, id, scope = null)) if (r.result is CR.CmdOk) return true @@ -2175,6 +2181,11 @@ object ChatController { suspend fun apiCreateGroupLink(rh: Long?, groupId: Long, memberRole: GroupMemberRole = GroupMemberRole.Member): GroupLink? { val r = sendCmdWithRetry(rh, CC.APICreateGroupLink(groupId, memberRole)) if (r is API.Result && r.res is CR.GroupLinkCreated) return r.res.groupLink + if (r is API.Error && r.err is ChatError.ChatErrorAgent && r.err.agentError is AgentErrorType.NOTICE) { + val e = r.err.agentError + showClientNoticeAlert(e.server, e.preset, e.expiresAt) + return null + } if (r == null) return null if (!(networkErrorAlert(r))) { apiErrorAlert("apiCreateGroupLink", generalGetString(MR.strings.error_creating_link_for_group), r) @@ -2546,12 +2557,15 @@ object ChatController { chatModel.replaceConnReqView(conn.id, "@${r.contact.contactId}") chatModel.chatsContext.removeChat(rhId, conn.id) } + if (r.contact.id == chatModel.chatId.value && conn != null) { + chatModel.chatAgentConnId.value = conn.agentConnId + chatModel.chatSubStatus.value = SubscriptionStatus.Active + } } } if (r.contact.directOrUsed) { ntfManager.notifyContactConnected(r.user, r.contact) } - chatModel.setContactNetworkStatus(r.contact, NetworkStatus.Connected()) } is CR.ContactConnecting -> { if (active(r.user) && r.contact.directOrUsed) { @@ -2576,7 +2590,6 @@ object ChatController { } } } - chatModel.setContactNetworkStatus(r.contact, NetworkStatus.Connected()) } is CR.ReceivedContactRequest -> { val contactRequest = r.contactRequest @@ -2618,18 +2631,12 @@ object ChatController { } } } - // ContactsSubscribed, ContactsDisconnected are only used in CLI, - // They have to be used here for remote desktop to process these status updates. - is CR.ContactsSubscribed -> updateContactsStatus(r.contactRefs, NetworkStatus.Connected()) - is CR.ContactsDisconnected -> updateContactsStatus(r.contactRefs, NetworkStatus.Disconnected()) - is CR.NetworkStatusResp -> { - for (cId in r.connections) { - chatModel.networkStatuses[cId] = r.networkStatus - } - } - is CR.NetworkStatuses -> { - for (s in r.networkStatuses) { - chatModel.networkStatuses[s.agentConnId] = s.networkStatus + is CR.SubscriptionStatusEvt -> { + val chatAgentConnId = chatModel.chatAgentConnId.value + if (chatAgentConnId != null && r.connections.contains(chatAgentConnId)) { + withContext(Dispatchers.Main) { + chatModel.chatSubStatus.value = r.subscriptionStatus + } } } is CR.ChatInfoUpdated -> @@ -2916,9 +2923,6 @@ object ChatController { chatModel.chatsContext.upsertGroupMember(rhId, r.groupInfo, r.member) } } - if (r.memberContact != null) { - chatModel.setContactNetworkStatus(r.memberContact, NetworkStatus.Connected()) - } } is CR.GroupUpdated -> if (active(r.user)) { @@ -3231,12 +3235,6 @@ object ChatController { m.users.clear() m.users.addAll(users) getUserChatData(null) - val statuses = apiGetNetworkStatuses(null) - if (statuses != null) { - chatModel.networkStatuses.clear() - val ss = statuses.associate { it.agentConnId to it.networkStatus }.toMap() - chatModel.networkStatuses.putAll(ss) - } } private fun activeUser(rhId: Long?, user: UserLike): Boolean = @@ -3349,12 +3347,6 @@ object ChatController { } } - private fun updateContactsStatus(contactRefs: List, status: NetworkStatus) { - for (c in contactRefs) { - chatModel.networkStatuses[c.agentConnId] = status - } - } - suspend fun switchUIRemoteHost(rhId: Long?) = showProgressIfNeeded { // TODO lock the switch so that two switches can't run concurrently? chatModel.chatId.value = null @@ -3381,12 +3373,6 @@ object ChatController { chatModel.secondaryChatsContext.value?.popChatCollector?.clear() } } - val statuses = apiGetNetworkStatuses(rhId) - if (statuses != null) { - chatModel.networkStatuses.clear() - val ss = statuses.associate { it.agentConnId to it.networkStatus }.toMap() - chatModel.networkStatuses.putAll(ss) - } getUserChatData(rhId) } @@ -3645,7 +3631,6 @@ sealed class CC { class ApiSendCallExtraInfo(val contact: Contact, val extraInfo: WebRTCExtraInfo): CC() class ApiEndCall(val contact: Contact): CC() class ApiCallStatus(val contact: Contact, val callStatus: WebRTCCallStatus): CC() - class ApiGetNetworkStatuses(): CC() class ApiAcceptContact(val incognito: Boolean, val contactReqId: Long): CC() class ApiRejectContact(val contactReqId: Long): CC() class ApiChatRead(val type: ChatType, val id: Long, val scope: GroupChatScope?): CC() @@ -3844,7 +3829,6 @@ sealed class CC { is ApiSendCallExtraInfo -> "/_call extra @${contact.apiId} ${json.encodeToString(extraInfo)}" is ApiEndCall -> "/_call end @${contact.apiId}" is ApiCallStatus -> "/_call status @${contact.apiId} ${callStatus.value}" - is ApiGetNetworkStatuses -> "/_network_statuses" is ApiChatRead -> "/_read chat ${chatRef(type, id, scope)}" is ApiChatItemsRead -> "/_read chat items ${chatRef(type, id, scope)} ${itemIds.joinToString(",")}" is ApiChatUnread -> "/_unread chat ${chatRef(type, id, scope = null)} ${onOff(unreadChat)}" @@ -4019,7 +4003,6 @@ sealed class CC { is ApiSendCallExtraInfo -> "apiSendCallExtraInfo" is ApiEndCall -> "apiEndCall" is ApiCallStatus -> "apiCallStatus" - is ApiGetNetworkStatuses -> "apiGetNetworkStatuses" is ApiChatRead -> "apiChatRead" is ApiChatItemsRead -> "apiChatItemsRead" is ApiChatUnread -> "apiChatUnread" @@ -6159,12 +6142,7 @@ sealed class CR { @Serializable @SerialName("contactRequestRejected") class ContactRequestRejected(val user: UserRef, val contactRequest: UserContactRequest, val contact_: Contact?): CR() @Serializable @SerialName("contactUpdated") class ContactUpdated(val user: UserRef, val toContact: Contact): CR() @Serializable @SerialName("groupMemberUpdated") class GroupMemberUpdated(val user: UserRef, val groupInfo: GroupInfo, val fromMember: GroupMember, val toMember: GroupMember): CR() - // TODO remove below - @Serializable @SerialName("contactsSubscribed") class ContactsSubscribed(val server: String, val contactRefs: List): CR() - @Serializable @SerialName("contactsDisconnected") class ContactsDisconnected(val server: String, val contactRefs: List): CR() - // TODO remove above - @Serializable @SerialName("networkStatus") class NetworkStatusResp(val networkStatus: NetworkStatus, val connections: List): CR() - @Serializable @SerialName("networkStatuses") class NetworkStatuses(val user_: UserRef?, val networkStatuses: List): CR() + @Serializable @SerialName("subscriptionStatus") class SubscriptionStatusEvt(val subscriptionStatus: SubscriptionStatus, val connections: List): CR() @Serializable @SerialName("chatInfoUpdated") class ChatInfoUpdated(val user: UserRef, val chatInfo: ChatInfo): CR() @Serializable @SerialName("newChatItems") class NewChatItems(val user: UserRef, val chatItems: List): CR() @Serializable @SerialName("chatItemsStatusesUpdated") class ChatItemsStatusesUpdated(val user: UserRef, val chatItems: List): CR() @@ -6345,10 +6323,7 @@ sealed class CR { is ContactRequestRejected -> "contactRequestRejected" is ContactUpdated -> "contactUpdated" is GroupMemberUpdated -> "groupMemberUpdated" - is ContactsSubscribed -> "contactsSubscribed" - is ContactsDisconnected -> "contactsDisconnected" - is NetworkStatusResp -> "networkStatus" - is NetworkStatuses -> "networkStatuses" + is SubscriptionStatusEvt -> "subscriptionStatus" is ChatInfoUpdated -> "chatInfoUpdated" is NewChatItems -> "newChatItems" is ChatItemsStatusesUpdated -> "chatItemsStatusesUpdated" @@ -6521,10 +6496,7 @@ sealed class CR { is ContactRequestRejected -> withUser(user, "contactRequest: ${json.encodeToString(contactRequest)}\ncontact_: ${json.encodeToString(contact_)}") is ContactUpdated -> withUser(user, json.encodeToString(toContact)) is GroupMemberUpdated -> withUser(user, "groupInfo: $groupInfo\nfromMember: $fromMember\ntoMember: $toMember") - is ContactsSubscribed -> "server: $server\ncontacts:\n${json.encodeToString(contactRefs)}" - is ContactsDisconnected -> "server: $server\ncontacts:\n${json.encodeToString(contactRefs)}" - is NetworkStatusResp -> "networkStatus $networkStatus\nconnections: $connections" - is NetworkStatuses -> withUser(user_, json.encodeToString(networkStatuses)) + is SubscriptionStatusEvt -> "subscriptionStatus $subscriptionStatus\nconnections: $connections" is ChatInfoUpdated -> withUser(user, json.encodeToString(chatInfo)) is NewChatItems -> withUser(user, chatItems.joinToString("\n") { json.encodeToString(it) }) is ChatItemsStatusesUpdated -> withUser(user, chatItems.joinToString("\n") { json.encodeToString(it) }) @@ -6747,7 +6719,8 @@ class ConnectionStats( val rcvQueuesInfo: List, val sndQueuesInfo: List, val ratchetSyncState: RatchetSyncState, - val ratchetSyncSupported: Boolean + val ratchetSyncSupported: Boolean, + var subStatus: SubscriptionStatus? ) { val ratchetSyncAllowed: Boolean get() = ratchetSyncSupported && listOf(RatchetSyncState.Allowed, RatchetSyncState.Required).contains(ratchetSyncState) @@ -6762,8 +6735,10 @@ class ConnectionStats( @Serializable class RcvQueueInfo( val rcvServer: String, + var status: QueueStatus, val rcvSwitchStatus: RcvSwitchStatus?, - var canAbortSwitch: Boolean + var canAbortSwitch: Boolean, + var subStatus: SubscriptionStatus ) @Serializable @@ -6777,6 +6752,7 @@ enum class RcvSwitchStatus { @Serializable class SndQueueInfo( val sndServer: String, + var status: QueueStatus, val sndSwitchStatus: SndSwitchStatus? ) @@ -6814,6 +6790,39 @@ enum class RatchetSyncState { @SerialName("agreed") Agreed } +@Serializable +enum class QueueStatus { + @SerialName("new") New, + @SerialName("confirmed") Confirmed, + @SerialName("secured") Secured, + @SerialName("active") Active, + @SerialName("disabled") Disabled +} + +@Serializable +sealed class SubscriptionStatus { + @Serializable @SerialName("active") object Active: SubscriptionStatus() + @Serializable @SerialName("pending") object Pending: SubscriptionStatus() + @Serializable @SerialName("removed") class Removed(val subError: String): SubscriptionStatus() + @Serializable @SerialName("noSub") object NoSub: SubscriptionStatus() + + val statusString: String get() = + when (this) { + is Active -> generalGetString(MR.strings.server_connected) + is Pending -> generalGetString(MR.strings.server_connecting) + is Removed -> generalGetString(MR.strings.server_error) + is NoSub -> generalGetString(MR.strings.server_no_sub) + } + + val statusExplanation: String get() = + when (this) { + is Active -> generalGetString(MR.strings.connected_to_server_to_receive_messages_from_contact) + is Pending -> generalGetString(MR.strings.trying_to_connect_to_server_to_receive_messages) + is Removed -> String.format(generalGetString(MR.strings.error_connecting_to_server_to_receive_messages), subError) + is NoSub -> generalGetString(MR.strings.not_connected_to_server_to_receive_messages_no_sub) + } +} + interface SimplexAddress { val connLinkContact: CreatedConnLink val shortLinkDataSet: Boolean @@ -7306,6 +7315,7 @@ sealed class AgentErrorType { is RCP -> "RCP ${rcpErr.string}" is BROKER -> "BROKER ${brokerErr.string}" is AGENT -> "AGENT ${agentErr.string}" + is NOTICE -> "NOTICE $server $expiresAt" is INTERNAL -> "INTERNAL $internalErr" is CRITICAL -> "CRITICAL $offerRestart $criticalErr" is INACTIVE -> "INACTIVE" @@ -7319,6 +7329,7 @@ sealed class AgentErrorType { @Serializable @SerialName("RCP") class RCP(val rcpErr: RCErrorType): AgentErrorType() @Serializable @SerialName("BROKER") class BROKER(val brokerAddress: String, val brokerErr: BrokerErrorType): AgentErrorType() @Serializable @SerialName("AGENT") class AGENT(val agentErr: SMPAgentError): AgentErrorType() + @Serializable @SerialName("NOTICE") class NOTICE(val server: String, val preset: Boolean, val expiresAt: Instant?): AgentErrorType() @Serializable @SerialName("INTERNAL") class INTERNAL(val internalErr: String): AgentErrorType() @Serializable @SerialName("CRITICAL") data class CRITICAL(val offerRestart: Boolean, val criticalErr: String): AgentErrorType() @Serializable @SerialName("INACTIVE") object INACTIVE: AgentErrorType() @@ -8046,3 +8057,34 @@ enum class MsgType { @SerialName("quota") QUOTA } + +fun showClientNoticeAlert(server: String, preset: Boolean, expiresAt: Instant?) { + var message = "Server: $server.\nConditions of use violation notice received from ${if (preset) "preset" else "this"} server.\nNo ID shared, see How it works." + if (expiresAt != null) { + val tz = TimeZone.currentSystemDefault() + val formatter = DateTimeFormatter.ofLocalizedDateTime(FormatStyle.SHORT) + message += "\n\nNew addresses can be created after ${expiresAt.toLocalDateTime(tz).toJavaLocalDateTime().format(formatter)}." + } + AlertManager.shared.showAlertDialogButtonsColumn(title = "Not allowed", text = AnnotatedString(message)) { + val uriHandler = LocalUriHandler.current + Column { + SectionItemView({ AlertManager.shared.hideAlert() }) { + Text(generalGetString(MR.strings.ok), Modifier.fillMaxWidth(), textAlign = TextAlign.Center, color = MaterialTheme.colors.primary) + } + if (preset) { + SectionItemView({ + AlertManager.shared.hideAlert() + uriHandler.openUriCatching(defaultConditionsLink) + }) { + Text(generalGetString(MR.strings.operator_conditions_of_use), Modifier.fillMaxWidth(), textAlign = TextAlign.Center, color = MaterialTheme.colors.primary) + } + } + SectionItemView({ + AlertManager.shared.hideAlert() + uriHandler.openUriCatching(contentModerationPostLink) + }) { + Text(generalGetString(MR.strings.how_it_works), Modifier.fillMaxWidth(), textAlign = TextAlign.Center, color = MaterialTheme.colors.primary) + } + } + } +} diff --git a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/chat/ChatInfoView.kt b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/chat/ChatInfoView.kt index c7b8cb2c81..061ea71016 100644 --- a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/chat/ChatInfoView.kt +++ b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/chat/ChatInfoView.kt @@ -72,9 +72,6 @@ fun ChatInfoView( val connStats = remember(contact.id, connectionStats) { mutableStateOf(connectionStats) } val developerTools = chatModel.controller.appPrefs.developerTools.get() if (chat != null && currentUser != null) { - val contactNetworkStatus = remember(chatModel.networkStatuses.toMap(), contact) { - mutableStateOf(chatModel.contactNetworkStatus(contact)) - } val chatRh = chat.remoteHostId val sendReceipts = remember(contact.id) { mutableStateOf(SendReceipts.fromBool(contact.chatSettings.sendRcpts, currentUser.sendRcptsContacts)) } val chatItemTTL = remember(contact.id) { mutableStateOf(if (contact.chatItemTTL != null) ChatItemTTL.fromSeconds(contact.chatItemTTL) else null) } @@ -101,7 +98,6 @@ fun ChatInfoView( setChatTTLAlert(chatsCtx, chat.remoteHostId, chat.chatInfo, chatItemTTL, previousChatTTL, deletingItems) }, connStats = connStats, - contactNetworkStatus.value, customUserProfile, localAlias, connectionCode, @@ -524,7 +520,6 @@ fun ChatInfoLayout( chatItemTTL: MutableState, setChatItemTTL: (ChatItemTTL?) -> Unit, connStats: MutableState, - contactNetworkStatus: NetworkStatus, customUserProfile: Profile?, localAlias: String, connectionCode: String?, @@ -643,13 +638,16 @@ fun ChatInfoLayout( if (contact.ready && contact.active) { SectionView(title = stringResource(MR.strings.conn_stats_section_title_servers)) { - SectionItemView({ - AlertManager.shared.showAlertMsg( - generalGetString(MR.strings.network_status), - contactNetworkStatus.statusExplanation - ) - }) { - NetworkStatusRow(contactNetworkStatus) + val chatSubStatus = chatModel.chatSubStatus.value + if (chatSubStatus != null) { + SectionItemView({ + AlertManager.shared.showAlertMsg( + generalGetString(MR.strings.network_status), + chatSubStatus.statusExplanation + ) + }) { + SubStatusRow(chatSubStatus) + } } if (cStats != null) { SwitchAddressButton( @@ -1063,7 +1061,7 @@ fun InfoViewActionButton( } @Composable -private fun NetworkStatusRow(networkStatus: NetworkStatus) { +fun SubStatusRow(subStatus: SubscriptionStatus) { Row( Modifier.fillMaxSize(), horizontalArrangement = Arrangement.SpaceBetween, @@ -1086,25 +1084,24 @@ private fun NetworkStatusRow(networkStatus: NetworkStatus) { horizontalArrangement = Arrangement.spacedBy(4.dp) ) { Text( - networkStatus.statusString, + subStatus.statusString, color = MaterialTheme.colors.secondary ) - ServerImage(networkStatus) + ServerImage(subStatus) } } } @Composable -private fun ServerImage(networkStatus: NetworkStatus) { +private fun ServerImage(subStatus: SubscriptionStatus) { Box(Modifier.size(18.dp)) { - when (networkStatus) { - is NetworkStatus.Connected -> + when (subStatus) { + is SubscriptionStatus.Active -> Icon(painterResource(MR.images.ic_circle_filled), stringResource(MR.strings.icon_descr_server_status_connected), tint = Color.Green) - is NetworkStatus.Disconnected -> + is SubscriptionStatus.Pending -> Icon(painterResource(MR.images.ic_pending_filled), stringResource(MR.strings.icon_descr_server_status_disconnected), tint = MaterialTheme.colors.secondary) - is NetworkStatus.Error -> + is SubscriptionStatus.Removed, SubscriptionStatus.NoSub -> Icon(painterResource(MR.images.ic_error_filled), stringResource(MR.strings.icon_descr_server_status_error), tint = MaterialTheme.colors.secondary) - else -> Icon(painterResource(MR.images.ic_circle), stringResource(MR.strings.icon_descr_server_status_pending), tint = MaterialTheme.colors.secondary) } } } @@ -1455,7 +1452,6 @@ fun PreviewChatInfoLayout() { connectionCode = "123", developerTools = false, connStats = remember { mutableStateOf(null) }, - contactNetworkStatus = NetworkStatus.Connected(), onLocalAliasChanged = {}, customUserProfile = null, openPreferences = {}, diff --git a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/chat/ChatView.kt b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/chat/ChatView.kt index c7bc2e2724..26daee363f 100644 --- a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/chat/ChatView.kt +++ b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/chat/ChatView.kt @@ -102,6 +102,7 @@ fun ChatView( val chat = chatModel.chats.value.firstOrNull { chat -> chat.chatInfo.id == staleChatId.value } // They have their own iterator inside for a reason to prevent crash "Reading a state that was created after the snapshot..." val remoteHostId = remember { derivedStateOf { chatModel.chats.value.firstOrNull { chat -> chat.chatInfo.id == staleChatId.value }?.remoteHostId } } + val chatRh = remoteHostId.value val activeChat = remember { derivedStateOf { var chat = chatModel.chats.value.firstOrNull { chat -> chat.chatInfo.id == staleChatId.value } val chatInfo = chat?.chatInfo @@ -120,6 +121,8 @@ fun ChatView( if (chat == null || chatInfo == null || user == null) { LaunchedEffect(Unit) { chatModel.chatId.value = null + chatModel.chatAgentConnId.value = null + chatModel.chatSubStatus.value = null ModalManager.end.closeModals() } } else { @@ -168,6 +171,25 @@ fun ChatView( showSearch.value = false searchText.value = "" selectedChatItems.value = null + if (chat.chatInfo is ChatInfo.Direct && chat.chatInfo.contact.activeConn != null) { + withBGApi { + val r = chatModel.controller.apiContactInfo(chatRh, chatInfo.apiId) + if (r != null) { + val contactStats = r.first + if (contactStats != null) + withContext(Dispatchers.Main) { + chatModel.chatsContext.updateContactConnectionStats(chatRh, chat.chatInfo.contact, contactStats) + chatModel.chatAgentConnId.value = chat.chatInfo.contact.activeConn.agentConnId + chatModel.chatSubStatus.value = contactStats.subStatus + } + } + } + } else { + withContext(Dispatchers.Main) { + chatModel.chatAgentConnId.value = null + chatModel.chatSubStatus.value = null + } + } } } } @@ -184,7 +206,6 @@ fun ChatView( } } val view = LocalMultiplatformView() - val chatRh = remoteHostId.value // We need to have real unreadCount value for displaying it inside top right button // Having activeChat reloaded on every change in it is inefficient (UI lags) val unreadCount = remember { @@ -356,7 +377,7 @@ fun ChatView( if (chatInfo is ChatInfo.Direct) { var contactInfo: Pair? by remember { mutableStateOf(preloadedContactInfo) } var code: String? by remember { mutableStateOf(preloadedCode) } - KeyChangeEffect(chatInfo.id, ChatModel.networkStatuses.toMap()) { + KeyChangeEffect(chatInfo.id) { contactInfo = chatModel.controller.apiContactInfo(chatRh, chatInfo.apiId) preloadedContactInfo = contactInfo code = chatModel.controller.apiGetContactCode(chatRh, chatInfo.apiId)?.second @@ -1281,9 +1302,51 @@ fun ChatInfoToolbarTitle(cInfo: ChatInfo, imageSize: Dp = 40.dp, iconColor: Colo ) } } + val chatSubStatus = chatModel.chatSubStatus.value + if ( + cInfo is ChatInfo.Direct && + cInfo.contact.ready && + cInfo.contact.active && + chatSubStatus != null && + chatSubStatus != SubscriptionStatus.Active + ) { + Box( + Modifier.padding(start = 10.dp) + ) { + SubStatusView(chatSubStatus) + } + } } } +@Composable +fun SubStatusView(status: SubscriptionStatus) { + when (status) { + SubscriptionStatus.Active -> + Box {} + SubscriptionStatus.Pending -> + SubProgressView() + is SubscriptionStatus.Removed, SubscriptionStatus.NoSub -> + Icon( + painterResource(MR.images.ic_error), + contentDescription = null, + tint = MaterialTheme.colors.secondary, + modifier = Modifier + .size(19.sp.toDp()) + ) + } +} + +@Composable +private fun SubProgressView() { + CircularProgressIndicator( + Modifier + .size(15.sp.toDp()), + color = MaterialTheme.colors.secondary, + strokeWidth = 1.5.dp + ) +} + @Composable private fun SupportChatsCountToolbar( chatInfo: ChatInfo, diff --git a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/chat/ComposeContextGroupDirectInvitationActionsView.kt b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/chat/ComposeContextGroupDirectInvitationActionsView.kt index 5c8ac3bc5d..21799ff820 100644 --- a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/chat/ComposeContextGroupDirectInvitationActionsView.kt +++ b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/chat/ComposeContextGroupDirectInvitationActionsView.kt @@ -162,7 +162,6 @@ fun acceptMemberContact( chatModel.chatsContext.updateContact(rhId, contact) inProgress?.value = false } - chatModel.setContactNetworkStatus(contact, NetworkStatus.Connected()) val chat = Chat(remoteHostId = rhId, ChatInfo.Direct(contact), listOf()) close?.invoke(chat) } else { diff --git a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/chat/ComposeView.kt b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/chat/ComposeView.kt index b01d07d9b8..af4baad90f 100644 --- a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/chat/ComposeView.kt +++ b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/chat/ComposeView.kt @@ -533,7 +533,6 @@ fun ComposeView( withContext(Dispatchers.Main) { chatsCtx.updateContact(chat.remoteHostId, contact) clearState() - chatModel.setContactNetworkStatus(contact, NetworkStatus.Connected()) } } else { composeState.value = composeState.value.copy(inProgress = false) @@ -554,7 +553,6 @@ fun ComposeView( withContext(Dispatchers.Main) { chatsCtx.updateContact(chat.remoteHostId, contact) clearState() - chatModel.setContactNetworkStatus(contact, NetworkStatus.Connected()) } } else { composeState.value = composeState.value.copy(inProgress = false) diff --git a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/chat/group/GroupMemberInfoView.kt b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/chat/group/GroupMemberInfoView.kt index 7febf2a904..d7e052e502 100644 --- a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/chat/group/GroupMemberInfoView.kt +++ b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/chat/group/GroupMemberInfoView.kt @@ -109,7 +109,6 @@ fun GroupMemberInfoView( } openDirectChat(rhId, memberContact.contactId) closeAll() - chatModel.setContactNetworkStatus(memberContact, NetworkStatus.Connected()) } progressIndicator = false } @@ -495,6 +494,17 @@ fun GroupMemberInfoLayout( if (cStats != null) { SectionDividerSpaced() SectionView(title = stringResource(MR.strings.conn_stats_section_title_servers)) { + val subStatus = cStats.subStatus + if (subStatus != null) { + SectionItemView({ + AlertManager.shared.showAlertMsg( + generalGetString(MR.strings.network_status), + subStatus.statusExplanation + ) + }) { + SubStatusRow(subStatus) + } + } SwitchAddressButton( disabled = cStats.rcvQueuesInfo.any { it.rcvSwitchStatus != null } || !member.sendMsgEnabled, switchAddress = switchMemberAddress diff --git a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/chatlist/ChatListNavLinkView.kt b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/chatlist/ChatListNavLinkView.kt index 4a8e9e5193..77ab62dbf1 100644 --- a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/chatlist/ChatListNavLinkView.kt +++ b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/chatlist/ChatListNavLinkView.kt @@ -62,12 +62,11 @@ fun ChatListNavLinkView(chat: Chat, nextChatSelected: State) { when (chat.chatInfo) { is ChatInfo.Direct -> { - val contactNetworkStatus = chatModel.contactNetworkStatus(chat.chatInfo.contact) val defaultClickAction = { if (chatModel.chatId.value != chat.id) scope.launch { directChatAction(chat.remoteHostId, chat.chatInfo.contact, chatModel) } } ChatListNavLinkLayout( chatLinkPreview = { tryOrShowError("${chat.id}ChatListNavLink", error = { ErrorChatListItem() }) { - ChatPreviewView(chat, showChatPreviews, chatModel.draft.value, chatModel.draftChatId.value, chatModel.currentUser.value?.profile?.displayName, contactNetworkStatus, disabled, linkMode, inProgress = false, progressByTimeout = false, defaultClickAction) + ChatPreviewView(chat, showChatPreviews, chatModel.draft.value, chatModel.draftChatId.value, chatModel.currentUser.value?.profile?.displayName, disabled, linkMode, inProgress = false, progressByTimeout = false, defaultClickAction) } }, click = defaultClickAction, @@ -87,7 +86,7 @@ fun ChatListNavLinkView(chat: Chat, nextChatSelected: State) { ChatListNavLinkLayout( chatLinkPreview = { tryOrShowError("${chat.id}ChatListNavLink", error = { ErrorChatListItem() }) { - ChatPreviewView(chat, showChatPreviews, chatModel.draft.value, chatModel.draftChatId.value, chatModel.currentUser.value?.profile?.displayName, null, disabled, linkMode, inProgress.value, progressByTimeout, defaultClickAction) + ChatPreviewView(chat, showChatPreviews, chatModel.draft.value, chatModel.draftChatId.value, chatModel.currentUser.value?.profile?.displayName, disabled, linkMode, inProgress.value, progressByTimeout, defaultClickAction) } }, click = defaultClickAction, @@ -107,7 +106,7 @@ fun ChatListNavLinkView(chat: Chat, nextChatSelected: State) { ChatListNavLinkLayout( chatLinkPreview = { tryOrShowError("${chat.id}ChatListNavLink", error = { ErrorChatListItem() }) { - ChatPreviewView(chat, showChatPreviews, chatModel.draft.value, chatModel.draftChatId.value, chatModel.currentUser.value?.profile?.displayName, null, disabled, linkMode, inProgress = false, progressByTimeout = false, defaultClickAction) + ChatPreviewView(chat, showChatPreviews, chatModel.draft.value, chatModel.draftChatId.value, chatModel.currentUser.value?.profile?.displayName, disabled, linkMode, inProgress = false, progressByTimeout = false, defaultClickAction) } }, click = defaultClickAction, @@ -744,7 +743,6 @@ fun acceptContactRequest( } inProgress?.value = false } - chatModel.setContactNetworkStatus(contact, NetworkStatus.Connected()) close?.invoke(chat) } else { inProgress?.value = false @@ -1057,7 +1055,6 @@ fun PreviewChatListNavLinkDirect() { null, null, null, - null, disabled = false, linkMode = SimplexLinkMode.DESCRIPTION, inProgress = false, @@ -1103,7 +1100,6 @@ fun PreviewChatListNavLinkGroup() { null, null, null, - null, disabled = false, linkMode = SimplexLinkMode.DESCRIPTION, inProgress = false, diff --git a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/chatlist/ChatPreviewView.kt b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/chatlist/ChatPreviewView.kt index d5d6facafe..4280845867 100644 --- a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/chatlist/ChatPreviewView.kt +++ b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/chatlist/ChatPreviewView.kt @@ -42,7 +42,6 @@ fun ChatPreviewView( chatModelDraft: ComposeState?, chatModelDraftChatId: ChatId?, currentUserProfileDisplayName: String?, - contactNetworkStatus: NetworkStatus?, disabled: Boolean, linkMode: SimplexLinkMode, inProgress: Boolean, @@ -349,33 +348,7 @@ fun ChatPreviewView( @Composable fun chatStatusImage() { - if (cInfo is ChatInfo.Direct) { - if ( - cInfo.contact.active && - (cInfo.contact.activeConn?.connStatus == ConnStatus.Ready || cInfo.contact.activeConn?.connStatus == ConnStatus.SndReady) - ) { - val descr = contactNetworkStatus?.statusString - when (contactNetworkStatus) { - is NetworkStatus.Connected -> - IncognitoIcon(chat.chatInfo.incognito) - - is NetworkStatus.Error -> - Icon( - painterResource(MR.images.ic_error), - contentDescription = descr, - tint = MaterialTheme.colors.secondary, - modifier = Modifier - .size(19.sp.toDp()) - .offset(x = 2.sp.toDp()) - ) - - else -> - progressView() - } - } else { - IncognitoIcon(chat.chatInfo.incognito) - } - } else if (cInfo is ChatInfo.Group) { + if (cInfo is ChatInfo.Group) { if (progressByTimeout) { progressView() } else if (chat.chatStats.reportsCount > 0) { @@ -636,6 +609,6 @@ private data class ActiveVoicePreview( @Composable fun PreviewChatPreviewView() { SimpleXTheme { - ChatPreviewView(Chat.sampleData, true, null, null, "", contactNetworkStatus = NetworkStatus.Connected(), disabled = false, linkMode = SimplexLinkMode.DESCRIPTION, inProgress = false, progressByTimeout = false, {}) + ChatPreviewView(Chat.sampleData, true, null, null, "", disabled = false, linkMode = SimplexLinkMode.DESCRIPTION, inProgress = false, progressByTimeout = false, {}) } } diff --git a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/chatlist/ServersSummaryView.kt b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/chatlist/ServersSummaryView.kt index 55ac9c8810..ed1c7116e6 100644 --- a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/chatlist/ServersSummaryView.kt +++ b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/chatlist/ServersSummaryView.kt @@ -64,7 +64,7 @@ enum class SubscriptionColorType { ACTIVE, ACTIVE_SOCKS_PROXY, DISCONNECTED, ACTIVE_DISCONNECTED } -data class SubscriptionStatus( +data class AppSubscriptionStatus( val color: SubscriptionColorType, val variableValue: Float, val statusPercent: Float @@ -75,7 +75,7 @@ fun subscriptionStatusColorAndPercentage( socksProxy: String?, subs: SMPServerSubs, hasSess: Boolean -): SubscriptionStatus { +): AppSubscriptionStatus { fun roundedToQuarter(n: Float): Float = when { n >= 1 -> 1f n <= 0 -> 0f @@ -83,25 +83,25 @@ fun subscriptionStatusColorAndPercentage( } val activeColor: SubscriptionColorType = if (socksProxy != null) SubscriptionColorType.ACTIVE_SOCKS_PROXY else SubscriptionColorType.ACTIVE - val noConnColorAndPercent = SubscriptionStatus(SubscriptionColorType.DISCONNECTED, 1f, 0f) + val noConnColorAndPercent = AppSubscriptionStatus(SubscriptionColorType.DISCONNECTED, 1f, 0f) val activeSubsRounded = roundedToQuarter(subs.shareOfActive) return if (!online) noConnColorAndPercent else if (subs.total == 0 && !hasSess) // On freshly installed app (without chats) and on app start - SubscriptionStatus(activeColor, 0f, 0f) + AppSubscriptionStatus(activeColor, 0f, 0f) else if (subs.ssActive == 0) { if (hasSess) - SubscriptionStatus(activeColor, activeSubsRounded, subs.shareOfActive) + AppSubscriptionStatus(activeColor, activeSubsRounded, subs.shareOfActive) else noConnColorAndPercent } else { // ssActive > 0 if (hasSess) - SubscriptionStatus(activeColor, activeSubsRounded, subs.shareOfActive) + AppSubscriptionStatus(activeColor, activeSubsRounded, subs.shareOfActive) else // This would mean implementation error - SubscriptionStatus(SubscriptionColorType.ACTIVE_DISCONNECTED, activeSubsRounded, subs.shareOfActive) + AppSubscriptionStatus(SubscriptionColorType.ACTIVE_DISCONNECTED, activeSubsRounded, subs.shareOfActive) } } diff --git a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/usersettings/networkAndServers/OperatorView.kt b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/usersettings/networkAndServers/OperatorView.kt index cc72387875..c619ae6ebc 100644 --- a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/usersettings/networkAndServers/OperatorView.kt +++ b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/usersettings/networkAndServers/OperatorView.kt @@ -612,13 +612,14 @@ private fun SingleOperatorUsageConditionsView( } } +val defaultConditionsLink = "https://github.com/simplex-chat/simplex-chat/blob/stable/PRIVACY.md" + @Composable fun ConditionsTextView( rhId: Long? ) { val conditionsData = remember { mutableStateOf?>(null) } val failedToLoad = remember { mutableStateOf(false) } - val defaultConditionsLink = "https://github.com/simplex-chat/simplex-chat/blob/stable/PRIVACY.md" val scope = rememberCoroutineScope() // can show conditions when animation between modals finishes to prevent glitches val canShowConditionsAt = remember { System.currentTimeMillis() + 300 } diff --git a/apps/multiplatform/common/src/commonMain/resources/MR/ar/strings.xml b/apps/multiplatform/common/src/commonMain/resources/MR/ar/strings.xml index 96c539109d..fc43a97cb5 100644 --- a/apps/multiplatform/common/src/commonMain/resources/MR/ar/strings.xml +++ b/apps/multiplatform/common/src/commonMain/resources/MR/ar/strings.xml @@ -1131,7 +1131,7 @@ محاولة الاتصال بالخادم المستخدم لاستلام الرسائل من جهة الاتصال هذه. اختيار ملف إرسال غير مصرح به - محاولة الاتصال بالخادم المستخدم لاستلام الرسائل من جهة الاتصال هذه (خطأ: %1$s). + محاولة الاتصال بالخادم المستخدم لاستلام الرسائل من جهة الاتصال هذه (خطأ: %1$s). تشغيل خوادم WebRTC ICE أنت تستخدم ملف تعريف متخفي لهذه المجموعة - لمنع مشاركة ملفك التعريفي الرئيسي الذي يدعو جهات الاتصال غير مسموح به 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 b13e3f4046..8c8493358e 100644 --- a/apps/multiplatform/common/src/commonMain/resources/MR/base/strings.xml +++ b/apps/multiplatform/common/src/commonMain/resources/MR/base/strings.xml @@ -32,9 +32,11 @@ connected error connecting - You are connected to the server used to receive messages from this contact. - Trying to connect to the server used to receive messages from this contact (error: %1$s). - Trying to connect to the server used to receive messages from this contact. + no subscription + You are connected to the server used to receive messages from this connection. + Trying to connect to the server used to receive messages from this connection. + Error connecting to the server used to receive messages from this connection: %1$s. + You are not connected to the server used to receive messages from this connection (no subscription). deleted diff --git a/apps/multiplatform/common/src/commonMain/resources/MR/bg/strings.xml b/apps/multiplatform/common/src/commonMain/resources/MR/bg/strings.xml index bf04fd6a1e..03a8bcfdc5 100644 --- a/apps/multiplatform/common/src/commonMain/resources/MR/bg/strings.xml +++ b/apps/multiplatform/common/src/commonMain/resources/MR/bg/strings.xml @@ -1182,7 +1182,7 @@ Тази настройка се прилага за съобщения в текущия ви профил За да се защити поверителността, SimpleX използва идентификатори за опашки от съобщения, отделни за всеки от вашите контакти. Опит за свързване със сървъра, използван за получаване на съобщения от този контакт. - Опит за свързване със сървъра, използван за получаване на съобщения от този контакт (грешка: %1$s). + Опит за свързване със сървъра, използван за получаване на съобщения от този контакт (грешка: %1$s). Тестът е неуспешен на стъпка %s. Базата данни не работи правилно. Докоснете, за да научите повече Изображението не може да бъде декодирано. Моля, опитайте с друго изображение или се свържете с разработчиците. diff --git a/apps/multiplatform/common/src/commonMain/resources/MR/ca/strings.xml b/apps/multiplatform/common/src/commonMain/resources/MR/ca/strings.xml index c9b1f79694..81d8ab2d70 100644 --- a/apps/multiplatform/common/src/commonMain/resources/MR/ca/strings.xml +++ b/apps/multiplatform/common/src/commonMain/resources/MR/ca/strings.xml @@ -1556,7 +1556,7 @@ Comproveu que l\'enllaç SimpleX sigui correcte. l\'enviament de fitxers encara no està suportat Intentant connectar-se al servidor utilitzat per rebre missatges d\'aquest contacte. - S\'està provant de connectar-se al servidor utilitzat per rebre missatges d\'aquest contacte (error: %1$s). + S\'està provant de connectar-se al servidor utilitzat per rebre missatges d\'aquest contacte (error: %1$s). Usar perfil actual Usar nou perfil incògnit Error aplicació diff --git a/apps/multiplatform/common/src/commonMain/resources/MR/cs/strings.xml b/apps/multiplatform/common/src/commonMain/resources/MR/cs/strings.xml index 4d6aa47fd3..a7e0f20faf 100644 --- a/apps/multiplatform/common/src/commonMain/resources/MR/cs/strings.xml +++ b/apps/multiplatform/common/src/commonMain/resources/MR/cs/strings.xml @@ -493,7 +493,7 @@ Připojtíte se ke všem členům skupiny. Připojení Jste připojeni k serveru, který se používá k přijímání zpráv od tohoto kontaktu. - Pokoušíte se připojit k serveru používaném pro příjem zpráv od tohoto kontaktu (chyba: %1$s). + Pokoušíte se připojit k serveru používaném pro příjem zpráv od tohoto kontaktu (chyba: %1$s). označeno jako smazáno Odesílání souborů zatím není podporováno přijímání souborů zatím není podporováno diff --git a/apps/multiplatform/common/src/commonMain/resources/MR/da/strings.xml b/apps/multiplatform/common/src/commonMain/resources/MR/da/strings.xml index c4f84d4397..8b9bb95675 100644 --- a/apps/multiplatform/common/src/commonMain/resources/MR/da/strings.xml +++ b/apps/multiplatform/common/src/commonMain/resources/MR/da/strings.xml @@ -178,7 +178,7 @@ fejl forbinder Du har forbindelse til den server, der bruges til at modtage beskeder fra denne kontakt. - Forsøger at oprette forbindelse til den server, der bruges til at modtage beskeder fra denne kontakt (fejl: %1$s). + Forsøger at oprette forbindelse til den server, der bruges til at modtage beskeder fra denne kontakt (fejl: %1$s). Forsøger at oprette forbindelse til den server, der bruges til at modtage beskeder fra denne kontakt. slettet markeret som slettet diff --git a/apps/multiplatform/common/src/commonMain/resources/MR/de/strings.xml b/apps/multiplatform/common/src/commonMain/resources/MR/de/strings.xml index db5e983983..439ef2e3c5 100644 --- a/apps/multiplatform/common/src/commonMain/resources/MR/de/strings.xml +++ b/apps/multiplatform/common/src/commonMain/resources/MR/de/strings.xml @@ -14,7 +14,7 @@ Fehler Verbinde Sie sind mit dem Server verbunden, der für den Empfang von Nachrichten mit diesem Kontakt genutzt wird. - Beim Versuch, die Verbindung mit dem Server aufzunehmen, der für den Empfang von Nachrichten mit diesem Kontakt genutzt wird, ist ein Fehler aufgetreten (Fehler: %1$s). + Beim Versuch, die Verbindung mit dem Server aufzunehmen, der für den Empfang von Nachrichten mit diesem Kontakt genutzt wird, ist ein Fehler aufgetreten (Fehler: %1$s). Versuche die Verbindung mit dem Server aufzunehmen, der für den Empfang von Nachrichten mit diesem Kontakt genutzt wird. Gelöscht diff --git a/apps/multiplatform/common/src/commonMain/resources/MR/es/strings.xml b/apps/multiplatform/common/src/commonMain/resources/MR/es/strings.xml index fa356715db..811ba5533e 100644 --- a/apps/multiplatform/common/src/commonMain/resources/MR/es/strings.xml +++ b/apps/multiplatform/common/src/commonMain/resources/MR/es/strings.xml @@ -806,7 +806,7 @@ ¿Actualizar la configuración de red\? Intentando conectar con el servidor para recibir mensajes de este contacto. formato de mensaje desconocido - Intentando conectar con el servidor para recibir mensajes de este contacto (error: %1$s). + Intentando conectar con el servidor para recibir mensajes de este contacto (error: %1$s). Prueba no superada en el paso %s. Pulsa para iniciar chat nuevo Compartir mensaje… diff --git a/apps/multiplatform/common/src/commonMain/resources/MR/fa/strings.xml b/apps/multiplatform/common/src/commonMain/resources/MR/fa/strings.xml index cbb4849067..2625baa5b1 100644 --- a/apps/multiplatform/common/src/commonMain/resources/MR/fa/strings.xml +++ b/apps/multiplatform/common/src/commonMain/resources/MR/fa/strings.xml @@ -35,7 +35,7 @@ متصل شدن مسیر نامعتبر فایل برنامه از کار افتاد - در حال تلاش برای اتصال به سرور مورد استفاده برای دریافت پیام‌ها از این مخاطب (خطا: %1$s). + در حال تلاش برای اتصال به سرور مورد استفاده برای دریافت پیام‌ها از این مخاطب (خطا: %1$s). حذف شد علامت گذاشته شده به عنوان حذف شده توسط %s حذف شد diff --git a/apps/multiplatform/common/src/commonMain/resources/MR/fi/strings.xml b/apps/multiplatform/common/src/commonMain/resources/MR/fi/strings.xml index 1dd6598ef3..c6b094ab56 100644 --- a/apps/multiplatform/common/src/commonMain/resources/MR/fi/strings.xml +++ b/apps/multiplatform/common/src/commonMain/resources/MR/fi/strings.xml @@ -1036,7 +1036,7 @@ Profiilisi lähetetään kontaktille, jolta sait tämän linkin. Liityt ryhmään, johon tämä linkki viittaa, ja muodostat yhteyden sen ryhmän jäseniin. Olet yhteydessä palvelimeen, jota käytetään vastaanottamaan viestejä tältä kontaktilta. - Yritetään muodostaa yhteys palvelimeen, jota käytetään viestien vastaanottamiseen tältä kontaktilta (virhe: %1$s). + Yritetään muodostaa yhteys palvelimeen, jota käytetään viestien vastaanottamiseen tältä kontaktilta (virhe: %1$s). sinä kertalinkillä %1$s:n kautta diff --git a/apps/multiplatform/common/src/commonMain/resources/MR/fr/strings.xml b/apps/multiplatform/common/src/commonMain/resources/MR/fr/strings.xml index 46b6e6e2fd..563b1a02c7 100644 --- a/apps/multiplatform/common/src/commonMain/resources/MR/fr/strings.xml +++ b/apps/multiplatform/common/src/commonMain/resources/MR/fr/strings.xml @@ -52,7 +52,7 @@ Veuillez vérifier que vous avez utilisé le bon lien ou demandez à votre contact de vous en envoyer un autre. Erreur de connexion Erreur lors de l\'ajout de membre·s - Tentative de connexion au serveur utilisé pour recevoir les messages de ce contact (erreur : %1$s). + Tentative de connexion au serveur utilisé pour recevoir les messages de ce contact (erreur : %1$s). format de message invalide Lien entier Erreur lors de la sauvegarde des serveurs SMP diff --git a/apps/multiplatform/common/src/commonMain/resources/MR/hu/strings.xml b/apps/multiplatform/common/src/commonMain/resources/MR/hu/strings.xml index a3c6a65e32..b75847d8ba 100644 --- a/apps/multiplatform/common/src/commonMain/resources/MR/hu/strings.xml +++ b/apps/multiplatform/common/src/commonMain/resources/MR/hu/strings.xml @@ -1317,7 +1317,7 @@ A kép nem dekódolható. Próbálja meg egy másik képpel, vagy lépjen kapcsolatba a fejlesztőkkel. Érvénytelen fájlelérési útvonalat osztott meg. Jelentse a problémát az alkalmazás fejlesztőinek. Már van egy csevegési profil ugyanezzel a megjelenítendő névvel. Válasszon egy másik nevet. - Kapcsolódási kísérlet ahhoz a kiszolgálóhoz, amely az adott partnerétől érkező üzenetek fogadására szolgál (hiba: %1$s). + Kapcsolódási kísérlet ahhoz a kiszolgálóhoz, amely az adott partnerétől érkező üzenetek fogadására szolgál (hiba: %1$s). A fájl fogadása le fog állni. Ne felejtse el, vagy tárolja biztonságosan – az elveszett jelszót nem lehet visszaállítani! A videó akkor érkezik meg, amikor a küldője befejezte annak feltöltését. diff --git a/apps/multiplatform/common/src/commonMain/resources/MR/in/strings.xml b/apps/multiplatform/common/src/commonMain/resources/MR/in/strings.xml index 55b108cfb9..13b08e42c5 100644 --- a/apps/multiplatform/common/src/commonMain/resources/MR/in/strings.xml +++ b/apps/multiplatform/common/src/commonMain/resources/MR/in/strings.xml @@ -104,7 +104,7 @@ Tautan tidak valid Periksa apakah tautan SimpleX sudah benar. Anda terhubung ke server yang digunakan untuk menerima pesan dari kontak ini. - Mencoba menyambung ke server yang digunakan untuk menerima pesan dari kontak ini (error: %1$s). + Mencoba menyambung ke server yang digunakan untuk menerima pesan dari kontak ini (error: %1$s). Migrasi basis data sedang berlangsung, \nmemerlukan waktu beberapa menit. menghubungkan diff --git a/apps/multiplatform/common/src/commonMain/resources/MR/it/strings.xml b/apps/multiplatform/common/src/commonMain/resources/MR/it/strings.xml index 35b0bab541..eadd5672b2 100644 --- a/apps/multiplatform/common/src/commonMain/resources/MR/it/strings.xml +++ b/apps/multiplatform/common/src/commonMain/resources/MR/it/strings.xml @@ -201,7 +201,7 @@ Ripristina OK Connettere via indirizzo del contatto? - Tentativo di connessione al server usato per ricevere messaggi da questo contatto (errore: %1$s). + Tentativo di connessione al server usato per ricevere messaggi da questo contatto (errore: %1$s). Ti connetterai a tutti i membri del gruppo. connessione %1$d Descrizione diff --git a/apps/multiplatform/common/src/commonMain/resources/MR/iw/strings.xml b/apps/multiplatform/common/src/commonMain/resources/MR/iw/strings.xml index b71831c9e0..6b413c9bfa 100644 --- a/apps/multiplatform/common/src/commonMain/resources/MR/iw/strings.xml +++ b/apps/multiplatform/common/src/commonMain/resources/MR/iw/strings.xml @@ -1063,7 +1063,7 @@ כדי לאמת הצפנה מקצה־לקצה עם איש הקשר שלכם, יש להשוות (או לסרוק) את הקוד במכשירים שלכם. פרופילי צ׳אט לעדכן מצב בידוד תעבורה\? - מנסה להתחבר לשרת המשמש לקבלת הודעות מאיש קשר זה (שגיאה: %1$s). + מנסה להתחבר לשרת המשמש לקבלת הודעות מאיש קשר זה (שגיאה: %1$s). פורמט הודעה לא ידוע דרך הדפדפן בטל השתקה diff --git a/apps/multiplatform/common/src/commonMain/resources/MR/ja/strings.xml b/apps/multiplatform/common/src/commonMain/resources/MR/ja/strings.xml index efc1810bac..cc85e49a8c 100644 --- a/apps/multiplatform/common/src/commonMain/resources/MR/ja/strings.xml +++ b/apps/multiplatform/common/src/commonMain/resources/MR/ja/strings.xml @@ -887,7 +887,7 @@ あなたのプライバシーを守るために、他のアプリと違って、ユーザーIDの変わりに SimpleX メッセージ束毎にIDを配布し、各連絡先が別々と扱います。 あなたのチャットプロフィールが他のグループメンバーに公開されます。 エンドツーエンド暗号化を確認するには、ご自分の端末と連絡先の端末のコードを比べます (スキャンします)。 - このコンタクトから受信するメッセージのサーバに接続しようとしてます。(エラー: %1$s)。 + このコンタクトから受信するメッセージのサーバに接続しようとしてます。(エラー: %1$s)。 使用済みリンク、または連絡先による接続の削除ではなければ、バッグの可能性があります。開発者にお伝えください。 \n繋がるには、連絡先に新しくリンクを発行してもらって、電波が安定かどうかご確認ください。 接続を完了するには、連絡相手がオンラインになる必要があります。 diff --git a/apps/multiplatform/common/src/commonMain/resources/MR/lt/strings.xml b/apps/multiplatform/common/src/commonMain/resources/MR/lt/strings.xml index adf66650f1..1e71459df9 100644 --- a/apps/multiplatform/common/src/commonMain/resources/MR/lt/strings.xml +++ b/apps/multiplatform/common/src/commonMain/resources/MR/lt/strings.xml @@ -1404,7 +1404,7 @@ Jūsų profilis bus išsiųstas kontaktui iš kurio gavote šią nuorodą. Prisijungsite prie visų grupės narių. Esate prisijungę prie serverio skirto gauti žinutes iš šio kontakto. - Bandoma prisijungti prie serverio skirto žinučių gavimui iš šio kontakto (klaida: %1$s). + Bandoma prisijungti prie serverio skirto žinučių gavimui iš šio kontakto (klaida: %1$s). Bandoma prisijungti prie serverio skirto žinučių gavimui iš šio kontakto. nėra detalių SimpleX fono tarnybą - ji naudoja kelis procentus akumuliatoriaus per dieną.]]> diff --git a/apps/multiplatform/common/src/commonMain/resources/MR/nl/strings.xml b/apps/multiplatform/common/src/commonMain/resources/MR/nl/strings.xml index b5be8b9773..86821db7a5 100644 --- a/apps/multiplatform/common/src/commonMain/resources/MR/nl/strings.xml +++ b/apps/multiplatform/common/src/commonMain/resources/MR/nl/strings.xml @@ -913,7 +913,7 @@ SimpleX links Eenmalige SimpleX uitnodiging Proberen verbinding te maken met de server die wordt gebruikt om berichten van dit contact te ontvangen. - Er wordt geprobeerd verbinding te maken met de server die wordt gebruikt om berichten van dit contact te ontvangen (fout: %1$s). + Er wordt geprobeerd verbinding te maken met de server die wordt gebruikt om berichten van dit contact te ontvangen (fout: %1$s). onbekend berichtformaat Via browser via contact adres link diff --git a/apps/multiplatform/common/src/commonMain/resources/MR/pl/strings.xml b/apps/multiplatform/common/src/commonMain/resources/MR/pl/strings.xml index a7862ffcf1..0b59cc1b06 100644 --- a/apps/multiplatform/common/src/commonMain/resources/MR/pl/strings.xml +++ b/apps/multiplatform/common/src/commonMain/resources/MR/pl/strings.xml @@ -26,7 +26,7 @@ wysyłanie plików nie jest jeszcze obsługiwane odbieranie plików nie jest jeszcze obsługiwane Próbowanie połączenia z serwerem używanym do odbierania wiadomości od tego kontaktu. - Próbowanie połączenia z serwerem używanym do odbierania wiadomości od tego kontaktu (błąd: %1$s). + Próbowanie połączenia z serwerem używanym do odbierania wiadomości od tego kontaktu (błąd: %1$s). nieznany format wiadomości SimpleX Ty diff --git a/apps/multiplatform/common/src/commonMain/resources/MR/pt-rBR/strings.xml b/apps/multiplatform/common/src/commonMain/resources/MR/pt-rBR/strings.xml index 285d6f3802..c0bbe4d6bb 100644 --- a/apps/multiplatform/common/src/commonMain/resources/MR/pt-rBR/strings.xml +++ b/apps/multiplatform/common/src/commonMain/resources/MR/pt-rBR/strings.xml @@ -971,7 +971,7 @@ Toque para ativar o perfil. Mostrar perfil de chat Mostrar perfil - Tentando se conectar ao servidor utilizado para receber mensagens deste contato (erro:%1$s). + Tentando se conectar ao servidor utilizado para receber mensagens deste contato (erro:%1$s). Tentando se conectar ao servidor utilizado para receber mensagens deste contato. Você está conectado ao servidor usado para receber mensagens desse contato. Seu servidor diff --git a/apps/multiplatform/common/src/commonMain/resources/MR/ro/strings.xml b/apps/multiplatform/common/src/commonMain/resources/MR/ro/strings.xml index 7232cc56d3..f51fb74d2a 100644 --- a/apps/multiplatform/common/src/commonMain/resources/MR/ro/strings.xml +++ b/apps/multiplatform/common/src/commonMain/resources/MR/ro/strings.xml @@ -2077,7 +2077,7 @@ Imaginea nu poate fi decodificată. Vă rugăm să încercați o altă imagine sau să contactați dezvoltatorii. Serverele pentru fișierele noi ale profilului tău de conversații actual Acest grup nu mai există. - Se încearcă conectarea la serverul folosit pentru a primi mesaje de la acest contact (eroare: %1$s). + Se încearcă conectarea la serverul folosit pentru a primi mesaje de la acest contact (eroare: %1$s). Actualizarea setărilor va reconecta clientul la toate serverele. Acest șir de caractere nu este un link! S-a atins timpul de expirare la conectarea la desktop diff --git a/apps/multiplatform/common/src/commonMain/resources/MR/ru/strings.xml b/apps/multiplatform/common/src/commonMain/resources/MR/ru/strings.xml index 6bb357fea8..7d7030fa42 100644 --- a/apps/multiplatform/common/src/commonMain/resources/MR/ru/strings.xml +++ b/apps/multiplatform/common/src/commonMain/resources/MR/ru/strings.xml @@ -14,7 +14,7 @@ ошибка соединяется Установлено соединение с сервером, через который Вы получаете сообщения от этого контакта. - Устанавливается соединение с сервером, через который Вы получаете сообщения от этого контакта (ошибка: %1$s). + Устанавливается соединение с сервером, через который Вы получаете сообщения от этого контакта (ошибка: %1$s). Устанавливается соединение с сервером, через который Вы получаете сообщения от этого контакта. удалено diff --git a/apps/multiplatform/common/src/commonMain/resources/MR/th/strings.xml b/apps/multiplatform/common/src/commonMain/resources/MR/th/strings.xml index b4d854c3d1..411cbde4c4 100644 --- a/apps/multiplatform/common/src/commonMain/resources/MR/th/strings.xml +++ b/apps/multiplatform/common/src/commonMain/resources/MR/th/strings.xml @@ -1043,7 +1043,7 @@ คุณได้รับเชิญให้เข้าร่วมกลุ่ม โปรไฟล์แบบสุ่มของคุณ ธีม - กำลังพยายามเชื่อมต่อกับเซิร์ฟเวอร์ที่ใช้รับข้อความจากผู้ติดต่อนี้ (ข้อผิดพลาด: %1$s) + กำลังพยายามเชื่อมต่อกับเซิร์ฟเวอร์ที่ใช้รับข้อความจากผู้ติดต่อนี้ (ข้อผิดพลาด: %1$s) SimpleX คุณเชื่อมต่อกับเซิร์ฟเวอร์ที่ใช้รับข้อความจากผู้ติดต่อนี้ โปรไฟล์ของคุณจะถูกส่งไปยังผู้ติดต่อที่ส่งลิงก์นี้มาให้คุณ diff --git a/apps/multiplatform/common/src/commonMain/resources/MR/tr/strings.xml b/apps/multiplatform/common/src/commonMain/resources/MR/tr/strings.xml index ec8af9053e..501f07ea50 100644 --- a/apps/multiplatform/common/src/commonMain/resources/MR/tr/strings.xml +++ b/apps/multiplatform/common/src/commonMain/resources/MR/tr/strings.xml @@ -1023,7 +1023,7 @@ Sohbet profillerini parola ile koru! Daha az pil kullanımı Gizliliği korumak için, SimpleX her bir konuşma için farklı bir ID kullanır. - Bu kişiden mesaj almak için kullanılan sunucuya bağlanılmaya çalışılıyor (hata: %1$s). + Bu kişiden mesaj almak için kullanılan sunucuya bağlanılmaya çalışılıyor (hata: %1$s). Alıcılar güncellemeleri siz yazdıkça görürler. Bilgilerinizi kullanarak giriş yapın Mesajlarda Markdown diff --git a/apps/multiplatform/common/src/commonMain/resources/MR/uk/strings.xml b/apps/multiplatform/common/src/commonMain/resources/MR/uk/strings.xml index ddd54b717f..d2c1505759 100644 --- a/apps/multiplatform/common/src/commonMain/resources/MR/uk/strings.xml +++ b/apps/multiplatform/common/src/commonMain/resources/MR/uk/strings.xml @@ -124,7 +124,7 @@ помилка підключення Ви підключені до сервера для отримання повідомлень від цього контакту. - Спроба підключитися до сервера для отримання повідомлень від цього контакту (помилка: %1$s). + Спроба підключитися до сервера для отримання повідомлень від цього контакту (помилка: %1$s). видалено Спроба підключитися до сервера для отримання повідомлень від цього контакту. відзначено як видалено diff --git a/apps/multiplatform/common/src/commonMain/resources/MR/vi/strings.xml b/apps/multiplatform/common/src/commonMain/resources/MR/vi/strings.xml index b71350ea50..ae22c40277 100644 --- a/apps/multiplatform/common/src/commonMain/resources/MR/vi/strings.xml +++ b/apps/multiplatform/common/src/commonMain/resources/MR/vi/strings.xml @@ -2034,7 +2034,7 @@ Bật Tổng không xác định - Đang cố gắng kết nối tới máy chủ dùng để nhận tin nhắn từ liên hệ này (lỗi: %1$s). + Đang cố gắng kết nối tới máy chủ dùng để nhận tin nhắn từ liên hệ này (lỗi: %1$s). Đang cố gắng kết nối tới máy chủ dùng để nhận tin nhắn từ liên hệ này. Để xác minh mã hóa đầu cuối với liên hệ của bạn, so sánh (hoặc quét) mã trên các thiết bị của các bạn. Cách ly truyền tải diff --git a/apps/multiplatform/common/src/commonMain/resources/MR/zh-rCN/strings.xml b/apps/multiplatform/common/src/commonMain/resources/MR/zh-rCN/strings.xml index d6686f358d..2091e7d25b 100644 --- a/apps/multiplatform/common/src/commonMain/resources/MR/zh-rCN/strings.xml +++ b/apps/multiplatform/common/src/commonMain/resources/MR/zh-rCN/strings.xml @@ -589,7 +589,7 @@ 已删除 %1$s 你删除了 %1$s 你的个人资料将发送给你收到此链接的联系人。 - 正在尝试连接到用于从该联系人接收消息的服务器(错误:%1$s)。 + 正在尝试连接到用于从该联系人接收消息的服务器(错误:%1$s)。 你已连接到用于接收该联系人消息的服务器。 你分享了一次性链接 很可能此联系人已经删除了与你的联系。 diff --git a/apps/multiplatform/common/src/commonMain/resources/MR/zh-rTW/strings.xml b/apps/multiplatform/common/src/commonMain/resources/MR/zh-rTW/strings.xml index ee0c785e9f..8a444d6c2b 100644 --- a/apps/multiplatform/common/src/commonMain/resources/MR/zh-rTW/strings.xml +++ b/apps/multiplatform/common/src/commonMain/resources/MR/zh-rTW/strings.xml @@ -238,7 +238,7 @@ 錯誤 連接中 你已連接到此聯絡人使用的伺服器以接收訊息。 - 嘗試連接至用於接收此聯絡人訊息的伺服器 (錯誤:%1$s)。 + 嘗試連接至用於接收此聯絡人訊息的伺服器 (錯誤:%1$s)。 正在嘗試連接到用於接收此聯絡人訊息伺服器。 已刪除 已標記為已刪除 diff --git a/bots/api/TYPES.md b/bots/api/TYPES.md index d4a46e59ab..923fab14c2 100644 --- a/bots/api/TYPES.md +++ b/bots/api/TYPES.md @@ -47,6 +47,7 @@ This file is generated automatically. - [ChatType](#chattype) - [ChatWallpaper](#chatwallpaper) - [ChatWallpaperScale](#chatwallpaperscale) +- [ClientNotice](#clientnotice) - [Color](#color) - [CommandError](#commanderror) - [CommandErrorType](#commanderrortype) @@ -288,6 +289,12 @@ AGENT: - type: "AGENT" - agentErr: [SMPAgentError](#smpagenterror) +NOTICE: +- type: "NOTICE" +- server: string +- preset: bool +- expiresAt: UTCTime? + INTERNAL: - type: "INTERNAL" - internalErr: string @@ -315,6 +322,7 @@ INACTIVE: **Record type**: - reason: [BlockingReason](#blockingreason) +- notice: [ClientNotice](#clientnotice)? --- @@ -1378,6 +1386,14 @@ self == 'direct' ? '@' : self == 'group' ? '#' : self == 'local' ? '*' : '' // J - "repeat" +--- + +## ClientNotice + +**Record type**: +- ttl: int64? + + --- ## Color diff --git a/bots/src/API/Docs/Commands.hs b/bots/src/API/Docs/Commands.hs index b673937d63..4cce44e588 100644 --- a/bots/src/API/Docs/Commands.hs +++ b/bots/src/API/Docs/Commands.hs @@ -349,7 +349,6 @@ undocumentedCommands = "APIGetContactCode", "APIGetGroupMemberCode", "APIGetNetworkConfig", - "APIGetNetworkStatuses", "APIGetNtfConns", "APIGetNtfToken", "APIGetReactionMembers", diff --git a/bots/src/API/Docs/Events.hs b/bots/src/API/Docs/Events.hs index 1dbf484579..4a49551a54 100644 --- a/bots/src/API/Docs/Events.hs +++ b/bots/src/API/Docs/Events.hs @@ -180,7 +180,7 @@ undocumentedEvents = "CEvtGroupMemberSwitch", "CEvtHostConnected", "CEvtHostDisconnected", - "CEvtNetworkStatus", + "CEvtSubscriptionStatus", "CEvtNewRemoteHost", "CEvtNoMemberContactCreating", "CEvtNtfMessage", diff --git a/bots/src/API/Docs/Responses.hs b/bots/src/API/Docs/Responses.hs index 3a08606ea3..154d44b6c2 100644 --- a/bots/src/API/Docs/Responses.hs +++ b/bots/src/API/Docs/Responses.hs @@ -167,7 +167,6 @@ undocumentedResponses = "CRMemberSupportChatDeleted", "CRMemberSupportChats", "CRNetworkConfig", - "CRNetworkStatuses", "CRNewMemberContact", "CRNewMemberContactSentInv", "CRMemberContactAccepted", diff --git a/bots/src/API/Docs/Types.hs b/bots/src/API/Docs/Types.hs index c762600424..73e427fa03 100644 --- a/bots/src/API/Docs/Types.hs +++ b/bots/src/API/Docs/Types.hs @@ -42,6 +42,7 @@ import Simplex.Messaging.Client import Simplex.Messaging.Crypto.File import Simplex.Messaging.Parsers (dropPrefix, fstToLower) import Simplex.Messaging.Protocol (BlockingInfo (..), BlockingReason (..), CommandError (..), ErrorType (..), NetworkError (..), ProxyError (..)) +import Simplex.Messaging.Protocol.Types (ClientNotice (..)) import Simplex.Messaging.Transport import Simplex.RemoteControl.Types import System.Console.ANSI.Types (Color (..)) @@ -228,6 +229,7 @@ chatTypesDocsData = (sti @CIMentionMember, STRecord, "", [], "", ""), (sti @CIReactionCount, STRecord, "", [], "", ""), (sti @CITimed, STRecord, "", [], "", ""), + (sti @ClientNotice, STRecord, "", [], "", ""), (sti @Color, STEnum, "", [], "", ""), (sti @CommandError, STUnion, "", [], "", ""), (sti @CommandErrorType, STUnion, "", [], "", ""), @@ -413,6 +415,7 @@ deriving instance Generic CIMention deriving instance Generic CIMentionMember deriving instance Generic CIReactionCount deriving instance Generic CITimed +deriving instance Generic ClientNotice deriving instance Generic Color deriving instance Generic CommandError deriving instance Generic CommandErrorType diff --git a/cabal.project b/cabal.project index 254ca50d6f..eeadf7c6fd 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: 1dbc15b2e6225c0e254564747bc8412970273e85 + tag: 1329fc726ffb2e773935ad10f024a137dd887867 source-repository-package type: git diff --git a/packages/simplex-chat-client/types/typescript/src/types.ts b/packages/simplex-chat-client/types/typescript/src/types.ts index 64eb1571b9..b8095affdf 100644 --- a/packages/simplex-chat-client/types/typescript/src/types.ts +++ b/packages/simplex-chat-client/types/typescript/src/types.ts @@ -65,6 +65,7 @@ export type AgentErrorType = | AgentErrorType.RCP | AgentErrorType.BROKER | AgentErrorType.AGENT + | AgentErrorType.NOTICE | AgentErrorType.INTERNAL | AgentErrorType.CRITICAL | AgentErrorType.INACTIVE @@ -82,6 +83,7 @@ export namespace AgentErrorType { | "RCP" | "BROKER" | "AGENT" + | "NOTICE" | "INTERNAL" | "CRITICAL" | "INACTIVE" @@ -152,6 +154,13 @@ export namespace AgentErrorType { agentErr: SMPAgentError } + export interface NOTICE extends Interface { + type: "NOTICE" + server: string + preset: boolean + expiresAt?: string // ISO-8601 timestamp + } + export interface INTERNAL extends Interface { type: "INTERNAL" internalErr: string @@ -174,6 +183,7 @@ export interface AutoAccept { export interface BlockingInfo { reason: BlockingReason + notice?: ClientNotice } export enum BlockingReason { @@ -1587,6 +1597,10 @@ export enum ChatWallpaperScale { Repeat = "repeat", } +export interface ClientNotice { + ttl?: number // int64 +} + export enum Color { Black = "black", Red = "red", diff --git a/scripts/nix/sha256map.nix b/scripts/nix/sha256map.nix index 6ef3ac65c4..1e3eda8f2b 100644 --- a/scripts/nix/sha256map.nix +++ b/scripts/nix/sha256map.nix @@ -1,5 +1,5 @@ { - "https://github.com/simplex-chat/simplexmq.git"."1dbc15b2e6225c0e254564747bc8412970273e85" = "03hmlynixssyp0720h984slw4lkrzn3kr63k3mah50lbyxzsmnrs"; + "https://github.com/simplex-chat/simplexmq.git"."1329fc726ffb2e773935ad10f024a137dd887867" = "0wlpwr464i8dif5a94mfx31y3fm44gkc3h357dx8l1ii9q3sy05i"; "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/simplex-chat.cabal b/simplex-chat.cabal index 74855355f7..e8f43f5f07 100644 --- a/simplex-chat.cabal +++ b/simplex-chat.cabal @@ -87,7 +87,6 @@ library Simplex.Chat.Types.Preferences Simplex.Chat.Types.Shared Simplex.Chat.Types.UITheme - Simplex.Chat.Types.Util Simplex.Chat.Util if !flag(client_library) exposed-modules: diff --git a/src/Simplex/Chat.hs b/src/Simplex/Chat.hs index c64954498a..9b711c2b50 100644 --- a/src/Simplex/Chat.hs +++ b/src/Simplex/Chat.hs @@ -149,7 +149,6 @@ newChatController eventSeq <- newTVarIO 0 inputQ <- newTBQueueIO tbqSize outputQ <- newTBQueueIO tbqSize - connNetworkStatuses <- TM.emptyIO subscriptionMode <- newTVarIO SMSubscribe chatLock <- newEmptyTMVarIO entityLocks <- TM.emptyIO @@ -191,7 +190,6 @@ newChatController eventSeq, inputQ, outputQ, - connNetworkStatuses, subscriptionMode, chatLock, entityLocks, @@ -252,7 +250,7 @@ newChatController ops <- getUpdateServerOperators db presetOps (null users) let opDomains = operatorDomains $ mapMaybe snd ops (smp', xftp') <- unzip <$> mapM (getServers ops opDomains) users - pure InitialAgentServers {smp = M.fromList (optServers smp' smpServers), xftp = M.fromList (optServers xftp' xftpServers), ntf, netCfg, presetDomains} + pure InitialAgentServers {smp = M.fromList (optServers smp' smpServers), xftp = M.fromList (optServers xftp' xftpServers), ntf, netCfg, presetDomains, presetServers = L.toList allPresetServers} where optServers :: [(UserId, NonEmpty (ServerCfg p))] -> [ProtoServerWithAuth p] -> [(UserId, NonEmpty (ServerCfg p))] optServers srvs overrides_ = case L.nonEmpty overrides_ of diff --git a/src/Simplex/Chat/Controller.hs b/src/Simplex/Chat/Controller.hs index 10c218b84e..8003f66324 100644 --- a/src/Simplex/Chat/Controller.hs +++ b/src/Simplex/Chat/Controller.hs @@ -231,7 +231,6 @@ data ChatController = ChatController eventSeq :: TVar Int, inputQ :: TBQueue String, outputQ :: TBQueue (Maybe RemoteHostId, Either ChatError ChatEvent), - connNetworkStatuses :: TMap AgentConnId NetworkStatus, subscriptionMode :: TVar SubscriptionMode, chatLock :: Lock, entityLocks :: TMap ChatLockEntity Lock, @@ -354,7 +353,6 @@ data ChatCommand | APIEndCall ContactId | APIGetCallInvitations | APICallStatus ContactId WebRTCCallStatus - | APIGetNetworkStatuses | APIUpdateProfile {userId :: UserId, profile :: Profile} | APISetContactPrefs {contactId :: ContactId, preferences :: Preferences} | APISetContactAlias {contactId :: ContactId, localAlias :: LocalAlias} @@ -729,7 +727,6 @@ data ChatResponse | CRGroupAliasUpdated {user :: User, toGroup :: GroupInfo} | CRConnectionAliasUpdated {user :: User, toConnection :: PendingContactConnection} | CRContactPrefsUpdated {user :: User, fromContact :: Contact, toContact :: Contact} - | CRNetworkStatuses {user_ :: Maybe User, networkStatuses :: [ConnNetworkStatus]} | CRJoinedGroupMember {user :: User, groupInfo :: GroupInfo, member :: GroupMember} | CRMemberAccepted {user :: User, groupInfo :: GroupInfo, member :: GroupMember} | CRMemberSupportChatRead {user :: User, groupInfo :: GroupInfo, member :: GroupMember} @@ -829,7 +826,7 @@ data ChatEvent | CEvtContactAnotherClient {user :: User, contact :: Contact} | CEvtConnectionsDiff {userIds :: DatabaseDiff AgentUserId, connIds :: DatabaseDiff AgentConnId} | CEvtSubscriptionEnd {user :: User, connectionEntity :: ConnectionEntity} - | CEvtNetworkStatus {server :: SMPServer, networkStatus :: NetworkStatus, connections :: [AgentConnId]} + | CEvtSubscriptionStatus {server :: SMPServer, subscriptionStatus :: SubscriptionStatus, connections :: [AgentConnId]} | CEvtHostConnected {protocol :: AProtocolType, transportHost :: TransportHost} | CEvtHostDisconnected {protocol :: AProtocolType, transportHost :: TransportHost} | CEvtReceivedGroupInvitation {user :: User, groupInfo :: GroupInfo, contact :: Contact, fromMemberRole :: GroupMemberRole, memberRole :: GroupMemberRole} @@ -909,7 +906,7 @@ allowRemoteEvent = \case logEventToFile :: ChatEvent -> Bool logEventToFile = \case - CEvtNetworkStatus {} -> True + CEvtSubscriptionStatus {} -> True CEvtHostConnected {} -> True CEvtHostDisconnected {} -> True CEvtConnectionDisabled {} -> True @@ -1472,10 +1469,6 @@ chatModifyVar' :: (ChatController -> TVar a) -> (a -> a) -> CM' () chatModifyVar' f newValue = asks f >>= atomically . (`modifyTVar'` newValue) {-# INLINE chatModifyVar' #-} -setContactNetworkStatus :: Contact -> NetworkStatus -> CM' () -setContactNetworkStatus Contact {activeConn = Nothing} _ = pure () -setContactNetworkStatus Contact {activeConn = Just Connection {agentConnId}} status = chatModifyVar' connNetworkStatuses $ M.insert agentConnId status - onChatError :: CM a -> CM b -> CM a a `onChatError` onErr = a `catchAllErrors` \e -> onErr >> throwError e {-# INLINE onChatError #-} diff --git a/src/Simplex/Chat/Library/Commands.hs b/src/Simplex/Chat/Library/Commands.hs index 3f7738656e..67953897cf 100644 --- a/src/Simplex/Chat/Library/Commands.hs +++ b/src/Simplex/Chat/Library/Commands.hs @@ -1368,8 +1368,6 @@ processChatCommand vr nm = \case user <- getUserByContactId db contactId contact <- getContact db vr user contactId pure RcvCallInvitation {user, contact, callType = peerCallType, sharedKey, callUUID, callTs} - APIGetNetworkStatuses -> withUser $ \_ -> - CRNetworkStatuses Nothing . map (uncurry ConnNetworkStatus) . M.toList <$> chatReadVar connNetworkStatuses APICallStatus contactId receivedStatus -> withCurrentCall contactId $ \user ct call -> updateCallItemStatus user ct call receivedStatus Nothing $> Just call @@ -1777,7 +1775,7 @@ processChatCommand vr nm = \case subMode <- chatReadVar subscriptionMode let userData = contactShortLinkData (userProfileDirect user incognitoProfile Nothing True) Nothing -- TODO [certs rcv] - (connId, (ccLink, _serviceId)) <- withAgent $ \a -> createConnection a nm (aUserId user) True SCMInvitation (Just userData) Nothing IKPQOn subMode + (connId, (ccLink, _serviceId)) <- withAgent $ \a -> createConnection a nm (aUserId user) True False SCMInvitation (Just userData) Nothing IKPQOn subMode ccLink' <- shortenCreatedLink ccLink -- TODO PQ pass minVersion from the current range conn <- withFastStore' $ \db -> createDirectConnection db user connId ccLink' Nothing ConnNew incognitoProfile subMode initialChatVersion PQSupportOn @@ -1819,7 +1817,7 @@ processChatCommand vr nm = \case | short = Just $ contactShortLinkData (userProfileDirect newUser Nothing Nothing True) Nothing | otherwise = Nothing -- TODO [certs rcv] - (agConnId, (ccLink, _serviceId)) <- withAgent $ \a -> createConnection a nm (aUserId newUser) True SCMInvitation userData_ Nothing IKPQOn subMode + (agConnId, (ccLink, _serviceId)) <- withAgent $ \a -> createConnection a nm (aUserId newUser) True False SCMInvitation userData_ Nothing IKPQOn subMode ccLink' <- shortenCreatedLink ccLink conn' <- withFastStore' $ \db -> do deleteConnectionRecord db user connId @@ -2011,7 +2009,7 @@ processChatCommand vr nm = \case subMode <- chatReadVar subscriptionMode let userData = contactShortLinkData (userProfileDirect user Nothing Nothing True) Nothing -- TODO [certs rcv] - (connId, (ccLink, _serviceId)) <- withAgent $ \a -> createConnection a nm (aUserId user) True SCMContact (Just userData) Nothing IKPQOn subMode + (connId, (ccLink, _serviceId)) <- withAgent $ \a -> createConnection a nm (aUserId user) True True SCMContact (Just userData) Nothing IKPQOn subMode ccLink' <- shortenCreatedLink ccLink withFastStore $ \db -> createUserContactLink db user connId ccLink' subMode pure $ CRUserContactLinkCreated user ccLink' @@ -2231,7 +2229,7 @@ processChatCommand vr nm = \case gVar <- asks random subMode <- chatReadVar subscriptionMode -- TODO [certs rcv] - (agentConnId, (CCLink cReq _, _serviceId)) <- withAgent $ \a -> createConnection a nm (aUserId user) True SCMInvitation Nothing Nothing IKPQOff subMode + (agentConnId, (CCLink cReq _, _serviceId)) <- withAgent $ \a -> createConnection a nm (aUserId user) True False SCMInvitation Nothing Nothing IKPQOff subMode member <- withFastStore $ \db -> createNewContactMember db gVar user gInfo contact memRole agentConnId cReq subMode sendInvitation member cReq pure $ CRSentGroupInvitation user gInfo contact member @@ -2635,7 +2633,7 @@ processChatCommand vr nm = \case let userData = encodeShortLinkData $ GroupShortLinkData groupProfile crClientData = encodeJSON $ CRDataGroup groupLinkId -- TODO [certs rcv] - (connId, (ccLink, _serviceId)) <- withAgent $ \a -> createConnection a nm (aUserId user) True SCMContact (Just userData) (Just crClientData) IKPQOff subMode + (connId, (ccLink, _serviceId)) <- withAgent $ \a -> createConnection a nm (aUserId user) True True SCMContact (Just userData) (Just crClientData) IKPQOff subMode ccLink' <- createdGroupLink <$> shortenCreatedLink ccLink gVar <- asks random gLink <- withFastStore $ \db -> createGroupLink db gVar user gInfo connId ccLink' groupLinkId mRole subMode @@ -2676,12 +2674,11 @@ processChatCommand vr nm = \case subMode <- chatReadVar subscriptionMode -- TODO PQ should negotitate contact connection with PQSupportOn? -- TODO [certs rcv] - (connId, (CCLink cReq _, _serviceId)) <- withAgent $ \a -> createConnection a nm (aUserId user) True SCMInvitation Nothing Nothing IKPQOff subMode + (connId, (CCLink cReq _, _serviceId)) <- withAgent $ \a -> createConnection a nm (aUserId user) True False SCMInvitation Nothing Nothing IKPQOff subMode -- [incognito] reuse membership incognito profile ct <- withFastStore' $ \db -> createMemberContact db user connId cReq g m mConn subMode void $ createChatItem user (CDDirectSnd ct) False CIChatBanner Nothing (Just epochStart) -- TODO not sure it is correct to set connections status here? - lift $ setContactNetworkStatus ct NSConnected pure $ CRNewMemberContact user ct g m _ -> throwChatError CEGroupMemberNotActive APISendMemberContactInvitation contactId msgContent_ -> withUser $ \user -> do @@ -4392,7 +4389,6 @@ chatCommandP = "/_call end @" *> (APIEndCall <$> A.decimal), "/_call status @" *> (APICallStatus <$> A.decimal <* A.space <*> strP), "/_call get" $> APIGetCallInvitations, - "/_network_statuses" $> APIGetNetworkStatuses, "/_profile " *> (APIUpdateProfile <$> A.decimal <* A.space <*> jsonP), "/_set alias @" *> (APISetContactAlias <$> A.decimal <*> (A.space *> textP <|> pure "")), "/_set alias #" *> (APISetGroupAlias <$> A.decimal <*> (A.space *> textP <|> pure "")), diff --git a/src/Simplex/Chat/Library/Subscriber.hs b/src/Simplex/Chat/Library/Subscriber.hs index 06f71fcaca..75eb208962 100644 --- a/src/Simplex/Chat/Library/Subscriber.hs +++ b/src/Simplex/Chat/Library/Subscriber.hs @@ -131,19 +131,16 @@ processAgentMessageNoConn :: AEvent 'AENone -> CM () processAgentMessageNoConn = \case CONNECT p h -> hostEvent $ CEvtHostConnected p h DISCONNECT p h -> hostEvent $ CEvtHostDisconnected p h - DOWN srv conns -> serverEvent srv NSDisconnected conns - UP srv conns -> serverEvent srv NSConnected conns + DOWN srv conns -> serverEvent srv SSPending conns + UP srv conns -> serverEvent srv SSActive conns SUSPENDED -> toView CEvtChatSuspended DEL_USER agentUserId -> toView $ CEvtAgentUserDeleted agentUserId ERRS cErrs -> errsEvent $ L.toList cErrs where hostEvent :: ChatEvent -> CM () hostEvent = whenM (asks $ hostEvents . config) . toView - serverEvent srv nsStatus conns = do - chatModifyVar connNetworkStatuses $ \m -> foldl' (\m' cId -> M.insert cId nsStatus m') m connIds - toView $ CEvtNetworkStatus srv nsStatus connIds - where - connIds = map AgentConnId conns + serverEvent :: SMPServer -> SubscriptionStatus -> [ConnId] -> CM () + serverEvent srv nsStatus conns = toView $ CEvtSubscriptionStatus srv nsStatus $ map AgentConnId conns errsEvent :: [(ConnId, AgentErrorType)] -> CM () errsEvent = toView . CEvtChatErrors . map (\(cId, e) -> ChatErrorAgent e (AgentConnId cId) Nothing) @@ -559,7 +556,6 @@ processAgentMessageConn vr user@User {userId} corrId agentConnId agentMessage = ct' = ct {activeConn = Just conn'} :: Contact -- [incognito] print incognito profile used for this contact incognitoProfile <- forM customUserProfileId $ \profileId -> withStore (\db -> getProfileById db userId profileId) - lift $ setContactNetworkStatus ct' NSConnected toView $ CEvtContactConnected user ct' (fmap fromLocalProfile incognitoProfile) let createE2EItem = createInternalChatItem user (CDDirectRcv ct') (CIRcvDirectE2EEInfo $ E2EInfo $ Just pqEnc) Nothing -- TODO [short links] get contact request by contactRequestId, check encryption (UserContactRequest.pqSupport)? @@ -640,7 +636,6 @@ processAgentMessageConn vr user@User {userId} corrId agentConnId agentMessage = -- [async agent commands] continuation on receiving JOINED when (corrId /= "") $ withCompletedCommand conn agentMsg $ \_cmdData -> when (directOrUsed ct && sqSecured) $ do - lift $ setContactNetworkStatus ct NSConnected toView $ CEvtContactSndReady user ct when (connChatVersion >= batchSend2Version) $ forM_ viaUserContactLink $ \userContactLinkId -> do (ucl, _) <- withStore $ \db -> getUserContactLinkById db userId userContactLinkId @@ -1455,7 +1450,6 @@ processAgentMessageConn vr user@User {userId} corrId agentConnId agentMessage = notifyMemberConnected gInfo m ct_ = do (gInfo', m', scopeInfo) <- mkGroupChatScope gInfo m memberConnectedChatItem gInfo' scopeInfo m' - lift $ mapM_ (`setContactNetworkStatus` NSConnected) ct_ toView $ CEvtConnectedToGroupMember user gInfo' m' ct_ probeMatchingMembers :: Contact -> IncognitoEnabled -> CM () diff --git a/src/Simplex/Chat/Messages.hs b/src/Simplex/Chat/Messages.hs index 4973e5b9bb..f5d07d18af 100644 --- a/src/Simplex/Chat/Messages.hs +++ b/src/Simplex/Chat/Messages.hs @@ -49,7 +49,6 @@ import Simplex.Chat.Protocol import Simplex.Chat.Types import Simplex.Chat.Types.Preferences import Simplex.Chat.Types.Shared -import Simplex.Chat.Types.Util (textParseJSON) import Simplex.Messaging.Agent.Protocol (AgentMsgId, MsgMeta (..), MsgReceiptStatus (..)) import Simplex.Messaging.Agent.Store.DB (fromTextField_) import Simplex.Messaging.Crypto.File (CryptoFile (..)) diff --git a/src/Simplex/Chat/Operators.hs b/src/Simplex/Chat/Operators.hs index c9b5e020d9..24baa37e4e 100644 --- a/src/Simplex/Chat/Operators.hs +++ b/src/Simplex/Chat/Operators.hs @@ -46,7 +46,6 @@ import Data.Time.Clock (UTCTime, nominalDay) import Language.Haskell.TH.Syntax (lift) import Simplex.Chat.Operators.Conditions import Simplex.Chat.Types (User) -import Simplex.Chat.Types.Util (textParseJSON) import Simplex.Messaging.Agent.Env.SQLite (ServerCfg (..), ServerRoles (..), allRoles) import Simplex.Messaging.Agent.Store.DB (FromField (..), ToField (..), fromTextField_) import Simplex.Messaging.Agent.Store.Entity diff --git a/src/Simplex/Chat/Store/SQLite/Migrations/agent_query_plans.txt b/src/Simplex/Chat/Store/SQLite/Migrations/agent_query_plans.txt index 0b2b4ddc95..3c15a4303c 100644 --- a/src/Simplex/Chat/Store/SQLite/Migrations/agent_query_plans.txt +++ b/src/Simplex/Chat/Store/SQLite/Migrations/agent_query_plans.txt @@ -395,7 +395,7 @@ Query: JOIN connections c ON q.conn_id = c.conn_id WHERE c.deleted = 0 AND q.deleted = 0 Plan: -SCAN q USING INDEX idx_rcv_queues_link_id +SCAN q USING INDEX idx_rcv_queues_client_notice_id SEARCH c USING PRIMARY KEY (conn_id=?) SEARCH s USING PRIMARY KEY (host=? AND port=?) USE TEMP B-TREE FOR DISTINCT @@ -477,6 +477,16 @@ Query: Plan: SEARCH inv_short_links USING INDEX idx_inv_short_links_link_id (host=? AND port=? AND link_id=?) +Query: + SELECT n.host, n.port, n.entity_id, COALESCE(n.server_key_hash, s.key_hash), n.created_at, n.notice_ttl + FROM client_notices n + JOIN servers s ON n.host = s.host AND n.port = s.port + WHERE n.protocol = 'smp' + +Plan: +SEARCH n USING INDEX idx_client_notices_entity (protocol=?) +SEARCH s USING PRIMARY KEY (host=? AND port=?) + Query: SELECT s.internal_id, m.msg_type, s.internal_hash, s.rcpt_internal_id, s.rcpt_status FROM snd_messages s @@ -793,7 +803,7 @@ SEARCH s USING PRIMARY KEY (host=? AND port=?) Query: SELECT c.user_id, COALESCE(q.server_key_hash, s.key_hash), q.conn_id, q.host, q.port, q.rcv_id, q.rcv_private_key, q.rcv_dh_secret, - q.e2e_priv_key, q.e2e_dh_secret, q.snd_id, q.queue_mode, q.status, c.enable_ntfs, + q.e2e_priv_key, q.e2e_dh_secret, q.snd_id, q.queue_mode, q.status, c.enable_ntfs, q.client_notice_id, q.rcv_queue_id, q.rcv_primary, q.replace_rcv_queue_id, q.switch_status, q.smp_client_version, q.delete_errors, q.ntf_public_key, q.ntf_private_key, q.ntf_id, q.rcv_ntf_dh_secret, q.link_id, q.link_key, q.link_priv_sig_key, q.link_enc_fixed_data @@ -808,7 +818,7 @@ SEARCH s USING PRIMARY KEY (host=? AND port=?) Query: SELECT c.user_id, COALESCE(q.server_key_hash, s.key_hash), q.conn_id, q.host, q.port, q.rcv_id, q.rcv_private_key, q.rcv_dh_secret, - q.e2e_priv_key, q.e2e_dh_secret, q.snd_id, q.queue_mode, q.status, c.enable_ntfs, + q.e2e_priv_key, q.e2e_dh_secret, q.snd_id, q.queue_mode, q.status, c.enable_ntfs, q.client_notice_id, q.rcv_queue_id, q.rcv_primary, q.replace_rcv_queue_id, q.switch_status, q.smp_client_version, q.delete_errors, q.ntf_public_key, q.ntf_private_key, q.ntf_id, q.rcv_ntf_dh_secret, q.link_id, q.link_key, q.link_priv_sig_key, q.link_enc_fixed_data @@ -823,7 +833,7 @@ SEARCH c USING PRIMARY KEY (conn_id=?) Query: SELECT c.user_id, COALESCE(q.server_key_hash, s.key_hash), q.conn_id, q.host, q.port, q.rcv_id, q.rcv_private_key, q.rcv_dh_secret, - q.e2e_priv_key, q.e2e_dh_secret, q.snd_id, q.queue_mode, q.status, c.enable_ntfs, + q.e2e_priv_key, q.e2e_dh_secret, q.snd_id, q.queue_mode, q.status, c.enable_ntfs, q.client_notice_id, q.rcv_queue_id, q.rcv_primary, q.replace_rcv_queue_id, q.switch_status, q.smp_client_version, q.delete_errors, q.ntf_public_key, q.ntf_private_key, q.ntf_id, q.rcv_ntf_dh_secret, q.link_id, q.link_key, q.link_priv_sig_key, q.link_enc_fixed_data @@ -838,7 +848,7 @@ SEARCH c USING PRIMARY KEY (conn_id=?) Query: SELECT c.user_id, COALESCE(q.server_key_hash, s.key_hash), q.conn_id, q.host, q.port, q.rcv_id, q.rcv_private_key, q.rcv_dh_secret, - q.e2e_priv_key, q.e2e_dh_secret, q.snd_id, q.queue_mode, q.status, c.enable_ntfs, + q.e2e_priv_key, q.e2e_dh_secret, q.snd_id, q.queue_mode, q.status, c.enable_ntfs, q.client_notice_id, q.rcv_queue_id, q.rcv_primary, q.replace_rcv_queue_id, q.switch_status, q.smp_client_version, q.delete_errors, q.ntf_public_key, q.ntf_private_key, q.ntf_id, q.rcv_ntf_dh_secret, q.link_id, q.link_key, q.link_priv_sig_key, q.link_enc_fixed_data @@ -853,7 +863,7 @@ SEARCH s USING PRIMARY KEY (host=? AND port=?) Query: SELECT c.user_id, COALESCE(q.server_key_hash, s.key_hash), q.conn_id, q.host, q.port, q.rcv_id, q.rcv_private_key, q.rcv_dh_secret, - q.e2e_priv_key, q.e2e_dh_secret, q.snd_id, q.queue_mode, q.status, c.enable_ntfs, + q.e2e_priv_key, q.e2e_dh_secret, q.snd_id, q.queue_mode, q.status, c.enable_ntfs, q.client_notice_id, q.rcv_queue_id, q.rcv_primary, q.replace_rcv_queue_id, q.switch_status, q.smp_client_version, q.delete_errors, q.ntf_public_key, q.ntf_private_key, q.ntf_id, q.rcv_ntf_dh_secret, q.link_id, q.link_key, q.link_priv_sig_key, q.link_enc_fixed_data @@ -867,7 +877,7 @@ SEARCH s USING PRIMARY KEY (host=? AND port=?) SEARCH c USING PRIMARY KEY (conn_id=?) Query: - SELECT c.user_id, q.conn_id, q.host, q.port, COALESCE(q.server_key_hash, s.key_hash), q.rcv_id, q.rcv_private_key, q.status, c.enable_ntfs, + SELECT c.user_id, q.conn_id, q.host, q.port, COALESCE(q.server_key_hash, s.key_hash), q.rcv_id, q.rcv_private_key, q.status, c.enable_ntfs, q.client_notice_id, q.rcv_queue_id, q.rcv_primary, q.replace_rcv_queue_id FROM rcv_queues q JOIN servers s ON q.host = s.host AND q.port = s.port @@ -879,7 +889,7 @@ SEARCH q USING PRIMARY KEY (host=? AND port=?) SEARCH c USING PRIMARY KEY (conn_id=?) Query: - SELECT c.user_id, q.conn_id, q.host, q.port, COALESCE(q.server_key_hash, s.key_hash), q.rcv_id, q.rcv_private_key, q.status, c.enable_ntfs, + SELECT c.user_id, q.conn_id, q.host, q.port, COALESCE(q.server_key_hash, s.key_hash), q.rcv_id, q.rcv_private_key, q.status, c.enable_ntfs, q.client_notice_id, q.rcv_queue_id, q.rcv_primary, q.replace_rcv_queue_id FROM rcv_queues q JOIN servers s ON q.host = s.host AND q.port = s.port diff --git a/src/Simplex/Chat/Types.hs b/src/Simplex/Chat/Types.hs index 2f4fd058e3..bb86cb2522 100644 --- a/src/Simplex/Chat/Types.hs +++ b/src/Simplex/Chat/Types.hs @@ -49,7 +49,6 @@ import Data.Word (Word16) import Simplex.Chat.Types.Preferences import Simplex.Chat.Types.Shared import Simplex.Chat.Types.UITheme -import Simplex.Chat.Types.Util import Simplex.FileTransfer.Description (FileDigest) import Simplex.FileTransfer.Types (RcvFileId, SndFileId) import Simplex.Messaging.Agent.Protocol (ACorrId, ACreatedConnLink, AEventTag (..), AEvtTag (..), ConnId, ConnShortLink, ConnectionLink, ConnectionMode (..), ConnectionRequestUri, CreatedConnLink, InvitationId, SAEntity (..), UserId) @@ -1789,26 +1788,6 @@ serializeIntroStatus = \case GMIntroToConnected -> "to-con" GMIntroConnected -> "con" -data NetworkStatus - = NSUnknown - | NSConnected - | NSDisconnected - | NSError {connectionError :: String} - deriving (Eq, Ord, Show) - -netStatusStr :: NetworkStatus -> String -netStatusStr = \case - NSUnknown -> "unknown" - NSConnected -> "subscribed" - NSDisconnected -> "disconnected" - NSError e -> "error: " <> e - -data ConnNetworkStatus = ConnNetworkStatus - { agentConnId :: AgentConnId, - networkStatus :: NetworkStatus - } - deriving (Show) - type CommandId = Int64 aCorrId :: CommandId -> ACorrId @@ -1998,10 +1977,6 @@ $(JQ.deriveJSON defaultJSON ''GroupMemberSettings) $(JQ.deriveJSON defaultJSON ''SecurityCode) -$(JQ.deriveJSON (sumTypeJSON $ dropPrefix "NS") ''NetworkStatus) - -$(JQ.deriveJSON defaultJSON ''ConnNetworkStatus) - $(JQ.deriveJSON defaultJSON ''Connection) $(JQ.deriveJSON defaultJSON ''PendingContactConnection) diff --git a/src/Simplex/Chat/Types/UITheme.hs b/src/Simplex/Chat/Types/UITheme.hs index d0f23a7307..096cda06f5 100644 --- a/src/Simplex/Chat/Types/UITheme.hs +++ b/src/Simplex/Chat/Types/UITheme.hs @@ -14,7 +14,6 @@ import Data.Char (toLower) import Data.Maybe (fromMaybe) import Data.Text (Text) import Simplex.Chat.Options.DB (FromField (..), ToField (..)) -import Simplex.Chat.Types.Util import Simplex.Messaging.Agent.Store.DB (fromTextField_) import Simplex.Messaging.Encoding.String import Simplex.Messaging.Parsers (defaultJSON, dropPrefix, enumJSON) diff --git a/src/Simplex/Chat/Types/Util.hs b/src/Simplex/Chat/Types/Util.hs deleted file mode 100644 index afea178e41..0000000000 --- a/src/Simplex/Chat/Types/Util.hs +++ /dev/null @@ -1,8 +0,0 @@ -module Simplex.Chat.Types.Util where - -import qualified Data.Aeson as J -import qualified Data.Aeson.Types as JT -import Simplex.Messaging.Encoding.String - -textParseJSON :: TextEncoding a => String -> J.Value -> JT.Parser a -textParseJSON name = J.withText name $ maybe (fail $ "bad " <> name) pure . textDecode diff --git a/src/Simplex/Chat/View.hs b/src/Simplex/Chat/View.hs index 3a41c5f767..bbccd514b4 100644 --- a/src/Simplex/Chat/View.hs +++ b/src/Simplex/Chat/View.hs @@ -232,7 +232,6 @@ chatResponseToView hu cfg@ChatConfig {logLevel, showReactions, testView} liveIte CRRcvStandaloneFileCreated u ft -> ttyUser u $ receivingFileStandalone "started" ft CRSndStandaloneFileCreated u ft -> ttyUser u $ uploadingFileStandalone "started" ft CRStandaloneFileInfo info_ -> maybe ["no file information in URI"] (\j -> [viewJSON j]) info_ - CRNetworkStatuses u statuses -> if testView then ttyUser' u $ viewNetworkStatuses statuses else [] CRJoinedGroupMember u g m -> ttyUser u $ viewJoinedGroupMember g m CRMemberAccepted u g m -> ttyUser u $ viewMemberAccepted g m CRMemberSupportChatRead u g m -> ttyUser u $ viewSupportChatRead g m @@ -457,7 +456,7 @@ chatEventToView hu ChatConfig {logLevel, showReactions, showReceipts, testView} CEvtSubscriptionEnd u acEntity -> let Connection {connId} = entityConnection acEntity in ttyUser u [sShow connId <> ": END"] - CEvtNetworkStatus srv status conns -> [plain $ netStatusStr status <> " " <> show (length conns) <> " connections on server " <> showSMPServer srv] + CEvtSubscriptionStatus srv status conns -> [plain $ subStatusStr status <> " " <> show (length conns) <> " connections on server " <> showSMPServer srv] CEvtReceivedGroupInvitation {user = u, groupInfo = g, contact = c, memberRole = r} -> ttyUser u $ viewReceivedGroupInvitation g c r CEvtUserJoinedGroup u g _ -> ttyUser u $ viewUserJoinedGroup g CEvtJoinedGroupMember u g m -> ttyUser u $ viewJoinedGroupMember g m @@ -1174,12 +1173,6 @@ viewDirectMessagesProhibited :: MsgDirection -> Contact -> [StyledString] viewDirectMessagesProhibited MDSnd c = ["direct messages to indirect contact " <> ttyContact' c <> " are prohibited"] viewDirectMessagesProhibited MDRcv c = ["received prohibited direct message from indirect contact " <> ttyContact' c <> " (discarded)"] -viewNetworkStatuses :: [ConnNetworkStatus] -> [StyledString] -viewNetworkStatuses = map viewStatuses . L.groupBy ((==) `on` netStatus) . sortOn netStatus - where - netStatus ConnNetworkStatus {networkStatus} = networkStatus - viewStatuses ss@(s :| _) = plain $ show (L.length ss) <> " connections " <> netStatusStr (netStatus s) - viewUserJoinedGroup :: GroupInfo -> [StyledString] viewUserJoinedGroup g@GroupInfo {membership} = case incognitoMembershipProfile g of @@ -1464,6 +1457,13 @@ viewConnDiffIds userDiff connDiff where showIds = plain . T.intercalate ", " . map (tshow . unwrapId) +subStatusStr :: SubscriptionStatus -> String +subStatusStr = \case + SSActive -> "subscribed" + SSPending -> "disconnected" + SSRemoved e -> "removed: " <> e + SSNoSub -> "no subscription" + viewUserServers :: UserOperatorServers -> [StyledString] viewUserServers (UserOperatorServers _ [] []) = [] viewUserServers UserOperatorServers {operator, smpServers, xftpServers} = diff --git a/tests/ChatTests/Direct.hs b/tests/ChatTests/Direct.hs index c6976fbe47..b4bce68535 100644 --- a/tests/ChatTests/Direct.hs +++ b/tests/ChatTests/Direct.hs @@ -180,8 +180,6 @@ chatDirectTests = do testReqVRange vr11 supportedChatVRange testReqVRange vr11 vr11 it "update peer version range on received messages" testUpdatePeerChatVRange - describe "network statuses" $ do - it "should get network statuses" testGetNetworkStatuses where testInvVRange vr1 vr2 = it (vRangeStr vr1 <> " - " <> vRangeStr vr2) $ testConnInvChatVRange vr1 vr2 testReqVRange vr1 vr2 = it (vRangeStr vr1 <> " - " <> vRangeStr vr2) $ testConnReqChatVRange vr1 vr2 @@ -349,6 +347,7 @@ testRetryConnectingClientTimeout ps = do messageRetryInterval = RetryInterval2 {riFast = fastRetryInterval, riSlow = fastRetryInterval} } } + ChatConfig {presetServers = presetSrvs@PresetServers {netCfg}} = testCfg cfgZeroTimeout = (testCfg :: ChatConfig) { agentConfig = @@ -356,9 +355,7 @@ testRetryConnectingClientTimeout ps = do { quotaExceededTimeout = 1, messageRetryInterval = RetryInterval2 {riFast = fastRetryInterval, riSlow = fastRetryInterval} }, - presetServers = - let def@PresetServers {netCfg} = presetServers testCfg - in def {netCfg = (netCfg :: NetworkConfig) {tcpTimeout = NetworkTimeout 10 10}} + presetServers = presetSrvs {netCfg = (netCfg :: NetworkConfig) {tcpTimeout = NetworkTimeout 10 10}} } opts' = testOpts @@ -3324,18 +3321,6 @@ testUpdatePeerChatVRange ps = where cfg11 = testCfg {chatVRange = vr11} :: ChatConfig -testGetNetworkStatuses :: HasCallStack => TestParams -> IO () -testGetNetworkStatuses ps = do - withNewTestChat ps "alice" aliceProfile $ \alice -> do - withNewTestChat ps "bob" bobProfile $ \bob -> do - connectUsers alice bob - alice ##> "/_network_statuses" - alice <## "1 connections subscribed" - withTestChat ps "alice" $ \alice -> - withTestChat ps "bob" $ \bob -> do - alice <## "subscribed 1 connections on server localhost" - bob <## "subscribed 1 connections on server localhost" - vr11 :: VersionRangeChat vr11 = mkVersionRange (VersionChat 1) (VersionChat 1) diff --git a/tests/JSONFixtures.hs b/tests/JSONFixtures.hs index 0110c21fae..f02d04491e 100644 --- a/tests/JSONFixtures.hs +++ b/tests/JSONFixtures.hs @@ -28,12 +28,6 @@ chatStartedSwift = "{\"result\":{\"_owsf\":true,\"chatStarted\":{}}}" chatStartedTagged :: LB.ByteString chatStartedTagged = "{\"result\":{\"type\":\"chatStarted\"}}" -networkStatusesSwift :: LB.ByteString -networkStatusesSwift = "{\"result\":{\"_owsf\":true,\"networkStatuses\":{\"user_\":" <> userJSON <> ",\"networkStatuses\":[]}}}" - -networkStatusesTagged :: LB.ByteString -networkStatusesTagged = "{\"result\":{\"type\":\"networkStatuses\",\"user_\":" <> userJSON <> ",\"networkStatuses\":[]}}" - userJSON :: LB.ByteString userJSON = "{\"userId\":1,\"agentUserId\":\"1\",\"userContactId\":1,\"localDisplayName\":\"alice\",\"profile\":{\"profileId\":1,\"displayName\":\"alice\",\"fullName\":\"\",\"shortDescr\":\"Alice\",\"localAlias\":\"\"},\"fullPreferences\":{\"timedMessages\":{\"allow\":\"yes\"},\"fullDelete\":{\"allow\":\"no\"},\"reactions\":{\"allow\":\"yes\"},\"voice\":{\"allow\":\"yes\"},\"files\":{\"allow\":\"always\"},\"calls\":{\"allow\":\"yes\"},\"sessions\":{\"allow\":\"no\"},\"commands\":[]},\"activeUser\":true,\"activeOrder\":1,\"showNtfs\":true,\"sendRcptsContacts\":true,\"sendRcptsSmallGroups\":true,\"autoAcceptMemberContacts\":false}" diff --git a/tests/JSONTests.hs b/tests/JSONTests.hs index 33b601f6db..ed4d591547 100644 --- a/tests/JSONTests.hs +++ b/tests/JSONTests.hs @@ -25,7 +25,6 @@ owsf2TaggedJSONTest = do activeUserExistsSwift `to` activeUserExistsTagged activeUserSwift `to` activeUserTagged chatStartedSwift `to` chatStartedTagged - networkStatusesSwift `to` networkStatusesTagged parsedMarkdownSwift `to` parsedMarkdownTagged where to :: LB.ByteString -> LB.ByteString -> IO () From 2ceee3368d7296a021169da5546193a56da44763 Mon Sep 17 00:00:00 2001 From: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com> Date: Sat, 18 Oct 2025 21:54:37 +0000 Subject: [PATCH 23/38] ui: fix repeating accepting conditions on onboarding view (#6373) * ui: fix repeating accepting conditions on onboarding view * remove unused * ios * android - fix deleting profile --- .../Views/Onboarding/ChooseServerOperators.swift | 6 +----- .../kotlin/chat/simplex/common/model/SimpleXAPI.kt | 2 +- .../common/views/onboarding/ChooseServerOperators.kt | 11 +++-------- 3 files changed, 5 insertions(+), 14 deletions(-) diff --git a/apps/ios/Shared/Views/Onboarding/ChooseServerOperators.swift b/apps/ios/Shared/Views/Onboarding/ChooseServerOperators.swift index 656cef4a04..33ffa04a50 100644 --- a/apps/ios/Shared/Views/Onboarding/ChooseServerOperators.swift +++ b/apps/ios/Shared/Views/Onboarding/ChooseServerOperators.swift @@ -63,8 +63,6 @@ struct OnboardingConditionsView: View { @State private var notificationsModeNavLinkActive = false @State private var justOpened = true - var selectedOperators: [ServerOperator] { serverOperators.filter { selectedOperatorIds.contains($0.operatorId) } } - var body: some View { GeometryReader { g in let v = ScrollView { @@ -169,9 +167,7 @@ struct OnboardingConditionsView: View { Task { do { let conditionsId = ChatModel.shared.conditions.currentConditions.conditionsId - let acceptForOperators = selectedOperators.filter { !$0.conditionsAcceptance.conditionsAccepted } - let operatorIds = acceptForOperators.map { $0.operatorId } - let r = try await acceptConditions(conditionsId: conditionsId, operatorIds: operatorIds) + let r = try await acceptConditions(conditionsId: conditionsId, operatorIds: Array(selectedOperatorIds)) await MainActor.run { ChatModel.shared.conditions = r } diff --git a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/model/SimpleXAPI.kt b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/model/SimpleXAPI.kt index ea740f238b..09aae9a7d3 100644 --- a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/model/SimpleXAPI.kt +++ b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/model/SimpleXAPI.kt @@ -632,7 +632,7 @@ object ChatController { val chats = apiGetChats(rhId) chatModel.chatsContext.updateChats(chats, keepingChatId = keepingChatId) } - chatModel.userTags.value = apiGetChatTags(rhId).takeIf { hasUser } ?: emptyList() + chatModel.userTags.value = if (hasUser) apiGetChatTags(rhId) ?: emptyList() else emptyList() chatModel.activeChatTagFilter.value = null chatModel.updateChatTags(rhId) } diff --git a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/onboarding/ChooseServerOperators.kt b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/onboarding/ChooseServerOperators.kt index a14f163a91..9c6c0fa635 100644 --- a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/onboarding/ChooseServerOperators.kt +++ b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/onboarding/ChooseServerOperators.kt @@ -15,8 +15,7 @@ import androidx.compose.runtime.* import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.text.TextStyle -import androidx.compose.ui.text.font.FontWeight -import androidx.compose.ui.text.style.TextAlign + import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp import chat.simplex.common.model.* @@ -38,7 +37,6 @@ fun ModalData.OnboardingConditionsView() { ModalView({}, showClose = false) { val serverOperators = remember { derivedStateOf { chatModel.conditions.value.serverOperators } } val selectedOperatorIds = remember { stateGetOrPut("selectedOperatorIds") { serverOperators.value.filter { it.enabled }.map { it.operatorId }.toSet() } } - val selectedOperators = remember { derivedStateOf { serverOperators.value.filter { selectedOperatorIds.value.contains(it.operatorId) } } } ColumnWithScrollBar( Modifier @@ -84,7 +82,7 @@ fun ModalData.OnboardingConditionsView() { Spacer(Modifier.weight(1f)) Column(Modifier.widthIn(max = if (appPlatform.isAndroid) 450.dp else 1000.dp).align(Alignment.CenterHorizontally), horizontalAlignment = Alignment.CenterHorizontally) { - AcceptConditionsButton(enabled = selectedOperatorIds.value.isNotEmpty(), selectedOperators, selectedOperatorIds) + AcceptConditionsButton(enabled = selectedOperatorIds.value.isNotEmpty(), selectedOperatorIds) TextButtonBelowOnboardingButton(stringResource(MR.strings.onboarding_conditions_configure_server_operators)) { ModalManager.fullscreen.showModalCloseable { close -> ChooseServerOperators(serverOperators, selectedOperatorIds, close) @@ -217,7 +215,6 @@ private fun SetOperatorsButton(enabled: Boolean, close: () -> Unit) { @Composable private fun AcceptConditionsButton( enabled: Boolean, - selectedOperators: State>, selectedOperatorIds: State> ) { fun continueOnAccept() { @@ -235,9 +232,7 @@ private fun AcceptConditionsButton( onclick = { withBGApi { val conditionsId = chatModel.conditions.value.currentConditions.conditionsId - val acceptForOperators = selectedOperators.value.filter { !it.conditionsAcceptance.conditionsAccepted } - val operatorIds = acceptForOperators.map { it.operatorId } - val r = chatController.acceptConditions(chatModel.remoteHostId(), conditionsId = conditionsId, operatorIds = operatorIds) + val r = chatController.acceptConditions(chatModel.remoteHostId(), conditionsId = conditionsId, operatorIds = selectedOperatorIds.value.toList()) if (r != null) { chatModel.conditions.value = r val enabledOperators = enabledOperators(r.serverOperators, selectedOperatorIds.value) From 46e657834e0d50d1913d63c6d812bec2ad22cf36 Mon Sep 17 00:00:00 2001 From: Evgeny Poberezkin Date: Sun, 19 Oct 2025 18:29:24 +0100 Subject: [PATCH 24/38] readme: update donation address --- README.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/README.md b/README.md index 6ed444c7b5..1e80c14424 100644 --- a/README.md +++ b/README.md @@ -165,8 +165,7 @@ It is possible to donate via: - BTC: bc1q2gy6f02nn6vvcxs0pnu29tpnpyz0qf66505d4u - XMR: 8568eeVjaJ1RQ65ZUn9PRQ8ENtqeX9VVhcCYYhnVLxhV4JtBqw42so2VEUDQZNkFfsH5sXCuV7FN8VhRQ21DkNibTZP57Qt - BCH: bitcoincash:qq6c8vfvxqrk6rhdysgvkhqc24sggkfsx5nqvdlqcg -- ETH: 0xD9ee7Db0AD0dc1Dfa7eD53290199ED06beA04692 -- USDT (Ethereum): 0xD9ee7Db0AD0dc1Dfa7eD53290199ED06beA04692 +- ETH/USDT (Ethereum, Arbitrum One): 0xD7047Fe3Eecb2f2FF78d839dD927Be27Bc12c86a - ZEC: t1fwjQW5gpFhDqXNhxqDWyF9j9WeKvVS5Jg - ZEC shielded: u16rnvkflumf5uw9frngc2lymvmzgdr2mmc9unyu0l44unwfmdcpfm0axujd2w34ct3ye709azxsqge45705lpvvqu264ltzvfay55ygyq - DOGE: D99pV4n9TrPxBPCkQGx4w4SMSa6QjRBxPf From c2f536806ef39a6e5476f3842b4d33a28e3113d7 Mon Sep 17 00:00:00 2001 From: "M. Sarmad Qadeer" Date: Mon, 20 Oct 2025 01:41:12 +0500 Subject: [PATCH 25/38] website: cover updates (#6380) * remove background from nav * add publications * add security btns * quick fixes * quick fixes * add all btns & made them responsive * add hash & update pages * Revert "remove background from nav" This reverts commit ee27d17484dd4f58f7ff34022a6d303810c017ae. * fix web.sh --------- Co-authored-by: Evgeny Poberezkin --- .../{community_vouchers.html => token.html} | 2 +- website/src/css/design3.css | 166 +++++++++++++++--- .../src/img/design_3/publications/heise.png | Bin 0 -> 36191 bytes .../img/design_3/publications/kuketz-blog.png | Bin 0 -> 45727 bytes .../src/img/design_3/publications/optout.png | Bin 0 -> 67093 bytes .../design_3/publications/privacy-guides.png | Bin 0 -> 69021 bytes .../design_3/publications/trail-of-bits.png | Bin 0 -> 69152 bytes .../src/img/design_3/publications/whonix.png | Bin 0 -> 43512 bytes website/src/img/design_3/socials/apple.png | Bin 0 -> 63039 bytes website/src/img/design_3/socials/linux.png | Bin 0 -> 157913 bytes website/src/img/design_3/socials/windows.png | Bin 0 -> 217179 bytes website/src/index.html | 70 ++++++-- website/src/js/design3.js | 10 +- .../src/{learn-more.html => messaging.html} | 0 .../src/{community-vouchers.md => token.md} | 4 +- website/web.sh | 4 +- 16 files changed, 212 insertions(+), 44 deletions(-) rename website/src/_includes/layouts/{community_vouchers.html => token.html} (98%) create mode 100644 website/src/img/design_3/publications/heise.png create mode 100644 website/src/img/design_3/publications/kuketz-blog.png create mode 100644 website/src/img/design_3/publications/optout.png create mode 100644 website/src/img/design_3/publications/privacy-guides.png create mode 100644 website/src/img/design_3/publications/trail-of-bits.png create mode 100644 website/src/img/design_3/publications/whonix.png create mode 100644 website/src/img/design_3/socials/apple.png create mode 100644 website/src/img/design_3/socials/linux.png create mode 100644 website/src/img/design_3/socials/windows.png rename website/src/{learn-more.html => messaging.html} (100%) rename website/src/{community-vouchers.md => token.md} (93%) diff --git a/website/src/_includes/layouts/community_vouchers.html b/website/src/_includes/layouts/token.html similarity index 98% rename from website/src/_includes/layouts/community_vouchers.html rename to website/src/_includes/layouts/token.html index 0e24d42739..42038db072 100644 --- a/website/src/_includes/layouts/community_vouchers.html +++ b/website/src/_includes/layouts/token.html @@ -30,7 +30,7 @@ {% include "navbar.html" %} -
+
{{ content | safe }}
diff --git a/website/src/css/design3.css b/website/src/css/design3.css index 677a950e86..b24610054a 100644 --- a/website/src/css/design3.css +++ b/website/src/css/design3.css @@ -404,12 +404,13 @@ section.page { /* fallback */ height: 100lvh; padding-bottom: calc(100lvh - 100svh); + z-index: 10; } section.page .area { - position: relative; width: var(--sec-w); height: var(--sec-h); + z-index: 11; /* border: 2px solid red; */ } @@ -419,6 +420,7 @@ section.cover { background-size: var(--cover-bg-w) var(--cover-bg-h); background-position: center; background-repeat: no-repeat; + z-index: 12; } .dark section.cover { @@ -473,30 +475,150 @@ section.cover div.content p { max-width: calc(var(--sec-vwu) * 25); } -section.cover div.socials { +.publications-btns { position: absolute; - width: var(--sec-w); - bottom: calc(var(--sec-vhu) * 3); - padding: 0 calc(var(--sec-vwu) * 4); + bottom: 24px; + left: 16px; + display: flex; + flex-wrap: wrap; + align-items: center; + justify-content: center; + gap: 12px; +} +.publications-btns img { + height: 36px; +} + +.security-btns { + position: absolute; + bottom: 24px; + left: 0; + transform: translateX(calc((100vw / 2) - 50%)); + display: flex; + flex-wrap: wrap; + align-items: center; + justify-content: center; + gap: 12px; +} + +.security-btns img { + height: 36px; +} + +.box-btn { + height: 36px; + padding: 0 16px; display: flex; align-items: center; - justify-content: flex-end; - gap: calc(var(--sec-vwu) * 0.6); + justify-content: center; + font-size: 16px !important; + font-family: 'Manrope', 'GT-Walsheim', sans-serif !important; + font-weight: 700 !important; + letter-spacing: -0.25px !important; + border-radius: 6px !important; +} + +.box-btn.btn-1 { + background-color: #639bd9; +} + +.box-btn.btn-2 { + background: linear-gradient(100deg, + #ffb55d 0%, + #fff494 50%, + #fbffdd 100%); +} + +.security-audits { + font-size: 14px !important; + font-family: 'Manrope', 'GT-Walsheim', sans-serif !important; + font-weight: 300 !important; + text-align: left; + color: white; + width: 55px; + line-height: 1.2; +} + +@media screen and (max-width: 1280px) { + .publications-btns { + display: none; + visibility: hidden; + } + + .security-btns { + transform: translateX(0); + left: 16px; + } +} + +.socials { + position: absolute; + bottom: 22px; + right: 16px; + display: flex; + align-items: center; + justify-content: center; + gap: 10px; flex-wrap: wrap; } -section.cover div.socials a img { +.socials a img { width: auto; - height: calc(var(--sec-vhu) * 4.2); + height: 40px; border: #4f4f4f 1px solid; - border-radius: calc(var(--sec-vhu) * 0.8); + border-radius: 6px; } -section.cover div.socials a img.no-border { +.socials a img.no-border { border: none; } +.desktop-app-btn .btn-content { + height: 40px; + background-color: #000; + border: #4f4f4f 1px solid; + border-radius: 6px; + padding: 6px; + + display: flex; + align-items: center; + justify-content: center; + gap: 8px; +} + +.desktop-app-btn .btn-content p { + margin: 0; + font-size: 10px !important; + font-family: 'Manrope', 'GT-Walsheim', sans-serif !important; + font-weight: 300 !important; + line-height: 1.2 !important; + text-align: left; + color: #fff; + width: 60px; +} + +.desktop-app-btn .btn-content img { + height: 22px !important; + width: auto; +} + +.desktop-app-btn .btn-content>div { + display: flex; + align-items: center; + justify-content: center; + gap: 4px; +} + +@media screen and (max-width: 949px) { + + .publications-btns, + .security-btns, + .socials { + position: static; + } +} + /* --- MAIN SECTIONS --- */ main { position: relative; @@ -784,7 +906,19 @@ main .section-bg { } @media (max-width: 949px) { + section.cover div.content { + gap: calc(var(--sec-vhu) * 2.5); + transform: translateY(calc(var(--sec-vhu) * 5)); + } + + .publications-btns, + .security-btns, + .socials { + margin-top: calc(var(--sec-vhu) * 2); + } + section.cover div.content h1 { + line-height: 0.85; font-weight: 700; font-size: calc(var(--sec-vwu) * 30); max-width: calc(var(--sec-vwu) * 65); @@ -801,16 +935,6 @@ main .section-bg { max-width: calc(var(--sec-vwu) * 65); } - section.cover div.socials { - bottom: 32px; - gap: 10px; - justify-content: center; - } - - section.cover div.socials a img { - height: 40px; - } - /* --- MAIN SECTIONS --- */ .page .text-container { diff --git a/website/src/img/design_3/publications/heise.png b/website/src/img/design_3/publications/heise.png new file mode 100644 index 0000000000000000000000000000000000000000..185d814fd5d170b7acfbf466e6a2e323d29350f7 GIT binary patch literal 36191 zcmV({LDIg7P)AkJ{J5{Vk=vl5unfvW#njc~rXA zK|x5-O5>K!yvEnQ_O;0D?Chw^moGGJL|2OcjkSLi|q}#5RO&KzwrR=l<^Q?#p1%J}_4| zuGc#_IM`cXU*A(#S2tKzR(83mscE32qodyonloq45ZX9|`wu|~^!@g?za28hKzvqJ zgNLL4W-?u4t{^nt!2zl7*|1?l6qqL}EiElIF)=X?+9=WE@kC)Gb4B&{_fsn+;4?Nd zGBO$31$-7AkN*>}#bKL;OU2^&R5BN~Sn(N&ebH!>eJv^}Y=dB&LGVW}HhvBYM&f51 z|Hsyjua|Mn%lPcV_dXogiO&Jt`!d=(fa?ul-vAh_zrDS^6W6_b_UzgAef#zeJ^%dk zgTeYi_LbUS*O==XNir4FF66-gb1DMnRXi9adhXo0G26Cni&?sKX)Ks49oi=eS|AsP z%@$jw!zFz#_8xs@L1LmccBePNK^%}#PkKcK29kgCEG*~6HT*tX{=i1B5%X^{a z2J!v!tXZ@Aq1k#v?JGCtyV~g*a|seJ-~5Mv_y=kpzWh-K0M3cP087Nbb0Pf`larHE zFz6D&RB_N)+0;H@uBFgOb9s#6GwnElr7z|YTO_XK5t}skc&tZgC)?lR?;yh%HV6Hh z!wpQt|M|yj`Dh5|klDy|Ui@#HjU3?E2IaBh8ulkNTR#}<5=_ZjFjFx;Tk*Y#4B88V zuho>({T3U$J6E9Hf6V_GQE5 zONXY($DmEdu_@RRajh7bei^t{GPVNzmL!N_08_G8Tyg{>DZZKCZsRJW&nsGJ zzWVB`_Go|XvBzwLEs!+DaYkonXAB10JPf4lyu7?@n18b&wWGjbIXEO8jKfcwcCpxK z%0=Ke+vLMQN>HySd?a5Z!~j!GJDuG2jp;#M7+JlaetrIiXQRrDfHtPTSBS08@G%yt zALq0Iy=(=;RpB|i3JMA?-E+@9?f9$%!&O0pH-Wi&jKFQ8MzxVoFr<73R~>yGHJ2#{ z6ko1nDmlVvl3CDDkvHFbbJCMfKAE&>)23WV@?@Ari!k68Vn9(#WntrW=0H+YTg77l zN|S8_$w4ekwrNF@x%kQU%PklYS%k0|#Br^7?q2j^9d@@t(^caC68v0+&x`c&KKbO6 z=3oBum)$SD^b(nEP`R%&_7qdx{>ivX=<}kv$Ox2@CIARB6i4|8n3>>2VPRnc21)9T zH{Q4il#Sg*7(nrm#`Ez%!HFzvMDlnIGF4FRqA`?Z_yZ?blmcnW(b`8TLbDkEW{O>@ z*m|Jp*f-p2uoYtKh3R|&AWseYq5S2SUv8Ebf^I1gVO_RtnaTJY{=X_T+2=uXNlhgI z1PhYVQY9rcRrE8@JQM%tfBxt5lai7$VFu0x)2zh+%7dm_OtcQi#bZmwpoqgpp(F#T zCK*UFk=wvjzfaW6n+lSCp{mtXQnZ`=VMu6ZYOzjycF6#6s zZxO!F!)F>kmto7qK*`bk%Au zni)6Ubdv|Dv89_D9PBT=@IoTYkVW*Hpsm&cq{zoWC@_4cPK@D;OA(ZacXRyR_DRwi zaVBW1iIOUS1Ylu_KI#HM(g{sg$KZ8aTU&iYL&Ndr=H?5Pm6eA9j5I&^;Dha|nJ9!2 z1-~s2XDW1mwK12Yttjz?i6&o+{ldUNv!8nEseG7$Ie?7UVP6KemDsXydC>mXg-I#zYYQ?xZ*eBjRi(KUZ9)b!zy0lRn*b+Lo__l2*uVVC zzg!B5xdbnC6<+pw978RYO-P-jf)bLrTNz+ZhPxXD11)AEpg{`6T>5V==lE$g^s(jp z*EH4RnBNF(){EcI#m2@~AVzlll~-Ol@WvZ&RN`Hg0py?`=GE>qW0-5EYc4t9?H8bQ zJkcxj{`>DwhZ(X8zy+OZnt+T|(Xr0Q7AvQ11d2atKtxbMqz)z(X&ddg=}6W%g4x>d z>?_9{NB^2S!wRP3tN>>I6SkiN21|kVN(IB6i;s`zl$`2}jEpXqdzmwV$!5CdvVE+- z`@6rB!C(*PA$|SpUysYo%v^Z+^5p_Z!&_jE6haa%#b>6-D35eJZXso5#(*)wKDnAS zShz_s7j2+IMBQmR*xX0(1B_J-fmn*4K8}lvJF|QD?nB@C&Ud=@?b~N3B8&HA%>?F} z>6*)iYUM;kz_*c*esh^kfv;O3{T5)`i2pMnJqfR?=8LH$xk?JkSfOYg8Ryb9*F-dy z4h*Ooa4ab1l_t?{**KZBY)A_NpGgpcMcC#TzPREV2*j+#ix;1R30ZvLz=38FQkfBS zRrp*|>l`_9qyRChwW+D8*Ci(>-;5VQBrr$jC4red(ixzsV)!KBsC^L3-v~EYp);ZB z5@XZTlXSCIXRttwJ=V65rg=y6%Yxj~lFvyW*zl!EF=5Fpf9 zCI%xe*=NiEiZEsd1w*DH(fNxZ;Z_$E6x;>ox(AYPGbG&_PBavZWt)3S#(@gY8zJyl zz+-gyIoR(qvw={*n#VWVCI_Cby+}G^g>oIYHiSySH1JrNPaLP3cciR6Oj z=H%qq88S6BH3IvIos?a7-E~cFmolaaTt8EMF152f&pr2C)V6Kgl3_BeqF)7b z;U2sb!s|o=^#HI}3HmxQs>vEOs&zK|6z(&b@Hx{U$6*?TTZqfq?-Nz>L+` z*Jt@=?hi4B$GDM~%mhts4@z7s690P`PZH*p8$hG(mlHHSYMW&{_0P#i2AwG{O zR9S3NQW8Tbiy=T4q@<*z0qi&pA8gNSuf5j%gCG2$!!Sk^)4AeIHr<(PLYQN8H4}fyhI&p52m4bED$ly_B9Y5Ffdq5 z5i}iAHpy(Z$wdDUj5P%5JqSkY#s9r{_5lc%ehe}T*WeiR5Z2~q_(})x(*X?(!*BMp zob61m^r%{0?-NZ>xiMK#6FXRcx&S|pA1oQoRH|IzS^1y~(QhoMlbM~JefdxRv_m$D+6m0$1ydMpZEXfLuD7G3V+c&v3{BI9LDR?yiO@K7 z)cbg>C^%!m1hSyDOq@3a6SyDO=)rH@tbqZhB7<2FG-NE3jD_!U7<{qV;>d9L^au^W zwvdq`aefr8jh~`e7$+X*&qfOn+5XRWA^*atw4%G%UrvJ2246IG1rvPO-Nq7Lp>vj$FZzO zILKft??KZL`y<6XD>6!!fbAW-`rKnQv*jpqJFFYRpjfyJ?PHcFS&6!6)8dJc}Wp0UvYFrt9#TGI#FW z{)Zoa_yF2b?802G<7p~r+WTD0Zby*VfFrvQNZ=L>vO6#kXbvV&Lh~5QHz8bW*3CzZ7O1))eWrN3#9qR^z^_)6& z>LN674UXrmUCx2J3})$Ox)3BX8O#(R1DQf(6ULUMev){s`YDO$tLK6@J?KMfw)nMc z*Up9SngoHhkmU<-&n#*$4ray$aV$Y0hBDHi6{!(DDs#zxP#8k(MEhMBV<3$g&Eef9 z8O(XN6mH}%?90LPrcr3YvPpoM=mC;=@)y7O#o&$|I|hv_Ow)$B$V6gVh~FrO^O}45 z^yzu%wA=7?Gbb^kb2Bx+M%rKw&AQ#)axl9>oHbl{LCFb5|K z_ChnYo;`c^^0{;8%CVo*EoxagskOD$3kK`0uCDI8bm>w(F4KywQ9c70(3k?^O`2gw zu}yKfX9Wa6I?Tga=!+OC&8)1fw2X|5RP=j3gxYK{7w5Ibit=wPZ@@4|3I{oU^P3qU zgv#O#TJfaRdIJJAeNCIcRVCrcIklz+9#BboKJa6l$<( zrMWEsoG}w9P$Ja*N}z%3@xt$58WTD(N!1$SMR?pGxd@6juvd`e%8L{JFla7M!_GCpFR=0guX6uD%{lA5o4TZ(t@uSkZ@&5FNT~V6Pd)Wi(TWu-9>Old>_vvsUd0UbGt_*B! zuoNiWd7+f(7<@GM+VR;=%>!Vf58CN`X=!OW2Hu(U^z>2;xX$wO@+Jg4y`O&iX}A7- zGl@7O7(h}~Nl6LohD5<KavB#2byz$1Rh|F)oS30eP*_}ZyNtJ{;9IoygjVvXhln}U>hT<2Eg;X>! zu{$S;yLx<|&L)E~?YQo?fz;BnusWZCR%5Q)BTQ9bLFjE_S zJZQ15TW`H}2n^ML|LdT===Ux`|15+?=Cq!8Y<>WUB;hy7_hRaBf2gp%46UeRLCG{> zft+<{Z}nYw-Q|Int^Vs7%&9r3}~SiFjfb&Rq4fx7e8xiYAOb3 zaSSiC2WDX#2HR!EqIe!n#URgp#o{jGB-=d3bIUq}y=TsxX$8_)vUBIoV+>j|*%tm; z(VRJRu7lsU0$P0*crFX3Btrp=w^2~p>PneFX(wNVVz#SHs2@v)71xx^n#ehO0B8(s z^Qh(UzKY*}|NRR5HemXf(wo%xamAQR02qF=g<%G!+;-b-t6*x}jIUd;F*|xh@NzUs z7m5Uw79~5IpoMrd9{oBPC~YwPTA-cIfT7CaOO*krH~|>F9{*Rs{39xL#gVBgChMEu z{3iXG27ZBGY;4`SwFU341U#8lKGmjUl*%sg!+$wB{|9V4v*i$3z>k3VkWGlfVlwER3y zPEAcs&BdU;9*mU(1|#AaiT#$ZtF0mNZtZLl(=>yjwj=KEvd^{=S)6tFG|LNtco6S% z&;I@U|L`yW@-HX$?Ab#TaX=j4(KK0DX-YMhEd0naTB<_{WGef*>#kcv#=_TI@q%)s zJ+0c+q9evF5LD-yFN8UGh9)(^K;WsKYG|rcF!!oXoH%iyva+%krrt#eff}^C-|gCJ z?8mtJ$!{<+rX=c?G~xN1;iJ`|Z<}D^rvcnyUoM2dx&~lRK1}~a!i%&J>6dXspL>PC zb8m>*8b-cTG006_Fa<*qT{M^kImoEANFs!f$BdOFVDb)F zOD*%}&1->4d&cnhw@iUR8sVg=lCq|z#wBXR8N-CwAH&A9rUD5_h%5n#B09_!Dgrp7 z0g6+snU({9(5oTMI*W^o&q8Y*!+p;{W9^5N-bBC9?Q+WJq?r|=k~R7wbCcz`+XI?@ zi&AP~1pWT^zfS@~tp$@6!G~P}ByS^N{4DfuzM)tS(p(op)z3=NeXT$YXZe<}_4@eA zhJEedXp!K$`{5&R|M|~<{?@*I`z}EcbcyrT`-H8ZCN{w+G?FWd*lJrg{`~p#M3EL_ zy8#;^_bkJ3I>?U3%VbkkYmHO7*bLypSbP!f@Tty0J25u$0YU>i5d1v_8@*XEU8Pi2 z^VHPsijfwMkZqKiDylY^3_)r?KT9nr0@DVo)PtbOx>v7WT>?~b_rZe)Kf=J?1M}=0 ze&SS-;hJ@(Goe&n+gUzaz(#0V%wF$||A>VEW$_}KqKn}N-T(k*&2!H^m#Unv-Y0DR zH0hd49h5@-N8EGIJz3xS*0+}2amO8hhTpeg{}Oq;aB^jbdqQz?MncDZ706ayGrwIt1|K0C?*9zp&yLt2GB`^=kQ$@gDKr zvWDmNu|zrDktX>07n75d>3_9|8(Ko^PJ6%Efwsl>NJz9eK-=rF?;qgX?8X2eQf3Ns z#_a&7THu2-Zk>(a18u>M4U?-swba8{0`i8MScX!Wj58aSX^CzJU}&Z9%wP3>?)=oQmi2urKinB6V{S08uJp zn`_>F`|ZCudGh2dup~}%A}Gg!d~bY*+(sJ*LB@vHH>8HI3F^kMD**!h|HpW^{rTsg zk1{5KCaXY=RIlbOx7=b&0mQUu4(8o(!wp-27~KvumaB*)nLd&dO7$5+yOClZsBo$> zLC_}h7Vg^sr}{Wv_Q$Wk{`x*Rwg(Xh8BuhSt4aRN-~5d!%o^vK)0JQiFjyM1WXY0* z+}zyMMT-`ta-|lo(Y#{Cis+?Fmqy-rJfmXURVrG z@Oi1t+8_{ypiNRR7E;8VEj4iLs=-Dh5xYmGsXdwNkAAO1*TODmzrhG4KP?I z{F?5ptgJ@Fe7YDM|K%@#*~%iD%KBKO$wCyJ>nrA(r3ykIiAi_ebyvy*4?J+)%9Shc zgAm+;ak5locGxG|5n*34ffU?w|L8Z?+y-UhB~8Np@VkEd@BjYq$A0yzUvUbMI(=zE z{SkJbOIc+^&vehp%*x(bG7;vHVvC^af z8k{*StKfn>FtHNEiuXDAOi_;&$dE^gtUEMD=`?~l>1x5Z;}rT6V6MIIzyJOjn1l_? z^w!$zK=sB9&{zNk62Uz4Vb*MfW?F&gV}YJomOb^%4w`zItj@X`=x?t`F>1y0wKAI@ z=v)kZowzT2;R`JY^y&+PPo@S78mQg7cW)PjUNIR9f;bz@wF>QDh-cKRX}JpGUdh4x)kgzKZUm3ZZu`Pgx%9g1_fk@W%z%w_*#l@Y(u8ZiO-LKzD-C@_;DL=0sCNc^>b`RcZXbTR{?l^=r&K8nG!i!*IG?2 zo)c0|P>Z(&BKDz}wM)x^X5@VAONP`gMSwR7K+|zBSEG80F}YgYuJNx}IL>~AMp`gF zj&*c&)Pt#_(B`dp#k0U<5%O92zSX)K_KBnT<0?r@iPyttXGHJS>Oc@{mDz0F1-lf>LGv@ zg?hW(G6<#_`Q_NLq}+e}$A2VY-`&`Lh<-dN5?x0SqZ+c0^-YO*sK@p~n^oZRU$N_9 zY#GLtBUeuN?svbt9#HvTefHUBA0y!31hckJh3UsJZsc!jhwy(+a6NhS=+Xb*uYdjP zo3*foJ#MTqW^YV*kOjISOu;lDRLs1vO&DnkTK-eNP3^mHXAn&$HoIe_Ppd1&9fW!eSOGD$_P45SUAVYF&y>xDFCx1v(*JAU>nU zE6gCXPQ|_CiWrVLz-mj_TF@c;(fJ=j!hHtKbqTQx3l6HG-OrllDNKG&|NZyhPwjgP zp6@PvE+s?AG%h#6WM9BVSOu68Zxeo7B360q+`4t^;JI_>DiJeN>#$FSKytkY1at>9 z&55e2DjN)j;AD(y9qTo6rn49XRv_0w_2;!QHDZz_uE&Bq3zCwO)*wE35lnXe;K75e zD><&x027u-nk`C`E8<(<`c^&=o=5ThZoIG?WlD>97|CB_zPCJ=vs#t-2e&d@|3p_; z*Sm1cKLP4g;WF>a5B{BQBu!P7@d3glz@dK_|2}|cyblZzOHHlJb#p^VU9YbWEQURV z=5o%(d+NaT_M%_kfi~NRT}L!6KUMwbdLM=!;2W+-xZ!S?%8$S|DgZDOBYyS@&8)7S z9CXTxx?fA^X2{|U`u^7l-R%AAzy9k}O1ms;48GTd%|g>Zqd4NLU;SzZ{GNp@SOTpz zhfcI$EU&^;rgHw6GTqgV;5E6XE+XtD_)4vHu)4asYR8TpZVTF7@eKALWTR#<0iBM> z$;nAWz?&vDfuMXmceKV>_IY~$$?y86{$`1V|5R-Tsm;>X%fVdh@&1uZfby37Cc=be?$PiG{hjxwqioJFqP@`~%}& zV>l^wT+?ubq?d`(_O;NL^YL*rOJQT+cESWBWM67rIa1%-!1nFi8=<-Oz%NXIFzScd z_6RJbInZFXc__76-hoK@?EJG=rpsg?K-E;7Z?3#(l7RHa?dxUc7i2-eukQzyE!w za;@rD8&g9g?!(EeH{N*T1^oMIVPPQ?6Rv~S%@DwrG~FyKgfuC0cxsAVX;hYkW8|G7 zixemfGFzwNzPxYHeh3S55iW)bjlx5&gT%W5pX;e*G}A+cHAgT~FzG7+4E`^!*9BAX zQe|Z&!HZodPoDe?jHNH-IjwyxLF%*|yPXIYr`&bdT}!}NH{t6B^k=Fxg{7b|!bh^c zyHh3_{mbgLE1)$?^YZd)(7&hW%$cLt*q%~LK&%%a`^dX%*REoK4t1=NSX5Nhy>jKs zFQAR_g270H>HW03PA&mw$A1;zTMn+VIwd9LEZ5q`?rNEfX@o50Mor;YolUpMx`OmrD!L_@s|{N*==e)7y;LE}e2ut;F*CH58c(qxsAi-8 zmg9fU8knu3ta1RD@P^48Mfe_bfR?2{_Sj>wss@-M-^(F&rn4aHop;`8 zhYxn)#EBCp>+9<;K-l(6L2mh~gwX{F=z=L@OrNnWe^17i4*|1?iP87od+(U1rHof| z`L!65BXjA}r5n@J({IMtB2iUo^ozJ?FwIPq3!yp30<>sDM;>Z#Z~y4Xkt3hM*K)E7 z7^6Ypdb&gHIyr5HmPo{NuEKL}!$9Gh&PmGb>7dyN<0ak1G<-K9dYBAgV_r!~Ne&py zUN_7b&gq+Kq2+cz@BaP!O8}jFG5%6gQ&W4;?v>CqO!TEDjtCWa@Vn8l+meiJ2{43p zFpt|YrmOICjo}l9L!n$NESU;Gw(xAJMSw?%Y%$6oEgL!-smJJyW%!(J`JEq3s$}iJ zLof-M-c*HnmXoFe^=%M!Gp0XD&2P`rmN67){&^W08H>4~A2bJ%syOXD*AAVaB6C}D zlZn)+*q4!+nK|c{TW*P0(v(cY7~7n?Fp}SW;o~oD4S7Q%o_HOX1*QfT-f z>d^YgQY@-iSP*mYE^+{v@H0L@djisgn2WaXbI&~o(>JCNj8$lf^chRb1`v%MHSK-HLC**_J13;lX$?LaA-e6z_?0#4%1YsOU)z#yc`2_ zCLfxZX-HgHJ6i%6qQo2zb6%tsLRLno0S)4)2A_qP|$fO~Kb z?!jKhzrYNf6zfc*kqbiT&*x$>Ie?kvKd~~K@jqxTJK5Rrtu-A|tZPinrE@AI2G`MD z2D_KRPUd1+{Izxi7njx7g;Jn)FUuoIYGX`>3UW(J+?|tukakt-odnR7&JbX>3 z)=&fGhJOH4zh2k@1_2=TVnB7^+MS3a`enP&uQjd=sqfhtU+=&F{s3Z})fgk^(0AqN zM+e;$){m>7=+bxcI7cynxnOn1bIw;G7?s78qKyz~EP#e7CKWoP9=3Si^5x5~7i-g| zswkf>8O#uZ#P&_h5$o>K&*}hU9fMZad}&{)=Rxn{4jk1wB7N7nZB z^{s(PlP3Wo%Nn`(M7SxybvfCx6FAJ&fL$Ua zSrHy^-J(T{^3i~3*y;#-`5l58 zliu3ex)R!o6^B=0FlR_#OWOW2&NZ3j665K|J)7}wErPX;h$Rt`bu^c8<;gY=b)owD z>#uhLJw6XJ_6UHDlh9y|ism0zd{AgFn&~v#3!uFU5a_2eapGR0qVxy~)h|+QRz|;5 z0UIyH|I2anxq5)n3SkaV2*@G-^wieYmcRGjdnez1`|VSB$;?;|DaJ6}$QsV3b_T>> z{Ka3es7xOA6Cs>yC?O1M6jeV_UrTvsW`JwaLbwd=Dj7>nw!Y#%t~s2F<+Q7=u5J)x zr52_e=Y5r9<8&1#y-O{F5Cjy`LlgG(!Cx#`n#XK>giEsEBRkd_LqM`HlS-lZTr%O- zaU{{DM`@fj7Hwh%NZ=JVFXt0gUA%bl(7W%xdlXWs-sSw624XmE7UmvH zqAlhO0{ovYU%ppaJ#!*th8S>Gey6{|$%xI^7@TMDRIW%PO{Zzq=jsA>EIb5@sxdn| z`)q!G{z;gK$!I?(gGMXM$V#8euXc+T3X*x3P7(vIlf>*Jpr;GBY}s-eD0$C^AATqk zdR+mNkTjRC9limAm`B2sPd=G9Z{9r4j%AUQWUX-_b-tUlG?f$_5MS;wm`?kE5OPY1 zcdYH6Ml?c`!@Q-I%EGfQphUzcC80+zx-uz^G5uF>R7`PNB`sj~QVgatuCb+nFVofp zSG0z8?AWn3SUVRHsyPkQ@H}UyV}HLC3ZV)IG3MnoDf)9X4b#A|nJZSTnDxjbkEn{t z^_oF7mtxA;+{}k~@WBVO5cinN+$&@93fyp^ggP+RSuhq~vR?jcCZ#ux7?dn64dgQw zNNYME-c&%nw*4*{%M6keH{r$%2c0doeS*QLwOHJTh**W;TZLpgljVk5qCb0@nwskI zj8%A+YK$dnt~8;oMs>ZU@KM|o8{uU#I>usDYHBKz)E$Y$+W4X!ei|&G25|A4BH$>_ z0oN{xiHTVX+cOtZAsP+WZT2xqIBR%ztb7m-vX*n_&Yglec`u#)XNxf^(7@Gb?BgRO;VdKq=hi-hh!N9 znAWqdzyA7p@LT6{+Jth73>Z%eW2st8XE23&@x2WQZTm|vz0|LrJ6(NTO99es+P{DQ zKtn@A7nrIGZSSQL5I>npfZp#@`(M{`rkL#!%Spk-#l^Ae{rQLSKfiu80=L#Vi3C(D zZsp3A*?^7deCJ_H)$4fMEf}M~HGPYI%V{N?w_V!Z-MyD<5d$Gqt2d2`Ku$A~36g#g z_A}2sLxgZKOu}`n^a?YBf+}dinQ)UeJdw~;O6qfoRTg8RNm#yZ+qUK({_uyY#V}nN z%O*XBh@f&i;-Y02E?hVRAFLEsR;&C?6(+$nmyX`!yhLnS;DKEDb6F6SWH5b9I^SJ= zCd;J=$DjPkpG09maNz{{T7EdcDgmUH3Lp*ieKw>kXBdmmW;l)K@S@A{y<0s#OqS9W zrS|sr1b{(v@UpYOSm`n!bF!b!1(|hjNX|k`s2{)A0&*sUwVNSM2%Ih?7SK>TvFFsO zQw^o1r4=x9D-o|_+%8pcOTbbSByH@RaFXR?4D9i*j+%LP)mxxCteILIuI^Sl^E?3j~R7fC~8;cvq^)05Z7$s8d_Xs9l^N~ zb=_wwV@VVH-h1y&LS%m)`mzu&dOl|vE0Ax{^~uIcqcN7!Hgyszm?KBdo;`a8wsN!9VD-G|PEJ5mpmO#a zyEoi$16S!-f_~(Dt%c~vWO;(6*o4L;k*2Af_bgWVppR7rjarVM8zAWomuH$03?}B9 zIsMq!*x1|B($d=5+1Z?)p56&xH-pP7i5yNx%ULcnH#BrrR(j?xCIGNNYYfoyfJ@7` znuY32Q^aB{T)~R(<}zgHA7s~Zyy+{ z58A7XdlA>^J~4^B^>q!U|XcGop~wN-W>nV3IuM z6&S^6M?Xx|P9T_NRaI4G@4fe)%-W31 zK5Q(269K^#Fr4LayNEh90>RGMS+i!P;vz&^k|mJg+{H9Um@}4=x2FE2OjzT6xvC$h zT^L}fZbT~DL)ndHKl&%RsmlBvZ+^(rk%5#FAs>$~7 z!w;teax8#`S%AU80TR+Q=K!{=*HV5UkO4odi|{)-puDZEt;NtPn@*!*D4~)wp_KIG zlTT)D*sx(G?EJN0s(dh+tij+AzfYCo(&mRTuv!YAr1;ZMKdt=bFMp{9jb|i+L^xh6 zLqK8Oec-@>i$J2wpt| zef%o_+W}?9Xu%)4SvY#)E(sDK3W!KD2K_8BL5hGPO=Ur~QD27YD9S3R@;AO*m`MaN zSQ@Lkq@<)zoMX;3Aj73AJb1}0P??MVTa12W4gF}5KWUTcTa;qbHH2fyt<~2G#cvY_@lhAx?iQGJrp3Q&7!y`t<1t z)~&<8@k-gW5&qR!#)p74<)lb58zrc=?&Qgn#qYlRZt;Ko$A3_B%}7(wg=|d()X*bis`x$# z_oE;FwX@(MKIuupZuoN%yt3ZQC}#prBw2H1am4 zJ4y48FT(|8np6hU7>inyd3MLk%gc`(J$m$l;l4c1j3)>Wzh}W%^ENaz3<6E`_Vo0) zjE##Kt$+1Y-b2`j=vFrPx57L&8zbjgMf^ezsoSnMDg?5W2Jz2jFjoy8_5!5%h0M&%S}<0h))xCbV`hbffjZb7Z7x zmoHCDPfwQ+JQqYWhktf5xI^JC%jJ7Nq=5GZEfv>DPH@X?|i3IF6ed@lQUTr;hx^o($Y2vl}>0c zCs{#S6JsRS(=g#W8OnA1aEU->As4etWl3PuSC^2|*Hi`ww{cfsVh$TVIw3_nU&>_fY!`}LxNu=1B;pnTG;36IP$d<;3#S>VU*GUIuQ`~!K+GyIz{(CCI#g?XzQ{sM zs_o*%i**P+G@u`th@K{YG=l(30rr~^o+hjl-Mn`!z<|tU_~7>x%U9*esTZIif5sR{ zFS%pa$HR3PZ_wfQnMP{Jz@oOtwhWBL(sNFI3=w)TgW2+7X^g-BAlEnJPFe>wkl3dx zDk@4&oH)^b|Zv;v>Ru!tN zT}Tiwk(>7Rb}x_{XTM?}&m?kse(Tn)ak;srW3 zxCTycfpXkfC+1DGU4D?U{0{JF0R7AwkVmk;`0(MwUCKEV>T@f=y28_hEaj79ty3`A zfH6iIt5Wf}oeZ^Ue+|Q+u$24Q7l$^sV4C#8=52@l+rE4E?p|XCqJr9YuCAF2##*s> z@nR=Amt<)ZOPvdtrW;Hi7P5xxJ=g=EOPQkIS@5$PZR6Tzw*RG_Gp@A z0HSfT7tPZTw5*V;Z`m4-3j_u`$Wvl2QA)>|ak$ z9U|owXV0Fk*|%?Br!m6`43%)pEw`-NvSrIn@V8dsS#1buD$AuwvIKd2MAL;5x*z8E zaTZ!_X=$mHhZ4{)lu#=m0NThHw*%FxO>gxipxD zt&pTG&|rw^bvlmatFOK~rPD7aKz;xX%s~UO6Q($ELTQ>Cd0Vg}hoSn#6T0aMpwtD8N0Hto+DQ+QG%r>zLMFM{?e;(`i>FDB^x zHdbVH9AMFieJrvn|HnIQfhoxKs&?<)yZ0>oT7Aw|uvIzz5JZhpi%cO6JH^(U4eil3}0`Hl1!UjPm|$^Bah_x^)~s1QbLPxxhoEU&wrp8D7@CQ)EP6AN7Td|BiY)SvpVp6BLt2VLS!z#4*vAhPh;-9^G=ph;|$~^Y+P_5Lc4%D4)evf zcX28D0Fx_~IA8n6hr&xXNwDwYZ+&;DcWofe=FyK&aV^7A?wzwoXh- zOUtXTub%@qA{{<-ECgmJj$sM2dN5W!wZwq~2kOx;O*p@C$BrF?rhnBhkHTP6F%E2| zAW`syY8I-bjC-58h<*n;R#we*)ITH-%Pz;kbc=^+7>@=-s?)>A!dNbn$+5}lP%3kr zW(=u=)R$&!tVbSsBpu8&kJD$Mr3%FywT0NndW>m&eh8Q@_|o*FnRQ!!nGp{>@IV@vWEplX0b{XP zQ6ZR!0yrD@NQ7{4;(8b}J=jCZM(0Mo#jjB^FSMMzXq+th4v{p|`)Dk@5Xi?A3B!pdLkSY!vc$bd%7pw)r@<8WA%>NQ{=k!H>YNMhDF-3t8A zVyIkGI17Fm7XxQ`vpPd#?y1sXWU4>`U~^{}I|t(^x8qVGl|S z8V=UFOP4NHT)cSk60DGRF=xwWBEeXee3t|^R8R@b6uoNIszQVqZd|ft$qMYc!SJ~V z%sLshsE!I_%eImcp|v>0BNgpS;WQ2Go5SfwY$t?z%V^IXCZdbOaZSdG2ofsLzgsTg z9G!z(-hUUzvu)e9ZPzmH>dv;-vTb8w%UUfjduiFVY%Ckk_xJn(U042`^TzAQ*Wc22 z{Gc|#k;D1hR59#pVat{qHuHGlS>}S9adntrpcX(pj+_>IcZk~g*`h4@Eb2d(=4$%l zrkE6OjwL);Az#Imd0L_|vi!1oJo)F(8QP|En4*W>=ss;gPk)U#cjyAD&SdT0Km2Ll zX9!P$V7kc@@ITGP=$Gd)kW5eZcrGC<yc3=dIwAylN|Asv}+Y|sPH~PWWGa%f$3@x43 zTX~3=wp6;cfoZhNV8p{`J~ZYeb4D#N6zm9Ws;8rtfRYU^shGcjG0Bn6sudA-eJWJ) zA>cdBM8C<7Cbe<0=(>>z5&jG{JH*9gp01ny{7bJ0I6N{XO+u z4o(i-8!#>F(0c?&^IQVQVZ#_(T9RXQY0xyAGvuy>;fImE8Es0M0_z$w-Ff*YE&6;2 z)tlKe5DV zG3LqwDX3zKVW+l)s7Q>9!&y|yvZ8VZQ)Uov52Tw3M`=i+N-?Qfm4o}96NveTx1Nx; zUmS;*CfhE|(WtKe>{rDGUhDAdZLHSjj+-|+Xvcb}_6_E3g*m}#;rERwYy4S|hTWyr zdWx3@IpaZXFgAcnl&P=CR2Rx|c(I&M0A{~F$ zZqH2ni{JzMDD}1PKN@M*j=j6`oPWh+By(Nvslay{~fF?kPO~58tcJjd{5sVc2 z>DtdWk@3Y&b1K5F?da6>@o{B|{68*| zn3M|hek=VtGv;O4{c{@-J5UMmXe3AWj*gzzJf~j#8`|IHZCU6)o8_9ZmY7fd%Vk_4 zoNWjMqJEmw2j9ZO!%xi?H9csVM&cC`a(myT6l3piLfSr)21BYb3#Jwn1R@#L3jEOw z4hd!lEEaMQgb$dst`Y5@b-|aK&;Pc$mK>u@sa$OFxr5z-EkzGp4X>e%Ryg}Vm%lP2Yg!8twVDrJIl-3gyx8|5P=>b3mNYa9B+ zUsR0mNUPO*fH8Pz&$%(?OC36ZYQz$PD#=x}PND|z6FT;(TR))~zRxIg}!)ArN zkdjhWMP&`GpO+1mYdKs+Jm4y>#lq10Zjc>oqZ`8TRHrjPXN`r2t2yz{x)dVbt; zaaO4oVH}SXmD%)~Yi%j(lu#}Ys?0CwKcAT|%%px1&85GRrC;9OOo=BwV3|T#+ESW~ z`FqxD{WUVUveJa&_6~cUb3XgmKiV=lmLI;UZZ5pIx@wpxEmidmS)3VlN-O-dc3_DL zbKKqk%#}OqvhmfQ6RTQiH;j;7kl?Wq(*{}DJ4E+>BHW-5f`+HIsE7i$N6@+$0(9GQ z(hEmenK0zYiDwTsY+*Va7jz25chh>vCo(@CP1q(7xm_z!6!_Z6O@N*H(fAEprOY=v zfkl#>CHy{@I^W2Pk#;V>B$r@Sf~PqE?^W+l)p@YN0?L6)fv}G={}%XgAF=XW>A%FU zl(RG24fJ`{Smch4QQ9Go(AV!G@Hxz3m6m`pr?Apwmu5b9?xgt6u=p+CUv+(?`N!=O z$Xf{2f@tSpTbfhF<_Z#h{w7+fbT0a}fKW_@>$OG%fz-Z^BnB%sYg^}&R8L$uJw7+X zdcvkKWyzm`O(9JK1B1?>k9X^*Ha4^95Bcn4@#@8F?oO zGiAtu!jKFNw3}JRnv&YSvt*k+k2N=hy8go&QxY~0c{G_v5Ltzdg;2_V;qa~}UK7iD zYPhyPS9M-XO;R;Z;|gtoMR;7zHY083ZS!8B2L7rx+5yu_qm4SMgT&ZeJVowdR?n-I z2!1lW1t&ij{;Y^j#NP#*T$*c-SJ}?wJHu4hO_(N!@PnVjy7)8JNW3Hsjw?R}bdSxs zer-$lzcJ-j?iyKkyfowDNkQ}I2{!o?)@ivgG@IHUw;3Ri?L+Ml)`-;+$EjVI38`ko zBlEIihkcF8liMo~L9pz+>_@)+5sTphLW3KRvP|%R#HTZc9)HhTIkJSXZU^9901zHcf4PFDi*f8zQNy?c242)O-sbWe5e{lMkH3-sBGq_6!wtHRQkAw)qj0p z_l4F5Z{a)t?QF;R#|iy{pd*Zk^<}QD2 z*fx{KbF>}-R3hbt|LB^#x>f9TC%fYD)ysZ1?Hd0;{hX^SEmTkn0aif!v%rm8rhUY? z8^@h~zQZ{^yld^sg;)4#1s9QIj>-qv&gLKEj+(oUtaKq3A^P( zNud4|%*Wb`-1?$4fwpzy*Kfv@WUGL%h0x8tUshRFb>a^!TeMKQq+=d1Sb_I0pEGg7 zB{Tce*TWzB7-^YkoK!HM5I>2atJdhE?BoJ;sNs{76Swkzt}2`@w1{G$SD-6^4>p4S zOT{syf}<0B+!rKlLNOu|?m#R>LYr?DOc6l%JZUhc@(Hbu^pGFh0K;Puj$)xLQnv@w zgv$TCc)xFmKwJAlDfQMtdzr}Fi>jbdazXGGUi)zkYq`Upkxe0u(*y}a;y!O!9TA;! z8OgJLyEMzhK5#!n@A+SaujK*}9wpY>kjthy1%Tfrtvc zA&ptnX@ze%pVNBVOa~C@l0m@j9_Kljj3p?p&9Eep)gh|l7|=h54O_s$$IrU>+eOTI zkxRBh#{Xzc+sa7$24-=$Dd!N@-Ww%Awkt#ZH}u5gmJAhRYl-z5PQbA&vt(F+!N@*1 zN(9s#AFv^s5B>lFAxb!kxsZ8JEO`fY*q?Ovq5{X_I7*KdeG($j$h#`OzP<^zX--(9 zC#s?O_`#6GsHj-=!H0mCyLq`2$1W8A!^Sec zEwio}Omt`Z%QJ?LuA0<)M=sze_nrsAF168`xhsu(F2D9i4bb%)41-5E8MXa+vAYug z9})){nw`9Fm-cZ&l6=shySETKfgIYM_ew67fbw4wyW*(?iR9l70 z--)yyl8v4gU@vp9v0N0&7Myfd3F4<;PpF{Ez?>5(I}YN9?65?Yq4Hggq%!OBU=fGK z8pXaXs{&)l0zWe9r=1+DkuhHtNOmkXQZ%!lPGqjZx zmAmARNb}t_4-I7hnlYw!^`-*95siByF14NA5IZ1!(rRw7$5|bjXYGM-VJK14q+vDq zNrM=W0nh!JkR@4aJ!yYa#8AQ{&}Z>1^N_m^_UMh|k6_Gu6;#{4UM?FBkr`fUJ9x@x zhf?^mp0thNt7_M+i-P*uA_j;b@};qUzj$WF*7KWNghE53lX*b=noEx;ey9~{cbzp? zHB^vaIZ_$j@dP8(i}B~^jC(41w_1% z=BQUS-#GxxK}mi-iM)p@?Uy4wj_#L>4hz5p%8bEJg(nu4o-j)-L5~M(;r4TZVQtMn zl3FfBJteC73d90_-2qXUqlH8r_^dhIY@SaeN#yDPLGE`b4V?fs@&VDOM)rJ^vcT3? z?ACL2T5QW;4*q6NZ|say%qh&D7-<;4jtj$V|7$3zMhRw*yFw#pkJ)%TB)ys*V~2jJ zg^(n&cW}ttg4b+J^mY6Ncgk^b+;kVb))8?)bYm!&8vd1)d|f(wxz$bl47@O(;?U25kihp=j;giL^9FUJ#P_6 zRHVugGQWw;_k@H5mfxBX3SYRJF5Pc~Vk7-mKl0L!9T8KfTiu19?=t{J|FDR1EF^I3 zmQ`7J%F9uo?e4;iY2^Jz{Nv`;?_ZY>F@Xc}A1h8RuZyqwdk0zE)wiP**>LSzig!y~YhmF@f4@T(7bZ)ALXLM9v76 zvX-=P0Xd!~zEYA;rM8Ahv9z}E-3g3Ts;NX`A_G8sdhV!|YXBZfU_>cYmm8l&e=Gkt zmN$4T9xzp*6n0QB9hwwHI1XtKxDM! z4YU%7!8Ncf@)?9LwUTT{im0J$N+6XRgsifrD^l;6dEEh-%j;EpzX^=STWZv-zIX(& z2UPb4m|<-d+64=dgD{zx62V~jLFtqgjtKPN*9CqJ~6iVPkK>NXw~CvxBh zyhF`oWN=FCU`W)Z73=feYh}NgrlzFywM}99PYzHw>UIET8KSR#);@XgG=2de2lb-++={fkj-OzB0V42q&Iob|bMD83iLZw;)w z*G)5=V1)0X1i$b`$H((Jyw6wnKOZ!=O+wXq74d8F#w@g?y85#Z_rmJ4!-J~|AO`r` zzY;Sg=oiM}7bnfn&hA8%5C_MW_LQ#m4io&IER2;qq;vZvLKb~g+y$3@k{mmwNW5^O z{8ZiZTpg}ct;;Ior@QOWeO&FsmXzl%uDrhVJ_xbbl9EtxUMsDU0K8?({ub zZqv5_>e#Nf4Yen6@4J(Q<2ZbFlc*`L=~>tl4@Q-Xvozgwfq46bQS2d51a=Q;Sm8p= zUq==qk z$4;8;fnP9}S2WDuKvCbN$vQNdgWrQ%Y@P*?lH5OAnwjBimq9SF zI!-vT%@ff4U_%I%oxV8(S0?QCONCd=?h9({%~@$e`pxa>$v>){0>6ux&Wm5C?ja)V zhg9J>tNBL^=o-ppm11QhL9ESi_RNpXg%b=7e)6L))X(m*7Ebabi;`fF(e<*@~z8RdS(n(t9964r72FqR$qB*oonk!@Np} zS+`|hQIf6k69&rVubz&M7s~AIbXNCmDU+LR5kayZ@bxrWlkJEoU$MXaZpV5`FUIuE zw;xs==1vh2*hzp#hp5Y?XQoIA4&=-s&=Nd=dQkT2Y+;fE5(Fdw|a$b#|u90dfxSn7;bi?D0yLrV+b!P$-W#>stMbL zYrDu;v?~=`R5S0jOl7E$%h<5vhW*ILw1HTNG0Q*wud^^Dk<@*+X!JFmbbDIua%)PB~7z(2e{hzdyqp%b0;e2P6)zxc=Ox#e?vx(}x_iUgxjsu{SUl24x>cb*y ziZ7+b(Slnol6355@QD*-XvoXS8qsKb{fXLwf?pDxAEqIU%H6ttxsNLp?nCY_{eI2< zk&0WLO+UIa&lB{0KY-Pg%{H6}N`srDz6Y7;RO|6gcqS2Dy+FjE8HlkU;!-V)nz3ay zyTS|Ja0v?L#H6FtJV|El`Vz9#Gf*11u`1=lJQ}mK5TcUz{rxe|i_RbRWH$g$_L+hx zEJaHR4?K?1UF4W|BbaeeEVXfzhlEfV2W(CD2_jlIimwHTkSj8eWH|y^mwt4?@on2$ zU)z-rWd439u6!$l#7eXt8lfmCCnVaL1-N6nPh-qKJej7z+?i`UXsy9Nmq(HjH;KzH z=$RgVrZ=Oiz{aOJQA=mJTSKb!rP-=Cn{08D;2=y>_yU|!so)TUC6qeUNV6hAt=)6t z&t3VO8IZ>!yrV>zzYSfklMq-R|~#7Fzg9&f}CtGwOa%d8O@`?Yk%7;i(&?xpRO zKYdF=etW-Dl&|v-3xmY22hhcDV?Wze{3{5|=JLxXf?C5n%@MxjiHO}-!w9>B(8~er0oX!CUtlZ zpuc(=8GY82gIev&U~X$+KjbYXV1pRLv1M6Pu?&~AEmVThoyr#v>LyXpmpIHl z$G)QID2A{>d9+3h-aIFqj|@`#YRa~4DVFzb$WhLkFIu6}A^3m^($NGC;+wH3y!B4@ zUv3^WTEB?l}%!AQQKE_Iulp6EP@JpT%7=MJxe=~~LUAjYOJWMkv3{(EA&yMTcTif+D<*vu-~|bzTvb@tmV|l%FKSYynzfo* zA`Vl&g8&2c!lEn6RLFY7kSy|<$n)M7fT(>KU=f8TcaWLj(7;@{N?v`UW<#2f$*m?N z)q<_n9LkQ9c=cQpqR|XN9mwji1yf+~PV}`PK*))Yh(Ac#z%xG7Bp<$3e^`@nQ(ZveCmg(^H^naeVdPPn_2D-%hJxEr=} zjiOiWJ8D#)WqBV93B-3@FDx9$&6Isa+k=DMHs6$P1JF|96snd_~U7qN*`)cjY zxaNKXa#ujF$kBMB=Fw||LvVWgZz+Oql&O0WVSJcTJjYg+#Y3T|E`f%wFYD;&(6x*^ zJ%o4C4+s#|gCV_Axfc6XhQvP?JI_Po^7jWS(} zwtLOeO$IGZ+IL8~eo7(sV7>D89d>LsyXuw8F7f39WVc%wRYZE{o{!0?_|xz zPS(H3!j-aw!HIJx!j0g_PVtFXW1Nv;w9$H!2?!D?V>T@_D&z|7e;!BD0^^I3KyUNp zq+YQ!R84UkSSH3Zt~5fVZyK2)Wl|J)k?8irruflMaT>!#Y(4# zwNPfgl{EAhQDMT-lv4J0(P@2q5@otVKl=Xl?=uw>uxo|6)yRQJ4oFP{p2yo*5}I#u zyjA(F_-C>w?1o}Rl(WUN5|>v$i-)#^ZeH< z2XuS)1?;UfENpjZN?9OTD*Wvq`q`Gr+g^7xRfbOB#Y6hE0G_(`T3`< zg{xT>upb3d75iBJwe>UuNL(3iGIQ<-{cT>r=1dBBaU2lMew@yhj3VOWN}-H9K^9zg zFdoNY1gPY_i`PKrI@6-}u;@G97ykw2w7n;$Fa@N2Sw`=k$?9nn&S)<;&K9&snbQ6T zjnksFa>8AT!A~LxZNtzL;OXq-JCbHnXD4KO#BFMF-EUHTA2iLF1`HVe%g5J^3k>%V*(;Ys+ zs3mD${O~NAsShwfPxSiNR%JqJfmBmSU!>6^$&D8C51*sV6B2qV60xs2>V|T1AwB`I z3&oZt?bKnL>=xg5V;M66v2j>a5~f{Qde-)xSE8RAH(Ik>{Y-E2OoM2^rdTn%UyS<= zU%C~lS#_P6Wr{f`hsIyDtRX`xj;o*~i!S>JRXTKnwRT#Spr(-Xlf(g)%oE_#$oz(r z{Kofhv!^GY7w)n-7o)m{T}`ETw})XZTOmgMlIqH}E3?M9jEDQ|Uen75+)fXV`AO#~0on~isc&c z5-~2J(C`wDS2;L3*1&ss?9YP~y{4 zF>ZjI>FGS6*aNTy9?X%k(VsKkc;Wj-O&Y^g)I1bJykdf%uzr_!vN;&1R^BfzES!hP zu>one72F(Ord97Df;gP`_E#)VGb%30pQv<3qrTImKI;t#A9ISOh~L6csf(T@AZ>bx znSNt~KMXjSksullaPja8xcavsJXo!>&C{PP(G@Uj>`)(nbVWj)WT>;v6S=OInWZCH+E@3 zBi{$}7)Bj9A>xWN;)I2Sh_pRiMY^G06+_{@YJQK8M$dyoCS1PKnct7K;dxLW6K!?p zcYm4?G{P9>1$rwR!-v^Y#>+Wj(rQiwLOvHDQJYbsZo4NwiK4-F5=OzkzT-ZLn8~p* z!!ZixiGC&sk`W4219j&Ke7Ff0%I*d9!W6^)x}gd>boDYj1~|dfyDJmu>EH9ZhZvWg zk3cI#tv2aUAHtbVm7-{u{NsvT*yY!8*>kN?tGg8%mB-1dkzBoZLe?@y>0kH}xaN68 z0$zFbuR>lI;{a>_Ftq5(0X?D3A+}J9SNGIQKU)^>G+v**eLfqHf42 zU$9`dBe7F_7#g{lqnXA7R4P5i+;9Zyo(og_nVd6`#3sIk*5m$6%%{p#bQ zkxM)4CwmyXafIpJa`87ib{<(|9{f$j9G%I_IQ@QbU|M4OL6CQ(?z zrKADp5zrt=P#bNg4yp*6pJ@|jnpdWSp4dMkxIa}x{K=pC{hJ{o8SL~q=}XW6t-3o) ziH(IqRH3A<2sZ2|H(A-C5a2_}ByGRD10L|Nfq(FAFcdxa#V%jCxw##-2QdGX%cdl~ zOyFAQ*Jxh^gR0yLhNaGiVKTh2NTf`3Pg58J~;l$ zZKI|Gyh2ax0msVKy+-NX-s=jaC1q2IR~`BsL2~@eiv4DE6BDZ#gwy7gLLM=E3B%xf zm!Q{Oaw80k9{_i;qpBCgW0gI4${7XSZGT}T5zdMut{K2KmsO#Bt{KCZ{&r>~UM=jp z6>Qo}X_0>m5SWMn+s6eRj-T7`QN{S%Sgl9U_~EVM2>VgjJPxmiC0^9Nc>xG-YB9QD zy43W~W4>mESk{Il1Q*rd2PniH;r?wDc(wO80v>B3w63Dqkj45t>CyCsAaCio)QOdS8^8Tf=P-Xjw+Wk-tcug4v!$M1lWWwZVh|1ZF7ygPhqDV+xF+ zit~P-7qB28UAShE+!mX$q>>&;I{^$Ir$j~?y;^=7!xC(VoP`nI$QPh0@@68!qlkX9 zjZ(78jYa^su+dBM=*F1z^{psyasaDmJCL z(JjJzTI=~m>Up%z2Yb{Xrc70nl%q?fc2)4Tocy<|u)03WvoP2uQnG!2GP(cw4^Do{ z{G(G7YFIGxhrgJOcO58DH<&8WDdVuimQnP`nY&r{wzRpr`V=eNY2%^$p=(Msx>&O! zS2=Zad?fBPG9dtJ%~|5$O5#EPj>k|*$pPw!7(PNs!0pXeVNZ(V#`@8hHTjkE>FG&6 z8`Fv4o%dSK;o)w{bTg3;9{|6fSq>xeaJ+;J(dLNJaF3m9+N6GhGB#Rh!@}jk*&M!} z96X0R3&cQrz-U^OeM~f7y&KMZpo@qJV3WurgDIKXzPUb_%rhYGhW;1kpz}#tKBqf% z@dU&*f<6bEXWLUMmbcwA!5*|rGt>xF#0m>Ue6RZf9;6hj@@0DwCubHKY->}K=ljFQ z`)2##WD2WM%fv{LF`NgD5f@Cc4Wb5scE%mcTI#pKX~M_nHp0tgLy zJ%GlC^`u3}vIWMy2^In$6v%X}VN@J6jE7Lv^@+w&&{!H+&XGh)E+~J_@K^ASugnc` z>WSEoC6J?_MH@q9J=7VtbRjefNfUB@=i zh4(z|(IGCnsF1Fa+jozD#ZtyasrxU?8X;Et@toq>TpY%i{VP zN9-ox%{cp#5n9B%+rW&@+GhfpG7r?(6TKcLL4d7><{yB+Mh3+g`SWw9HPrYa=cafqRKs7(fM(nKfy=u!qJ~K9 zUI0s8Z|fv}9}yC01u75M*5Xg$bI-3UkUv_C6~9wxj1?usnj27S{J@94uMB$13R2V} z9?3!}i{p^v%05*nlZkT8hHgA3d;NG=4vecsF-kLD4@99U2!TEqXjz)34|@M2{I3QF zoUCSMG`NmsK=B+nID^y+gTB=oG;q&Y821)4vSU5!#M93SogaaAxkFWOh5wm62yvK6 zyD;tn{W8B$naHJ7X2^llS+aTU>5p6;H?(!(n|?MJT-eLBCIpAl%L9hIo*k^90av>3#EGcAJ+>)&hW) z4f-cbaAyRk<4Y7zwA+v0n;-8F2H>VUfE$90S!5g$k`7U3Hfs6oKl+(v@o$lC3omm8 z?0I7r<&X_>dFyxMLT_*H0ua#XuJn#mM6NO%7?&VKvNgj7Kl2pT#%-0?g=-j&ttQyM zK#^pH+vH3tX4cS${+khl6aw%5xgelyE}`(_bWj7B+n=h=a)s83S?CUi{ml`nUf|c6F&`LVYTE&+Iu8@f zHkUoV6Fz0++)lg4Bptt2W7^YAn0tv+bPh)mtMW6!MpfdK4;_UkOL>y0n~_vH`Jg7% z2-3P{ztMt%56bcQFMyGU%~qXcYek5(SBsvYkkxztZ#39I7kdQn1FsT)uN2$o0vL`d zD7eF!1F2hPSojDzl7b)jJ^TnxUSvJ3q3uj=PIV}MuK|mXmlSZth`0ohBEs59v~7X# zK-N;7v7hW5$N1aD7xqkfMS5L zBi{ib%YARH?gK`3x6WpOy?>+pnL@kGBDM1Pumery9Z`q31Y3lf z!mtU{8wfC7%UK**?6nX=vWI%P#YRC{4h{~)Ma2YJ!b#muQl|WedwaKUx8>qqRcyxJ zw{UbPhtz@qj301I?BkLAun%-=st>vNXEW?JEikR7=yal7lQFrHfnavgU&?PKE^nrA z0IWXX;&6Gr*1JqPZL+~(x;p54uX=1dCq8{TZ^ua{PNQu}yqt@nvI^Zd^E|;l1qwYD zMh@e`nvj`Xh&ttS>jH{&_^q43j{_3^uS`lGXDTstBeYe!kXlV=_@g#5w@J~YCSgS( zw+-54f1qx0=;FVAu{xDm)N^rL(09&H0@=y|F?7}V0Z-$mbrCV%P|)mz>~zHOvNs%x z%i)<+Lt*wDcl`T7FGQhzj;L_wvI&`xS{IRi7wzTf(1R}kzPpUrnh9IM$u$BZO25H< z&)WYmyy-+w*?+!?Yb3-pImu00DIo zjBXzBqb){=;s;GchwZrM=Q2BWGb27(TfFi)LB#r!lJK(PuZM7vu9-*abOpsUp}#;5 zFqPd|3j3T^1d+mmlvqUEexs?hd1RlrLh_0v^_(_-@hTdTSBZsIvim|HSBs70n)NCm;m#3fML^ zQPQ2T@4p9JvvWjU)UPnEaDS+f?lcsKl9YX{Gyeb`Dw)6=PD&)VcLLAbbRM9`3RCzD zLD2pod{09_r5?l~&9Do6S=)p=;~px{LkycTkWKlgDu%COkKLONWd68vDxB<|!j~9i zkjlUK$nIVMa3)Z1kF2`L)!=|cg>%1zF-ue8Bq%nBE3|I{Vot+T!1U21GM7K9_u9%a zK?0+7z-77BVk8m$zw1y$)Zu(d*Z$vUR0xCh)^6e>q_C>6OI^Q3B#u&UdB3~>F&AT0 z#$`4In=%Bhhx|7>^w`GkvPJi69h5x6vF6<&u@S)BM9g; z7NUt3@aSYUq3rtA&Au#CKF!lQBRmLUG6SRv&;9t_$*ymAOC!)V#dsH#Coz{w!h8ly zAXGgSL-Fu{N+o=v=RWknX|%|y-j987G@ZeBjap+fyPNjgbOzDwrJ?Zj?yyGb-dm60 zvszjIlLH{W?i`7p8AZ`xB)jUM_Iz7j1Tpj92}J#H6$!U`pHshMxp?gItqVF5r z&h^)?Hh;bfx8BsY{(S~d6^L3r_6)blac45nYcQIt1J ztz~nPd5S@e1dIXBIvR_|MTLucIf9HyjaZ;31a)$liw0mVA<`KX2glW2O zG#9gJcJV}sX%~=aAmhMO9XJ4hK1$&zx$zD>8w_AHI^IRS?(2*_;5R1#Hw|Y?&*l95 z+&IEjosz(juhFMh8`GSmA<_b7VvvXAbh|0%U(m-(!hh3ej_28)yc%4XDxn8qH*flv zEzg30$L**t;N4cKF0L|!qSLo$s18DiOhL}d3BdxgLlMrNrU^3VL#S@`GLK**cMp%b zE2&frGKR2wAqeZ9!BRV&@~p#H{p2ri4u&lLmi8Z~W+;b2wiVgH?F(&v3Q*B^*SRuP z!fE|#)J;PN=F3DRj>J6~6dO>Uxgc$)A05te3^I85&tx8dBa39Sdp@o+T%PuUyH;1Z zdLbE9tQI7EBRaxgme)bpt!T2J?~#>{;J{ReCJ7G+t(m`!r*7E;kf)zHW_N(I1q=!T zY)?6}%gdijYHH39va3zHf>rENPt#R15w8SkUSt^%7a|S&)ywG%{kZ~wS$G`0+L*p6 zq%UqaadN0l7@wzI7{UeO*ZS&1f1k!xw2=vUD=;9$;?yqEbUF!u;(kliZ5& zwHXcq-iA*TsX@dj{fq!nEgBxpkZx^KelFGhcx|OU`dUEnQ$27MOUB5EcxOW1ClGk) zMj$6J~=pp(gglg7b9V|tKFZ3aBPU{Ow_@+Vr_%YmlhY{&;dBfBh zXWJ#i%+)c}y%)&e_{mmA%UD_E9i1_Ia?doIaBl}E zJCPP35`Jaxd3CS8C(-otH3_)WnPVM)CxWF}8?@=ULT(hlbtKDh?z&sVp$HNLT9v=Z z@Z{ho`bu4?ZCBmOWNT3N+Ymrel7n|oqEdsJcGnL(BGxA=6-~wrJPQq^dN2ql0gP}D zs1l#awot%l=91%|4I&N1nhbxt^Yj4E(e;o5R=i5(;`GLbF%qlyFW|h5g&NL!htEI4 z$Jj6)8@Hq6sxJK<;#qB*dWVUF@0b>GbVY`hV`9G_oX^c0b8>RrB+>~X3IYaD`9bi- ztuXhu7RrJ9tbC^^N**T*mXLRP#@6C{<_vhZUe=lG9&BLY{N1p{`^2MY2Dl`rQk z?xUsJS5#wLw-+ltK|wmo%F3|W6JGbVEMrusiW5bz{i9U&3~ZOqT=FTxp*lMe=s1Xz z=@18F#tr5}RQedO)w;E-!LEoY5^610w1)!H#6P(FE$p~gbI=a&`u>38*$sWChB$aX zE{TqSsDtV;5Qy!I`Tj>ll6vBwBh!pjYOeQ=KM-y3Lod+r@IB82{O0BR?OxDi*UZ6_t|pbV^ju!EIor8 zc*>a3Ej%WF-zG1kX||@r=qIJ?g~y(5FOar>K+a|Y;EcQt(ZX!Ogawe+OiIeiM(B}D z;V#WEQNzK6=2lV=qqPdjud1E$9YXaW3kfbXz2=ZYop_HVAd!3A58OytIO&~j;O|$| zngrDiO0e-+yX8j!(5hb-ma}^ORZ^1DQsble(R4tE;6fgRn>!9b*;2?`W zN93yjw(M?{)tYBuw4oKKgv_DNm3go~)+s0LebQ%6;d0GySteHp7mg z+rZJDHY4r^&@EsuD-WnH+MwdIA{8Su ziPm5Mw+(|jM)yI~>%dVOWl~Tg4fesjY&Oh1=(a7M%0vDklvfcR|0mCpm+bB#ag4Bm#i>j6+J`vX)5x6EeHx^TH8BCU79kZPCYlQ zAIqi3=6#=s+~oq_d9oVznF=`Wd@|G1N$RSq?5Ef8Q1o*URO1YOM#j;Idmc@X_4oIm zn$d}c{y?5lM8T4?BejW-fI@XdwEb;isT<{u<}z$vjvIWTzAc+^zS4MzKx4+;n`r-N zwK4r!6bLl=M4jZRQaEF=yxDZpl@soLxi=Hgiw6GQG*lzl)Qm_IAA^ALCpSyxlQ(xgZ2hJ+)alF^1V=@95m-=Mf~YT>#)_NF_dI_Jh6mRgd!_dMGND=IF1%1ze#B@Kxu+S z@h)y`Y((V?@O5xFH8}ebZefzZCr={aT6B0Q{^7d`M4#mG+8UND4xXl+$p*iig{V<} zd$g=8N_rL;9vnT-4ScX7HW)7`BVSW2{0!`kCbVZ5F%T~6fE!|gxs@OdinYSqF{3NH zSZ!v8erqPkWx{^+oZJfc3f#W%a}?NDAjL2o}knh*Z#|A{xj1aQgk+AL8PFHG~hpE`gCXUnr6AHC~dFN{v5Oo4@!gRUc0dFnJx1j*bd~a|MFM7%$5Y zT#*n6Y$18{h!S(+-bie&jv6furghF8AT^hj`CvI-Zd+E}r*<15QLVfPO}>-8Bo5%b zUXB2yoSf_H>o^IYuVcN7uA`BPHg$G~#vQgC9n?jb0(ytmDC>TgJ1t=HarUWMwTIYm zyn*Z-82;q8g|m1)KO$XdWev1PzT0y>;?TXq%e}QrDScmlF7h1@NnG&p^voZisF4yW zhb?oa4_)~5AM71M<+tP`jd!GXV4zs5B*{RAF#X&9Da_@NG%9SY#4;tG6y?eNnoH6y z3Y2Xn!eF7k6dM$sE*6hAl1d$|gjVAgF}qAXf6icyCrKJiq|%6A|B|gyFmoW9_#PET z8JJ04t39Qzbniu{7unjR{)73l9eHc0!1Q$o|KG=vytsX4byDoh@~W!Sl;v#GO*@Du z`|bZ2#{P~qXjE${>iPkFM^Dxk0odisqx+7|0(C;g{Dq*E z!sBJ@V%3{$%HX~%=$rZk9VbeX6IT%Oy$?4#nr0VvyeHvm!rk(kD+@14*z((y*oz}N zOf0?%-|>P|F)ua5SpB;Ni+_o}z`GlV1NTe|P7^2cd7S*_$hS?^rj&EF{>GAC91{o} zFTTV{IPRg{74s{j&TX+ek`VeDWYa!u+K5p>4Q&5@5q_&J(+j-`rLxL}opNdNfZLfU z7eK3Zv#qs1f6ttaWW)r`sd+G3>d|ZdB&8BSC;)h_>rXd_rb&GrNZzmKM@PN{+3|4# zqO84W<3o%-?@M3z8XnD&KBf5%@sc32+^^w>^F&aPA4RRq$Mp5qB0rpbFB1-Y{frFf z1>Yn=80a$CTN?%k&J08kPVq*$kVM&$d>uZ`hCoDlSFcP8ae`{*X+yu_^Xs9pm0O%? zB`hG0DLfH-pW5x!z{?gST8e|wqQzo!vA0)(q~0Ic%Y!bghL}i;ZlMkBqk{d0pL9Pr zK}~^~JyPnfp0oBZ4)Shv02%&`awvK|M01l}iMj5lW+F+IHUJq*Zvn4?at- zIN5=_nHoK@MCa`%R>+p9l~phvbXa>_93PltDMZk)c$#opzcBaEk#YH?um4z?Rv~#P8K=^q7Nzf+2@u zLDzeuNfa+w@jkM^);QpU=2s@tH;{cL&Uly*9lq`>;7UGaW2v|*kFqNn@*vz&T@cDYuCl%(2qx;20vDrs44xB(Sx53RjnW!|M12cuiV zg5Kt4P+|{=I9pU6(&-k+xi(h&BUrE8pk4%J_o)0Az5{ZPHED0${{kNh;Ptb3x2-Nk zhDL$5*zqfYYK^O3f|)+*;8c#Y-25`X2MR%>gp*`{D7k(7>Xt4wLNJ*wAr6&M zMPjX!2dHRNQ@uY;UA#BK>jWqEVk?0^g>c}(^9K$bXvRD4bZPpuW3K7!a|I;fB)bKi ztsng02OTgIF8~nef-k~CByB880svqGd=yS;;N&?O*pxQCWtyX}dKpZ+jizY=aF3~L z32~T{sh}534JYY{sn}<#zsY8~9T)7GE%%fqKcCc4;*x^wwaxL&EdXg)U$6w)DEsbeLGg5PrEdOFLu1+h=hDgL|RsifM#OFr5qy^Z`wT+kIGuh>u z>gEgtF_27i6sLSVrey$=$qIIjaG8t&?mcd;?E+F*im-50w3{{-aQ!7%7WAviDk>^= zLraw(J$m#w%)!=Wa!aHAFaIi-h0~?ELhOV36F>i6$#X> z2+(w@n<+z5eI>=jG4LGc;R(Q4 z43sy+(m07294j)Ng>QBE+($FgbeOofMDpWISJm%q*A{B(t_XlBq zC-x`>kqCVR>z6(VwH7eaaUy~E|1i+qI`nP*r=NaW4b->CxC-cM)LbgLYB3Vw{PpYC z7eae2%E-vrib0WuL6L)(oD0TFf!UZQd^rlB2vN|+fuv0zs&duz-)NfCG=t8olEqsc zkVx(~eDwi6&`w=I{5r7Jp`R;YDKu7AR_-eS!6ZCgT3Xr@ATAZ~9Zq-p+%gyG*=L`P z2V_5c%a$#Li1;Vs#peRXU$$h)5@y^pK1Ne=HU>?k+nQn|CD3cB_fq{Q@&B~$Yd7Xn zpmUp)z_|T9gwS0AzVcYPi&Jn0nwy)e08*T*tE)T5N?-JWPnd zdvY|I0)EIioZo$?GlPv{_Sv7NQo2BiH4;vjX-2T{22E_7_tk>_;qpD@2k*Ful)~x%O8M;(L0=W#*J%_#%P*EUkzlgWs%9wYprxfznJxih zNiy{c0*4vu4D2%K%W?)i4Gj(Ff%sM8yy7)$*7U%)twRj50zOrJkTuclTNzggb6t&q zMlc#-&r1o+Iu@L2&xOk0fB*f`zP`SSrluw%H#he@2FQF2pvvUrWERNb?B`tkPDW#m z`$YWCMfHRmX2}&TO?5PzS}e{AoPXyR<1)jw;)Xv6qiUZKBz-4woMZNib1Vfdkf6s@FFAT6u@&m2E&)JBBHZLMVZ3hl6AT>iBC{Q2{x%%C`X z_AE;pGyx3i%gM>9XlZF_4%DY)Fj4o=x?0PBf8I2gPL^62#`0CkwMU{vuDI{9#~vH} z=%bHnFj!15SIh$sJW!F4kdTVOQDyi{L@vO_3bC9z!U>x!aGB4nd@xrgS2Q&J%L1qg zg(FIbnPUtdk9NE|A1c7{jxS{nFM455aKzSyeJv0omADSq6DE_<1Y};8y}mG$Y5(wt zKh$jBzP%CJstbW&4}7W~nAP&W(mHS|4{Ho{)iD<7^RBu4h|-i*aydhn-{B`%2xbQK z4}fx|!WT<|xtNZD7X=fEei(~grT`dO0O_4MZ{9qX<0k6JO)?lKCvvG;YB<(2rym!M z0nKALQ87{}#~jqzk{U*jMY)ijw})fkt{|WGreSG6gjef8z{antVfI zKg)?Xf_Ykirq+D&$tUeVRQoPoyx4nWG+(|8ld-kAR zeYh{dhh7%Psj8}KKYaM`WoVt=V9#s~FYn~R@wV1Se_hd;z*m~CG1us1`wMbKL^|MO znc>Po_qDHmEfRw>3Slx&S67z@j1-ZWm>7Y99LK6l07sHwe#UOzyqP8?Q?RJ%_`hT> zQ)x@UTLsuJ=d4h>u%uh(v17+tckSBM3*?T>#yTE-tlL485UAe(Hdcfhm_L8M7v|i6 z5hBs7#)n6)$tA#wYs__x#zdwYl>Xb_{+7#;s#S*6-~Il_an3m~KO?^V?QeUYdg>|Z zn?*vy#gG{Ra}$L$B_P6j8LXqhPm=tfpN7In?&unGjgwU70)sgHcr`=IB)8|j z+Mjv6bd9+tM&r(i*8-=ZTz5S0$_iy)sA*Z6DQt#tug^7o-s4;orJ&5A#LNO6A1Ku) o)O`~rGk^dHg>kMi(bb?eOkoICf<-W}~qD_hM*2gcf+opR^Sz2~0uJ53^k)UTwfssw-J zufP6U#_v<7PF0?J?m6|@XP;H^=U}h%;fEiZ;7@3Id3juDs3|feBr4QwHd_=$QDs>+ zyWMV+$K$cW{ot!&Ruoyn&n7s_;#ys;cmBmh{X~b36nV#&b6>>;$NJER@jg+nb|#M_E)^0!oGXhcaQL$e-@A7-^F9w z9S%pc-EMD;h=^z~nM{uT`}fzr|Ni@}@4owPBQO&W>~p~}&d|_MM`dND6V7pq?Fi5> z#9tqhLFzLylR@fr;)DOAk3N!y3>hL_cinXaKC3X%6~-Jo8}#a(cRmyq65@`9IhCTS zWQZ)AV$Ei2Qh0c1*!b}i60@_jLtp~Nz-F~rEFo|XZuo9xb`9CjhSXtF3V#*hySPvF zbBsc~j0ZOtNEc4n?C=>kcSc59-I66YG^L~@mD%mi7GQ1_z}%`#CbbfpTM81DOMGa5 z{eu0tWy=;5|6W~PE%xCc^#Kh^7`;cdZ()#&-}%NT0~gihv17-YPn!L;D zEejXkl$ey1850|uo&#z@BB%+Oz!cJCSsDTYLn{0Yhs(#pUpP;aCHNx^m^Z2t?a@^# zM!{z{JgWoRcLDY_y4^}4{CEKvM=|^@0I8$)KiGo;B;5jL69NC}a+B4E!Z=u*JX@!M1SkhVX2u8^07@M-urA~!NJaukg7RQNp3WHQHsNS_9Pqz!;ctM^=7WhD`J zFfx5b)x;Y5M_hdcX~)}8n8>(WJ52RChEH(@AdsLQTsw{es=RFiv*7JTl_`~NiUyo| zJflaCsT)2#w+^I@;~+^@00wddFp#2i=gt+r{r1~c+qP|U0}$#a0`7wM1Hc!VGQAh5 zDMn0Yka~~?8OEiP1S^^}X3Q8mU{9VrsWL?0FRH(6*|L<<($eV6%#5r#b7sX(nKCIe zHa0$yXp?6s(WHoBL<1`Q-7Y{gd;vqWY#2p#f1sg4Td9C)L;?$mr20FiyJDzHjVlsb zPb5Fr<7$~KwhI^}ZeccCNILAo{-}p-By6=KM~*C+GG)qz($b;|fJchr;*y#H)Gc1S zcC7=?2d2vbS^bjmPGs?&!1qBbOApW>!{`B;J9nt-uwF_0Q6zw?DIDh`UnrYLf zwn~W_%1}?l4WGEsiJ4ly6gBZre5tS+cq?7=xRDboW zU->hK%Hzh38xj&C$0Q`A#@&AV?Kw-AE=@~GNtp`2CBZh9XwpP5q%#Y{#Fw?(N<^4| zS_2JQkUw=K;KLcdtHKV6e+hsy^4o~_W9?G8swDOkXBMpS9k1%ER<*;H4_g^*2f-{` z1^C8kkTe=LZQ4}c+S*zJDoHCbFa~7ShVO$I$3@bhgmDoB_=F6T9|vKF2_PI31}ocW zkSZp^KpqY_#rUYG$Y}T}g=qc|;eIZy2AJ6TYAkEw17#3QqTmM@E~I}V-6c`9QN83q^dz=KYG#{i6hu9WWM;NApCRr6!6_rUHgG{5FG$>&NM^vIfNdm_&e#V^! zz1WtMlQX2LsmTW7aPIy0-=7IgWhzW?lqfP`i|yq46!SpoK@ijV#F32BLvND58N}Hk zG7C|#@3c)m9LIaS$Pf)uh^TJq{R;huS2B^ngdiwdS@ywp2AK1yH{X2o?5nT7+HmO5 zp$nOrnU2E3LOZ)3ZPjznJ*PLEzf&^EJc6P@2_pzXi2|4abybEz=l18O{P4pMM=e+| z=W4rM$xcpAo(!r=Dhzg1Jy4yB4e@pC&I!|||9hHaG1W}P-`*7Usa@X&K*Wfj}O+*8GE9m4*6%a7jkA9IFQ4b&&kf zAj1eiz#L3ZKKZ1C?#KSja!)_~bRrD8iII_Exie;5J@cxou1buLA2N<;CP7_t^ZGb2 z)K8c#$S@2s6Wt=V!t+b2?3zaDN5aEIUkjffC0|gqBNn3iK7{e&{F>S{*6*!o`y@n3 z8N-mYwsgEt5DY}s%(PytQtLZ<8PQ54UKhd764+{si;E9#*|Mc%JCMaX-I`s~8O0S+hd-m9j zjEqsTY`WTJGbIy0>IYktsRobM04_~*Q}s}}1fdFk4R{Tv&Tz{E|J>69J;=uDhxs^T z89@hzRd~e&@e0~+R5de1ocXzzYB*Ilrl@`!CCibpjRxrgC5Lffxf*xNEw`Km=5Yo9 z(nCaxN8#!ss-QBA1v9gzc*r0Pl96y#VJi%7;>4qa=k)1=(@IJT{;i~>WOYkROA)ME zjlxQ-h%2lpO$e)Dx1|Y9N>My)6?GXT2#*?=lwh`?NmZ0!uPJPS2;1#e{YybghX)9< zuSBVXy#r$(!G6VozuE0=C2qIts|y!Oo_Y4!|1)mp%$cFW`<75Wf#WQyCSeY$?E-z{ zB@FID%n);*AhD@ar-o%^WlfqobyCL2k(1}cu1T;>AX+ShNL1%VvnaQ8bQj2El7phE z9ac}=VG80BJg5tGcU%=w6|zHnc!)V=Xt1gh*yw#=g3%Qp|6<#5^JthXU8)hjluZ`N z43tvYXW*!0#Vgxvq3C{|lA4+xbNlUgC3!ri)1X@J0LikVw6wHt-n@Bkel1)) z*a9+WNg;!vC$1(YbRh;%Oce(T>@zQ0wrn(ru6KeeGBqY9dM2nKeDG5TAbu>z1aYA1 z7w#srVArD)hB-HJ{{yLu^9VEZ*1}c~`zk?SceJ;+w*n)mhu@maW^+AEAQ$NHc94z~ z*yw8Ra=BF4DC2Ou-NfVa5SPcLdi1ai6S101lFeo#xFMr3!S}GRFbV$3QBhGQU>e96 zBU~shK$z@l~ix;)7YVX0Wl$eJ)hu|GnTK#<&R#^=^Y> zTY)K{Q&M$BMMZN_QBf)EYlM}u8a8AY?Z5;Y;XchU*&E=x?#9MOJ2Huyni>U|2o>M) z!mX`Z`U(6Cj6g*p1^0x*e<7X_34Kz-!!^fLtJNyu2250fYnZ^SEHyPXg`;Ev8z%9I z2o1GG!{md%p`pNJlAw!Xb8?2K4jVQseCW_&@!CpHC66$+g>=a$mO>au&7&+qUie;xB*sW8v3de|-k}wn4lnhS4*NnO_{{n?T=4hJhB4XP$XR z#{8Ku5Pd+c=bwLmG_0HpX3UteBsVuVB_bjM{VJ@&A#C7zyDnJuLs%L0XjTES>q=C| z+?WMKOFB~ljGzcs$EJ1b))nvAv7=?<#*MWgIZ&$%OM&Ns3GG6{RCtMriAr;GGksQ! zWJQMI??y05e7*z2>~IV)B8fe>1k#BF_cH@SF~NPT@EtB~#@wMMkVH^TLB0{Pbm@|$ zMT?e1FIcc33+|6GG+9J*YD*(pYz^t+`9*WFE_vXWt|Sg(kPO)SQU$OW3Ejz?YHDhC zo;I{o5V2qv+9luM4PWlQc_a*{Q2`k zfBy5IPXM|J_Rk}l=b%U&*rbzNG9-EEj8s1^(4u!E@qG`7H=q=O5NO)#?rTGi3^2EZX2LB(hVvu?xM zwQHT^G9p~9j~zQ!4veq?q>S3ChN|$S*rb@b^XDclzJ75+(vZaA&?)HVjSg@ieMo7- z=|(j~OhAlj&2>9-ATmgXCI(XTcOxzU>9Mh~b3qbK!Ca}Yz4qD~Q2EN~^LeJL=DBdb@hu7$ttBtSwQ@i}22%RJK; z=-_lGOVdvP)Fr(^n9$hR4)&Kz1YKGe&{73bR0v#aC`{Dk*x2Z+;Ux`?j0~R`7ZaBn z7Z)3Av4n(TKf?R52=~x}_IP%$PNH`M5qm#e%|tQ@?RUZZ*b5B%6Obs@e(=EuXNgx0 z;*y5)O_DUObcR8h1q?=0eSN(GFIUGamMmFfn>=~)bzljZjCcj?nnr{mF{ZX~#GVe0 zj@pA?qKG^*>&Z+S@plqRIhDXLPJ$#+3=_O$*REaX0Yj(-akwBZF0PTqJ_I`ueKLRf zBTViC424`O@gzZAU8}nQAzG$D-HHN0br_g9qeqPzl{0_g{N$UKEXhqwOwJ@4-Z8wB zOHk_uvsQJmt^^>iBJ!j@CW9o>aN$DfksUj>Z{4wD*T;a@oaVTOD&!MoxkRt{tX@|# z!_X&?ao~a;o%rB`501LyjyslvWHB3djUmj}fm=WDv&^dc1baj7OF?{tnM8n21+@Y} zNq`{i$H9V-Us6)C^WedQ$M^2tTlnRdU)Dl<)DtI8aK`5KOE8!jaUZU3?AZwEsN;(( zeP2?b`^qTFXJ=<4*v$7)2|h6MFJ3Zx_UtJzIZ?70W;hooYtW`r z!G}UcXXs8Gtq_|i16}y&kt0VccJADH1Q0BS6lP)^3Xh74Ce0B6DN*4Icn7C z)T?LB95*CBF&->2nD;Z9onn%xdzq#=GOtf+K2<3L>6&>kFj_;yHH2a_sHN*Y30fYD}45p>`-FM%3P&uMf zQ&Uj|Lbqhfm{ctQN_SDm)r*xtl)Bh17xHO0dtOO+ZW-OO@tIX$mu!5GXxfef=_CcL zEu+5p;){C$Kz$Z4hTR^IyWZn=t45D>DjFyll;&}Jo!oeJ0H&rdLOGL`Mw1TKU zZrm6M=GVm9j%H9;Rf|p>J9fUTqGB%`e;!uLeWGn&B<`k;?FRr<#UMD`e7- z^zFCb{$5K<%X(Nn^2ODkNeEoJ2zCYH$MfJRBROF^SzlNGmw*2ApLZ`^x^#M4T3YxIwCT1a)!@Zv}oLKUU>e#9sBnD zw%y*oRg(%j#J{1$;9voKn0i3fHZ5dc+kD?M6BaRiA0-sGa7p~3#p86o1?KMCK@IU4 zZwC$>u;50%8Sm|~B+4w%6VEWHBv^^YfwkfP0{Xs7lv&xtcQRE%4ORtFwJ21c+WCt;ul%i25bvo1g^w)dL=vzU6H{oX##)~S0vq;Y1*`D*-toD8Fkg>f`a@FYu2nj`oRYu?I;BT%%TQB%^IIe2@Fk4 zMmw1LJ|K1QqoF(f`*wr?sGWJsEw^NVxqLXNGz;K3bOIY?I8MP}U3`_QH@GYyVRm$x z$e8a-VFolaMNu^iO*8tnKNg0HZ(MxgX8T! zqK3j$jjl4GvHuvnjVcYQoGvDAsw~^ude|NSsWJmY4OlznD@}U5oDp3vS;zn)k|&;c zLN{einKC8kkw+f66-;*vz#KM|u$RU2Rp5l>(V?A@D!O$8wkeSg;3kT^UvJ;K^Q-k6 z*B5>K@yB~Wr!Du_Rt%pIIQ#wiRO0BUGtG~)3km9xY==HYsonX@#ZsT(XV=oa30Np&9!jhLQDg& z2>|w1=95GHLQ+yv%xsJfN*et^JVTZMl2L*eHvYZ$-une`eq2$UTpCcc+?q~Jf9+Nl zCoxwges_Td!&O*VSaR^d!B^L>UVrb8e)OZboSYn+&^#{rSeTiur&H$*l9wnj%KO{j ziavYx?8ra;=}!|XD=VLCYHHZp+S=R-rdXbxi%OhKatJUsG>k(_U8>~)Q+>0Av18o$ z{VUiW0ckQJJw2Uf@?w&PB@muXz%DTEbpJKpc$Bw1PqiGZ)8_6K`8eyCa^f!K#;N74(8u#gaUQ$xxy!z^^t6?E& zZ)s^Q1;dInJUlWA#sSuFrEx+S6sX}M$Uuy4<=*k)jV_iL4o1B~WndU6u;4XNC5?%U z3~Pm<)39yZwt5(!=&Xi8Yk0mH9oEG54N@->N1z3VCQ9%UM!oswn?D9j;V}GOC#b44 zkK;v{OgUb`^j%nzRHgCMspBhu{_~$b4iW{%H0YtxY=tv(sfT=X%%KB?^w}*~R*d;s z!x5esvn0v`hA7l?fmvvUwsuWVl1%V z${Y$WOS-HYu6pAs6fv7KNEYc&KKbOW*I$4AjeuE96prUng#n`%^{_{89Ef6wT10Y} zm6h&2c<|t9kS5lD_SqL3K`r6d52}+QE`fLo?B^vE2Un23CEWuHV{3qcb2ob2IBw9k zcI{dc5fQP?WHL2OoH(&!-n{FUOq@6&CnO{cEodMiXeE+RJt3q+WqIElYKs?h;v+6N z%mT~<&o={9w%BB{M2;CV(z9X1hW&8(Id&R4?NOB##;{5TF^%3M0Ug)hU}|dW(3f9+ z`Qg^qR&>fL79Q1#Q*%y=YEoxcV?s7(XYl4td9;mmuD*XxduoXA2c-7-pw4jbV6sZ z%Tdy}TrdoYy=)qW%rFZyou=G(-+i||^w2|h!bD!cbW%=kwles~EZ8o(LhvLi+VY~S zI`CV|p+kqhT)lery3apf@o`R0?%s9l*0u6WUj$NZ0Zb@qzZ2rLe-!+Wh)eFu}<<936j;T9xS)t{81OB$-?=OgZK zb2!@GK6mc;&7!4*OU%rYHaLcQhV*pz>Q}E`^){H|9$2<)S)|w)lyuMm3kM$=G?!j>gcBCk1Ne*a zANu>l$YGEe=k4CT`?d1&vi+>+k*exuc@Blci18?a7zSHw^aV(8?o!c3{o|IF#>GGX z`Ss%YJ~l+W4sk zvzRZbn$;9l5Jd*7D;#Ixr-6;WE-&xg`uE;@_oILP>y4xP_I-UpJQpvzckf=pOr?V= z$Yn+-{@2&nBZH70c;Es49trx^0BBv~a5$vc*cf%>$dQ;+6eqT(h|prt)OMUeMeP2QWW{WS8Vinl%ULEio(SV7f2TE>bY~Lt3Uea-Iss< z^Pet4b%O{ikN{E*ijG$Rac3{4BIxfKENQG851j#QPb16 zzx`P9k|j6HA3Ju;okS~HsI_0g@F3*odRA}0*HxLTH#*zEDu9v&MX7<&kn-{imAiKB zUiJFxuYb07?fS#OAg~UIo*wUSfBTz+*_2=f7&L=j0mPlXs;jH%m?s9zRH7Sx?r2eHnbJ6rws+i(2y+uvS3H#0L66YKCWW$JD`(7FB~T@pz`z76p` zM}gWqW9RnmziDY~Jb*!l-XVwPdITo4>};J#vRs;V3MN-tj2a}3Q-A*RADO*D4xD;gQqqvy;qxrwZ8wbtz&wtCV8~rb7CgBt zI@aJ0u&w}R(N+aG#iy^m_U7jxChjjQE3@<-eEN%Z}KiBkq_gO`6mYFe>k z#eQ_ey5aik-S;eC-kLCE$TfsY3e=4pox9vLm1`i=y+#tx56T<^H9*5^9WiIl+y%gP zY5_$57{*>RFLH&86ef5kgbcXcpaYFz@Z1N=6Hh#$1B&o6GoquT=Rsf2g+toSc|0$pkUD-4+`O_$uVSWp zvwcyYpH-_?odjvXJY~uxH9kH*1`y2=gr#>x9>F74RYUnqzK>nYjAbW~;1~o>EqLt2 zi4${&4a-Mmbtxv%~g{@3Z8gw3vnN)2r+;7!wdg@AdTV+0nF#)gLa?Pt!MTC;xrmnQ+}QrPikG_#>( z@yaW&44O^9nWSRg3fT1QXeh*P+`he_tfq2z?#NtoTG~)vP>IeTt!R~2%En(ZVPP2I z@w^TTuj?9-ot>Ta=%bGg2UYw)Nl6LMqk*|W>DV4fWeWxhm`8ypoT$XBLrM=m_~2FO z_MMcJbW=!3NEYr?6dxl+XUu~Bp%(&c2vcJ|Xy~SOz_!{v9{PN3B0yh_;TD2rR#*q0z`bHB~37A@-6O0?{ z4L2;jY1_7KzlSkX~{`>WD$ug#!Rl&=7 zkl@82vk)1^?AfzZPn|k-Gj!4?u+`|VgBGPx+%&~zKxRP=CmwB6dFp4}?*v=>+O=y} zKlS+I_owg-&q%6zc}5NnQlF5-Capd`(76ltO*?4t3qrFE*=2eYkSOz5MJo*m4!I7op=W#td`0eAH1 z(N<7Vj{N=aFKs_{>hy8g)xv%<13!=%cIFP0GFD|py4i6$J~3oSLgF>oTsva&7U(x`|VSRw?O!SiD>Qb$zqJqlfLtv?+m}~w%f+V#}CQmJF$iYVeYkR-~!1i z7w-t|Xo-WIjzfnIA9?@%cfQKcKeMX=h@XJj#{FfS9;89?Ln<39`uMA;sHk4CV#S8n zUVCjNNFB%BZa0@wxf7w{Evf03(4k8fe#T(8$r%|Lv+ln8?krx91@nPoZdg_Q2IKI? zz%tCby?pudQ6O3T0QPNyj;v?cgQ9_#s-e7{U%gNSIjOG(SV4CG_P4)9kTY4hJs0r? zb6E^h&?ICh_Zc^!LJWK1h2Q-GBn@7MljCMQ6PFU$M@aJ{5~;1N?F@kZ|8el(LGDVx z6FN!8d-pZo87EP#LFN%&_R>Li*>n&m& z^qDZPMSFY8(Srx~tysBoU0CGQ@2o$8rI>TSpX?`teCjBwY8=7 zOU4wn5c4fnYz5%n^xHwpG_H)9s)iffuZ`})c7 z`6`g&GPNUlz?eij!7XT#5)?3q@3VO7>gu%ls!#_RUUfa|IDW8aJQXD^jlyNve;^lsHIuA??LH&crU zj^nSs`l@cyq)D5=dXhGC=B(71n7C=|a6Wds8p|rX7B&VK%xU4_5za-67FC1veBrat zKC8w1U^aAok1Qav&lkQvXBY?^fn*^T)3w3Abm){ZASEOUQU&#);2b&-(IR(}Psbs5 zKj&~b_Z~TNv=EpD)oZqF*A_2SXY{7!V%PMv`crn72xwv;pAa1JA7ZPh9 z{fo>D2SX1G2rg04zr3tqptfCi9kzjf!q$-P5-ZNbpNUVxi*7&bdmJkg?;C&jGk)%* zeXOr}!rgDF!oBEUo`ZrFe3m5t1)u3D(61isTg<1ynFau#cEBZyCQO)o0&H<88AK5_ z$1vy&#(1EpR*I(yztNBfS(dVaVWg&~r$->eAS_6Z_f3B>jXouwS%`lJ>>}g!*I$1G zEKHkKEdeV7EfK(^TR^}_VP0CQ;B8l1TXXF2;lsau;e{7Qu>dkkm|p{fib&U!p1urK z$Rn!y<|**EbvTBDWBxY7Z~m@*sdjfgy}r1K_wTHIJ+NJ}XJU8yv$L%`=L!83Z2Kja zx5dZQ`sY9Y`Nrbn;`bUG8;kk4RM5Lq%hwgi#Huiml#XRqdJ%#96|mio`Cy2!z^mSp zkbO#hDq*Oah)Gz?2&E^Ucp_xdqzOZz?-9EYd?dJQOThQ02>Au{jw>!MtbX_156e%zo0s@d2-BB@1L0$VL+3 zl#xY6MJM2MF%e==$dyb+rxzsbH~@%lfxn*uHx+G5y5tauBdeOZ$|; z1dvm#ekKPKBcgVcD1uq#rC!=DmL%h|kl@=a2eFy_Y_gy4QWtITOP%yRzkk2>YoOn_ zWFj61D$qi(&buC4q#KR6Z zXG{VmP(SaXKi&3?W15PoFkiQCfEY@Q26gK`5mo)`GZ9cO7RaJFfWo6|y=xeNF$$k4N7{;t3of39F0|;?5!3tr@%*-UW-FBO0 z!h{L<8GZZdDr&bkK);1R6PzZ8gK+T@Hm8Ik08S@f(MeMPA~_tIl?}g(pFwO@T`m_$ zS#5Gl3m)G>>g!uwpMSog;n1P&O?i2F4iY@^ux$Mqa&mIy(W6J3ZomC@>y#-|tneIR zAVOO)6x(Xm2Q8QcT{5&ohV~Fx%_yU0f3fm8z20}e^Bvsh^G3{OGra~L3-1N9NV!r| zQ(GT>^wIkN_>cdnhwtsIO}eV#x8YvZMGqH${`u!afA+JVVH{C7^cD8K1b;o)U*fsg zhxpfOwNe#^_c`0guMd;hfi8cra@%;3Z7RjGRb6@Sz4tsTR;*Chty`zSyTiRVw%$Ru#q?4gA z=!ai*)m3RQ$;j;4vqNF<;JtWqU`t3y3=_XYOg5Xo0*PX;Bs_!<;pzbrDNZt#rEP;j zFI$0;C}7zE9k{9y@Rz;&_PGwj;pM#lq`;nQq7;IEEio}MX`nyn0<%aOHY`14`t+$$ zSy?&w4B?THk@y@|v6Eq5btb~ge(q;%3-$+sa*eQ60`PYXn8{K2j5S>xUG<3{iWxE_ zb}amz0oxFm_%^%;{B`(gllbg9lQ0lWVjE6mWrU^f>ugfuSi?>DUI$~osjaOo_qyxmj+i#>sxiFn%)BZxcb(X8un$xD z>0`@ev4jkTZOltAy>$5d-~WC+@%F2!FY|x)I>X?i=C{7}EkzU=Zo28Fgp7=gVQ>U6 z3(4j^UhB|6n3tB_NL7VvHNvFJJ9+Zd30NU&`A){|X--Zt(vXqFY}q`)4&C|m(@#f& z83|g|0CRTydOe&3?Rb}RUBk8UAy{!I5Ey<3q{HE9-=KK*xzXFaIo`yOzr%$>NnPc z-WDex;sMAoJgm|>4KatmPLMU+Sy|bp zSn`O+fpqI`XlN*ccalGK>NHI9i&gYw)@C=xkq|#>H;c%oxQ46|?nZ;an9xw`7?560 zR8>_~l767xW*8`0ppzDMithTlX3ZMg!i5V*LPv}en1!N&`ZU9`U+hA7SyUatNe9;` zYHx4ec<$V}jlk85__0_?YSpS$0Wko?RG98b2Rup_GiS~m85b9anV}cKmMb35-PBQC zLho}Nn=CCG;R}W4Z7SYQ0_lMSB$XCl^IgCJZ;1sdAQi^4v6ib3V+b^n@4x@ignRC} zdrEe8=FRXm9YkT_8SoXzglkZNT>^w}o%q1ejLNc4`*CtxVBZ;=%@jerk^sG-$fON7 z^x3y$$&zSb+}QsUg=^?-@z*BKEc~}uGMumNHJfGa)+UuiTB1p0q@GDZ1@)~JB&8GV z{)&Lf1R7Ixp8&Aa@eU^bb2T-UyW!(l_B?UI^Z1oA81QSn{xCc)Ep2%If(1(|-+S*( z$}q5=iSUrUu9oyV$_kShO9tp2g2_khcKa~UJ=0-Tis1V-l~Nb|{9THh+GHLtf|Izt zy``qEuIe<1^tdAHB?6!$71S&JT?hv*IxwMw5hEEaD+wS;WWwik*dmPQ;Ka}-hj-BN zeSGs)_wFzT{F1-t1cuZIebWLH-A%ft4lCY+58fR;cI@aO(2p@4uWiyNco2@OL6Ko# zqj=u{Z32sxsmu1`^CQS@bgvHAk}m3@I?h-8r?IiojAE1V9>Pg} zNmNUah7KL-vRXs)U;#KrG>MB-K!-%O-@6Iz0F-IGrSU>KZ@%isS3Y!`@Y4+#f?o(O$XPnU%#QSu<)3oiFy1!OvLefU1py4dED^q?BQeYzWdgZ z-1!j~3}#gdZk4)3>U9YNS9$1k9grz6E{*^R11IHB;$vzG{JhL6q6n)gooLXR#m9~v zEBoS$&s+JiJg}|1@eHUsfQZWVP`$k>OTWf2hd^7bYWDBfq)Cb}z_W{Vxh zL!SjeQx?lZvb%S$y^KlwY%0TGc%S%blL^&I(goqUOv>}QNLg8#skODW!~RR@cbs_M z&G#C_j}-(K5Dym8y7}gtC4X%QM9i%mFU!wE9L@dt=O0~wv04fIqFp##W~xqyvC1SS zhBN89FR|IoQ86)=RKU2BF~6vI3aJ0R&NOM&iTV64%Ql+3fOwH~B)WpCT9#*h za53FeoJ2vBFllMEd9M_}RUMNW85ycZM8tM_9Y2zo4B|anKy2({3e!GVUQ>lLs~%aM z1w6rcJFeRe%vm*h-M_2U&9>_$48UVR7`mWYTb36OPRUqDxB<9E?3 zlb=hi3e?f~651_pM)1+F;EEofowYR(;q|Hc+K=_X*nizt5Y)(*fN^G_e^rNUEx@0NozD0qqrK&!^;UYT>tn!%`E?f|? zwu@z?-J;%N7(NpXzXS4Zn>BY(3lLdg9=lZ@!6kaw@+gR~Jy@PRSr)z>IRD3omkh1WxHaHIYz~S*{K7*(46Kb$9dW zB*`b|hrSmu2m(5Mrvp`RGUFrzP-?N;TXAJJbLOcTl4SZ<%fBF9@@8zW_=RYeH!El) zW?*{8-+WGFq3e?2xe#j%gEohSVE#B;QU))9i?lkdW~sM~+Mr`a&@RuDwCMsgn3y zyP~2XJ}xpk2kZ&MWJwmRBOKLXV@G&ouRiZfcDtkI%P-dyzw*i}#geyxE$ui~54FpV zGloOE-DXrhP#tj*E@2Sws!V#A_%;3L!z!kR1pB@IgCW|Kwuh}=CZTOItYQ|I%YkZ% zZY~$F5z^Ddq&|^l@Pz^_3}*fPYi-;j2~3WDX3rpw6DdDG--duAFpUty?Nq4?zmQ9L z4rBj-RRjCb4DaDm=7{)m?JvLl@`bnGe*5^oefvu6_I8ew8T+6^^UxhbxDrZlVM$4e z*|*+$Ycj{|kop4r>`jItc9tnADJ!k5tsQOAnS}XKATg0kdujYRRqt=;s3kl$1sehs+=u|@5LM7aL0iSGcU0#Z{`LoSBc7!$`L{rk>4@04xYw5hbErL|T# zoH;8>9mcLorEXO=wlF0wVR?BqL6VQHy*B^O7}=86GB0_rr=Pdpzx7ZEdX)9*-*o@ECFB$76a+N;0Y)ppGau zx7%Ui3EDNm;5y}7-|~jr^9f~;7*srmSy)6r1>XK%c^9f5r!SBIlrv|JD4RF$xmXUR zO3c{{ow;~WT3%jW?a7nJ&bwUB0-~Al@%m==mnMwrC`Cz}@#8Ucv5g3gjEe}BGDnOU zkqwJSD@e?3_&Z>8rtIu&Jfv3w_IjFO=nu+#AZTZ&rlwj(jvO0rvxOq6t9vkVK#l`H z+*i$qCHry{oJ6J2+2@7~8B!zOud9qpT@fJ8ZeUE@LZXTfqT6!)(1<0-Jp`-z;5ti2L7JIxDVa~ zrj6m24DZQmuRKCP0-Vg1mv`J%R<`nzCLZE6pn7p|m0k;^ry950g$x6|Sy4jZ7A4jA zoV*J(JWo}9oo7iBU{+Zm9b*WH{xfBu3I zQBl#^hI1&`=?~nZx-q(23l2byjSY<_P8>h>!3Y1^1G-=#5&R`E1smxG86sHK_V#us ztkTG(eI*Qu#)Pm@-J^q6R582_QPl`w7DE8gitpqc<7doV<^jeG5=L7rU_7CQ)w$Qm zFu?JqppIayjR)V2?s+Q(VOqu6Ld_DAf-yTL(g)-ZL&AUB+uPdDo-MF%+Vr(gP**U| zVI<}xs4sdgE$!!I*|G;dpC-P+c~a-?^s$to>NyFlF0){~4CVVl?Q?_lEn#MSAx}q- zQBO%292n##HQl)Y#A(ZvDWiwx=4K>@gjj_8QQNoNp^qd6eX6`9qL-=F)z!7FU%#Q| z%{Sje7u!p*$)lL>^Bto_nHQcLg&bkJY0w_q*~2oi4`W4wHke_6#e-Ox#9lbP>h$5mhnsji1pV_;lHaH}Xn+0dU*n4Cmh|6L_8*rEdz@qNRYe!;F@Q27BV*LU zg$ozM%n5tofd|@?lam#YfXu)k&}2%1U|5Gi1yRgPmo5bixVauMgJk$VDmprP6#O1T zd?gWIX3{k*l#&rc4=$<^I4TkPpw41Z{$*MOy&JLMg}+6%}P0HELAIq)C&c z4?g&y9Y97qh|}R=VV3yB#H6XAplQCwd~Dvld8dX9iJuw~5yhQuWX6mXfB29V$*qqS%3PpNCrqC{eeSt)=kgC8Ja`KC z0fTVj0`t&A56MLEDPqoKm!zUzw1k1`2L^DVDgX~Difwvh0J*oNr6rF5%PBI8Z14S8 z4hqgJ{0s%vm!0B^!_etM5a;T}W3UsLJMP7h&v_u)@$a(uvm_at(=%l7?VyD5PSCH( zfPT-0-!ox?xnZ9Y78WMMN@7wJ4|@Ay=gF9h!)CKO;WvjzafPXh6l)E!riX=vM0&5O zh1{!59pK4ValZcIwp06QiReZ3`C6YXA@yCchj53;~^?BHG&> z*3eL!Ek1sT70iPe$AeYv-0*m2Sbala5~PKMgbv|+)aWqQljO}h;PZkNlSxuqT3S@` zS@G{hs3fYt@1KAEc>{D?_4U^;tObT4{@y|45$=ynLzTR_Yze6OQCDAm_0+1Ws>0IJ z(mEdY&JyhCl0Ih5hs6cw3de^o>g{)zVMu(E;upp_RpDh)l?0@U*!1*t>!L-A=1-hB zaS0&y$S^_-4^Omb4{8t~lQ;}O(LPmeFD2fWU;=TE7#P;Y5I5T)W5Ug;@1#>p%TK_L z?G0-KyORV1)r4N2STi~X+B2E~qm+?YK%*1#`_g{_<01@2XX>1!|IVtxaW7S$^Lj?) z;DeZ_N293;FmqSph!LY^!G;Be@&1vj>WRe1fMY1YM?HI4Y=_o9S%{?N+1GRkyjPfo zNFuX<4W0PffMFN|dM=60idLuZhD_+Ct>FpqN}@i5o)sbu0%xT zGKO}Co|=9}Y!w*+5Wepawv$c-%%~{7?~Wd>{zzquZ7*{RNJsRmh-; zNx>B3!$34%J#Fva1C*|s~`wrx+gCc7qc;=ljo7s>t1K(8eN)+l2hb@Tc`LmDtQb7Ls9sU;v^fr&jJFvP2DXm6_$V6ZmQwo^F#I1t=UeOsHhXq z^tG;Jh;P&5<-%#d8N#1tP!(FY_0H%j*Oq(fq8sBFN#^6Bk~I)A;(4l_4(kx$YGuWP z#D4Sq626G;KCkJNEGjNG@6gF{Z%hxbxo1nIo+}!P_2poAgyOcc!~($tAcH4V8V-Uf za!ma&H8&^ecwE;SE-v;kU#?nH8_Fg8aIb5_og^Nhia~i|Q%OS#avVg_0XDB+xTvU1 zw5_er9~>PW?}YsZ{2Qp;qCs<+T+t8tkF_}a%tZY(QAPvwP95oLQmd*aM}mXJHktLUQQ6NQKH^h(?D{wGixfj} zQ{#D#FMLXNQQJ(59Ih3>kfhCT$aFqgbXwEOgMJ4gL4rbb;G=Zd+oASA{eXhu(3sEX zDBYaGzQCHMiZfkHB3$k2JkzI5SgO56L`3$#{rVG7iHL%O#a^`z?n02%vx7JC z$XXtx!$d_Pn2051am$;--r^h267Hx&F<1sB-Hx|d2{Z3APmNe$s9a!T2q_8%ckn|# zL(pg0rES!;jyYrm*;2Sx@Fx9TEe;-j(a)w=#Cw8##{)#t7icLxFhHTahsSFA`(Sl> z`G}~E)C_DxS4nAhOn2FFi%eoIr3gLVkgU;QF8F0g^alDdMiC&XQMq*?Pz93V7y<)> z5N^siWE+RjUup_&nqZ&aE3UDy1jtz+{8>s^4%|6*C`!UeJgMxKt9Z%nyB|C^w?99g zUi#9`-ddiWv{>=zmBE}Yf?1K^|NfvbU)F^iBI)Th?D%?2mf}?+m3Y+?K8Bs`njReDEHiG>j6|~2@j(HJ2u{$1SLIWhXO=$RO8^#+KYbVBm|gIuj}STmqTGpZ#-k%4PP6i^?85z zAnotjtXn#>4LCk48q(dieette$y^Tj_$~MH=p5I=?BMm*rJr9dqi-L{)yCKK7tKZp zc!8;PISN24JETKZXJ29) zql@onDpN%WNi;Ch*&!=1*;@+pZ4Aik%KRnDh+)WxThpI@pI4u{{|At0Ft)v%pxRUi zQiORFkrCOO0|Yc-bCro)BV!E1;svoe-x3!OYgNKRgp?qN_PFQd>VAfuqs<%c7oBE` zP#8L%!>U+5e-HcUGns$*xJESQ3Ak$JIA(J(!>Xpc{`U6qYTx?^WbfaWpKpw7DG8=W zr{`$mD#~pzFzNUpTP)34`>PuRq?{AckSF?_|0FINUQR+_f7Y}+*S3EoNM0_dQ)&y} z;Hzm&ZMhpNQ}4DTh~4FPx!>$Lq6)fyHYHGw3V?0Tfk)9^9;RE}ShB_yj-`|_i+Xu^ z83Q|-pIU1nG)jg9RT@#mXoj??T%xEFJj__Wh=6-025>^aE6U3wLJKDyxsVZrlGUF# zYNA$!kZWnumJW@MZX={7<$syZ2DBVkj~5$p4P5R!&{5Bpeadu2=c?HX<@0vG43%a* z@Rlig%=)nznsZ@V6@1YQdq>fbF^m+5i(2W*yzYN(!xt5IpM!O@S5*9ty1he`{cd#_ z6(R&SPdbO<4=p#!0Bjj;xVPVi8i1_M&sKm*{EI_THkz zB;ATidy@;>pRet->#=^0xr^B&<~vE+cX{f>eL#LpV(m8KIBo!Q05l+l=I76L)ws{@OS? zOZ?`6d{vejvcr}QJK46oX@2$qLxWZ3vtMfioO9%Gq*&=#zkir3856w>i$Ejnvd+LT~HQhg!uu^aL(g96=ATo7U(4((b|EsgvyR4LuXQ1r&oH z>wNTbD4>I()P#7+m_pxjY9mRP`bM34ZRSbEyrjE074Ay_B6=N&&x_SgMcqNjdK*1| zH>dHsmlbL3`K2gwP^A@B^6hqvm^+$?*G0h4S$>JFrcjdkWpM$)GgOunY}FI5MaBS& z`hRj1KyXwy*BZ?U|DOqCLlBShgk>p|CMG9i@dB%cvdY?=6yVjH?9zv;8h|brQX>&3 z5uuxFh8y-cXjI){(2wm@BV){%s-)=s2KpUF>g#@YUfZh|<8_mcKB&eS6)m_PjY-Tb zV%s^9$|(D>_2kP!&F^($d+oz?)8PjBBYAU@7>}U9>6n1qp`YG;tYUdNl^7j8;TVNP zpzU}pf%5p*-_?-4Zhq#gu8)$T)=*O5W-+j{TNof43uM6wV0F06$Ks#0>g!qQ5)$U< z!jaK45@Y#ncP56hh0UTVA>=v{`vWl(b8@!2{60VS`Q840896u76aNs2$gLlTf&7#~ z-viSA>cT%|1_nhd3JZ*!Lwdf?DEb9__mQjk)G8qma%(!nqb`z70r9o^mg#28wXth$ zvm?hC!c9r;2-J4H4Xia=uPonWgF;BG(_k7p$}4g}+V|jzzSlvWX1-6I+ug>Kpeobr zZz57~rfKCfd7;;JAEX!EcDWFn^L*0tTCKY7E0 zXelWv*>M>_zb;?S?eX|5=Ziud#w=Dvn!}1zVv?l!1is=rEfO{~Hh#ToKhD9KX3@;o z9{7E4X)k}`@Mkn=1(Z<;QQF*lJ#d#2g~MDyBDBoCDJ0n--OCoeBYhE5)(*B(n!9%Y zqmxI2_Hs||MPqZH(=$Z(WJwDG(T_ZOs)UR=Xc;XX+TaWc`lbo^@tNG7%oUzlNo(OA3n4a@_4yVz$E0hTUAn0()PX7>1S1{cD%&n7yBQ9Vl=S*E*qU0BN}2z zL$=iW1Jbz|ttdJ&JbX4e1hF<3hzSdzZAlttYY#DkngY(?)vp-kJmWDjLgm7vqG~5+ zW=7SCWyzlx6%B2b+og(Fycm4EfDo$RK%JrGkHNQeMNMp$YRAMdX`E=SGEh3)3_nDY z-~Q$1s}Q)ICX`OXQKj%K)IAxyh7~MKJe-Ocg}t`@>eR^h0$6zPfI=-qEFNhptw-2ci!G^jA_;D1b2+G3kV{?QC-duOY;3L zMKqMepIn6UEcIED)yMpY;fi;>(_{rvRje>I(e6cq+Oop`A-``uk>s*^+^XICNbRTj zpYEHqfHk(lTM?F=ZS?wW<7RT(|LO64f7At5aXA1ptYm{WO2xvwVI21j2lA^Q0Sk_S zpo#z)m|6VM#?Bj!W>M7tJY3}V`{l2(YXRWAFw$13TbEu@d5!?i-o?krC?EQd9p;EA zF!MwVAuup_88fXY#ij3YwEt>lz`MHpm* z2BjZ%dRd>vb+F_suL2QMNz*{l7NU;ZVT&#Qqj2HVEg~@UVs8Q@BseGEPx~0^_Eikn zD7W$y1q)0G2TaOrMMF(+fj=p%Xlml?qLdU5x5w>)ZWs!21&*G;k9NLzuSXZ8(Rov0jS11BPj#QCMB|fFTy?RnSCGxDVQ#s!{y@90fiZK5dOygy_GYD{1 zcq%u~O(`&|<8QaKqNbD*(LC?-vdl|H@ids1RH%{!STaRZGc$?s3KVwm=SH-kbxjJGE|Th+Py~X` zN4&OA&b~4Sv_%Yk)f%CK7u&JZz3155y#p)funIOqzGIHwg+;`Dy9 zM0{1oK8zPs69t`Bd=Xg{q8vW8skOAUto7WBpp7QKz`EubBDq0wuF&ko74{;O8ca9X z0VA7}k?pq@O*Zm10~c@sH}J3nwtktwB;&o-U+VzTHW@etap4Ryfvtd0X{K)+zO|)t z!uUE9%GG|M=9JH6?f%Bkf9~S$KExC@=n95&zA5x^6IZ@~&jbSE5+4$E9UP(?A}n9| z=l)P!6YyNMHR7hs+iLv0Wo+Hzb23qwhMOfoVYLjCbdxpm@N59m#6|zp9g5%<9^tRy zb-gH;U;|Gp%gdMGTsK%QMS3;Jf|A7FJY8tsJ_Ky6K|ye?1Of21FchsDqvcT913iJx zIj~JH+I<4|1(IMC)V}v~uZkR8Tz`LPO{u#1;DUY<3F4Ml@ZApp@2ZoMOuI-^W)UOX z`*X?xB0CqD$Q+OVg@q7*U&(FwLuB`Z+(D9Bemq3b?f)L@G5RbkOUv0M8GVI?9uc_^ zFB10*#5i9ER`jp@9s%Xa1fC(o>-g5iAPd^(LiUdvcaXt?!M4z@r@Xt?kwF+nooZ)X zMN4aIbB<7M>p8${dz7DwRavM9BIAlg_`7IY4r+*{PM14NRaN7Sqp6<; zTi$KZ4B>oAxAzOZsJ*Y3!>Zsy-_>Dakjpv{9pXrlSD%)4!8s6lHSsAgJFj{M{hb#- z{tv4+YlDA{ggpAY!j;L0c%(){lVLU!x}T0imezfVerj7?jX6L;fiiHMwEj+weP@1x z`W7biMvldYsoVR*vy8M{(sUv@%2|@C4;LYpROn*`;4nQ1j{AgO*JddCp_-t2{2+c- ze>a-NFQ91i*dGz}8ah8mOlT2X8f-Coy1d{9*fXb1Q52U-ErW)4!VJgZ^PsX_v{dEE zj3!9FQ#vrmdYs4@WV}cpC?~=n$TSN8En|OsvoHAxtF3l*$D(&OgS~Kdv=Qf>>$rKP zf&&*B=nDC?4cy{iLdMU7w|lG z7g*J7e^Ku9e`?#Q(c$RxY60$Ex6bhg_B0}5+&cC|Ajzw+ZSFl*aL?+&H{~||c2ax4 z)mwnq@Pm{Hp)NS*E|aGOMl+AH-gaO*KZEy)E3VJhwSWE=9`L;cKrm7XBprBXd!w6l zu{7EK0s1)tEHcch1O}2YH7%`xSVj*ZsDHz2mkI4?ZewHfm*Ux-(XC^=h;-VvUAx{i z1-Mgg8q_af+oywzo1QWLbVqvvrKP8Lp8(`N{uDF96SH=!oh~^Gv%WCqyS}SHK#pr3#lYRn?t8sLe%!pj1zYRUk|ewJA#%KUM`L4@>g86UbdBz`=0+&rDwbv zj9bIgl!hC~G;%^qe>)2{>2vIVlHO_8Jy%NAQOK|(wCwjxIyJuq_u$|A)y!ps=A;1}emW*PI&X+>7y&9) zwI?^89b>+O9ZH#0lHXnCwhowgh&H>2T-dM;*RU1?%>j)_q$lYymyT|f4$~8F8`)Af z8eWsOC^{ZK;z~Gf9l~_Gk_{#z%qx-=>r>>&Kf1fL?v=ha^cUYb5!R(sHFG%-3%Gvx z{IW(iE{2i#J3>3>$~W;(I0QRwxsrQc=i?%w+c8SVtyj-)x8VWNnlNBuj3{B0s03~} zJrvpU>zdv7AdNl}U&~HUtq_;mFHysVqr2>b!rmvGw3V=^8huwP9p@7s;sRsz6Y*7>- ztr(ueW7UmZ7|bPT#_dmsP-Y~lp)?&##pkkz;+2qRq-ABZeMgB~V}X$=-orACLyOP( zvhA>|YfQ*c>pZDmOFKm*__SYU~8 z{o$aq1F>{vz-vGqa6>k2*mKomk4nsKr-C8pOQ`C~_oug@puuG@RQ~uo-?3g14Hzvg zm=a%{g-T^!s;WLZK{5?|!gk`Plwky;k-!3u422OJ@gz3iM~3y0LicHj{l1TdWAQgH zH*8Lh#X`wr{DMPYa(@;WXo#tuclnoh&^T5l7V(Epf-A zL9s$dB8PmA6DqM#_jdNH~$CLPy|?P-$qIO zP?%qn-XbF-aYQrm6ARHQhv|dBu%Wq5PDtN&V7ZpdU##w`@-ukcX!!QZ7JAk zx7-U2ULUJNu5Ds^Y*X8$c!Z0*>{X+w;W-i^-UvY*!yj)@$^VQMMy|ReEa5Oh+d7Fx zF6%owLcLk~Tk$f27RzT)Fc|be&4Tm{3<$-LeIIgW;`#5)+B*&bme9gYZ$K{n%lIrj zJiQXf4k9JE(9plZbcoStSM`!k#ft2(N#(TL1g(O5AsT9G+kvN^U(6l&Wrv5&#bms> zl-lwdtZVgOe8M1er2w0q1muA*uB3engM2^xQ5MUcwg2-$Sw%&8>jwPc$gFY+2vo)r zPde*u^`IA4d;4dK``M$YSYnn%@hF-4?zIqvO-f4I4yb{Lu7D9q)9nN>e#``9C|&EQ zgL#!;R@`_Dq5Qi6jFXn)en(*ckS*3-3u(z%qEm_a-LhdT5jE08B0|qW!SPXF5f)U7 z5O`?ntvXd$w!vbHMv@IzQS)LLCIO$I5%cN=hkO5-!}3ZE>r0%UPxM6Fl(~^;J3h*^N6~6=(PGQWl!I~zV@Gjq*&VSa~$aMoWTkH|BFNJ(~o4C?`BVFFGNcTN>6~{%0EtY!$kBVK?+^x)@0U z_dR_TDh4GYm_#qDxwL;xE!t&ZLGgxp;Fyo|sGF2Xkh)EPRmAr7hTyj%M=i>Zj7@NuGS#iYWao52xZIKg+kdaA37p{S6R2hfgt;n&UU*F^3;3O~aw zp^@!M1);K9piXmbk}_utj}Mx&_=PHd4%i%!Vlm}kml2;ouG0OSDo%3bqi zcn+Qh{F)dZa5hx&v(KXOQRNd^@>n{8br3ly&NIK$da5NL*vsEcv#e2U*A4; z+SG|OdX_dvvM@2`f&}S&;l?$-3;y%z?^@yc6>xDzg2jYCu|1Mv7}{g>p#AsOt;R;S z;XXGzGE!o3sRrp;wrNvRK(a@#>u{op!LUmo)Z(UxgE4jk;AHK1MOC^0VatQ?ERSiA zq3x#0uio6-4nrOY%XrF;z|=P-O#iuH?IV%Tu$P^Hq-Y`7VZVKeSx0t~NQZ+n(93`- zri2XPIs&2XjU@0@`-Yy=U{)&o%q5z$$h%Zgn5_hB;6qg)l`7SAXtz`fYSL z!{5CT|E|H66#Oa$2t>Iw2(A3S-$_b(RcwKHSaj?4$2>nhwfC(C-08!y|wvJ>8Sj8+ZKC*|>D-#xFol zZm3DG-kG;}o>76Qhc*KT=^jAPxU;h_q zmIrDRR%}nNs3`YzFPO-03myDE%r1U$qEhn56V8&&BGRYu%KkSg~!e;oT%Woh$uLfdb4!OG&z+~wZLcM zph*iH$4BDVK`0D9SL5p*+HL1Kp}7NW_%76lcv{>_0P~57Nif%QO<_uS`#|-x{rP&R z-By}JKCq6AJw+tV<%iVd0};9Q5^;44koAc=(cTBnt8m-=Kr9LC5nhYXt- zQ^mBKdGnGLFKX@_zmiMs#V@n|@s%QiXqUNN1n>_OZ?-a%7d+ra;+D(nTw?S25##|V zGY0A)NU^!3>Qo=LBvm%;f=8PK8o^^nPjO(3ng0NgS139O$+{Vvw8a{x&Kz%J+r6(D zMk*_8xlui6Gf(_9RvS>I9<{U_DQP;0pN@q?|L#+DDXH`@8%I%hNWR@LVv!TubXeFU zXCTVyx-I>ot>M#C(a>GpJ@6!f@##IMScCA5cHKjGdjM)+2~5sVf{D%TujV<3)fhu~ zAc9+O0F69qg)JjGh(gCTl}Y!^m=yr7+Un{onDY)s^W{DHJnh3L`|@JlWyoS0D_30q zu^>{>oZkGMdhx2PsG#3!b9~3|V~PyFRsw00-q6p>Ltt+r@1sv9sddAvg<;o2Mw`e7 zEMXH<8t$qv2Zx5{AG2h*xFRB>tmzGW#7nF77e|5HFW{Ssib6^()5s)ByO`tRlcv)4 zc?$3)u~txxpcgCF0m+5%rlx#W1HA)_y3X?QVy&Apc`-c4H`DSoe-r3L7k^4mVB!T+ zq8_?!J_$1X*+74=v;!#sU0n2mle8q){I~S>Z%@?=ItML{<M=-Nrq=-X{l@=*IZr!TMQlcgsa@4?)VTJ&|BY^tc0NfWSuXT$HsU}w8tz= zS~rU2@zfKc^owLEq`xZDS;v|*QJw+IrHO%o0<@E2xqh=o@t|2u=xD_zmq?_bRE+*M zocrWq;*Q9GPz*c+4(AjH2-JhXDB}yrL=;UJnho)V0$2iv@6;p*$y#DjPjGWEU#G07 z^#76>qn;Zhhyt-O2EWhurzn3*CCO^jiB!{R;4;I`z#wOUhc__EOnDRL7R0dw@gRPm ziJE~_iF(ln2^*^y9v#h`&Ut>ezPj4x@|Zd4FQ|S|kYiyVk0xOGyireF@O$q(yY^zC z;TSqm3Wn>SmV<-xS8HqQZ}6+)Dc6KYS>0dE0-)$aCrq5U{l`h)zq%ZMzlVyailvwj z?!6&{rY$Wh8p6fKo|}b^my4|T{W>}9srj&f(nXH(V0RSYbTH4Sk2)@Vj^sUETT{cg z>$ZY5XrBX^;6{c=B#+SM0M2B3loT*~cM+=qH7(Vw&=M+b30i!|cAkkKWBjlOG%jOmJZU(m-1l>-ENx z%DTESBoz!fqAiy^T{Q@cS)S89T#aHM(I%Xi$EB& zRiG@$4*cMd4}=a@AfMxq9wgY?-w&J4;QWezgz|o|SgyJRi}IHdOs5!bBI!CqG_gfn z4+}D>32Mo^f3X=>>01U0(dw^T;9uB!EfwmX%hTORhkIxJZNgRviT`BHR`GYrp<71N z<{T`@@f3GB@XK``$}{YD5DG8yn*M>vslT7e;LYN~ZFTEb1#};5HMIHe0OMpcHY|}d zWD?V3zXvam!dUl=KfNo47_Uo4;_clXJJ55$0-`~_oS>!-;XOO48Y@){-5PnSpx^6u0L&#=? zKD%y@GOzxRF^O3t@AwO)6fAHd zqS29nqbN?)DqgEvEZ_*?KNS=G$&lAwwn26#H0cH2p|l?{hK*jAo|ToQ;{>dpb^3xS z0r6V1_4~^Mt+TUpD=Mj=H=YzB-hv`6c5ZDEAwu1VjR}+1$r(n~p7`-h?x)pMMv8u) zEYlE%3vjy0!otR8C-fzmP`SSeyFX=!8`XjgD)8QDA?EzBTO)1`sFrA(GlgPFK?JA< z(1rog99xv?oWfbB&A;Hdub*+`usmCp6)u;x=qKbbB^i4UqBq%frlz7kwtD)koxU~+i^xV z|F5fH=-535|95dl?Is5&ZL3f{ZgH}15yC&61T6wl)Ll>`9X|%ZmLO)86e%ac|9(3F zb;Q!bmAKnj$jSY^_P9GL4ssV~hujUS)$8u4D=&w?`!sws&Q^63>VqKF+RU(B83$(s2Q}Yq9?{4l}T@P`av;Ji! zfg;vN^-mHWWJU-oRNnh;M&+;P!&&&oia5Q%$A-u%90OT6#GO2O?0&^MVjcBFs)PY+ z8_nuaS5(yIF_po5uJ67JZ7ji96W8K{LnN&A;B4tDWIJp2+?vBezNGqpQJbURem(%|2F-BV^8ZHV#`c4gj;b6k+; zM$UD<$eKJT!eaG&_D<9!e=5{d8uDlO8CpTf7=RmtW_}~;+E%Wbfm;dp{P7!Zh+(LAVD79~&c?4+ z5&IDpFCvIrW(X~7IAquqF#J)=%yfLU2Gb8=s-3AutZKb>l%RdI1c`VTUEF7hHYy$uxfpB3mD4!=KIzrr_~bq zM-P3I6aroKJti>)p<--0Bcnq-B_*ZPAhu%;*>JrnV&A^=;;49kL_S0EUPN})T+>&r z;r8kDW_3bVCUP1Z3k%0H&JY<~wH)}yVn=*hChUAv>S7?O3m?jebZ6oP=er1^O(_pyzi#mlIWVi zHG<5V)GO(^2kM%&E*MMDL0S%tS@tgN%#AEe$vr5dRqvhHFE^n#kNznd1KDd7j#ly}J;|nOb<@U*Jn6#DbAwLlfXsLYWQ$ z{I7&)G_nP2%V&ZEYMB$es?87;Vgbbg zGgIXxX1?MBs1A(9Hg`u;DP$=(QX1u=DhK~N$_Jk=HlB2>t)1)X(Ky02e9ZLAqbxl< z){X#;s2_>w9g+~KOChU$&%dL_Yp;X~(~G0yPR-P7l=Q4ML7O_oBZsO%B~8%h4X{(S z+gpKUB6-T(7Wl>9_4>4fW>YBJ*#ld9g*Eew@8bCEyfSyQ+sm1TKbsv_t7>?j*hmmZ zFgp}K4H$deIapfWm>J(X$4M?Z2|T$!TF0Hqw_GZF)LdR>7uxP!tyjAK;u-m+`sR%q z>)AuIWEx zc>)j8^Zo)%$KT@X<6eLUb9x>Ia4vS?>ULNLbj^vv^pR-1 zc$LcmTD4XH+un266i%Qo&P(K^m`#uOd>%Uo;BbB4s{&#gnze8mK{@Iqs5GGO2d&CH zxmtpJPA>983tNR(z6Fa*oE#)VzFitTTvP%A6q_cA^^G1RC{#p;Gy$?k!(3qPJ$%3n z<4SoP>g$hPvi_xAql?RE@9DuVh>g~(D(L#!{KA7(+!2gg6ZA<(3TVO7#wdJNWPRz8 zwg>8Rt1yBFp52UfqDPuiRcuxoJ%YOe_+t5-bYz<1NKF!k)R6ySg`B}Tjfz%jXZAc- zq3g~yo8be+^6_zaPjt$7g$(f8DhNcXSao!3%woLW8CmaZ3Hfy%$31t>rsL$L$fd}W z<*uNSNEQm}rJ~93i6#%h#Kb8LseuGd+5|Rg7cL^>X}?)n$K2ok46dN;o{O=B!AbzM zco_7rpA85Mv1Az=)2|u1OuV7CTdm8lFDM{-Q0cr;n*T~9y1-tKzp3ig!7ka+Q8rcv zA!Me{hAfoh^hIH%53DxCjYnz*ed>3pF}wpDCbQNJ@YXN?2b{F{Ty{m)Xr3bx&Dlc| zsjaL`w7O5)h+zWzgFjztKMUyIY`HRF7rmpA9=_*vv$6)T(D{hZ_ba4LSOU)6^DaPa zO3EM-;vx|Ef_VqD6-{MvSPpnA&5imiCsb0{rIO1%-9udz+oBmHeAe7xHB%d4K6E{4jv);La1)aduYa;UV#iGqG7XV7H)3l#duZvk>% z0Cg$H#D+Ng3eUX26Uc-6urvlfAtfh=lF8#(U_qHG{0A{?un>8r?)I+IzXfn6?*sb# zH!GkLqcnVFNj)T%GEJl)nTjpu?QP-W;Q?6yB;|e5qif_99JuSKHzA{VEYyx=q!P1= z#@|$_kvREKx5^{U9B(M+0j47aJbMv{OgJ>9G&)*{n7bfoh3Wj+Y52SzG8hYJ$Us=( zIW)No#o(-tY}TKGI3YLTetq;OOpuniWCd$#l)(S;Ko%^mEG?zbhI1qHLganX zJ54C4qaKU`S+J!`#Nn|9M)A^9%#$^!)01#}Nz*?K!?6%F7xhn$u9kjmGwtd{u`ETZ2BoI2%ie1+?- z2&@FfJ%r?+nUJaMNN=qjTv=eBMq1v7c@DshT6Hebw;Jc+oqAx5el2cjXy6JH<%L`S zmy?=W;=N0|*^btt6gG$tY{T{t4Q${7)P?Y0P^nQit=IaH_~OS{@J_U#dEop@WzZ+3 zbqoGC>Zv+8J4?C?FaZowTktc!E`7_un-=WdClTrc?5VWGCnd@F1TBFR2Jysdx7V-N z~)mZ!-HY#Ixk2hp|DHupN}At zg02jHZ(h;cP*GF6g`OLr84@2V;+!n!A*$wJAQ_269^o?z015v-J}afiZ8_BvSeA~^$}2G!Ss;UBWf(i-s2b= z#L7*&f#}N;pQ}tDGcBJJ3Dj;IcFLI3L(h^7W&hMlG1|&Id3mX(4f``4K0a6Rj5u%} z@dIDEZ2G!jo6xwn6vROiS|iS?PA~=)_KHyxr;q@?z|aFm6i8pT(nV+IzHP4F0@ zyx)nrG7zO|_T8=?Ptt(N6PBUSV+iqVS2VpJOH^6i0F4)L#$WOQug@2Y^E|6UqL#Cyvma2*Lt>W#)* z`5WIk=8tYgi4w2^LGATF>go@6Z*rb- zCvW|$SX-e$8gq$RtHIte}Rw$XPKO{OR+4eI={gpCU)NIT6A&xZ`--q+2mS(%_Hdkh=)aE&{jB==*)-mp$U z_p_2f878RN{c;zl^qVZunGo;$7gDkTusL3e%Hi**IJ}3QSH3#lw+H1*C}Cd6bCEeG z$3}Cek1VVH2ce;7Sobu83gDJt>QGHYO^IaEU;Pgn5o-xilUPac&>%#3@arQzgJ#{3 z-n0;p3LnT6)Ne4;m~<;D$py0Y?a@=BsR%T#g7p2Dj@aUv)i8)=@rP1g=87UsvNTUh zcAWgZ|Ex!1ijqPa82!B&$&ZbTa97ej{J@v`e9)gsBNA{&qusMBh|xD8GOZiS+1qEM zrzc0aQ$gFNFantfBgAWjUM*51l`b5HiZ@ygM=lvns=?uCh4pGaFeg77`98NpfY$oc z^j=;8OF@M|H1a-e!T2*!xq0T`+*nWkJbMxn`jtZvEknbA--au!hs#JzVW~(O^Qu)_ zbS^Zy1Lq3wAofRd6Hjc1PRz-v2RRoP&Ur#k=*<2cY>1<14)ee&N-9f>XfnB*Q7Tn> z=wJ|KtTM9u2rpP2TA@_vIaT0d{VA}eyArtWgB*Pb19L>E7Gj7KuZ`2`v%+c}JcY6u zhAucXh49pq$t+_z>ongHC`5BVapV`s(ZFM_uJeC@IibUdu`pX3<(-CghaZQPZUwrZ zIyk9@oJNdTWy{N@2_<8Re){(oLKjq3@lx_~QiizPGVJ+qG@;^J+n1Q7Eoebz2=4-i zTBd7ATn5c}2rKxG%KbMieLN6KR#;RN;!_WxN4*MCzyD%bPcin_Um0pL$Ib*#pf*1+ zmhqXTOXlH!h4T?mKK2|Xoisv@n+3Zew`YoncasX~3`u|^VSN7oz^PT}VNrGLVjXLk zF`Z+98Ct8{PRs-HMl_P4gdl_wAPPFNc(IUwoPAqYo0lPZ~q!+Pi9&P%0 z4ee?m2d=c|`S%y)0P`>YbpalePU(3#0mMB@6{%E9ibssOg>bkTof8aV(s{IaF$eOD zN1~u>ZD<#C`3hGW)moYKtU9zrkgc9NYFj^<(*H+}zd_JVMyqv(DlRTABxP4`pxN`9 zO#GCLEUdF`gsARYRz0ht^1m3B^Gt6v<;Z#xE0fBg+ zY3%WwYa*eTa>m%)RROoPoHTG&7uVDbC&q)}#+-%kRfy=f@n zSArH%m}H6XWc^uC=#ve=`vGTF@w>v(&!mPQOK62@WP*U`oG`=t8;)$a(HJdXo^1g17 zRD=Jy0g^}mN&u6k6*L~~tYQR7907FM14aeK*u4}O0#AdoUjU}Zl=ORByR$vxzg^Va zm)oTu`tK`1FJF%^uFW!d$;k;w%AMB}`U_9*$Ma3$iRp2W@yT})72&&znI{0vTRoh( zlJPvr53?Zt-PYD7(I&A5nCv21B2dxggg5D2S5$*};47$6!gK?Ud*!H*6jW&YY=9}< z{ny7jm$`r4!ejArmt$j6xZ~recTa(dH3ve6Ld8JXRZ3F_O}~$7*)v96?vFS`C&@LG zYS#5COo%)EpG0lMC^}OxAl|$PP26JRmPHs1ohkJCcR|tjWg)kA8?b+{MyDR)2F$p` z{yK!Wr3sKW>_F0O#$OPoWyY4PF-1n6R;<>rUYpH7#lE=_U9anCoH%5f{{7pE*#x~l z*Z0NpC(y-=?JrmM!%=}&bp|QD1d|=QjoY5XCmdkwCCyBV%!Wp3&6by!asF=)&VG+Y zp~lEiNT_6=ZP_q9Pm?itEY_OPVajO#%VvyMV6}VoG!d!w%%K6pUa(~1RCvw_qHu}8 ztj6~dei@(!3AMMU;;_b=zc~`Ix|L#wftxm{~K={m)XhS8V@>8``TLfC3ZgiOD zE}%=Ovwv%Y&-d-wyL7=0+Mxl?Ka~K?HuUTUQmChBRj!u{}rb0bLyy>ODrv z?y8X3rZGgUkBfuXV~hpuROx+(hWb=;LJy7+f ztZoNbhN^Qy=_WMEoY@JJ`lv0ERc1ZFoL*R1Rm4CnK^#M~#V`@KxYytrpx|*)TPKD0 zglCLhk3meJA+jNL7(giO1-5$-$(57<^TCOS2YK2*cB9Mx*DlOEXvqav!4Sr;Q4jV- zk%a~%!qgm8r1Ati6#&Hqqrl0^iHN`vh4usJ+&=3#O#SJ?3hMx4qnK16Wx?AYq428bLswqeCwr8u#>DFrmd@Gr&u|ht3@lR$c{w`vYMJlOy zW=;zi6j~|>3Nh!)y^3JMDqK)}C(PeJOMbvlnqZbOwUXfB;Q_SOi$#(}%eS-$%~K-YM(dfp%0GlBw8Auon zLS}dRJLvvkbOiq!pi~n{n$|}yu{BYECXkI;r|kjDkoD(u$JVP@eBew zV;9SXwZ_sYVWZ!pYKXy8^+~jfEt>!{Q2c)<9sUkBsHOm;34*p)2r(_b$gZUPFHTk* zCMGF?4`-Wog>o?fWvX0Cgeyq3^UdJ0&FBOq ztN3tH9W+`7BC!*+BF)Yv-`@`I7yYpDLa>^+t!sH*TmgW1!phpZawZP+mUd4p9lA>S z@@sD>q=nGF3*I_t2tW465*VkgJ5)$pZTF^fug6`9XFP@W(EEsZ@|61JW%aesW169np%}{nh6u&4TFLT`+V_qrE%9Q=eiSNG5&FcpM@o!-Ow7|vyPL2 zpCCbIcOFe=^SlAlMkJuUP!S_TVnZ5|rzyCHqC6wGfK-msabx4>U8~KSUKj9Z2Wx|d*TywCRs?8ZjCj(R6+{PFs~Vs^BR0w_C2?}w#~(3VFomxjHRW{*3_!UN(B5?H^YtBn08zO53%5TSj7JX^?hvLOTHsPO^-l0*p( zz2*7>2;=G#O@32oXZUUM6}TDY+)}RYc9liIMKK~L4V*=gWru6^F~O9cM0<)~jgH6W z*Ax8!9vN-{VAjNFZ*3`At7ISHwHZn9oUWEztSl1og|J2l_)L4&-JA$E(nCPtYOeAHrAJ&37$ne?A=is+MSC91!nz9UI}qL+j&f{y@SUL_^vhANG7ivnJo zIo3(x4+VeniegaL75v==eMm_0zhi>z7^8qw6y_4zbctH<5D~5KRKs?yKLSF|1?GOU zM)osh;Xiky{F<5-To5SGGBh+a&L33m8kM5gmX#7h-y)stwi?xL(L0+O=4rEbjtbRx zm*N?j(IaIzxFz#e@TLWHe`jVsTTo_5@k8*h7xsSqFv71$b&trD>u>v(cx4^Cqi0_Z z=pSI{npe-Y5eQIHh?q7VNWc^)>%YU2b_lXOh3Vx-jj#lg_c7gv#l^%_-?{7H`2!`{ zB@Up2O08!$$%6J`XS8rPrjiRtrtDM@2oDfyif;~i1d}07T!qb5rzBj|2LD&lS+GU9 zMPZZ<0cjW-iJ@T#rBgr}lrHHI1Zj}&2I=nZ6iMlnZlp`;4r%VW^9zRWnU8b!-tS(E zpJsY@0mT41`8DuUjfzSKy3Og9qZQatu>uJ*<4W za^3#rcR@(bNCUgD;^{GAK_+`y4xBOSy+25o`aCAd^}oGxZ&b<|^#`}Lj|iqBW~}j0 z90Sym)|^=j7asbE%g={dhA+_eV!B#YcSzO6evg>f+YH7O*n{rBKFoG`H!SB^CD`w! z+34u#W0|G=lvs*NCMTANSnDy=1R>M!GXeU{3DkI>_`&~ib_t2oBa$Ni(52O3aVb-zboBp?h^ust;32y5I7yVj@8>&pqxWiCqg}m` zZo||lEgH}Gs)C+m`5wYC?NF;#3nK#e|0&JaB}4HHCZ}|1ADX2CDaZAHL=kTqGH{p- zqG6#B;^N|(#fHVUJ)lOF8wUq}Ed1zNEUf@PgYqaoSE;M1r#T;r{(dsOXzW?r8#V8< zA>%;@{8W#_iX}dh~-m-uYHVM38ncaAqo}zMdtRXhlAF6d^k){NDw$6B@--Qr&zf&mVmKGJe$i@yN zxOhnjPmL}hN&t~A>)9Ce^|KE&L)*%Pa$m&B-38)YlH=TkVt>j#>>Ze%Uic+ed0p&} zq+#Y%OuDfUeeWLNCYIRrZH0^kWzU++H*+^75xr>%Eq;i6{NUJ-(9{%-wN6*`VP1CFh#MkR#J^w=g)O*V$eYg#{-A@o|Nn>_Iq%cld&wU1pn`8`sOCPHV}^s8 zu!|iO%F9H|HB=Oz%kblNg!&Quci;xmPs#@q2{AV_(?{KU5V%R}nqe@tSp^jPT1n(_NQ77x^P*UYt8n9`Yd0sUYCDEV?0Vby8$B zyA_i%=WjekmXr+c!Ffhkm6uPid|&{skfWS-8Z4x|)GO zbvcb42flyia+-vDs=I#ox{?~JN%E7*|CVMs)ej$(l+t)U2~0AJyeHNUCY9HjW9vvx z(C&tN5|(>Ea|T%Ss=n#jaG#1IS2Qu@-tNcyai1pO`49|-8}rGXKg~w}k^Lr6veZj; zWl@2?N=A>FaCg_~K)+GYm%}l_-F2NSs2g4??fWG^OZ7?{d2rqgT^A^jxxd>7Lg&}p87!iKn>l!1oHi-ctwu>TkZx(aN4QHATA4~i%V35myE z7#+4182iq6#6j+=sBkDLv(nSjytkH{FTP|5eZ8~WKteVsiXp5>9_;NM9M1ftN77sO zqtq~w_NNR_XQU>YsTkDH-Ud(@mKdTa1kEWYYcMEz^Xe|+9em%YvgF8l;w5*s#k^3; z60-k%wLgpepw-4OPBKlrfLttM0tqz>rQZ%U=lTFbDwTEB9U^M*fOKmaKa%2S2)%lp zaWljqH>wGZH#^)OQjH6Gd?CkMf_L?1dV+=ym84%Rr#9$QpWjA56I^AALINRlH107_?}ocw8!9b4BYo;n0~sGm5GfAOcl>0lCRsJCmnBL-mSQ2joa5&n$UHgk-2g=gnJ^G7>4KxN)@d-N7xzIdNTcE` z0^-3T%|=o8(zcT(9CMRz-OC#EjN4mlYGRU+q}n9+sZ&$O6j>WiQ&0wu*mSO#bvV0hIFple(unrmUj+!SZ7(LQq3HavWarAoaPiMK zBfYE{5|vfmM!LmrhQ#FL^6u_n6V{&3Z$_!pm}v+Yrd0nRo7#@t3>+ZhH!ewKD0!&M z$__REZ-w05-NjMf`}P6-v5pSm-CughSv>_`f7f*JH=o(5DF--+J&SX2A`B7kUD%^R z2sc)jm47o=9u18I_xqF&B4pfRW<$qy{A($M7>X)r< z2AVa9?T$)ELO31HHv8rW1_o$dx_ahu<5W`K(@iv)?DIZqQ;D%BUo5Zw^mqy9VjsD) zO)zsRue9sIIb)%Lr^IOF%UCF8F@5rXz6qo8*RNlW;OJ*--z!Sj?dk5uQ7_6tZgUMb zDe+ql?G>Z!7SWB5S9O4MBTWVD*}GP-fR2e8d@7Z{dfSVyyvxzTuzRj5dp9HeC!CgN zwg)oDi43V{a$RvA$RM+A^5%j?TAsv~p(fx$U*GHyrzJ#ch|Z4a-P(`v{{Eb60q4Vl z!b0`0RV*Sq%o8O5(0g?{lz2BPe}$1?odXLm>{}Z02|vbEWKHND2Hcwkra}OUftMm;sl>SExN=o90UUWBu0+@OYjC z0zPDu4_r{I)=$z^>^3GsNa-BsHH)-8sr;W8U<2Pj#g~hhF|jc+TE3f}|2vvaPbp=M zrqyamno~>XL}wg>zqavu?`;2N^7XEpO&e4bdkC(MMP4`~lz^BdLFs>!P^0B9Pe6in z_|miyya!}UnV1IoZQ`y3-;(Y1FX!3xGL3KFIg7Qow~yIx_726v!V*j(Lm0Fm}K=%|lH zgw)$Fa+IMJdsD2GM65W^>*L8UNBluM1mvkX+}#qdBOO@;r8*)k)_e%0qz49KUvVhm zc9)8hQc~}L6U=4<7;dm3yEZ9{nIhZ*iy-71zD1QR)QQ^zVZ;lLxyH)IniYtsN%e56 z@AT;EnCb9Mt-O03Em=V6&M-shdwbE;WR0Cp01`xpe5m2DN~pUNkROWak-#W{@y{JfvIt=RtTWXu}O41&CJYbc?*>=sm*p3 zFeGoz5R#G#7`|P)54dA?sH+ZTvxIWG;r$Z^1V7qhNO{TAuTkXwVcpFRo{a3kPRz6Meo0alnU2M*3`heZ%)ByC#G36Y5YM~w{<58)z;n| zb2!wuDiifWG?Nn(ckv$!q2&m|l~XEe(FT>Sg2Ko)y?oO0OO9@Ijd*OsY>IkE&ePcu zIT}6xu?W22AWWogi+*_YzgA_@aNOMHM#hVU*>R5el$E zpoM?%c^DW!k^dh*R^(|VVYZ+84pErikJzo2Cacg7*)&~pd>!05@GZu(KKiV8YNop$ zFaMT6p~gZB(mhSc52UmqJR*E|*y}x2*hG5cP2l0@C)4&l;!MDwk=4ZJm3f>q_%%NReqTtwX-<9onGj`= zpQYbO2x-v8O2GZgMVBB1CT>>US_Pk`i}o~dRYa$P&CEuWm1Nu5>FCr3;goLc4|TKq z$%tt7Qg19DLf-8{$%`w2>=*f@?LuP+geX`wr5F*-&1c5sa4$)&S_8$MiV6LP{7bV! z%YFr5P*q%c9{=_{+O}2=#-_+pvh1^#xX5L;6j48|M2h3$L4^>Jl$@a6yS@B81TaPg z7<5sVh6?5H^NhsbHgOH+6b%wv@N*)|v@A6`4n#~$TX0xfTMMGkEPcDD1U3`s&FD(M^ z5ZsMwoP&(jjDaYB#*+OL7t{mf_h5oPSE1kfhC@*Bo}di+K<=bVoM(l|g>|X%XJ)l3 zsL_>R!F{HTI0nf}>k!TJ6ye5(0@f7(ARk!2e|qq~_CvsrHTs~Mqd~XzZwzgQ!b!sc zF2FKf=&Q~g2<^QCvG)O#HQJ3V+zPff#JkaDcihP`JOMMmTQznLj^v5JUp`{yH)BD3~c@N1w)hC_50xc5v5A9hWn|EQ5AmQYwGveq+h>Q2da}i6=M)@B98lm1Silc{-9f|_vYQ7)-+uIB z6=9?^w1iaz2DR(2Qr&H;2Y?CNz6Tgcy4V=%uLU)zJRa4E-%w-G1&hZY<_L5OVt(`` z>l{q`pQtf#+_n{syGKGY9h#&ocFp(#fl#md;F5pg%G3z{Wf0r{8bin9<{e6GxV%}= z%HwBO5>ojV)9j`tufBPI>^wT4`+S>*H zjZM-2cc0ckaV&3i&JOwx6igXgbF7pJ+DL6Rovcpw$+(81Q`f(K?N_pBRnApOoCg`-p;^ zoc0J6r1DwbcYB4W4k`odmc0EhnzYkf2#TAvXFJ9CjON^Rp>rHWx9U`o8|80P98Y9hdPNw#OFrf*R=V@1Zw%cad z7iGXYek0RD&Z?QhOvCMyT$QE%r=9swkln?@m$QPAiRm|b1QDBDpjY@lyWA3Dlr}XM zBYFV7{7!L)@594G+}h*#GY`A~#cP{>C$hF)o=7vZXqiDIp%LNKa%%7D;Y!Agp)KkV zoBi#fcnU*@2LF$?U=LwHWU>$f2_xx~_=`(AF&w@3jQAHhVk|S0f~c2M;0(Tk^p}|L zs$vXw{%a548*69TUDd7`EQhEr~^QX1Kpfp1@5m`WR(2B`gMyN z^NKXIFLH?smmR_0%kuR`2-V5cboP^)a%iK${f{iAf0klgm>Q+O@?RiZ!R>wVyv=@I zeymyI=b_zN<(xR_L92ge(LtuOE!ywgLmq}#E-OQ;#pd$WHUZv3Bj>4tvt!`7ud#W4 zdbEIJlvD^H4()15d~oaFh>I%pgL;?mM!Y&Ubo2MONB5WaY(!!3?*@V189QKXaAsqc z$LFRV8ScJ6I&@{$_T5X+c{|}b+m zVvIp3M}$oI&3bsQG9CQGe!72s=)ORWpTr1ZgsS=QP?Mk-Y)p=X`x!&-{qA``FW7++ z=q!8Ld0seo;#PhmCKh6WkbTw{X1nF*0CiY;6a5((%J1cE2(hmj&EoxHx1#CmMi9UDb~u%ZIJUj$MPPoZUYy zBSAwC;CM>{IMHmW^ubAnoF9;;O9SB;WJo(Xj@y9eEDXYb#I3BQ5I;j`+hro9;)Q=# zfH`tY1`f>Iv)c>$rA~=W<0JKFK-Rky-JM0ok_qlYM}@kQSQIE_3S7{g1~*Jx(xv<( z$sscKC;yd6BAsj3zkZVTzk$lKcA$6apP$#(D&lyu2a83Pz#p z-Zl9v+*ywHZmse6t_p=+cqm3;=4Sq~RJ%?Wm-3ilWftXe{x54SZdonA*LAX%yxxAg zPYy6Wo5va!{EaiFY!Me>=3&nCGNT=xwg#=_Voe^WQ__qLfNj~-8N;(}vH*y%c zXC7tnh=(ec+VQta>6`ctIo?u}{^-nlz$?-Py;oR-+jQmoXA~T!vv2`K>n~qW?e&`V zMnZl{K&ta9%N$S*Z$6|<_r+1~-L!q=(Z)Mk`HI9scH8K4->9HPZQG29CU#ZZ&7@}4 z7lcqrE-nLuTo2MC>%X_LwJq1F|2r)Fe@^2sppIko|BV|CMENe)9h$@-#u|Y0vnk@d zKKrp^GtIi{))<)gUQxSve15ZZC22xL^hOI(#xM>dyUQls6L;UfJ#4{r&xNzJ90IUR!9rZcb&6@Cn2 zCE6Zb~bB3|8!f}udsl5@@76xsHs=0hwVHNHD5aX1It zzab34KDphkZ2WlZ1n7!E59A3MVJclG4mrbSzN$!MlV5jD@soMXfn5CmxZA&gk2lDk zeRggHn3IXY8>n%p2mK{8^fMiTLEDeC_e?PSH=b_SnBOb@m*O@qgE7%tbd2Hg(a~9M zzJSnA2*FoTi7>iS!q?bk_3_?g^M=&ubjleCcf%I#B7+Mv|6>jQf@KHS{U-aZv<FDnH4z$~)Da5sQ_IUJWv||E1Ykd%GJZ+hzcM*fNPlxw_x@cBJ6Uj-4DxiD ze^smAh$%l?8Cb;$V*AHtz|LTe?jViZT_0VpRn%LDHq7FMjtRY0EsP#4$gn)N5D|~AG_wHvc+8vm z2Y}>UL9%Hlbs4D1W=hH-oWfXj`bCGk>?9wO=XPk@=vdw}c_*%~zf=Wi`cooZeHdbz z=yn8u988I1k|}x&3!cF6Pjx&?xZIVm1gglp;-otL47i$Q*2JteJ?ow5k^DmRe|wZC ztu=(w-E0`1)>5HSIe!A6Z@c0xW!w}LSpWXj0#YkN=c9&sorC=}<=>y{_?elF8AE?e z5($O!POVFL72>oEYfhxo@odBRuW+A!5QbNd1TUL7R_MX~8E&lQra z^j@rGN^lI3XwJ-tLNT*}R7#56c!Zz6BY@gh`)3B<%`g(5So+R`#IpB>p$r#v@b7@`K=%zQFB3X0~!r`*=4O5|q$9%i* z7~FNnIuzpv&;X{L_gZio73hZVBLX^7LO=20KG06I1u)bPtu7_lMb;lq`sdt{E(tw*_f}LeeR3vfx%b62j*FMK(DfP&$43>gQsD+vCK!5IbB@jv z$5>;&KYj0v4a3&v=@RT4l)7 zU~D_h)|nv!*Jg|jL;LxGgbTw-sMqi(SV4>(&Sdup7U$_eBgNn{AAxWWo8;ydoSi&B z#g}dLyqg0n0Hti~?B1z;cw7|9F_v0w;p&^Xzuyf>9xHqyG*)dYt`4bWU+}5DnKZvB zt1U~y(%4s?%;WeH^)U->r3qOSGxHA5^G~m5udJu11X9X+!}n+jpPF5BQt@A~2t$M+ zwI9@}K>?h#4mR4_du5=KQNB1ocR77XKh(m%)5*b(bqY$*Z;JCoQQ3C9aBv_OyctsV z{&4q;<#}QAtZA}Yo-w+BzGL=-FbnAv#o)J$?5_w@t(TNzfRd(bZ#4OW<-&2o>CQ}ByDtRXLXP1nd;94z zE@#EZr=D1C7N(u(Wgr<%1%9P-cFo1n>Yyq8NrPbeSTX%a;#h{TYApS&`T8BVSy;2* zmfTw#yEK2i-rb~yvffEsPJtiO1-*~r)X;zKCN+Q2cTXrM`UPYlkCVh1)fnY1FL}7W zd~9Y3lV~DRG!_5ZL}%sOWj*t~p<$MQfWQ+@<6B|`F^9> z&yYDEI-eumEZ}=!b1LfxVcj$9zJtC=SL93=ETemrRgjv@ux-Bu~;XZ{oUMD zO*$r8Z@bc>{C{MB6!L9wEEhfSi~}Ji~HivlBJb3d&0VEIOIzqfdM zVKL9DUDt~~V$AiBAW;Hg(tXYNb_yYkC%#O<<^-?#^SOF>;MH6A07Lq#+i2V#LwXVw z%>48MLA6rS7giM>+A2CaEy#2cZ=XS7*4$E1P!Rd-JA#0ZW-t_oT+AY%@}lqs%! zB!1DU|FHF(r$!q9=_Ue{@fSb0W^~ChbMKejmDY?cy-o&0>6Tku`647up+=x;cO?F_ zk@cZti~mV%98Pj&DfM3wAIE9x3&W*0(8N;)+f=g+2=zHcL@KW6@)yNUNsM=LIV{@U z>jlQ{!j~J*U`QV1h5~<)yye<)pP3J`^{*=;)$7gmSNKf&XEgz))U4}FizWU#0`r*( zFJ--iJFaY2xyAF>lfIh&S_C~@T-SFwtu97m%l=N22F!7lrtt2RaLx-tBFR-paIjMd zf{Mr)v?$o_uaBnXaSY3l$u%>yV_3B6)-M$eAv4Vp&9N6^JXXZ0iO4_CTrvfme|?Hm zAl%y{;YC2~vecxwL@LU)!cF;p*UZ|Kh>b_vD+}=7`=Vb-iv9ZdP9N({+m{KfINLNU zGHV7l>^u=nEU;4)S%7la+1xJOoTJdwXr|byE5l_Na(&<8O3XQ@*0#qjI~vhX%~!NTi14j`fNah-hEM81?oVcGyi! zFENbVCi&1l4)HYcbp3Qm(EYI$&?o?U?cA`Yx@G?HbGU8jMi3peAyKK~(~T2@Lb#Rm>#$%atd z>_^1#lx&%5ZQ0JdZAblLZpqiFp0m{bDx7j!7b{73+1fa4mXRUb=~y-r!6EeA|1!ay zY81?1Vo|s9f-*Vm4}Lq23%@JG`{?Q%Q{^ea4f#6_t8WVzFeUTAN7u~5!cVW00wdOswpqp!5ut`?5rcrudcB<%Bp?h9ggG3F9=5OXq#U@?USATtWh*NI)k*7HvqLO8Z0caT%*$c6zuknU0;ltCow&S zzaemvTAK;c)ZW;6Sw-p8k5hrv(+6!4u6+*eVx3~TL0m*(Zt3VXz!UF*XItr zuYq4EhAt?1Vz^5+_KS&biA-E^GDwGbkkHE9$2B1mO*-hW3&xph`+RwTVTy~sC>yZw z{p586W+gTv-VbiCo^gS`V7@7x_cqv&&~KNlFfO!r7XOEiL!+&gj&7qZ1;WRWHIRSn z0pp8bsI^aJHzg%=DJ3QE=VD@<_)umEvo3H^p_()5C%-BgXrPahJmlGKvsE7{c0v5h ziEu!Sr$?E2yjs>h6_b61`C?{U+?W0`hw$;YU5rXw^7g)Uy{9Fu1PSxVqQFU8n zz+)Z(jjt&}FB1|J268Pe1AG+Zam~)K00M^p#XjFHCus)i%!cd4%*5YuII&R4@dUrZ zn9tk!WIM&vtz-Vu;3ssb)DJ^h^<4oN%(X+dnO6t017H39eR%X{yW{Je0 z@Izk<^=;?+ORw`GhE_wrL7#)l#uuRzGUWI}jlw_T*iszIT9#0w^KwcwI8C^d^xlC)CJORQOhSK6O} zQ*lHIbG;6u#hrt`$}AJ>YF;v6t@T!cnSyZ{A(yrYZreu_tRrW^lfq;o+!?W9hv$l zuV@m^V9AZJmdWEk@a7r}8$D)R2>n7H6&We?rLi>{jDKlRAt;M`oExVE3!fJg1uE=> z@DqQ*@F%Tsk>)0U@(<8q3R8Xhf`1vZD68vECyII^YEJYgMIz*Z&ffs}DcbfK)ll%G zo?hEmfVk-UpUB8eMoJ2kC*q*(oW?WMV2$m1$%TQ4#fAAS>1Yiz7iZx0{Hr7|qcgR< zdk*yFk+agmM&U~}op##c%3$#ey>aZ& zo=mGj(jX1RJi_g>SXki5dto^+WxM>*J5Hy{LE|Cdy7K0*=p>*oWLMA6U+N>&uMjQyAK{5iwM*!}-b(=0@HxxCz6|9^EyqgtzW zQ^@lRaaFYe;%H$f>x}pnEgz{VL_c06bmAF~4(p@9H~+ldM)+)N@l9%upO+s+`QIz~Rb@DOK>Wm0m@+_Sp!KYe(f??05-z*eQ z?h+%+JN!O!={P$QKAO_|_;GBsssG?k{ih^h-?!GEz-ye9vXmXTX{d{+@x$82hK(JW znVDI@szC?4tNj6VAhUQg@^=YS8??JFE%Y{}^Uk-YE!t3)sRSND zcI$!mn^4_};M%QHaG!)?Eu)R$5Tcr9FM8)Jde|Ql^;DNiSO)`@eb2X0j@$RLB?d^a zNDZT3-4+Au>+p+S2Dlnl zRK3#Xx3sxzBYO%KDgnnUEBULEBh_va*qw#)$x~gAU|E8tf5umaPv+n83R!AwEN4}F zJCv7|^*k*lB}Hw)!O+-H+S&=>Z3bd>Pj`7kbFV_I=ZE(w^s1=9K-8i&8o_EGo4GHN z6Heg&dgtn5XS{>k>+TZ4Bz=LOxKCl>mh0Okolci=+Z@e8I~LVR;97;=>?R&kau#Nh zAx*E#uDRmI?^DW`*DLVjYHJG%T8KX1x;6?s30&!+P$J*O_XtoGP2V3=u7R>XT26a} zne}K}u%yely?_;yGeQZH0FA;WovF<(kG9(`PA z7Jr+V(A6qx8DpeJdbWSINL<~lruS-3P6upFy=F}Vi@+Gm$0((F{=L$Y-{}xWU?dQ+ zmzLPHY(&G5`dK`SBsO$X)rqxloW@DsM8@<2FyvksoTgoX&Ixy{`w(^jVz8yS!#-g) zX4PWgRn#^{6JxKTzJ2S8i=m54Ox%lgj^OlcG;D0q`PEf#%7TWia?NU61e6WxcH06x z?w|`-F_R!jJjChX_!W42gys2UzUrYT3Sb(GvKwJ7gya!SPEAaxG=X_x3t*}e&H*QB0FwPHR@Msgg0TJhj~+%=Nmkl~`hG5lKuU`E)961~;uWol|tf&gJ zTjXmp#Z%~fZ%6Tvj(NfQp)mK)q6EdDT39?D1O+sOH4XL;)aYMjG9YNACbLk6e30Nr zqw72UIbzC{>1$CT0J_{^>g5` z@e{4fVCR~S9R2T_;-WK@!tUP@W{NO6S*?r=#DVN=1>5JQ=U3IDFQ+KA?8J`IkSEG$ zzLyxtgP+9zQgCgt@+}vgZt#l6M`^p9)BVB^(ne#5(~R)J_CG2sM|nUxW%ti;@&Kqv z=n;Bkkc)5-SDU8wAT~%FO4&O>8Ev=rsyXCSyh2O_#ex88^R+4Jo?WsR+ar=J zX1Uf}Mn-4L+h}vdFQ~&A;Md>r;!KYMUBOu=PK=SEceG6TY#MsGQ{1f8OA0PJ*=D;9 z2@!=sd_(Wg|C;TwVG&}ruMA^9!J+T31N1rV;?mKXdHo&&%#XQIw=`gDyk`z>hbVRQ zZwo4=TaLO=BPeoDD#iL@vOUjb4`~ls5{pp?jAcil#*nX HgrWa`4>$e4 literal 0 HcmV?d00001 diff --git a/website/src/img/design_3/publications/optout.png b/website/src/img/design_3/publications/optout.png new file mode 100644 index 0000000000000000000000000000000000000000..c2d11e5320262b613472c08367bc8a28283e2786 GIT binary patch literal 67093 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 literal 0 HcmV?d00001 diff --git a/website/src/img/design_3/publications/trail-of-bits.png b/website/src/img/design_3/publications/trail-of-bits.png new file mode 100644 index 0000000000000000000000000000000000000000..84603a414cbbfe26529a978b5afd15a077d29c0a GIT binary patch literal 69152 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 F_J1yc?!y28 literal 0 HcmV?d00001 diff --git a/website/src/img/design_3/socials/windows.png b/website/src/img/design_3/socials/windows.png new file mode 100644 index 0000000000000000000000000000000000000000..d9b192c8ccbba996405e3e6cb828535cb3fa11f9 GIT binary patch literal 217179 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≦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 Uo2%*hWS|Ixr>mdKI;Vst0HFRD`~Uy| literal 0 HcmV?d00001 diff --git a/website/src/index.html b/website/src/index.html index 486fd6dda1..6d302381fe 100644 --- a/website/src/index.html +++ b/website/src/index.html @@ -71,13 +71,55 @@ active_home: true

Be Free

Freedom & Security
of Your Communications

The first network where you own your identity, contacts, and groups.

- -
- - - - - + + +
+ + Trail of Bits + + + 2022 + + + 2024 + +

+ Security Audits +

+
+

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 literal 0 HcmV?d00001 diff --git a/website/src/img/design_3/publications/whonix.png b/website/src/img/design_3/publications/whonix.png new file mode 100644 index 0000000000000000000000000000000000000000..bbad541f7198bc823c5b6614822b34a14320d504 GIT binary patch literal 43512 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 IM6N<$f-CVh82|tP literal 0 HcmV?d00001 diff --git a/website/src/img/design_3/socials/apple.png b/website/src/img/design_3/socials/apple.png new file mode 100644 index 0000000000000000000000000000000000000000..7aad34dc4761b7e9265d831376390a6708538937 GIT binary patch literal 63039 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

@@ -85,18 +127,18 @@ active_home: true
-
+

World's Most Secure Messaging

SimpleX messaging has cutting-edge end-to-end encryption.

For your security, servers can’t see your messages or who you talk to.

- Learn more about SimpleX messaging + Learn more about SimpleX messaging
-
+

You Own
The Next Web

@@ -106,18 +148,18 @@ active_home: true
-
+

Communities That Last

You will support your favorite groups with future Community vouchers.

Vouchers will pay for servers, to let your communities stay free and independent.

- Learn more about Community Vouchers + Learn more about Community Vouchers
-
+

SimpleX Roadmap to Free Internet

@@ -140,7 +182,7 @@ active_home: true
-
+
diff --git a/website/src/js/design3.js b/website/src/js/design3.js index 915c37b244..7fd551b155 100644 --- a/website/src/js/design3.js +++ b/website/src/js/design3.js @@ -11,8 +11,9 @@ document.addEventListener('DOMContentLoaded', () => { const fDroidBtn = document.querySelector('.f-droid-btn'); const testflightBtn = document.querySelector('.testflight-btn'); const androidBtn = document.querySelector('.android-btn'); + const desktopAppBtn = document.querySelector('.desktop-app-btn'); - if (!googlePlayBtn || !appleStoreBtn || !fDroidBtn || !testflightBtn || !androidBtn) return; + if (!googlePlayBtn || !appleStoreBtn || !fDroidBtn || !testflightBtn || !androidBtn || !desktopAppBtn) return; if (isMobile.Android()) { @@ -27,9 +28,10 @@ document.addEventListener('DOMContentLoaded', () => { else { appleStoreBtn.classList.remove('hidden'); googlePlayBtn.classList.remove('hidden'); - fDroidBtn.classList.remove('hidden'); - testflightBtn.classList.remove('hidden'); - androidBtn.classList.remove('hidden'); + desktopAppBtn.classList.remove('hidden'); + // fDroidBtn.classList.remove('hidden'); + // testflightBtn.classList.remove('hidden'); + // androidBtn.classList.remove('hidden'); } showPromotedGroups(); diff --git a/website/src/learn-more.html b/website/src/messaging.html similarity index 100% rename from website/src/learn-more.html rename to website/src/messaging.html diff --git a/website/src/community-vouchers.md b/website/src/token.md similarity index 93% rename from website/src/community-vouchers.md rename to website/src/token.md index c865d3b97d..fe7ad26538 100644 --- a/website/src/community-vouchers.md +++ b/website/src/token.md @@ -1,7 +1,7 @@ --- -layout: layouts/community_vouchers.html +layout: layouts/token.html title: "Simplex Chat" -permalink: "/community-vouchers/index.html" +permalink: "/token/index.html" --- # Community Vouchers diff --git a/website/web.sh b/website/web.sh index 06cce1e153..5cad238190 100755 --- a/website/web.sh +++ b/website/web.sh @@ -32,7 +32,7 @@ node customize_docs_frontmatter.js for lang in "${langs[@]}"; do mkdir -p src/$lang cp src/index.html src/$lang - cp src/learn-more.html src/$lang + cp src/messaging.html src/$lang cp src/contact.html src/$lang cp src/invitation.html src/$lang cp src/fdroid.html src/$lang @@ -65,6 +65,6 @@ done # val_json_obj=$(echo "$val_json_obj" | jq ". + {$lang: $val}") # fi # done -# main_json_obj=$(echo "$main_json_obj" | jq ". + {\"$key\": $val_json_obj}") +# main_json_obj=$(echo "$main_json_obj" | jq ". + {\"$key\": $val_json_obj}") # done # echo "$main_json_obj" > translations.json \ No newline at end of file From d275a4efe85a45e525e3dca6ccdb29fde763e893 Mon Sep 17 00:00:00 2001 From: "M. Sarmad Qadeer" Date: Tue, 21 Oct 2025 03:01:24 +0500 Subject: [PATCH 26/38] website: translation strings (#6384) * add translation strings for home page * add translation strings for comparison table --- website/langs/en.json | 50 ++++++++++++++++++++++- website/src/index.html | 82 +++++++++++++++++++------------------- website/src/messaging.html | 14 +++---- 3 files changed, 97 insertions(+), 49 deletions(-) diff --git a/website/langs/en.json b/website/langs/en.json index 3df67f6c18..22a4058b94 100644 --- a/website/langs/en.json +++ b/website/langs/en.json @@ -257,5 +257,53 @@ "f-droid-page-f-droid-org-repo-section-text": "SimpleX Chat and F-Droid.org repositories sign builds with the different keys. To switch, please export the chat database and re-install the app.", "jobs": "Join team", "please-enable-javascript": "Please enable JavaScript to see the QR code.", - "please-use-link-in-mobile-app": "Please use the link in the mobile app" + "please-use-link-in-mobile-app": "Please use the link in the mobile app", + "index-hero-h1": "Be Free", + "index-hero-h2": "Freedom & Security
of Your Communications", + "index-hero-p1": "The first network where you own your identity, contacts, and groups.", + "index-hero-download-desktop-btn-title": "Download SimpleX Desktop App", + "index-google-play-title": "Public iOS preview on TestFlight", + "index-f-droid-title": "SimpleX F-Droid Repository", + "index-security-assessment-title": "security assessment", + "index-security-review-2022-title": "Security Review 2022", + "index-security-review-2024-title": "Security Review 2024", + "index-security-audits-label": "Security Audits", + "index-publications-privacy-guides-title": "messenger recommendations", + "index-publications-whonix-title": "Whonix messenger recommendations", + "index-publications-heise-title": "publication", + "index-publications-kuketz-title": "review", + "index-publications-optout-title": "podcast interview", + "worlds-most-secure-messaging": "World's Most Secure Messaging", + "index-messaging-p1": "SimpleX messaging has cutting-edge end-to-end encryption.", + "index-messaging-p2": "For your security, servers can’t see your messages or who you talk to.", + "index-messaging-cta": "Learn more about SimpleX messaging", + "index-nextweb-h2": "You Own
The Next Web", + "index-nextweb-p1": "SimpleX is founded on the belief that you must own your identity, contacts and communities.", + "index-nextweb-p2": "Open and decentralized network lets you connect with people and share ideas: be free and secure.", + "index-token-h2": "Communities That Last", + "index-token-p1": "You will support your favorite groups with future Community vouchers.", + "index-token-p2": "Vouchers will pay for servers, to let your communities stay free and independent.", + "index-token-cta": "Learn more about Community Vouchers", + "index-roadmap-h2": "SimpleX Roadmap to Free Internet", + "index-roadmap-2025": "2025", + "index-roadmap-2025-title": "Scale to Large Communities", + "index-roadmap-2025-desc": "Escaping centralized platforms", + "index-roadmap-2026": "2026", + "index-roadmap-2026-title": "Sustainable Communities & Servers", + "index-roadmap-2026-desc": "Launching Community Vouchers", + "index-roadmap-2027": "2027", + "index-roadmap-2027-title": "Make Your Communities Grow", + "index-roadmap-2027-desc": "Tools to promote your communities", + "index-directory-h2": "Join SimpleX Communities", + "index-directory-p1": "Hundreds of thousands people already trust SimpleX messaging.", + "index-directory-p2": "Find your communities in SimpleX directory and create your own!", + "index-directory-cta": "View SimpleX Directory", + "index-directory-users-group-title": "SimpleX users group", + "how-secure-comparison-title": "How secure is end-to-end encryption in different messengers?", + "how-secure-message-padding": "Message padding", + "how-secure-repudiation-deniability": "Repudiation (deniability)", + "how-secure-forward-secrecy": "Forward secrecy", + "how-secure-break-in-recovery": "Break-in recovery", + "how-secure-two-factor-key-exchange": "2-factor key exchange", + "how-secure-post-quantum-hybrid-crypto": "Post-quantum hybrid crypto" } \ No newline at end of file diff --git a/website/src/index.html b/website/src/index.html index 6d302381fe..f527ab690c 100644 --- a/website/src/index.html +++ b/website/src/index.html @@ -68,12 +68,12 @@ active_home: true
-

Be Free

-

Freedom & Security
of Your Communications

-

The first network where you own your identity, contacts, and groups.

+

{{ "index-hero-h1" | i18n({}, lang) }}

+

{{ "index-hero-h2" | i18n({}, lang) | safe }}

+

{{ "index-hero-p1" | i18n({}, lang) }}

-
- + Trail of Bits - + 2022 - + 2024

- Security Audits + {{ 'index-security-audits-label' | i18n({}, lang) }}

@@ -130,10 +130,10 @@ active_home: true
-

World's Most Secure Messaging

-

SimpleX messaging has cutting-edge end-to-end encryption.

-

For your security, servers can’t see your messages or who you talk to.

- Learn more about SimpleX messaging +

{{ "worlds-most-secure-messaging" | i18n({}, lang ) | safe }}

+

{{ "index-messaging-p1" | i18n({}, lang) }}

+

{{ "index-messaging-p2" | i18n({}, lang) | safe }}

+ {{ "index-messaging-cta" | i18n({}, lang) }}
@@ -141,9 +141,9 @@ active_home: true
-

You Own
The Next Web

-

SimpleX is founded on the belief that you must own your identity, contacts and communities.

-

Open and decentralized network lets you connect with people and share ideas: be free and secure.

+

{{ "index-nextweb-h2" | i18n({}, lang) | safe }}

+

{{ "index-nextweb-p1" | i18n({}, lang) | safe }}

+

{{ "index-nextweb-p2" | i18n({}, lang) }}

@@ -151,10 +151,10 @@ active_home: true
-

Communities That Last

-

You will support your favorite groups with future Community vouchers.

-

Vouchers will pay for servers, to let your communities stay free and independent.

- Learn more about Community Vouchers +

{{ "index-token-h2" | i18n({}, lang) }}

+

{{ "index-token-p1" | i18n({}, lang) }}

+

{{ "index-token-p2" | i18n({}, lang) }}

+ {{ "index-token-cta" | i18n({}, lang) }}
@@ -162,21 +162,21 @@ active_home: true
-

SimpleX Roadmap to Free Internet

+

{{ "index-roadmap-h2" | i18n({}, lang) }}

-

2025

-

: Scale to Large Communities

-

Escaping centralized platforms

+

{{ "index-roadmap-2025" | i18n({}, lang) }}

+

: {{ "index-roadmap-2025-title" | i18n({}, lang) }}

+

{{ "index-roadmap-2025-desc" | i18n({}, lang) }}

-

2026

-

: Sustainable Communities & Servers

-

Launching Community Vouchers

+

{{ "index-roadmap-2026" | i18n({}, lang) }}

+

: {{ "index-roadmap-2026-title" | i18n({}, lang) }}

+

{{ "index-roadmap-2026-desc" | i18n({}, lang) }}

-

2027

-

: Make Your Communities Grow

-

Tools to promote your communities

+

{{ "index-roadmap-2027" | i18n({}, lang) }}

+

: {{ "index-roadmap-2027-title" | i18n({}, lang) }}

+

{{ "index-roadmap-2027-desc" | i18n({}, lang) }}

@@ -197,7 +197,7 @@ active_home: true - + @@ -217,10 +217,10 @@ active_home: true
-

Join SimpleX Communities

-

Hundreds of thousands people already trust SimpleX messaging.

-

Find your communities in SimpleX directory and create your own!

- View SimpleX Directory +

{{ "index-directory-h2" | i18n({}, lang) }}

+

{{ "index-directory-p1" | i18n({}, lang) }}

+

{{ "index-directory-p2" | i18n({}, lang) }}

+ {{ "index-directory-cta" | i18n({}, lang) }}
diff --git a/website/src/messaging.html b/website/src/messaging.html index 64bb5d601a..2ba49bf300 100644 --- a/website/src/messaging.html +++ b/website/src/messaging.html @@ -217,7 +217,7 @@ templateEngineOverride: njk
-

How secure is end-to-end encryption in different messengers?

+

{{ "how-secure-comparison-title" | i18n({}, lang ) | safe }}

@@ -252,7 +252,7 @@ templateEngineOverride: njk - + @@ -261,7 +261,7 @@ templateEngineOverride: njk - + @@ -270,7 +270,7 @@ templateEngineOverride: njk - + @@ -279,7 +279,7 @@ templateEngineOverride: njk - + @@ -288,7 +288,7 @@ templateEngineOverride: njk - + @@ -297,7 +297,7 @@ templateEngineOverride: njk - + From 6a600ad330e09dd6f8751ef1613a3b776cee893a Mon Sep 17 00:00:00 2001 From: Evgeny Poberezkin Date: Mon, 20 Oct 2025 23:03:36 +0100 Subject: [PATCH 27/38] website: add translation strings --- website/langs/en.json | 50 ++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 49 insertions(+), 1 deletion(-) diff --git a/website/langs/en.json b/website/langs/en.json index 3df67f6c18..22a4058b94 100644 --- a/website/langs/en.json +++ b/website/langs/en.json @@ -257,5 +257,53 @@ "f-droid-page-f-droid-org-repo-section-text": "SimpleX Chat and F-Droid.org repositories sign builds with the different keys. To switch, please export the chat database and re-install the app.", "jobs": "Join team", "please-enable-javascript": "Please enable JavaScript to see the QR code.", - "please-use-link-in-mobile-app": "Please use the link in the mobile app" + "please-use-link-in-mobile-app": "Please use the link in the mobile app", + "index-hero-h1": "Be Free", + "index-hero-h2": "Freedom & Security
of Your Communications", + "index-hero-p1": "The first network where you own your identity, contacts, and groups.", + "index-hero-download-desktop-btn-title": "Download SimpleX Desktop App", + "index-google-play-title": "Public iOS preview on TestFlight", + "index-f-droid-title": "SimpleX F-Droid Repository", + "index-security-assessment-title": "security assessment", + "index-security-review-2022-title": "Security Review 2022", + "index-security-review-2024-title": "Security Review 2024", + "index-security-audits-label": "Security Audits", + "index-publications-privacy-guides-title": "messenger recommendations", + "index-publications-whonix-title": "Whonix messenger recommendations", + "index-publications-heise-title": "publication", + "index-publications-kuketz-title": "review", + "index-publications-optout-title": "podcast interview", + "worlds-most-secure-messaging": "World's Most Secure Messaging", + "index-messaging-p1": "SimpleX messaging has cutting-edge end-to-end encryption.", + "index-messaging-p2": "For your security, servers can’t see your messages or who you talk to.", + "index-messaging-cta": "Learn more about SimpleX messaging", + "index-nextweb-h2": "You Own
The Next Web", + "index-nextweb-p1": "SimpleX is founded on the belief that you must own your identity, contacts and communities.", + "index-nextweb-p2": "Open and decentralized network lets you connect with people and share ideas: be free and secure.", + "index-token-h2": "Communities That Last", + "index-token-p1": "You will support your favorite groups with future Community vouchers.", + "index-token-p2": "Vouchers will pay for servers, to let your communities stay free and independent.", + "index-token-cta": "Learn more about Community Vouchers", + "index-roadmap-h2": "SimpleX Roadmap to Free Internet", + "index-roadmap-2025": "2025", + "index-roadmap-2025-title": "Scale to Large Communities", + "index-roadmap-2025-desc": "Escaping centralized platforms", + "index-roadmap-2026": "2026", + "index-roadmap-2026-title": "Sustainable Communities & Servers", + "index-roadmap-2026-desc": "Launching Community Vouchers", + "index-roadmap-2027": "2027", + "index-roadmap-2027-title": "Make Your Communities Grow", + "index-roadmap-2027-desc": "Tools to promote your communities", + "index-directory-h2": "Join SimpleX Communities", + "index-directory-p1": "Hundreds of thousands people already trust SimpleX messaging.", + "index-directory-p2": "Find your communities in SimpleX directory and create your own!", + "index-directory-cta": "View SimpleX Directory", + "index-directory-users-group-title": "SimpleX users group", + "how-secure-comparison-title": "How secure is end-to-end encryption in different messengers?", + "how-secure-message-padding": "Message padding", + "how-secure-repudiation-deniability": "Repudiation (deniability)", + "how-secure-forward-secrecy": "Forward secrecy", + "how-secure-break-in-recovery": "Break-in recovery", + "how-secure-two-factor-key-exchange": "2-factor key exchange", + "how-secure-post-quantum-hybrid-crypto": "Post-quantum hybrid crypto" } \ No newline at end of file From a04c38381a10b1f43fcececac058a7b44aac39ed Mon Sep 17 00:00:00 2001 From: Evgeny Poberezkin Date: Tue, 21 Oct 2025 08:13:50 +0100 Subject: [PATCH 28/38] update strings --- website/langs/en.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/langs/en.json b/website/langs/en.json index 22a4058b94..b465718e0b 100644 --- a/website/langs/en.json +++ b/website/langs/en.json @@ -275,7 +275,7 @@ "index-publications-optout-title": "podcast interview", "worlds-most-secure-messaging": "World's Most Secure Messaging", "index-messaging-p1": "SimpleX messaging has cutting-edge end-to-end encryption.", - "index-messaging-p2": "For your security, servers can’t see your messages or who you talk to.", + "index-messaging-p2": "For your security and privacy, servers can’t see your messages or who you talk to.", "index-messaging-cta": "Learn more about SimpleX messaging", "index-nextweb-h2": "You Own
The Next Web", "index-nextweb-p1": "SimpleX is founded on the belief that you must own your identity, contacts and communities.", From c16cb841fa79f14eda9703e3ac694b891b473403 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Tue, 21 Oct 2025 10:21:27 +0100 Subject: [PATCH 29/38] website: translations (#6385) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Translated using Weblate (Romanian) Currently translated at 12.4% (32 of 257 strings) Translation: SimpleX Chat/SimpleX Chat website Translate-URL: https://hosted.weblate.org/projects/simplex-chat/website/ro/ * Translated using Weblate (Romanian) Currently translated at 12.8% (33 of 257 strings) Translation: SimpleX Chat/SimpleX Chat website Translate-URL: https://hosted.weblate.org/projects/simplex-chat/website/ro/ * Translated using Weblate (Romanian) Currently translated at 13.2% (34 of 257 strings) Translation: SimpleX Chat/SimpleX Chat website Translate-URL: https://hosted.weblate.org/projects/simplex-chat/website/ro/ * Translated using Weblate (Romanian) Currently translated at 21.0% (54 of 257 strings) Translation: SimpleX Chat/SimpleX Chat website Translate-URL: https://hosted.weblate.org/projects/simplex-chat/website/ro/ * Translated using Weblate (Romanian) Currently translated at 12.4% (32 of 257 strings) Translation: SimpleX Chat/SimpleX Chat website Translate-URL: https://hosted.weblate.org/projects/simplex-chat/website/ro/ * Translated using Weblate (Romanian) Currently translated at 12.8% (33 of 257 strings) Translation: SimpleX Chat/SimpleX Chat website Translate-URL: https://hosted.weblate.org/projects/simplex-chat/website/ro/ * Translated using Weblate (Romanian) Currently translated at 13.2% (34 of 257 strings) Translation: SimpleX Chat/SimpleX Chat website Translate-URL: https://hosted.weblate.org/projects/simplex-chat/website/ro/ * Translated using Weblate (Romanian) Currently translated at 21.0% (54 of 257 strings) Translation: SimpleX Chat/SimpleX Chat website Translate-URL: https://hosted.weblate.org/projects/simplex-chat/website/ro/ * Translated using Weblate (Arabic) Currently translated at 100.0% (259 of 259 strings) Translation: SimpleX Chat/SimpleX Chat website Translate-URL: https://hosted.weblate.org/projects/simplex-chat/website/ar/ * Translated using Weblate (Italian) Currently translated at 100.0% (259 of 259 strings) Translation: SimpleX Chat/SimpleX Chat website Translate-URL: https://hosted.weblate.org/projects/simplex-chat/website/it/ * Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 100.0% (259 of 259 strings) Translation: SimpleX Chat/SimpleX Chat website Translate-URL: https://hosted.weblate.org/projects/simplex-chat/website/zh_Hans/ * Translated using Weblate (Portuguese (Brazil)) Currently translated at 100.0% (259 of 259 strings) Translation: SimpleX Chat/SimpleX Chat website Translate-URL: https://hosted.weblate.org/projects/simplex-chat/website/pt_BR/ * Translated using Weblate (Hungarian) Currently translated at 100.0% (259 of 259 strings) Translation: SimpleX Chat/SimpleX Chat website Translate-URL: https://hosted.weblate.org/projects/simplex-chat/website/hu/ * Translated using Weblate (Indonesian) Currently translated at 27.7% (72 of 259 strings) Translation: SimpleX Chat/SimpleX Chat website Translate-URL: https://hosted.weblate.org/projects/simplex-chat/website/id/ * Translated using Weblate (Spanish) Currently translated at 100.0% (259 of 259 strings) Translation: SimpleX Chat/SimpleX Chat website Translate-URL: https://hosted.weblate.org/projects/simplex-chat/website/es/ * Translated using Weblate (Indonesian) Currently translated at 33.5% (87 of 259 strings) Translation: SimpleX Chat/SimpleX Chat website Translate-URL: https://hosted.weblate.org/projects/simplex-chat/website/id/ * Translated using Weblate (Persian) Currently translated at 100.0% (259 of 259 strings) Translation: SimpleX Chat/SimpleX Chat website Translate-URL: https://hosted.weblate.org/projects/simplex-chat/website/fa/ * Translated using Weblate (Indonesian) Currently translated at 42.4% (110 of 259 strings) Translation: SimpleX Chat/SimpleX Chat website Translate-URL: https://hosted.weblate.org/projects/simplex-chat/website/id/ * Translated using Weblate (German) Currently translated at 100.0% (259 of 259 strings) Translation: SimpleX Chat/SimpleX Chat website Translate-URL: https://hosted.weblate.org/projects/simplex-chat/website/de/ * Translated using Weblate (Indonesian) Currently translated at 46.7% (121 of 259 strings) Translation: SimpleX Chat/SimpleX Chat website Translate-URL: https://hosted.weblate.org/projects/simplex-chat/website/id/ * Translated using Weblate (Indonesian) Currently translated at 55.5% (144 of 259 strings) Translation: SimpleX Chat/SimpleX Chat website Translate-URL: https://hosted.weblate.org/projects/simplex-chat/website/id/ * Translated using Weblate (Czech) Currently translated at 100.0% (259 of 259 strings) Translation: SimpleX Chat/SimpleX Chat website Translate-URL: https://hosted.weblate.org/projects/simplex-chat/website/cs/ * Translated using Weblate (Russian) Currently translated at 100.0% (259 of 259 strings) Translation: SimpleX Chat/SimpleX Chat website Translate-URL: https://hosted.weblate.org/projects/simplex-chat/website/ru/ * Translated using Weblate (Indonesian) Currently translated at 100.0% (259 of 259 strings) Translation: SimpleX Chat/SimpleX Chat website Translate-URL: https://hosted.weblate.org/projects/simplex-chat/website/id/ * update strings --------- Co-authored-by: Nicolae Fericitu Co-authored-by: jonnysemon Co-authored-by: Random Co-authored-by: 大王叫我来巡山 Co-authored-by: Sarah Camila Lima Co-authored-by: summoner001 Co-authored-by: Rafi Co-authored-by: No name Co-authored-by: webamooz Co-authored-by: mlanp Co-authored-by: Martin Frandel Co-authored-by: Skyward Copied --- website/langs/ar.json | 6 +- website/langs/cs.json | 4 +- website/langs/de.json | 6 +- website/langs/en.json | 2 +- website/langs/es.json | 6 +- website/langs/fa.json | 6 +- website/langs/hu.json | 12 +- website/langs/id.json | 262 ++++++++++++++++++++++++++++++++++++- website/langs/it.json | 6 +- website/langs/pt_BR.json | 36 ++--- website/langs/ro.json | 57 +++++++- website/langs/ru.json | 18 +-- website/langs/zh_Hans.json | 6 +- 13 files changed, 380 insertions(+), 47 deletions(-) diff --git a/website/langs/ar.json b/website/langs/ar.json index 0c1fb4515a..022bb6a94f 100644 --- a/website/langs/ar.json +++ b/website/langs/ar.json @@ -232,7 +232,7 @@ "docs-dropdown-2": "الوصول إلى ملفات اندرويد", "docs-dropdown-3": "الوصول إلى قاعدة بيانات الدردشة", "glossary": "المعجم", - "docs-dropdown-8": "SimpleX خدمة الدليل", + "docs-dropdown-8": "دليل SimpleX", "simplex-chat-via-f-droid": "SimpleX Chat عبر F-Droid", "simplex-chat-repo": "مستودع SimpleX Chat", "stable-and-beta-versions-built-by-developers": "الإصدارات الثابتة والتجريبية التي أنشأها المطورون", @@ -255,5 +255,7 @@ "docs-dropdown-11": "الأسئلة الأكثر شيوعًا", "docs-dropdown-12": "الأمان", "hero-overlay-card-3-p-3": "قامت Trail of Bits بمراجعة التصميم التعموي لبروتوكولات شبكة SimpleX في يوليو 2024. اقرأ المزيد.", - "docs-dropdown-14": "SimpleX للأعمال التجارية" + "docs-dropdown-14": "SimpleX للأعمال التجارية", + "directory": "دليل", + "about-and-contact-us": "عن واتصل بنا" } diff --git a/website/langs/cs.json b/website/langs/cs.json index d90d392dab..5a7b03616b 100644 --- a/website/langs/cs.json +++ b/website/langs/cs.json @@ -255,5 +255,7 @@ "docs-dropdown-11": "FAQ (často kladené dotazy)", "docs-dropdown-12": "Bezpečnost", "hero-overlay-card-3-p-3": "Trail of Bits přezkoumala kryptografický design síťových protokolů SimpleX v červenci 2024. Přečíst více.", - "docs-dropdown-14": "SimpleX pro podnikání" + "docs-dropdown-14": "SimpleX pro podnikání", + "directory": "Složka", + "about-and-contact-us": "O nás & Kontakt" } diff --git a/website/langs/de.json b/website/langs/de.json index ccfb813e6f..7b0831315a 100644 --- a/website/langs/de.json +++ b/website/langs/de.json @@ -237,7 +237,7 @@ "stable-versions-built-by-f-droid-org": "Von F-Droid.org erstellte stabile Versionen", "f-droid-page-f-droid-org-repo-section-text": "SimpleX-Chat- und F-Droid.org-Repositorys signieren ihre Builds mit verschiedenen Schlüsseln. Zum Umschalten bitte die Chat-Datenbank exportieren und die App neu installieren.", "releases-to-this-repo-are-done-1-2-days-later": "Die Versionen für dieses Repository werden einige Tage später erstellt", - "docs-dropdown-8": "SimpleX-Verzeichnisdienst", + "docs-dropdown-8": "SimpleX-Verzeichnis", "simplex-chat-via-f-droid": "SimpleX Chat per F-Droid", "simplex-chat-repo": "SimpleX-Chat-Repository", "stable-and-beta-versions-built-by-developers": "Von den Entwicklern erstellte stabile und Beta-Versionen", @@ -255,5 +255,7 @@ "docs-dropdown-11": "FAQ", "docs-dropdown-12": "Sicherheit", "hero-overlay-card-3-p-3": "Trail of Bits hat das kryptografische Design des Netzwerk-Protokolls von SimpleX im Juli 2024 überprüft. Hier finden Sie weitere Informationen dazu.", - "docs-dropdown-14": "SimpleX für geschäftliche Anwendungen" + "docs-dropdown-14": "SimpleX für geschäftliche Anwendungen", + "about-and-contact-us": "Über uns & Kontakt", + "directory": "Verzeichnis" } diff --git a/website/langs/en.json b/website/langs/en.json index 22a4058b94..b465718e0b 100644 --- a/website/langs/en.json +++ b/website/langs/en.json @@ -275,7 +275,7 @@ "index-publications-optout-title": "podcast interview", "worlds-most-secure-messaging": "World's Most Secure Messaging", "index-messaging-p1": "SimpleX messaging has cutting-edge end-to-end encryption.", - "index-messaging-p2": "For your security, servers can’t see your messages or who you talk to.", + "index-messaging-p2": "For your security and privacy, servers can’t see your messages or who you talk to.", "index-messaging-cta": "Learn more about SimpleX messaging", "index-nextweb-h2": "You Own
The Next Web", "index-nextweb-p1": "SimpleX is founded on the belief that you must own your identity, contacts and communities.", diff --git a/website/langs/es.json b/website/langs/es.json index c4db631c95..55e78d0273 100644 --- a/website/langs/es.json +++ b/website/langs/es.json @@ -234,7 +234,7 @@ "glossary": "Glosario", "stable-and-beta-versions-built-by-developers": "Versiones estables y beta compilados por los desarrolladores", "f-droid-page-simplex-chat-repo-section-text": "Para añadirlo a tu cliente F-Droid escanea el código QR usa esta URL:", - "docs-dropdown-8": "Servicio Simplex Directory", + "docs-dropdown-8": "Directorio SimpleX", "simplex-chat-repo": "Repositorio Simplex Chat", "simplex-chat-via-f-droid": "SimpleX Chat en F-Droid", "f-droid-org-repo": "Repositorio F-Droid.org", @@ -255,5 +255,7 @@ "docs-dropdown-11": "FAQ", "docs-dropdown-12": "Seguridad", "docs-dropdown-14": "SimpleX para empresas", - "hero-overlay-card-3-p-3": "Trail of Bits ha revisado el diseño criptográfico de los protocolos de red SimpleX en julio del 2024. Saber más." + "hero-overlay-card-3-p-3": "Trail of Bits ha revisado el diseño criptográfico de los protocolos de red SimpleX en julio del 2024. Saber más.", + "directory": "Directorio", + "about-and-contact-us": "Acerca de & Contacta con nosotros" } diff --git a/website/langs/fa.json b/website/langs/fa.json index 5fce03d04a..250d1800ca 100644 --- a/website/langs/fa.json +++ b/website/langs/fa.json @@ -177,7 +177,7 @@ "docs-dropdown-5": "میزبانی سرور XFTP", "docs-dropdown-6": "سرورهای WebRTC", "docs-dropdown-7": "SimpleX Chat را ترجمه کنید", - "docs-dropdown-8": "سرویس دایرکتوری SimpleX", + "docs-dropdown-8": "سرویس دایرکتوری", "docs-dropdown-9": "دانلودها", "docs-dropdown-10": "شفافیت", "docs-dropdown-11": "سؤالات متداول", @@ -255,5 +255,7 @@ "simplex-network-overlay-card-1-li-1": "شبکه‌های P2P به نوعی از DHT برای مسیریابی پیام‌ها وابسته هستند. طراحی‌های DHT باید بین تضمین تحویل و تأخیر تعادل برقرار کنند. SimpleX هم تضمین تحویل بهتری دارد و هم تأخیر کمتری نسبت به P2P، زیرا پیام می‌تواند به صورت اضافی از طریق چندین سرور به طور موازی منتقل شود و از سرورهای انتخاب‌شده توسط گیرنده استفاده کند. در شبکه‌های P2P، پیام به صورت ترتیبی از طریق O(log N) گره منتقل می‌شود و این گره‌ها توسط الگوریتم انتخاب می‌شوند.", "simplex-network-overlay-card-1-li-2": "طراحی SimpleX، برخلاف اکثر شبکه‌های P2P، هیچ شناسه کاربری جهانی از هیچ نوعی، حتی موقتی، ندارد و فقط از شناسه‌های جفت‌به‌جفت موقتی استفاده می‌کند که این امر حریم خصوصی و محافظت از فراداده را بهتر فراهم می‌کند.", "simplex-network-overlay-card-1-li-3": "P2P مشکل حملات MITM را حل نمی‌کند و بیشتر پیاده‌سازی‌های موجود از پیام‌های خارج از باند برای تبادل کلید اولیه استفاده نمی‌کنند. SimpleX از پیام‌های خارج از باند یا در برخی موارد، از اتصالات امن و مورد اعتماد پیشین برای تبادل کلید اولیه استفاده می‌کند.", - "simplex-network-overlay-card-1-li-4": "پیاده‌سازی‌های P2P می‌توانند توسط برخی از ارائه‌دهندگان اینترنت (مانند BitTorrent) مسدود شوند. SimpleX مستقل از نوع حمل و نقل است — این امکان را دارد که بر روی پروتکل‌های وب استاندارد، مانند WebSockets، کار کند." + "simplex-network-overlay-card-1-li-4": "پیاده‌سازی‌های P2P می‌توانند توسط برخی از ارائه‌دهندگان اینترنت (مانند BitTorrent) مسدود شوند. SimpleX مستقل از نوع حمل و نقل است — این امکان را دارد که بر روی پروتکل‌های وب استاندارد، مانند WebSockets، کار کند.", + "directory": "دایرکتوری", + "about-and-contact-us": "درباره ما و تماس با ما" } diff --git a/website/langs/hu.json b/website/langs/hu.json index 7b643c2d97..5a379771b9 100644 --- a/website/langs/hu.json +++ b/website/langs/hu.json @@ -139,7 +139,7 @@ "sign-up-to-receive-our-updates": "Regisztráljon a hírleveleinkre, hogy ne maradjon le semmiről", "enter-your-email-address": "Adja meg az e-mail-címét", "get-simplex": "A SimpleX számítógépes alkalmazásának letöltése", - "why-simplex-is-unique": "A SimpleX mitől egyedülálló", + "why-simplex-is-unique": "Miért egyedülálló a SimpleX", "learn-more": "Tudjon meg többet", "more-info": "További információ", "hide-info": "Információ elrejtése", @@ -167,13 +167,13 @@ "privacy-matters-section-subheader": "A metaadatok — pédául, hogy kivel beszélget — védelmének megőrzése biztonságot nyújt a következők ellen:", "privacy-matters-section-label": "Győződjön meg arról, hogy az üzenetváltó-alkalmazás amit használ nem fér hozzá az adataihoz!", "simplex-private-section-header": "Mitől lesz a SimpleX privát", - "simplex-network-section-header": "SimpleXhálózat", + "simplex-network-section-header": "SimpleX hálózat", "simplex-network-section-desc": "A Simplex Chat a P2P- és a föderált hálózatok előnyeinek kombinálásával biztosítja a legjobb adatvédelmet.", "simplex-network-1-desc": "Minden üzenet a kiszolgálókon keresztül kerül elküldésre, ami jobb metaadat-védelmet és megbízható aszinkron üzenetkézbesítést biztosít, miközben elkerülhető a sok", "simplex-network-2-header": "A föderált hálózatokkal ellentétben", "simplex-network-2-desc": "A SimpleX továbbítókiszolgálói NEM tárolnak felhasználói profilokat, kapcsolatokat és kézbesített üzeneteket, NEM kapcsolódnak egymáshoz, és NINCS kiszolgálókönyvtár.", "simplex-network-3-header": "SimpleX hálózat", - "simplex-network-3-desc": "a kiszolgálók egyirányú üzenetvárólistákat biztosítanak a felhasználók összekapcsolásához, de nem látják a hálózati kapcsolati gráfot; azt csak a felhasználók látják.", + "simplex-network-3-desc": "A kiszolgálók egyirányú üzenetvárólistákat biztosítanak a felhasználók összekapcsolásához, de nem látják a hálózati kapcsolati gráfot; azt csak a felhasználók látják.", "comparison-section-header": "Összehasonlítás más protokollokkal", "protocol-1-text": "Signal, nagy platformok", "protocol-2-text": "XMPP, Matrix", @@ -209,7 +209,7 @@ "docs-dropdown-1": "SimpleX hálózat", "docs-dropdown-2": "Android fájlok elérése", "docs-dropdown-3": "Hozzáférés a csevegési adatbázishoz", - "docs-dropdown-8": "SimpleX jegyzékszolgáltatás", + "docs-dropdown-8": "SimpleX csoportjegyzék", "docs-dropdown-9": "Letöltések", "f-droid-page-simplex-chat-repo-section-text": "Ha hozzá szeretné adni az F-Droid klienséhez, olvassa be a QR-kódot, vagy használja ezt a webcímet:", "signing-key-fingerprint": "Az aláírókulcs ujjlenyomata (SHA-256)", @@ -255,5 +255,7 @@ "simplex-chat-repo": "A SimpleX Chat tárolója", "stable-and-beta-versions-built-by-developers": "A fejlesztők által készített stabil és béta verziók", "hero-overlay-card-3-p-3": "A Trail of Bits 2024 júliusában ismét auditálta a SimpleX protokollok kriptográfiai és hálózati komponenseit. További információk.", - "docs-dropdown-14": "SimpleX üzleti célra" + "docs-dropdown-14": "SimpleX üzleti célra", + "directory": "Csoportjegyzék", + "about-and-contact-us": "Névjegy és kapcsolat" } diff --git a/website/langs/id.json b/website/langs/id.json index 0967ef424b..aa95960f74 100644 --- a/website/langs/id.json +++ b/website/langs/id.json @@ -1 +1,261 @@ -{} +{ + "home": "Beranda", + "directory": "Direktori", + "developers": "Pengembang", + "reference": "Referensi", + "blog": "Blog", + "features": "Fitur", + "why-simplex": "Kenapa SimpleX", + "simplex-privacy": "Privasi SimpleX", + "simplex-network": "Jaringan SimpleX", + "simplex-explained": "SimpleX dijelaskan", + "donate": "Donasi", + "hero-overlay-2-textlink": "Bagaimana cara kerja SimpleX?", + "feature-5-title": "Pesan menghilang", + "hero-overlay-1-title": "Bagaimana cara kerja SimpleX?", + "terms-and-privacy-policy": "Kebijakan Privasi", + "about-and-contact-us": "Tentang & Hubungi Kami", + "feature-2-title": "Gambar, video, dan berkas
terenkripsi E2E", + "feature-4-title": "Pesan suara terenkripsi E2E", + "feature-6-title": "Panggilan suara dan video
terenkripsi E2E", + "hero-2-header": "Buat koneksi pribadi", + "simplex-private-1-title": "2 lapisan
enkripsi end-to-end", + "simplex-private-card-4-point-1": "Untuk melindungi alamat IP Anda, Anda dapat mengakses server melalui Tor atau lapisan jaringan transport lainnya.", + "simplex-unique-3-overlay-1-title": "Kepemilikan, kontrol, dan keamanan data Anda", + "simplex-private-card-10-point-2": "Mengirim pesan tanpa pengenal profil pengguna, menyediakan privasi meta-data yang lebih baik daripada alternatif lain.", + "terminal-cli": "Terminal CLI", + "hero-overlay-3-textlink": "Penilaian keamanan", + "chat-protocol": "Protokol obrolan", + "simplex-explained-tab-1-text": "1. Apa pengalaman pengguna", + "simplex-explained-tab-2-text": "2. Bagaimana cara kerjanya", + "simplex-chat-protocol": "Protokol SimpleX Chat", + "hero-overlay-2-title": "Mengapa ID pengguna buruk untuk privasi?", + "copyright-label": "© 2020-2025 SimpleX | Proyek Sumber Terbuka", + "simplex-explained-tab-3-text": "3. Apa yang dilihat server", + "smp-protocol": "Protokol SMP", + "please-use-link-in-mobile-app": "Mohon gunakan tautan di aplikasi seluler", + "docs-dropdown-12": "Keamanan", + "please-enable-javascript": "Harap aktifkan JavaScript untuk melihat kode QR.", + "jobs": "Gabung tim", + "docs-dropdown-14": "SimpleX untuk bisnis", + "guide-dropdown-8": "Pengaturan aplikasi", + "guide-dropdown-9": "Membuat koneksi", + "guide-dropdown-6": "Panggilan Suara & Video", + "guide-dropdown-7": "Privasi & keamanan", + "guide-dropdown-5": "Mengelola data", + "guide-dropdown-4": "Profil obrolan", + "docs-dropdown-9": "Unduhan", + "docs-dropdown-11": "FAQ", + "back-to-top": "Kembali ke atas", + "docs-dropdown-10": "Transparansi", + "click-to-see": "Ketuk untuk lihat", + "guide": "Panduan", + "docs-dropdown-1": "Jaringan SimpleX", + "privacy-matters-3-overlay-1-title": "Privasi melindungi kebebasan Anda", + "privacy-matters-1-overlay-1-title": "Privasi menghemat uang Anda", + "privacy-matters-1-overlay-1-linkText": "Privasi menghemat uang Anda", + "simplex-unique-3-title": "Data Anda kendali Anda", + "privacy-matters-3-overlay-1-linkText": "Privasi melindungi kebebasan Anda", + "privacy-matters-1-title": "Privasi melindungi kebebasan Anda", + "simplex-unique-1-title": "Anda memiliki privasi penuh", + "simplex-unique-4-title": "Anda memiliki jaringan SimpleX", + "simplex-unique-4-overlay-1-title": "Sepenuhnya terdesentralisasi — pengguna memiliki jaringan SimpleX", + "hero-overlay-card-1-p-2": "Untuk mengirim pesan, alih-alih ID pengguna yang digunakan oleh semua jaringan lain, SimpleX menggunakan pengenal bersifat anonim sementara dari antrean pesan, terpisah untuk setiap koneksi — tidak ada pengenal jangka panjang.", + "hero-overlay-card-1-p-1": "Banyak pengguna bertanya: jika SimpleX tidak ada ID pengguna, bagaimana itu mengetahui ke mana pesan dikirim?", + "sign-up-to-receive-our-updates": "Daftar untuk menerima pembaruan kami", + "enter-your-email-address": "Masukkan alamat email Anda", + "learn-more": "Lebih lanjut", + "more-info": "Info lanjut", + "hide-info": "Tutup info", + "contact-hero-header": "Anda menerima alamat untuk terhubung di SimpleX Chat", + "invitation-hero-header": "Anda menerima tautan 1 kali untuk terhubung di SimpleX Chat", + "simplex-explained-tab-1-p-1": "Anda dapat membuat kontak dan grup, dan melakukan percakapan dua arah, seperti pada aplikasi perpesanan lainnya.", + "simplex-explained-tab-1-p-2": "Bagaimana cara kerjanya dengan antrean searah dan tanpa ID profil pengguna?", + "simplex-explained-tab-2-p-1": "Untuk setiap koneksi, Anda menggunakan dua antrean pesan terpisah untuk mengirim dan menerima pesan melalui server yang berbeda.", + "simplex-explained-tab-2-p-2": "Server hanya menyampaikan pesan satu arah, tanpa memiliki gambaran lengkap mengenai percakapan atau koneksi pengguna.", + "simplex-explained-tab-3-p-1": "Server memiliki kredensial anonim terpisah untuk setiap antrean, dan tidak mengetahui pengguna mana yang menjadi milik mereka.", + "simplex-explained-tab-3-p-2": "Pengguna dapat tingkatkan privasi metadata dengan memakai Tor untuk akses server, mencegah korelasi berdasarkan alamat IP.", + "chat-bot-example": "Contoh chat bot", + "hero-header": "Privasi diredefinisikan", + "hero-subheader": "Perpesanan pertama
tanpa ID pengguna", + "hero-p-1": "Aplikasi lain memiliki ID pengguna: Signal, Matrix, Session, Briar, Jami, Cwtch, dll.
SimpleX tidak, bahkan angka acak.
Ini secara radikal meningkatkan privasi Anda.", + "hero-overlay-1-textlink": "Mengapa ID pengguna buruk untuk privasi?", + "hero-2-header-desc": "Video ini menunjukkan cara terhubung dengan teman Anda melalui kode QR sekali pakai, secara langsung, atau melalui tautan video. Anda juga dapat terhubung dengan bagikan tautan undangan.", + "simplex-network-overlay-1-title": "Perbandingan dengan protokol perpesanan P2P", + "hero-overlay-3-title": "Penilaian keamanan", + "simplex-private-2-title": "Lapisan enkripsi
tambahan server", + "feature-1-title": "Pesan terenkripsi E2E dengan markdown dan pengeditan", + "feature-3-title": "Grup terenkripsi E2E yang terdesentralisasi — hanya pengguna yang tahu keberadaannya", + "docs-dropdown-6": "Server WebRTC", + "docs-dropdown-7": "Terjemahkan SimpleX Chat", + "docs-dropdown-2": "Mengakses berkas Android", + "guide-dropdown-1": "Mulai cepat", + "no": "Tidak", + "no-private": "Tidak - privat", + "no-secure": "Tidak - aman", + "no-resilient": "Tidak - tangguh", + "no-decentralized": "Tidak - terdesentralisasi", + "no-federated": "Tidak - terfederasi", + "comparison-section-list-point-1": "Biasanya berdasarkan nomor telepon, dalam beberapa kasus berdasarkan nama pengguna", + "protocol-2-text": "XMPP, Matrix", + "protocol-3-text": "Protokol P2P", + "comparison-point-1-text": "Membutuhkan identitas global", + "comparison-point-2-text": "Kemungkinan MITM", + "simplex-network-3-header": "Jaringan SimpleX", + "simplex-chat-for-the-terminal": "SimpleX Chat untuk terminal", + "copy-the-command-below-text": "salin perintah di bawah ini dan gunakan dalam obrolan:", + "protocol-1-text": "Signal, platform besar", + "guide-dropdown-2": "Mengirim pesan", + "guide-dropdown-3": "Grup rahasia", + "comparison-section-list-point-2": "Alamat berbasis DNS", + "comparison-section-list-point-3": "Kunci publik atau ID unik global lainnya", + "feature-7-title": "Penyimpanan aplikasi terenkripsi portabel — pindahkan profil ke perangkat lain", + "feature-8-title": "Mode penyamaran —
unik untuk SimpleX Chat", + "simplex-private-3-title": "Transport TLS terautentikasi
yang aman", + "simplex-private-4-title": "Akses opsional
via Tor", + "simplex-private-5-title": "Beberapa lapisan
kuat konten", + "simplex-private-6-title": "Pertukaran kunci
out-of-band", + "simplex-private-7-title": "Verifikasi integritas
pesan", + "simplex-private-8-title": "Campuran pesan
untuk kurangi korelasi", + "simplex-private-9-title": "Antrean pesan
searah", + "simplex-private-10-title": "Pengidentifikasi berpasangan anonim sementara", + "simplex-private-card-1-point-1": "Protokol double-ratchet —
Pesan OTR dengan perfect forward secrecy dan pemulihan pembobolan.", + "simplex-private-card-9-point-2": "Ini mengurangi vektor serangan, dibandingkan dengan perantara pesan tradisional, dan meta-data yang ada.", + "simplex-private-card-10-point-1": "SimpleX menggunakan alamat terhubung anonim sementara dan kredensial untuk setiap kontak pengguna atau anggota grup.", + "simplex-private-card-3-point-1": "Hanya TLS 1.2/1.3 dengan algoritma kuat yang digunakan untuk koneksi client-server.", + "simplex-private-card-3-point-2": "Sidikjari server dan pengikatan saluran mencegah serangan MITM secara berulang.", + "simplex-private-card-3-point-3": "Pemulihan koneksi dinonaktifkan untuk mencegah serangan sesi.", + "simplex-private-card-4-point-2": "Untuk menggunakan SimpleX melalui Tor, silakan instal aplikasi Orbot dan aktifkan proksi SOCKS5 (atau VPN di iOS).", + "simplex-private-card-5-point-1": "SimpleX menggunakan pengunci konten untuk setiap lapisan enkripsi guna menggagalkan serangan pesan.", + "simplex-private-card-5-point-2": "Ini membuat pesan dengan ukuran berbeda terlihat sama bagi server dan pengamat jaringan.", + "simplex-private-card-6-point-1": "Banyak jaringan komunikasi yang rentan terhadap serangan MITM oleh server atau penyedia jaringan.", + "simplex-private-card-6-point-2": "Untuk mencegahnya, aplikasi SimpleX meneruskan kunci 1-kali di luar jalur, saat bagikan alamat sebagai tautan atau kode QR.", + "simplex-unique-2-overlay-1-title": "Perlindungan terbaik dari spam dan penyalahgunaan", + "simplex-unique-2-title": "Anda terlindungi dari
spam dan penyalahgunaan", + "privacy-matters-2-overlay-1-title": "Privasi memberi Anda kekuatan", + "privacy-matters-2-overlay-1-linkText": "Privasi memberi Anda kekuatan", + "privacy-matters-3-title": "Penuntutan karena keterlibatan yang tidak bersalah", + "simplex-unique-1-overlay-1-title": "Privasi penuh atas identitas, profil, kontak, dan metadata Anda", + "privacy-matters-2-title": "Manipulasi pemilihan", + "simplex-private-card-7-point-1": "Untuk menjamin integritas, pesan diberi nomor urut dan menyertakan hash dari pesan sebelumnya.", + "simplex-private-card-7-point-2": "Jika ada pesan yang ditambah, dihapus atau diubah, penerima akan diberi tahu.", + "simplex-private-card-8-point-1": "Server SimpleX bertindak sebagai node campuran latensi rendah — pesan masuk dan keluar memiliki urutan yang berbeda.", + "simplex-private-card-9-point-1": "Setiap antrean pesan meneruskan pesan dalam satu arah, dengan alamat kirim dan terima yang berbeda.", + "simplex-private-card-1-point-2": "Kotak kripto NaCL di setiap antrean untuk mencegah korelasi lalu lintas antara antrean pesan jika TLS disusupi.", + "simplex-private-card-2-point-1": "Lapisan enkripsi server tambahan untuk pengiriman ke penerima, untuk mencegah korelasi antara lalu lintas server yang diterima dan dikirim jika TLS disusupi.", + "hero-overlay-card-1-p-5": "Hanya perangkat klien yang menyimpan profil pengguna, kontak, dan grup; pesan dikirim dengan enkripsi end-to-end 2 lapis.", + "hero-overlay-card-1-p-6": "Selengkapnya di Whitepaper SimpleX.", + "hero-overlay-card-2-p-1": "Bila pengguna memiliki identitas persisten, meskipun ini hanya angka acak, seperti ID Sesi, ada risiko bahwa penyedia atau penyerang dapat mengamati bagaimana pengguna terhubung dan berapa banyak pesan yang mereka kirim.", + "hero-overlay-card-2-p-2": "Mereka kemudian dapat menghubungkan informasi ini dengan jaringan sosial publik yang ada, dan menentukan beberapa identitas sebenarnya.", + "hero-overlay-card-2-p-3": "Bahkan dengan aplikasi paling pribadi yang menggunakan layanan Tor v3, jika Anda berbicara dengan dua kontak berbeda melalui profil yang sama, mereka dapat membuktikan bahwa mereka terhubung dengan orang yang sama.", + "hero-overlay-card-1-p-3": "Anda menentukan server mana yang akan digunakan untuk menerima pesan, dan kontak Anda — server yang Anda gunakan untuk mengirimkan pesan kepada mereka. Setiap percakapan kemungkinan akan menggunakan dua server yang berbeda.", + "hero-overlay-card-1-p-4": "Desain ini mencegah kebocoran metadata pengguna di tingkat aplikasi. Untuk meningkatkan privasi dan melindungi alamat IP Anda, Anda dapat terhubung ke server perpesanan melalui Tor.", + "join": "Gabung", + "we-invite-you-to-join-the-conversation": "Kami mengundang Anda untuk gabung ke percakapan", + "join-the-REDDIT-community": "Bergabung dengan komunitas REDDIT", + "join-us-on-GitHub": "Gabung dengan kami di GitHub", + "donate-here-to-help-us": "Donasi untuk bantu kami", + "why-simplex-is-unique": "Mengapa SimpleX unik", + "simplex-unique-card-1-p-2": "Tidak seperti jaringan perpesanan lain yang ada, SimpleX tidak memiliki ID tetap kepada pengguna — bahkan nomor acak.", + "simplex-unique-card-2-p-1": "Karena Anda tidak memiliki ID atau alamat tetap di jaringan SimpleX, tidak seorang pun dapat menghubungi Anda kecuali Anda membagikan alamat pengguna 1-kali atau sementara, seperti kode QR atau tautan.", + "simplex-unique-card-3-p-1": "SimpleX menyimpan semua data pengguna pada perangkat klien dalam format basis data terenkripsi portabel — data tersebut dapat ditransfer ke perangkat lain.", + "simplex-unique-card-3-p-2": "Pesan yang dienkripsi end-to-end disimpan sementara di server relay SimpleX hingga diterima, lalu dihapus secara permanen.", + "simplex-unique-card-4-p-1": "Jaringan SimpleX sepenuhnya terdesentralisasi dan independen dari crypto-currency atau jaringan lain apa pun, selain Internet.", + "simplex-unique-card-4-p-2": "Anda dapat menggunakan SimpleX dengan server Anda sendiri atau dengan server yang disediakan oleh kami — dan tetap terhubung dengan pengguna mana pun.", + "contact-hero-subheader": "Pindai kode QR dengan aplikasi SimpleX Chat di ponsel atau tablet Anda.", + "contact-hero-p-1": "Kunci publik dan alamat antrean pesan dalam tautan ini TIDAK dikirimkan melalui jaringan saat Anda melihat halaman ini — kunci tersebut terdapat dalam fragmen hash URL tautan.", + "contact-hero-p-2": "Belum unduh SimpleX Chat?", + "contact-hero-p-3": "Gunakan tautan di bawah untuk unduh aplikasi.", + "scan-qr-code-from-mobile-app": "Pindai kode QR dari aplikasi seluler", + "to-make-a-connection": "Untuk membuat koneksi:", + "install-simplex-app": "Instal aplikasi SimpleX", + "connect-in-app": "Hubungkan di aplikasi", + "open-simplex-app": "Buka aplikasi SimpleX", + "tap-the-connect-button-in-the-app": "Ketuk ‘hubungkan’ di aplikasi", + "scan-the-qr-code-with-the-simplex-chat-app": "Pindai kode QR dengan aplikasi SimpleX Chat", + "scan-the-qr-code-with-the-simplex-chat-app-description": "Kunci publik dan alamat antrean pesan dalam tautan ini TIDAK dikirim melalui jaringan saat Anda melihat halaman ini —
keduanya terdapat dalam fragmen hash URL tautan.", + "installing-simplex-chat-to-terminal": "Menginstal SimpleX Chat ke terminal", + "use-this-command": "Gunakan perintah ini:", + "see-simplex-chat": "Lihat SimpleX Chat", + "github-repository": "Repositori GitHub", + "the-instructions--source-code": "untuk petunjuk cara mengunduh atau mengompilasinya dari kode sumber.", + "if-you-already-installed-simplex-chat-for-the-terminal": "Jika Anda sudah menginstal SimpleX Chat untuk terminal", + "if-you-already-installed": "Jika Anda sudah menginstal", + "privacy-matters-section-header": "Mengapa privasi penting", + "privacy-matters-section-subheader": "Menjaga privasi metadata Anda — dengan siapa Anda berbicara — melindungi Anda dari:", + "privacy-matters-section-label": "Pastikan messenger Anda tidak dapat mengakses data Anda!", + "simplex-private-section-header": "Apa yang membuat SimpleX privat", + "tap-to-close": "Ketuk untuk tutup", + "simplex-network-section-header": "Jaringan SimpleX", + "simplex-network-section-desc": "SimpleX Chat memberikan privasi terbaik dengan menggabungkan keunggulan P2P dan jaringan terfederasi.", + "simplex-network-1-header": "Tidak seperti jaringan P2P", + "simplex-network-1-desc": "Semua pesan dikirim melalui server, keduanya memberikan privasi metadata yang lebih baik dan pengiriman pesan asinkron yang andal, sekaligus menghindari banyak", + "simplex-network-1-overlay-linktext": "masalah jaringan P2P", + "simplex-network-2-header": "Tidak seperti jaringan terfederasi", + "simplex-network-2-desc": "Server relay SimpleX TIDAK menyimpan profil pengguna, kontak dan pesan yang terkirim, TIDAK terhubung satu sama lain, dan TIDAK ada direktori server.", + "simplex-network-3-desc": "server menyediakan antrian searah untuk hubungkan pengguna, tetapi mereka tidak dapat melihat grafik koneksi jaringan — hanya pengguna yang dapat melihatnya.", + "comparison-section-header": "Perbandingan dengan protokol lain", + "comparison-point-3-text": "Ketergantungan pada DNS", + "comparison-point-4-text": "Jaringan tunggal atau terpusat", + "comparison-point-5-text": "Komponen pusat atau serangan di seluruh jaringan lainnya", + "yes": "Ya", + "see-here": "lihat disini", + "comparison-section-list-point-4a": "Relay SimpleX tidak dapat membahayakan enkripsi e2e. Verifikasi kode keamanan untuk memitigasi serangan pada saluran out-of-band", + "comparison-section-list-point-4": "Jika server operator disusupi. Verifikasi kode keamanan di Signal dan beberapa aplikasi lain untuk mengatasinya", + "comparison-section-list-point-5": "Tidak melindungi privasi metadata pengguna", + "comparison-section-list-point-6": "Meskipun P2P didistribusikan, mereka tidak terfederasi — mereka beroperasi sebagai jaringan tunggal", + "comparison-section-list-point-7": "Jaringan P2P memiliki otoritas pusat atau seluruh jaringan dapat terkompromi", + "docs-dropdown-3": "Mengakses database obrolan", + "docs-dropdown-4": "Host Server SMP", + "docs-dropdown-5": "Host Server XFTP", + "docs-dropdown-8": "Direktori SimpleX", + "newer-version-of-eng-msg": "Ada versi terbaru halaman ini dalam bahasa Inggris.", + "menu": "Menu", + "on-this-page": "Di halaman ini", + "glossary": "Glosarium", + "simplex-chat-via-f-droid": "SimpleX Chat melalui F-Droid", + "simplex-chat-repo": "Repo SimpleX Chat", + "stable-and-beta-versions-built-by-developers": "Versi stable dan beta yang dibuat oleh pengembang", + "f-droid-page-simplex-chat-repo-section-text": "Untuk menambahkannya ke klien F-Droid Anda, pindai kode QR atau gunakan URL ini:", + "signing-key-fingerprint": "Penandatanganan sidikjari kunci (SHA-256)", + "f-droid-org-repo": "Repo F-Droid.org", + "stable-versions-built-by-f-droid-org": "Versi stable yang dibuat oleh F-Droid.org", + "releases-to-this-repo-are-done-1-2-days-later": "Rilisan ke repo ini dilakukan beberapa hari kemudian", + "f-droid-page-f-droid-org-repo-section-text": "Repositori SimpleX Chat dan F-Droid.org menandatangani build dengan kunci berbeda. Untuk beralih, silakan ekspor basis data obrolan dan instal ulang aplikasi.", + "hero-overlay-card-2-p-4": "SimpleX melindungi dari serangan ini dengan tidak memiliki ID pengguna dalam desainnya. Dan, jika Anda gunakan mode Samaran, Anda akan memiliki nama tampilan berbeda untuk setiap kontak, sehingga mencegah data dibagikan di antara mereka.", + "hero-overlay-card-3-p-1": "Trail of Bits adalah konsultan keamanan dan teknologi terkemuka yang kliennya meliputi perusahaan teknologi besar, lembaga pemerintah, dan proyek blockchain besar.", + "hero-overlay-card-3-p-2": "Trail of Bits meninjau kriptografi jaringan SimpleX dan komponen jaringan pada November 2022. Baca selengkapnya.", + "hero-overlay-card-3-p-3": "Trail of Bits mengulas desain kriptografi protokol jaringan SimpleX pada Juli 2024. Baca selengkapnya.", + "simplex-network-overlay-card-1-p-1": "Protokol dan aplikasi perpesanan P2P memiliki berbagai masalah yang membuatnya kurang dapat diandalkan dibandingkan SimpleX, lebih rumit untuk dianalisis, dan rentan terhadap beberapa jenis serangan.", + "simplex-network-overlay-card-1-li-1": "Jaringan P2P andalkan beberapa varian DHT untuk merutekan pesan. Desain DHT harus menyeimbangkan jaminan pengiriman dan latensi. SimpleX memiliki jaminan pengiriman lebih baik dan latensi yang lebih rendah daripada P2P, karena pesan dapat diteruskan secara redundan melalui beberapa server secara paralel, menggunakan server yang dipilih oleh penerima. Dalam jaringan P2P, pesan diteruskan melalui node O(log N) secara berurutan, menggunakan node yang dipilih oleh algoritma.", + "simplex-network-overlay-card-1-li-2": "Desain SimpleX, tidak seperti kebanyakan jaringan P2P, tidak memiliki ID pengguna global apa pun, bahkan yang sementara, dan hanya menggunakan pengenal penghubung sementara, sehingga memberikan anonimitas dan perlindungan metadata yang lebih baik.", + "simplex-network-overlay-card-1-li-3": "P2P tidak menyelesaikan masalah serangan MITM, dan sebagian besar implementasi yang ada tidak menggunakan pesan out-of-band untuk pertukaran kunci awal. SimpleX menggunakan pesan out-of-band atau, dalam beberapa kasus, koneksi aman dan tepercaya yang sudah ada sebelumnya untuk pertukaran kunci awal.", + "simplex-network-overlay-card-1-li-4": "Implementasi P2P dapat diblokir oleh beberapa penyedia internet (seperti BitTorrent). SimpleX bersifat agnostik transportasi — ia dapat bekerja melalui protokol web standar, misalnya WebSockets.", + "simplex-network-overlay-card-1-li-5": "Semua jaringan P2P yang diketahui mungkin rentan terhadap serangan Sybil, karena setiap node dapat ditemukan, dan jaringan beroperasi secara keseluruhan. Langkah-langkah yang diketahui untuk memitigasinya memerlukan komponen terpusat atau Bukti kerja yang mahal. Jaringan SimpleX tidak memiliki kemampuan untuk ditemukan oleh server, terfragmentasi, dan beroperasi sebagai beberapa sub-jaringan yang terisolasi, sehingga mustahil untuk menyerang seluruh jaringan.", + "simplex-network-overlay-card-1-li-6": "Jaringan P2P mungkin rentan terhadap serangan DRDoS, ketika klien dapat menyiarkan ulang dan memperkuat lalu lintas, yang mengakibatkan penolakan layanan di seluruh jaringan. Klien SimpleX hanya meneruskan lalu lintas dari koneksi yang diketahui dan tidak dapat digunakan oleh penyerang untuk memperkuat lalu lintas di seluruh jaringan.", + "privacy-matters-overlay-card-1-p-1": "Banyak perusahaan besar menggunakan informasi mengenai siapa yang terhubung dengan Anda untuk memperkirakan pendapatan Anda, menjual produk yang sebenarnya tidak Anda butuhkan, dan menentukan harga.", + "privacy-matters-overlay-card-1-p-2": "Pengecer daring mengetahui bahwa orang-orang berpenghasilan rendah cenderung melakukan pembelian mendesak, sehingga mereka mungkin mengenakan harga lebih tinggi atau menghapus diskon.", + "privacy-matters-overlay-card-1-p-3": "Beberapa perusahaan keuangan dan asuransi menggunakan grafik sosial untuk menentukan suku bunga dan premium. Hal ini seringkali membuat orang berpenghasilan rendah membayar lebih banyak — dikenal sebagai 'premium kemelaratan'.", + "privacy-matters-overlay-card-1-p-4": "Jaringan SimpleX melindungi privasi koneksi Anda lebih baik daripada alternatif lainnya, sepenuhnya mencegah grafik sosial Anda diakses oleh perusahaan atau organisasi mana pun. Bahkan ketika orang menggunakan server yang telah dikonfigurasi sebelumnya di aplikasi SimpleX Chat, operator server tidak mengetahui jumlah pengguna atau koneksi mereka.", + "privacy-matters-overlay-card-2-p-1": "Belum lama ini kita menyaksikan pemilu besar dimanipulasi oleh sebuah perusahaan konsultan terkemuka yang menggunakan grafik sosial kita untuk mendistorsi pandangan kita terhadap dunia nyata dan memanipulasi suara kita.", + "privacy-matters-overlay-card-2-p-2": "Agar objektif dan dapat membuat keputusan yang independen, Anda perlu mengendalikan ruang informasi Anda. Hal ini hanya mungkin jika Anda menggunakan jaringan komunikasi pribadi yang tidak memiliki akses ke grafik sosial Anda.", + "privacy-matters-overlay-card-2-p-3": "SimpleX adalah jaringan pertama yang tidak memiliki ID pengguna apa pun secara desain, dengan cara ini melindungi grafik koneksi Anda lebih baik daripada alternatif yang diketahui.", + "privacy-matters-overlay-card-3-p-1": "Setiap orang harus peduli dengan privasi dan keamanan komunikasi mereka — percakapan yang tidak berbahaya dapat membahayakan Anda, bahkan jika Anda tidak menyembunyikan apa pun.", + "privacy-matters-overlay-card-3-p-2": "Salah satu kisah paling mengejutkan adalah pengalaman Mohamedou Ould Salahi yang diceritakan dalam memoarnya dan ditampilkan dalam film The Mauritanian. Ia dimasukkan ke kamp Guantanamo tanpa diadili, dan disiksa di sana selama 15 tahun setelah menelepon kerabatnya di Afghanistan, karena dicurigai terlibat dalam serangan 9/11, meskipun ia pernah tinggal di Jerman selama 10 tahun sebelumnya.", + "privacy-matters-overlay-card-3-p-3": "Orang biasa ditangkap karena apa yang mereka bagikan secara daring, bahkan melalui akun 'anonim' mereka, bahkan di negara demokrasi.", + "privacy-matters-overlay-card-3-p-4": "Tidaklah cukup jika hanya menggunakan layanan pesan terenkripsi end-to-end, kita semua harus menggunakan layanan pesan yang melindungi privasi jaringan pribadi kita — dengan siapa kita terhubung.", + "simplex-unique-overlay-card-1-p-1": "Berbeda dengan jaringan perpesanan lainnya, SimpleX tidak memiliki ID tetap kepada pengguna. SimpleX tidak bergantung pada nomor telepon, alamat berbasis domain (seperti email atau XMPP), nama pengguna, kunci publik, atau bahkan angka acak untuk mengidentifikasi penggunanya — operator server SimpleX tidak tahu berapa banyak orang yang menggunakan server mereka.", + "simplex-unique-overlay-card-1-p-2": "Untuk menyampaikan pesan, SimpleX menggunakan alamat anonim penghubung dari antrean pesan searah, terpisah untuk pesan yang diterima dan dikirim, biasanya melalui server yang berbeda.", + "simplex-unique-overlay-card-1-p-3": "Desain ini melindungi privasi orang yang Anda ajak berkomunikasi, menyembunyikannya dari server jaringan SimpleX dan dari pengamat mana pun. Untuk menyembunyikan alamat IP Anda dari server, Anda dapat terhubung ke server SimpleX melalui Tor.", + "simplex-unique-overlay-card-2-p-1": "Karena Anda tidak memiliki ID di jaringan SimpleX, tidak seorang pun dapat menghubungi Anda kecuali Anda membagikan alamat pengguna 1-kali atau sementara, seperti kode QR atau tautan.", + "simplex-unique-overlay-card-2-p-2": "Bahkan dengan alamat pengguna opsional, meskipun dapat digunakan untuk mengirim permintaan kontak spam, Anda dapat mengubah atau menghapusnya sepenuhnya tanpa kehilangan koneksi apa pun.", + "simplex-unique-overlay-card-3-p-1": "SimpleX Chat menyimpan semua data pengguna hanya pada perangkat klien menggunakan format basis data terenkripsi portabel yang dapat diekspor dan ditransfer ke perangkat apa pun yang didukung.", + "simplex-unique-overlay-card-3-p-2": "Pesan yang dienkripsi end-to-end disimpan sementara di server relay SimpleX hingga diterima, lalu dihapus secara permanen.", + "simplex-unique-overlay-card-3-p-3": "Tidak seperti server jaringan terfederasi (email, XMPP atau Matrix), server SimpleX tidak menyimpan akun pengguna, mereka hanya menyampaikan pesan, melindungi privasi kedua belah pihak.", + "simplex-unique-overlay-card-3-p-4": "Tidak ada pengenal atau teks sandi yang sama antara lalu lintas server yang dikirim dan diterima — jika ada orang yang mengamatinya, mereka tidak dapat dengan mudah menentukan siapa yang berkomunikasi dengan siapa, bahkan jika TLS disusupi.", + "simplex-unique-overlay-card-4-p-1": "Anda dapat menggunakan SimpleX dengan server Anda sendiri dan tetap berkomunikasi dengan orang yang menggunakan server yang dikonfigurasikan sebelumnya dalam aplikasi.", + "simplex-unique-overlay-card-4-p-2": "Jaringan SimpleX menggunakan protokol terbuka dan menyediakan SDK untuk membuat bot obrolan, yang memungkinkan penerapan layanan yang dapat berinteraksi dengan pengguna melalui aplikasi SimpleX Chat — kami benar-benar menantikan untuk melihat layanan SimpleX apa yang akan Anda buat.", + "simplex-unique-overlay-card-4-p-3": "Jika Anda mempertimbangkan pengembangan untuk jaringan SimpleX, misalnya, bot obrolan untuk pengguna aplikasi SimpleX, atau integrasi pustaka Obrolan SimpleX ke dalam aplikasi seluler Anda, silakan hubungi kami untuk saran dan dukungan apa pun.", + "simplex-unique-card-1-p-1": "SimpleX melindungi privasi profil, kontak, dan metadata Anda, menyembunyikannya dari server jaringan SimpleX dan pengamat mana pun.", + "get-simplex": "Dapatkan aplikasi desktop SimpleX" +} diff --git a/website/langs/it.json b/website/langs/it.json index 7fdea37909..d45d03ada2 100644 --- a/website/langs/it.json +++ b/website/langs/it.json @@ -237,7 +237,7 @@ "signing-key-fingerprint": "Impronta della chiave di firma (SHA-256)", "f-droid-org-repo": "Repo di F-Droid.org", "stable-versions-built-by-f-droid-org": "Versioni stabili compilate da F-Droid.org", - "docs-dropdown-8": "Servizio directory di SimpleX", + "docs-dropdown-8": "Directory di SimpleX", "simplex-chat-via-f-droid": "SimpleX Chat via F-Droid", "simplex-chat-repo": "Repo di SimpleX Chat", "stable-and-beta-versions-built-by-developers": "Versioni stabili e beta compilate dagli sviluppatori", @@ -255,5 +255,7 @@ "docs-dropdown-12": "Sicurezza", "docs-dropdown-11": "Domande frequenti", "hero-overlay-card-3-p-3": "Trail of Bits ha analizzato la progettazione crittografica dei protocolli della rete SimpleX nel luglio 2024. Leggi di più.", - "docs-dropdown-14": "SimpleX per il lavoro" + "docs-dropdown-14": "SimpleX per il lavoro", + "about-and-contact-us": "Informazioni e contatti", + "directory": "Directory" } diff --git a/website/langs/pt_BR.json b/website/langs/pt_BR.json index 77854f5be1..b1a1f2decd 100644 --- a/website/langs/pt_BR.json +++ b/website/langs/pt_BR.json @@ -64,17 +64,17 @@ "privacy-matters-overlay-card-1-p-1": "Muitas grandes empresas usam informações sobre com quem você está conectado para estimar sua renda, vender produtos que você realmente não precisa e determinar os preços.", "privacy-matters-overlay-card-1-p-2": "Os varejistas online sabem que as pessoas com renda mais baixa têm maior probabilidade de fazer compras urgentes e, por isso, podem cobrar preços mais altos ou remover descontos.", "privacy-matters-overlay-card-1-p-4": "A plataforma SimpleX protege a privacidade de suas conexões melhor do que qualquer alternativa, impedindo totalmente que seu gráfico social fique disponível para quaisquer empresas ou organizações. Mesmo quando as pessoas usam servidores fornecidos pelo SimpleX Chat, não sabemos o número de usuários ou suas conexões.", - "privacy-matters-overlay-card-2-p-2": "Para ser objetivo e tomar decisões independentes, você precisa ter o controle do seu espaço de informações. Isso só é possível se você usar uma plataforma de comunicação privada que não tenha acesso ao seu gráfico social.", + "privacy-matters-overlay-card-2-p-2": "Para ser objetivo e tomar decisões independentes, você precisa ter o controle do seu espaço de informações. Isso só é possível se você usar uma rede de comunicação privada que não tenha acesso ao seu gráfico social.", "privacy-matters-overlay-card-3-p-1": "Todos devem se preocupar com a privacidade e a segurança de suas comunicações — conversas inofensivas podem colocá-lo em perigo, mesmo que você não tenha nada a esconder.", "simplex-unique-overlay-card-3-p-1": "O SimpleX Chat armazena todos os dados do usuário somente em dispositivos clientes usando um formato de banco de dados criptografado portátil que pode ser exportado e transferido para qualquer dispositivo compatível.", "privacy-matters-overlay-card-3-p-2": "Uma das histórias mais chocantes é a experiência de Mohamedou Ould Salahi, descrita em seu livro de memórias e mostrada no filme O Mauritano. Ele foi colocado no campo de Guantánamo, sem julgamento, e lá foi torturado por 15 anos após um telefonema para seu parente no Afeganistão, sob suspeita de estar envolvido nos ataques de 11 de setembro, embora tenha vivido na Alemanha nos 10 anos anteriores.", - "simplex-unique-overlay-card-1-p-1": "Ao contrário de outras plataformas de mensagens, o SimpleX não tem identificadores atribuídos aos usuários. Ele não depende de números de telefone, endereços baseados em domínio (como email ou XMPP), nomes de usuário, chaves públicas ou mesmo números aleatórios para identificar seus usuários — não sabemos quantas pessoas usam nossos servidores SimpleX.", + "simplex-unique-overlay-card-1-p-1": "Ao contrário de outras redes de mensagens, o SimpleX não tem identificadores atribuídos aos usuários. Ele não depende de números de telefone, endereços baseados em domínio (como email ou XMPP), nomes de usuário, chaves públicas ou mesmo números aleatórios para identificar seus usuários — Os operadores dos servidores não sabem quantas pessoas usam os servidores SimpleX.", "simplex-private-card-1-point-1": "Protocolo de dupla catraca —
mensagens OTR com Sigilo de Encaminhamento Perfeito (Perfect Forward Secrecy) e recuperação de invasão.", "simplex-private-8-title": "Mistura de mensagens
para reduzir a correlação", - "simplex-unique-overlay-card-4-p-2": "A plataforma SimpleX usa um protocolo aberto e fornece um SDK para criar bots de chat, permitindo a implementação de serviços com os quais os usuários podem interagir por meio dos aplicativos SimpleX Chat — estamos' realmente ansiosos para ver quais serviços SimpleX você pode criar.", + "simplex-unique-overlay-card-4-p-2": "A rede SimpleX usa um protocolo aberto e fornece um SDK para criar bots de chat, permitindo a implementação de serviços com os quais os usuários podem interagir por meio dos aplicativos SimpleX Chat — estamos' realmente ansiosos para ver quais serviços SimpleX você pode criar.", "simplex-unique-overlay-card-3-p-4": "Não há identificadores ou texto cifrado em comum entre o tráfego de servidor enviado e recebido — se alguém estiver observando, não poderá determinar facilmente quem se comunica com quem, mesmo que o TLS esteja comprometido.", - "simplex-unique-overlay-card-4-p-3": "Se estiver pensando em desenvolver para a plataforma SimpleX, por exemplo, o bot de chat para os usuários do aplicativo SimpleX ou a integração da biblioteca SimpleX Chat em seus aplicativos móveis, entre em contato para qualquer orientação e suporte.", - "simplex-unique-card-2-p-1": "Como você não tem um identificador ou endereço fixo na plataforma SimpleX, ninguém pode entrar em contato com você, a menos que você compartilhe um endereço de usuário único ou temporário, como um QR code ou um link.", + "simplex-unique-overlay-card-4-p-3": "Se estiver pensando em desenvolver para a rede SimpleX, por exemplo, o bot de chat para os usuários do aplicativo SimpleX ou a integração da biblioteca SimpleX Chat em seus aplicativos móveis, entre em contato para qualquer orientação e suporte.", + "simplex-unique-card-2-p-1": "Como você não tem um identificador ou endereço fixo na rede SimpleX, ninguém pode entrar em contato com você, a menos que você compartilhe um endereço de usuário único ou temporário, como um QR code ou um link.", "simplex-unique-card-3-p-1": "O SimpleX armazena todos os dados do usuário nos dispositivos clientes em um formato de banco de dados criptografado portátil — que pode ser transferido para outro dispositivo.", "hide-info": "Ocultar informações", "contact-hero-p-2": "Ainda não baixou o SimpleX Chat?", @@ -124,20 +124,20 @@ "simplex-network-overlay-card-1-li-6": "As redes P2P podem ser vulneráveis a ataques DRDoS, quando os clientes podem retransmitir e amplificar o tráfego, resultando em uma negação de serviço em toda a rede. Os clientes SimpleX apenas retransmitem o tráfego de uma conexão conhecida e não podem ser usados por um invasor para amplificar o tráfego em toda a rede.", "privacy-matters-overlay-card-1-p-3": "Algumas empresas financeiras e de seguros usam gráficos sociais para determinar taxas de juros e prêmios. Isso geralmente faz com que as pessoas com renda mais baixa paguem mais — isso é conhecido como \"prêmio de pobreza\".", "privacy-matters-overlay-card-2-p-1": "Não faz muito tempo que observamos as eleições sendo manipuladas por uma empresa de consultoria respeitável que usou nossos gráficos sociais para distorcer nossa visão do mundo real e manipular nossos votos.", - "privacy-matters-overlay-card-2-p-3": "O SimpleX é a primeira plataforma que não tem nenhum identificador de usuário por design, protegendo assim seu gráfico de conexões melhor do que qualquer alternativa conhecida.", + "privacy-matters-overlay-card-2-p-3": "O SimpleX é a primeira rede que não tem nenhum identificador de usuário por design, protegendo assim seu gráfico de conexões melhor do que qualquer alternativa conhecida.", "privacy-matters-overlay-card-3-p-3": "Pessoas comuns são presas pelo que compartilham online, mesmo por meio de suas contas \"anônimas\", mesmo em países democráticos.", "privacy-matters-overlay-card-3-p-4": "Não basta usar um mensageiro criptografado de ponta-a-ponta, todos nós devemos usar os mensageiros que protegem a privacidade de nossas redes pessoais — com quem estamos conectados.", "simplex-unique-overlay-card-1-p-2": "Para entregar mensagens, o SimpleX usa endereços anônimos em pares de filas de mensagens unidirecionais, separadas para mensagens recebidas e enviadas, geralmente por meio de servidores diferentes.", - "simplex-unique-overlay-card-1-p-3": "Esse design protege a privacidade de quem está se comunicando com você, ocultando-a dos servidores da plataforma SimpleX e de quaisquer observadores. Para ocultar seu endereço IP dos servidores, você pode se conectar aos servidores do SimpleX via Tor.", + "simplex-unique-overlay-card-1-p-3": "Esse design protege a privacidade com quem você está se comunicando, ocultando-a dos servidores da rede SimpleX e de quaisquer observadores. Para ocultar seu endereço IP dos servidores, você pode se conectar aos servidores do SimpleX via Tor.", "simplex-unique-overlay-card-2-p-2": "Mesmo com o endereço de usuário opcional, embora ele possa ser usado para enviar solicitações de contato de spam, você pode alterá-lo ou excluí-lo completamente sem perder nenhuma das suas conexões.", - "simplex-unique-overlay-card-2-p-1": "Como você não tem um identificador na plataforma SimpleX, ninguém pode entrar em contato com você, a menos que compartilhe um endereço de usuário único ou temporário, como um QR code ou um link.", + "simplex-unique-overlay-card-2-p-1": "Como você não tem um identificador na rede SimpleX, ninguém pode entrar em contato com você, a menos que compartilhe um endereço de usuário único ou temporário, como um QR code ou um link.", "simplex-unique-overlay-card-3-p-2": "As mensagens criptografadas de ponta-a-ponta são mantidas temporariamente nos servidores de retransmissão SimpleX até serem recebidas e, em seguida, são excluídas permanentemente.", "simplex-unique-overlay-card-3-p-3": "Diferente dos servidores de redes federadas (email, XMPP ou Matrix), os servidores SimpleX não armazenam contas de usuários, apenas retransmitem mensagens, protegendo a privacidade de ambas as partes.", "simplex-unique-overlay-card-4-p-1": "Você pode usar o SimpleX com seus próprios servidores e ainda se comunicar com pessoas que usam os servidores pré-configurados fornecidos por nós.", - "simplex-unique-card-1-p-1": "O SimpleX protege a privacidade do seu perfil, contatos e metadados, ocultando-os dos servidores da plataforma SimpleX e de quaisquer observadores.", - "simplex-unique-card-1-p-2": "Diferente de qualquer outra plataforma de mensagens existente, o SimpleX não tem identificadores atribuídos aos usuários — nem mesmo números aleatórios.", + "simplex-unique-card-1-p-1": "O SimpleX protege a privacidade do seu perfil, contatos e metadados, ocultando-os dos servidores da rede SimpleX e de quaisquer observadores.", + "simplex-unique-card-1-p-2": "Diferente de qualquer outra rede de mensagens existente, o SimpleX não tem identificadores atribuídos aos usuários — nem mesmo números aleatórios.", "simplex-unique-card-3-p-2": "As mensagens criptografadas de ponta-a-ponta são mantidas temporariamente nos servidores de retransmissão SimpleX até serem recebidas e, em seguida, são excluídas permanentemente.", - "simplex-unique-card-4-p-1": "A rede SimpleX é totalmente descentralizada e independente de qualquer criptomoeda ou de qualquer outra plataforma, exceto a Internet.", + "simplex-unique-card-4-p-1": "A rede SimpleX é totalmente descentralizada e independente de qualquer criptomoeda ou de qualquer outra rede, exceto a Internet.", "simplex-unique-card-4-p-2": "Você pode usar o SimpleX com seus próprios servidores ou com os servidores fornecidos por nós — e ainda assim se conectar a qualquer usuário.", "we-invite-you-to-join-the-conversation": "Convidamos você a participar da conversa", "join": "Junte-se ao", @@ -190,7 +190,7 @@ "guide-dropdown-3": "Grupos secretos", "guide-dropdown-7": "Privacidade e segurança", "guide": "Manual", - "docs-dropdown-1": "Plataforma SimpleX", + "docs-dropdown-1": "Rede SimpleX", "docs-dropdown-3": "Acessando o banco de dados do bate-papo", "on-this-page": "Nesta página", "newer-version-of-eng-msg": "Há uma versão mais recente desta página em inglês.", @@ -201,7 +201,7 @@ "scan-the-qr-code-with-the-simplex-chat-app-description": "As chaves públicas e o endereço da fila de mensagens nesse link NÃO são enviados pela rede quando você visualiza essa página —
eles estão contidos no fragmento de hash do URL do link.", "installing-simplex-chat-to-terminal": "Instalação do SimpleX chat para o terminal", "see-simplex-chat": "Veja o SimpleX Chat", - "the-instructions--source-code": "as instruções sobre como fazer download ou compilá-lo a partir do código-fonte.", + "the-instructions--source-code": "para as instruções sobre como fazer download ou compilá-lo a partir do código-fonte.", "if-you-already-installed": "Se você já instalou", "simplex-chat-for-the-terminal": "SimpleX Chat para terminal", "simplex-network-1-desc": "Todas as mensagens são enviadas por meio dos servidores, o que proporciona melhor privacidade de metadados e entrega de mensagens assíncronas confiáveis, além de evitar muitos dos", @@ -227,7 +227,7 @@ "no-federated": "Não - federado", "comparison-section-list-point-1": "Geralmente com base em um número de telefone, em alguns casos em nomes de usuário", "comparison-section-list-point-2": "Endereços baseados no DNS", - "comparison-section-list-point-6": "Embora os P2P sejam distribuídos, eles não são federados - operam como uma única rede", + "comparison-section-list-point-6": "Embora os P2P sejam distribuídos, eles não são federados &mdash - operam como uma única rede", "comparison-section-list-point-7": "As redes P2P têm uma autoridade central ou toda a rede pode ser comprometida", "protocol-2-text": "Matrix, XMPP", "see-here": "veja aqui", @@ -249,11 +249,13 @@ "f-droid-page-f-droid-org-repo-section-text": "Os repositórios SimpleX Chat e F-Droid.org assinam compilações com chaves diferentes. Para mudar, exporte o banco de dados de bate-papo e reinstale o aplicativo.", "please-enable-javascript": "Por favor habilite o JavaScript para ver o QR code.", "jobs": "Junte-se à equipe", - "docs-dropdown-8": "Serviço de Diretório SimpleX", + "docs-dropdown-8": "Diretório SimpleX", "docs-dropdown-9": "Baixar", "docs-dropdown-11": "FAQ", "docs-dropdown-10": "Transparência", "docs-dropdown-12": "Segurança", - "hero-overlay-card-3-p-3": "Trail of Bits revisou o design criptografico das redes utilizadas pelo SimpleX em julho de 2024", - "docs-dropdown-14": "SimpleX para negócios" + "hero-overlay-card-3-p-3": "Trail of Bits revisou o design criptografico das redes utilizadas pelo SimpleX em julho de 2024. Read more.", + "docs-dropdown-14": "SimpleX para negócios", + "directory": "Diretório", + "about-and-contact-us": "Sobre e Contato" } diff --git a/website/langs/ro.json b/website/langs/ro.json index 0967ef424b..d129c1a7d1 100644 --- a/website/langs/ro.json +++ b/website/langs/ro.json @@ -1 +1,56 @@ -{} +{ + "home": "Acasă", + "developers": "Dezvoltatori", + "reference": "Referință", + "features": "­Funcționalități", + "why-simplex": "De ce SimpleX", + "simplex-privacy": "Confidențialitatea SimpleX", + "simplex-network": "Rețeaua SimpleX", + "simplex-explained": "SimpleX, explicat", + "simplex-explained-tab-1-text": "1. Ce experimentează utilizatorii", + "simplex-explained-tab-2-text": "2. Cum funcționează", + "simplex-explained-tab-3-text": "3. Ce văd serverele", + "simplex-explained-tab-1-p-1": "Poți crea contacte și grupuri, și poți avea conversații bidirecționale, ca în oricare altă aplicație de mesagerie.", + "simplex-explained-tab-1-p-2": "Cum poate funcționa cu liste de așteptare unidirecționale și fără identificatori de profil ai utilizatorului?", + "simplex-explained-tab-2-p-1": "Pentru fiecare conexiune, folosești două cozi de mesaje separate pentru a trimite și a primi mesaje prin servere diferite.", + "simplex-explained-tab-2-p-2": "Serverele doar transmit mesaje într-un singur sens, fără a deține imaginea de ansamblu a conversațiilor sau a conexiunilor utilizatorului.", + "simplex-explained-tab-3-p-1": "Serverele au credențiale anonime separate pentru fiecare coadă și nu știu cui aparțin acestea.", + "simplex-explained-tab-3-p-2": "Utilizatorii pot îmbunătăți și mai mult confidențialitatea metadatelor folosind Tor pentru a accesa serverele, prevenind astfel corelarea prin adresa IP.", + "chat-bot-example": "Exemplu de bot de chat", + "smp-protocol": "Protocolul SMP", + "chat-protocol": "Protocol de chat", + "donate": "Donează", + "copyright-label": "© 2020-2025 SimpleX | Proiect Open-Source", + "simplex-chat-protocol": "Protocolul SimpleX Chat", + "terminal-cli": "Terminal CLI", + "terms-and-privacy-policy": "Politică de confidențialitate", + "hero-header": "Confidențialitate redefinită", + "hero-subheader": "Primul serviciu de mesagerie
fără identificatori de utilizator", + "hero-p-1": "Alte aplicații au identificatori de utilizator: Signal, Matrix, Session, Briar, Jami, Cwtch, etc.
SimpleX nu are, nici măcar numere aleatorii.
Acest lucru îți îmbunătățește radical confidențialitatea.", + "hero-overlay-1-textlink": "De ce ID-urile de utilizator compromit confidențialitatea?", + "hero-overlay-2-textlink": "Cum funcționează SimpleX?", + "hero-overlay-3-textlink": "Evaluări de securitate", + "hero-2-header": "Creează o conexiune privată", + "hero-2-header-desc": "Videoclipul arată cum te conectezi cu prietenul tău cu ajutorul codului QR de unică folosință al acestuia, fie față în față, fie printr-un link video. De asemenea, te poți conecta prin partajarea unui link de invitație.", + "invitation-hero-header": "Ai primit un link de unică folosință pentru a te conecta pe SimpleX Chat", + "hero-overlay-1-title": "Cum funcționează SimpleX?", + "hero-overlay-2-title": "De ce ID-urile de utilizator compromit confidențialitatea?", + "hero-overlay-3-title": "Evaluări de securitate", + "feature-1-title": "Mesaje criptate E2E, cu formatare Markdown și editare", + "feature-2-title": "Imagini, videoclipuri și fișiere
criptate E2E", + "feature-3-title": "Grupuri descentralizate criptate E2E — doar utilizatorii știu că există", + "feature-4-title": "Mesaje vocale criptate E2E", + "feature-5-title": "Mesaje care dispar", + "feature-6-title": "Apeluri audio și video
criptate E2E", + "feature-7-title": "Stocare portabilă criptată a aplicației — mută profilul pe alt dispozitiv", + "feature-8-title": "Mod incognito —
unic în SimpleX Chat", + "simplex-network-overlay-1-title": "Comparație cu protocoalele de mesagerie P2P", + "simplex-private-1-title": "2 straturi de
criptare end-to-end", + "simplex-private-2-title": "Strat adițional de
criptare pe server", + "simplex-private-3-title": "Transport TLS
securizat și autentificat", + "simplex-private-4-title": "Acces opțional
prin Tor", + "simplex-private-5-title": "Straturi multiple de
padding al conținutului", + "simplex-private-6-title": "Schimb de chei
în afara benzii", + "simplex-private-7-title": "Verificarea integrității
mesajului", + "simplex-private-8-title": "Amestecare mesaje
pentru a reduce corelația" +} diff --git a/website/langs/ru.json b/website/langs/ru.json index ccf480f1d7..2b7a026e12 100644 --- a/website/langs/ru.json +++ b/website/langs/ru.json @@ -4,7 +4,7 @@ "chat-bot-example": "Пример Чат бота", "simplex-private-card-9-point-1": "Каждая очередь сообщений передает сообщения в одном направлении с разными адресами отправки и получения.", "simplex-private-card-1-point-2": "NaCL cryptobox в каждой очереди для предотвращения корреляции трафика между очередями сообщений, в случае компрометированного TLS.", - "contact-hero-p-1": "Публичные ключи и адрес очереди сообщений в этой ссылке НЕ отправляются по сети при просмотре этой страницы — они содержатся в хэш-фрагменте URL-адреса ссылки.", + "contact-hero-p-1": "Публичные ключи и адрес очереди сообщений в этой ссылке НЕ отправляются по сети при просмотре этой страницы — они содержатся в хеш-фрагменте URL-адреса ссылки.", "guide-dropdown-5": "Управление данными", "scan-the-qr-code-with-the-simplex-chat-app": "Отсканируйте QR-код с помощью приложения SimpleX Chat", "simplex-private-card-9-point-2": "Это уменьшает векторы атак и доступные метаданные, по сравнению с традиционными серверами доставки сообщений.", @@ -14,7 +14,7 @@ "hero-2-header": "Установите конфиденциальное соединение", "simplex-unique-overlay-card-3-p-3": "В отличие от серверов федеративных сетей (электронной почты, XMPP или Matrix), серверы SimpleX не хранят учетные записи пользователей, они только ретранслируют сообщения, защищая конфиденциальность обеих сторон.", "hero-subheader": "Первый мессенджер
без идентификаторов пользователей", - "privacy-matters-overlay-card-3-p-2": "Одна из самых шокирующих историй — это опыт Слахи, Мохаммеда Ульда, описанный в его мемуарах и показанный в фильме Мавританец. Он был помещен в лагерь Гуантанамо без суда и следствия и подвергался там пыткам в течение 15 лет после телефонного звонка своему родственнику в Афганистане, из за подозрения в причастности к терактам 11 сентября, хотя предыдущие 10 лет он жил в Германии.", + "privacy-matters-overlay-card-3-p-2": "Одна из самых шокирующих историй — это опыт Слахи, Мохаммеда Ульда, описанный в его мемуарах и показанный в фильме Мавританец. Он был помещен в лагерь Гуантанамо без суда и следствия и подвергался там пыткам в течение 15 лет после телефонного звонка своему родственнику в Афганистане, из-за подозрения в причастности к терактам 11 сентября, хотя предыдущие 10 лет он жил в Германии.", "signing-key-fingerprint": "Идентификатор ключа подписи (SHA-256)", "simplex-network-2-desc": "Серверные узлы SimpleX НЕ хранят профили пользователей, контакты и доставленные сообщения, НЕ подключаются друг к другу, и НЕ имеют каталога серверов.", "simplex-privacy": "Конфиденциальность SimpleX", @@ -55,7 +55,7 @@ "docs-dropdown-1": "Сеть SimpleX", "hero-overlay-card-1-p-5": "Только клиентские устройства хранят профили пользователей, контакты и группы; сообщения отправляются с двухуровневым сквозным шифрованием.", "simplex-chat-for-the-terminal": "SimpleX Chat для терминала", - "simplex-network-overlay-card-1-li-3": "P2P не решает проблему MITM-атаки (Атака посредника), и многие сети не используют сообщения вне протокола для первоначального обмена ключами. SimpleX использует сообщения вне протокола или, в некоторых случаях, ранее существовавшие защищенные и доверенные соединения для первоначального обмена ключами.", + "simplex-network-overlay-card-1-li-3": "P2P не решает проблему MITM-атаки (Атака посредника), и многие сети не используют сообщения вне протокола для первоначального обмена ключами. SimpleX использует сообщения вне протокола или, в некоторых случаях, ранее существовавшие защищенные и доверенные соединения для первоначального обмена ключами.", "the-instructions--source-code": "SimpleX Chat.", "simplex-network-section-desc": "SimpleX Chat обеспечивает наилучшую конфиденциальность, сочетая преимущества P2P и федеративных сетей.", "privacy-matters-section-subheader": "Сохранение конфиденциальности Ваших метаданных — с кем Вы общаетесь — защищает Вас от:", @@ -103,7 +103,7 @@ "install-simplex-app": "Установите приложение SimpleX", "hero-overlay-3-textlink": "Аудит безопасности", "comparison-point-2-text": "Возможность MITM", - "scan-the-qr-code-with-the-simplex-chat-app-description": "Публичные ключи и адрес очереди сообщений, указанные в этой ссылке, НЕ отправляются по сети при просмотре этой страницы —
они содержатся в хэш-фрагменте URL-адреса ссылки.", + "scan-the-qr-code-with-the-simplex-chat-app-description": "Публичные ключи и адрес очереди сообщений, указанные в этой ссылке, НЕ отправляются по сети при просмотре этой страницы —
они содержатся в хеш-фрагменте URL-адреса ссылки.", "guide-dropdown-8": "Настройки приложения", "simplex-explained-tab-2-p-2": "Серверы передают сообщения только в одну сторону, не имея полной информации о разговорах и контактах пользователя.", "smp-protocol": "Протокол SMP", @@ -127,7 +127,7 @@ "simplex-unique-overlay-card-2-p-2": "Хоть злоумышленники и могут использовать постоянный адрес для отправки нежелательных запросов или спама, Вы можете легко его изменить или просто удалить, не теряя связи с уже установленными контактами.", "simplex-unique-4-overlay-1-title": "Полностью децентрализованная — пользователи владеют сетью SimpleX", "guide-dropdown-2": "Отправка сообщений", - "simplex-network-overlay-card-1-li-5": "Все известные P2P-сети могут быть уязвимы для Атаки Сивиллы, поскольку каждый узел доступен для обнаружения, и сеть работает как единое целое. Известные меры по уменьшению риска требуют либо централизованного компонента, либо дорогостоящего Proof-of-work. Сеть SimpleX не позволяет обнаруживать серверы, она фрагментирована и работает как множество изолированных подсетей, из-за чего провести атаку на всю сеть невозможно.", + "simplex-network-overlay-card-1-li-5": "Все известные P2P-сети могут быть уязвимы для Атаки Сивиллы, поскольку каждый узел доступен для обнаружения, и сеть работает как единое целое. Известные меры по уменьшению риска требуют либо централизованного компонента, либо дорогостоящего Proof-of-work. Сеть SimpleX не позволяет обнаруживать серверы, она фрагментирована и работает как множество изолированных подсетей, из-за чего провести атаку на всю сеть невозможно.", "simplex-private-2-title": "Дополнительный уровень
шифрования с сервером", "hero-overlay-card-1-p-4": "Этот подход предотвращает утечку любых пользовательских метаданных на уровне приложения. Для дальнейшего улучшения конфиденциальности и защиты Вашего IP-адреса Вы можете подключиться к серверам обмена сообщениями через сеть Tor.", "f-droid-org-repo": "Репозиторий F-Droid.org", @@ -183,11 +183,11 @@ "privacy-matters-overlay-card-3-p-3": "Обычных людей арестовывают за то, чем они делятся в Интернете, даже через свои \"анонимные\" аккаунты, даже в демократических странах.", "simplex-unique-overlay-card-3-p-2": "Сквозные зашифрованные сообщения временно хранятся на серверах SimpleX до получения, после чего они удаляются безвозвратно.", "blog": "Блог", - "simplex-private-card-7-point-1": "Для обеспечения неизменности, сообщения нумеруются по порядку и содержат хэш предыдущего сообщения.", + "simplex-private-card-7-point-1": "Для обеспечения неизменности, сообщения нумеруются по порядку и содержат хеш предыдущего сообщения.", "simplex-unique-overlay-card-4-p-2": "Сеть SimpleX использует открытый протокол и предоставляет SDK для создания чат-ботов, позволяя внедрять сервисы, с которыми пользователи могут взаимодействовать через приложение SimpleX Chat — мы с нетерпением ждем сервисы SimpleX, которые Вы создадите.", "simplex-explained-tab-1-p-1": "Вы можете создавать контакты и группы, а также вести двусторонние беседы, как и в любом другом мессенджере.", "contact-hero-p-2": "Еще не скачали SimpleX Chat?", - "why-simplex-is-unique": "Почему SimpleX уникальный", + "why-simplex-is-unique": "Почему SimpleX уникален", "simplex-network-section-header": "Сеть SimpleX", "simplex-private-10-title": "Временные анонимные парные идентификаторы", "privacy-matters-1-overlay-1-linkText": "Конфиденциальность экономит Ваши деньги", @@ -234,10 +234,10 @@ "simplex-private-7-title": "Проверка неизменности
сообщений", "privacy-matters-overlay-card-1-p-4": "Сеть SimpleX защищает конфиденциальность Ваших контактов лучше, чем альтернативы, предотвращая доступ к Вашей социальной сети каким-либо компаниям или организациям. Даже когда люди используют серверы, предоставляемые SimpleX Chat, мы не знаем точное количество пользователей или с кем они общаются.", "hero-overlay-card-1-p-6": "Подробнее читайте в техническом описании SimpleX.", - "simplex-network-overlay-card-1-p-1": "Протоколы и приложения для обмена сообщениями P2P имеют различные проблемы, которые делают их менее надежными, чем SimpleX, более сложными для анализа и уязвимыми для нескольких типов атак.", + "simplex-network-overlay-card-1-p-1": "Протоколы и приложения для обмена сообщениями P2P имеют различные проблемы, которые делают их менее надежными, чем SimpleX, более сложными для анализа и уязвимыми для нескольких типов атак.", "terms-and-privacy-policy": "Политика Конфиденциальности", "about-and-contact-us": "O нас и наши контакты", - "simplex-network-overlay-card-1-li-1": "Сети P2P используют DHT (распределенные хэш-таблицы) для маршрутизации сообщений. DHT должны обеспечивать баланс между гарантией доставки и задержкой. SimpleX имеет как лучшую гарантию доставки, так и меньшую задержку, чем P2P. В сетях P2P сообщение передается через нескольких узлов, последовательно, кол-во узлов-посредников будет расти параллельно размеру сети — O(log N).", + "simplex-network-overlay-card-1-li-1": "Сети P2P используют DHT (распределенные хеш-таблицы) для маршрутизации сообщений. DHT должны обеспечивать баланс между гарантией доставки и задержкой. SimpleX имеет как лучшую гарантию доставки, так и меньшую задержку, чем P2P. В сетях P2P сообщение передается через нескольких узлов, последовательно, кол-во узлов-посредников будет расти параллельно размеру сети — O(log N).", "privacy-matters-section-label": "Убедитесь, что Ваш мессенджер не может получить доступ к Вашим данным!", "simplex-unique-overlay-card-3-p-1": "SimpleX Chat хранит все пользовательские данные на клиентских устройствах в портативном формате зашифрованной базы данных которую можно перенести на другое устройство.", "simplex-network-3-desc": "серверы предоставляют однонаправленные очереди для подключения пользователей, но у них нет видимости графика сетевых подключений — это делают только пользователи.", diff --git a/website/langs/zh_Hans.json b/website/langs/zh_Hans.json index c0b843ca9e..3c95aef8ad 100644 --- a/website/langs/zh_Hans.json +++ b/website/langs/zh_Hans.json @@ -241,7 +241,7 @@ "stable-and-beta-versions-built-by-developers": "开发人员构建的稳定版和测试版", "f-droid-page-simplex-chat-repo-section-text": "要将其添加到您的 F-Droid 客户端,请扫描二维码或使用以下 URL:", "comparison-section-list-point-4a": "SimpleX 中继无法破坏 e2e 加密。 验证安全代码以减轻对带外通道的攻击", - "docs-dropdown-8": "SimpleX 目录服务", + "docs-dropdown-8": "SimpleX 目录", "f-droid-page-f-droid-org-repo-section-text": "SimpleX Chat 和 F-Droid.org 存储库使用不同的密钥对构建进行签名。 如需切换,请导出聊天数据库并重新安装应用。", "hero-overlay-3-title": "安全性评估", "hero-overlay-card-3-p-2": "2022年11月份,Trail of Bits 审核了 SimpleX 平台的密码学和网络部件。更多内容见 该公告。", @@ -255,5 +255,7 @@ "docs-dropdown-11": "常问问题", "docs-dropdown-12": "安全性", "hero-overlay-card-3-p-3": "Trail of Bits 于 2024 年 7 月审核了 SimpleX 网络协议的加密设计。了解更多信息。", - "docs-dropdown-14": "企业版 SimpleX" + "docs-dropdown-14": "企业版 SimpleX", + "directory": "目录", + "about-and-contact-us": "关于 & 联系我们" } From 1036fb299d34c5bc67513cc02baf1bb54cda9180 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Tue, 21 Oct 2025 10:24:51 +0100 Subject: [PATCH 30/38] ui: translations (#6386) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Translated using Weblate (German) Currently translated at 100.0% (2504 of 2504 strings) Translation: SimpleX Chat/SimpleX Chat Android Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/de/ * Translated using Weblate (German) Currently translated at 100.0% (2168 of 2168 strings) Translation: SimpleX Chat/SimpleX Chat iOS Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/de/ * Translated using Weblate (Italian) Currently translated at 100.0% (2504 of 2504 strings) Translation: SimpleX Chat/SimpleX Chat Android Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/it/ * Translated using Weblate (Italian) Currently translated at 100.0% (2168 of 2168 strings) Translation: SimpleX Chat/SimpleX Chat iOS Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/it/ * Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 100.0% (2504 of 2504 strings) Translation: SimpleX Chat/SimpleX Chat Android Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/zh_Hans/ * Translated using Weblate (Arabic) Currently translated at 100.0% (2504 of 2504 strings) Translation: SimpleX Chat/SimpleX Chat Android Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/ar/ * Translated using Weblate (Greek) Currently translated at 17.4% (436 of 2504 strings) Translation: SimpleX Chat/SimpleX Chat Android Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/el/ * Translated using Weblate (Greek) Currently translated at 17.4% (436 of 2504 strings) Translation: SimpleX Chat/SimpleX Chat Android Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/el/ * Translated using Weblate (Hungarian) Currently translated at 100.0% (2504 of 2504 strings) Translation: SimpleX Chat/SimpleX Chat Android Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/hu/ * Translated using Weblate (Persian) Currently translated at 100.0% (2504 of 2504 strings) Translation: SimpleX Chat/SimpleX Chat Android Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/fa/ * Translated using Weblate (Romanian) Currently translated at 99.6% (2495 of 2504 strings) Translation: SimpleX Chat/SimpleX Chat Android Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/ro/ * Translated using Weblate (Hungarian) Currently translated at 100.0% (2168 of 2168 strings) Translation: SimpleX Chat/SimpleX Chat iOS Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/hu/ * Added translation using Weblate (Latvian) * Translated using Weblate (Spanish) Currently translated at 100.0% (2504 of 2504 strings) Translation: SimpleX Chat/SimpleX Chat Android Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/es/ * Translated using Weblate (Spanish) Currently translated at 100.0% (2504 of 2504 strings) Translation: SimpleX Chat/SimpleX Chat Android Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/es/ * Translated using Weblate (Spanish) Currently translated at 100.0% (2168 of 2168 strings) Translation: SimpleX Chat/SimpleX Chat iOS Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/es/ * Translated using Weblate (Hungarian) Currently translated at 100.0% (2504 of 2504 strings) Translation: SimpleX Chat/SimpleX Chat Android Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/hu/ * Translated using Weblate (Hungarian) Currently translated at 100.0% (2168 of 2168 strings) Translation: SimpleX Chat/SimpleX Chat iOS Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/hu/ * Translated using Weblate (Catalan) Currently translated at 100.0% (2504 of 2504 strings) Translation: SimpleX Chat/SimpleX Chat Android Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/ca/ * Translated using Weblate (Latvian) Currently translated at 2.0% (52 of 2504 strings) Translation: SimpleX Chat/SimpleX Chat Android Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/lv/ * Translated using Weblate (Latvian) Currently translated at 2.0% (52 of 2504 strings) Translation: SimpleX Chat/SimpleX Chat Android Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/lv/ * Translated using Weblate (Russian) Currently translated at 100.0% (2504 of 2504 strings) Translation: SimpleX Chat/SimpleX Chat Android Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/ru/ * Translated using Weblate (Hungarian) Currently translated at 100.0% (2168 of 2168 strings) Translation: SimpleX Chat/SimpleX Chat iOS Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/hu/ * Translated using Weblate (Indonesian) Currently translated at 99.8% (2500 of 2504 strings) Translation: SimpleX Chat/SimpleX Chat Android Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/id/ * Translated using Weblate (Danish) Currently translated at 34.2% (857 of 2504 strings) Translation: SimpleX Chat/SimpleX Chat Android Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/da/ * Added translation using Weblate (Norwegian Bokmål) * Translated using Weblate (Czech) Currently translated at 99.1% (2483 of 2504 strings) Translation: SimpleX Chat/SimpleX Chat Android Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/cs/ * Translated using Weblate (Czech) Currently translated at 99.1% (2483 of 2504 strings) Translation: SimpleX Chat/SimpleX Chat Android Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/cs/ * Translated using Weblate (Russian) Currently translated at 100.0% (2504 of 2504 strings) Translation: SimpleX Chat/SimpleX Chat Android Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/ru/ * Translated using Weblate (Indonesian) Currently translated at 100.0% (2504 of 2504 strings) Translation: SimpleX Chat/SimpleX Chat Android Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/id/ * Translated using Weblate (Russian) Currently translated at 100.0% (2168 of 2168 strings) Translation: SimpleX Chat/SimpleX Chat iOS Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/ru/ * Translated using Weblate (Indonesian) Currently translated at 100.0% (2504 of 2504 strings) Translation: SimpleX Chat/SimpleX Chat Android Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/id/ * Translated using Weblate (German) Currently translated at 100.0% (2504 of 2504 strings) Translation: SimpleX Chat/SimpleX Chat Android Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/de/ * Translated using Weblate (German) Currently translated at 100.0% (2168 of 2168 strings) Translation: SimpleX Chat/SimpleX Chat iOS Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/de/ * Translated using Weblate (Italian) Currently translated at 100.0% (2504 of 2504 strings) Translation: SimpleX Chat/SimpleX Chat Android Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/it/ * Translated using Weblate (Italian) Currently translated at 100.0% (2168 of 2168 strings) Translation: SimpleX Chat/SimpleX Chat iOS Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/it/ * Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 100.0% (2504 of 2504 strings) Translation: SimpleX Chat/SimpleX Chat Android Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/zh_Hans/ * Translated using Weblate (Arabic) Currently translated at 100.0% (2504 of 2504 strings) Translation: SimpleX Chat/SimpleX Chat Android Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/ar/ * Translated using Weblate (Greek) Currently translated at 17.4% (436 of 2504 strings) Translation: SimpleX Chat/SimpleX Chat Android Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/el/ * Translated using Weblate (Greek) Currently translated at 17.4% (436 of 2504 strings) Translation: SimpleX Chat/SimpleX Chat Android Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/el/ * Translated using Weblate (Hungarian) Currently translated at 100.0% (2504 of 2504 strings) Translation: SimpleX Chat/SimpleX Chat Android Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/hu/ * Translated using Weblate (Persian) Currently translated at 100.0% (2504 of 2504 strings) Translation: SimpleX Chat/SimpleX Chat Android Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/fa/ * Translated using Weblate (Romanian) Currently translated at 99.6% (2495 of 2504 strings) Translation: SimpleX Chat/SimpleX Chat Android Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/ro/ * Translated using Weblate (Hungarian) Currently translated at 100.0% (2168 of 2168 strings) Translation: SimpleX Chat/SimpleX Chat iOS Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/hu/ * Added translation using Weblate (Latvian) * Translated using Weblate (Spanish) Currently translated at 100.0% (2504 of 2504 strings) Translation: SimpleX Chat/SimpleX Chat Android Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/es/ * Translated using Weblate (Spanish) Currently translated at 100.0% (2504 of 2504 strings) Translation: SimpleX Chat/SimpleX Chat Android Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/es/ * Translated using Weblate (Spanish) Currently translated at 100.0% (2168 of 2168 strings) Translation: SimpleX Chat/SimpleX Chat iOS Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/es/ * Translated using Weblate (Hungarian) Currently translated at 100.0% (2504 of 2504 strings) Translation: SimpleX Chat/SimpleX Chat Android Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/hu/ * Translated using Weblate (Hungarian) Currently translated at 100.0% (2168 of 2168 strings) Translation: SimpleX Chat/SimpleX Chat iOS Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/hu/ * Translated using Weblate (Catalan) Currently translated at 100.0% (2504 of 2504 strings) Translation: SimpleX Chat/SimpleX Chat Android Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/ca/ * Translated using Weblate (Latvian) Currently translated at 2.0% (52 of 2504 strings) Translation: SimpleX Chat/SimpleX Chat Android Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/lv/ * Translated using Weblate (Latvian) Currently translated at 2.0% (52 of 2504 strings) Translation: SimpleX Chat/SimpleX Chat Android Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/lv/ * Translated using Weblate (Russian) Currently translated at 100.0% (2504 of 2504 strings) Translation: SimpleX Chat/SimpleX Chat Android Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/ru/ * Translated using Weblate (Hungarian) Currently translated at 100.0% (2168 of 2168 strings) Translation: SimpleX Chat/SimpleX Chat iOS Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/hu/ * Translated using Weblate (Indonesian) Currently translated at 99.8% (2500 of 2504 strings) Translation: SimpleX Chat/SimpleX Chat Android Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/id/ * Translated using Weblate (Danish) Currently translated at 34.2% (857 of 2504 strings) Translation: SimpleX Chat/SimpleX Chat Android Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/da/ * Added translation using Weblate (Norwegian Bokmål) * Translated using Weblate (Czech) Currently translated at 99.1% (2483 of 2504 strings) Translation: SimpleX Chat/SimpleX Chat Android Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/cs/ * Translated using Weblate (Czech) Currently translated at 99.1% (2483 of 2504 strings) Translation: SimpleX Chat/SimpleX Chat Android Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/cs/ * Translated using Weblate (Russian) Currently translated at 100.0% (2504 of 2504 strings) Translation: SimpleX Chat/SimpleX Chat Android Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/ru/ * Translated using Weblate (Indonesian) Currently translated at 100.0% (2504 of 2504 strings) Translation: SimpleX Chat/SimpleX Chat Android Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/id/ * Translated using Weblate (Russian) Currently translated at 100.0% (2168 of 2168 strings) Translation: SimpleX Chat/SimpleX Chat iOS Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/ru/ * Translated using Weblate (Indonesian) Currently translated at 100.0% (2504 of 2504 strings) Translation: SimpleX Chat/SimpleX Chat Android Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/id/ * Translated using Weblate (Czech) Currently translated at 99.1% (2483 of 2504 strings) Translation: SimpleX Chat/SimpleX Chat Android Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/cs/ * Translated using Weblate (Russian) Currently translated at 100.0% (2504 of 2504 strings) Translation: SimpleX Chat/SimpleX Chat Android Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/ru/ * Translated using Weblate (Norwegian Bokmål) Currently translated at 0.4% (12 of 2504 strings) Translation: SimpleX Chat/SimpleX Chat Android Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/nb_NO/ * Translated using Weblate (Norwegian Bokmål) Currently translated at 0.4% (12 of 2504 strings) Translation: SimpleX Chat/SimpleX Chat Android Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/nb_NO/ * Translated using Weblate (Latvian) Currently translated at 36.0% (903 of 2504 strings) Translation: SimpleX Chat/SimpleX Chat Android Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/lv/ * Translated using Weblate (Norwegian Bokmål) Currently translated at 8.7% (219 of 2504 strings) Translation: SimpleX Chat/SimpleX Chat Android Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/nb_NO/ * Translated using Weblate (Russian) Currently translated at 100.0% (2504 of 2504 strings) Translation: SimpleX Chat/SimpleX Chat Android Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/ru/ * Translated using Weblate (Russian) Currently translated at 100.0% (2168 of 2168 strings) Translation: SimpleX Chat/SimpleX Chat iOS Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/ru/ * Translated using Weblate (Latvian) Currently translated at 100.0% (2504 of 2504 strings) Translation: SimpleX Chat/SimpleX Chat Android Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/lv/ * Translated using Weblate (Latvian) Currently translated at 100.0% (2504 of 2504 strings) Translation: SimpleX Chat/SimpleX Chat Android Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/lv/ * Translated using Weblate (Spanish) Currently translated at 100.0% (2504 of 2504 strings) Translation: SimpleX Chat/SimpleX Chat Android Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/es/ * Translated using Weblate (Ukrainian) Currently translated at 99.5% (2493 of 2504 strings) Translation: SimpleX Chat/SimpleX Chat Android Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/uk/ * Translated using Weblate (Ukrainian) Currently translated at 98.8% (2142 of 2168 strings) Translation: SimpleX Chat/SimpleX Chat iOS Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/uk/ * Update translation files Updated by "Cleanup translation files" hook in Weblate. Translation: SimpleX Chat/SimpleX Chat Android Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/ * Translated using Weblate (Ukrainian) Currently translated at 98.8% (2142 of 2168 strings) Translation: SimpleX Chat/SimpleX Chat iOS Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/uk/ * process --------- Co-authored-by: mlanp Co-authored-by: Random Co-authored-by: 大王叫我来巡山 Co-authored-by: jonnysemon Co-authored-by: Dinos B Co-authored-by: Anthony V <25984671+antv199@users.noreply.github.com> Co-authored-by: summoner001 Co-authored-by: hapy Co-authored-by: Nicolae Fericitu Co-authored-by: Mihai Pantazi Co-authored-by: No name Co-authored-by: fran secs Co-authored-by: Evelina Filato Co-authored-by: josisstrauss Co-authored-by: Skyward Copied Co-authored-by: Rafi Co-authored-by: Albertus Pacificus Co-authored-by: zenobit Co-authored-by: JT Co-authored-by: Riko Miko Co-authored-by: No name Co-authored-by: Andrii Sudak Co-authored-by: Hosted Weblate --- .../bg.xcloc/Localized Contents/bg.xliff | 45 +- .../cs.xcloc/Localized Contents/cs.xliff | 45 +- .../de.xcloc/Localized Contents/de.xliff | 69 +- .../en.xcloc/Localized Contents/en.xliff | 50 +- .../es.xcloc/Localized Contents/es.xliff | 59 +- .../fi.xcloc/Localized Contents/fi.xliff | 45 +- .../fr.xcloc/Localized Contents/fr.xliff | 45 +- .../hu.xcloc/Localized Contents/hu.xliff | 57 +- .../it.xcloc/Localized Contents/it.xliff | 55 +- .../ja.xcloc/Localized Contents/ja.xliff | 45 +- .../nl.xcloc/Localized Contents/nl.xliff | 45 +- .../pl.xcloc/Localized Contents/pl.xliff | 45 +- .../ru.xcloc/Localized Contents/ru.xliff | 57 +- .../th.xcloc/Localized Contents/th.xliff | 45 +- .../tr.xcloc/Localized Contents/tr.xliff | 45 +- .../uk.xcloc/Localized Contents/uk.xliff | 51 +- .../Localized Contents/zh-Hans.xliff | 45 +- .../SimpleX NSE/de.lproj/InfoPlist.strings | 2 +- .../SimpleX SE/de.lproj/Localizable.strings | 4 +- apps/ios/bg.lproj/Localizable.strings | 19 +- apps/ios/cs.lproj/Localizable.strings | 17 +- apps/ios/de.lproj/Localizable.strings | 45 +- apps/ios/es.lproj/Localizable.strings | 41 +- apps/ios/fi.lproj/Localizable.strings | 17 +- apps/ios/fr.lproj/Localizable.strings | 19 +- apps/ios/hu.lproj/Localizable.strings | 39 +- apps/ios/it.lproj/Localizable.strings | 37 +- apps/ios/ja.lproj/Localizable.strings | 17 +- apps/ios/nl.lproj/Localizable.strings | 19 +- apps/ios/pl.lproj/Localizable.strings | 19 +- apps/ios/ru.lproj/Localizable.strings | 31 +- apps/ios/th.lproj/Localizable.strings | 17 +- apps/ios/tr.lproj/Localizable.strings | 19 +- apps/ios/uk.lproj/Localizable.strings | 25 +- apps/ios/zh-Hans.lproj/Localizable.strings | 19 +- apps/multiplatform/common/build.gradle.kts | 3 + .../commonMain/resources/MR/ar/strings.xml | 13 +- .../commonMain/resources/MR/ca/strings.xml | 12 +- .../commonMain/resources/MR/cs/strings.xml | 75 +- .../commonMain/resources/MR/da/strings.xml | 144 + .../commonMain/resources/MR/de/strings.xml | 19 +- .../commonMain/resources/MR/el/strings.xml | 50 +- .../commonMain/resources/MR/es/strings.xml | 23 +- .../commonMain/resources/MR/fa/strings.xml | 14 +- .../commonMain/resources/MR/hu/strings.xml | 7 +- .../commonMain/resources/MR/in/strings.xml | 48 +- .../commonMain/resources/MR/it/strings.xml | 13 +- .../commonMain/resources/MR/lv/strings.xml | 2504 +++++++++++++++++ .../resources/MR/nb-rNO/strings.xml | 220 ++ .../commonMain/resources/MR/ro/strings.xml | 18 +- .../commonMain/resources/MR/ru/strings.xml | 60 +- .../commonMain/resources/MR/uk/strings.xml | 19 + .../resources/MR/zh-rCN/strings.xml | 13 +- 53 files changed, 3636 insertions(+), 873 deletions(-) create mode 100644 apps/multiplatform/common/src/commonMain/resources/MR/lv/strings.xml create mode 100644 apps/multiplatform/common/src/commonMain/resources/MR/nb-rNO/strings.xml diff --git a/apps/ios/SimpleX Localizations/bg.xcloc/Localized Contents/bg.xliff b/apps/ios/SimpleX Localizations/bg.xcloc/Localized Contents/bg.xliff index e3ca0e6a43..a59179ddfa 100644 --- a/apps/ios/SimpleX Localizations/bg.xcloc/Localized Contents/bg.xliff +++ b/apps/ios/SimpleX Localizations/bg.xcloc/Localized Contents/bg.xliff @@ -1802,7 +1802,7 @@ set passcode view Conditions of use Условия за ползване - No comment provided by engineer. + alert button Conditions will be accepted for the operator(s): **%@**. @@ -3239,6 +3239,10 @@ chat item action Error connecting to forwarding server %@. Please try later. alert message + + Error connecting to the server used to receive messages from this connection: %@ + subscription status explanation + Error creating address Грешка при създаване на адрес @@ -5134,7 +5138,7 @@ This is your link for group %@! Network status Състояние на мрежата - No comment provided by engineer. + alert title New @@ -6154,11 +6158,6 @@ Enable in *Network & servers* settings. Получено в: %@ copied message info - - Received file event - Събитие за получен файл - notification - Received message Получено съобщение @@ -6929,11 +6928,6 @@ chat item action Sent directly No comment provided by engineer. - - Sent file event - Събитие за изпратен файл - notification - Sent message Изпратено съобщение @@ -8025,15 +8019,9 @@ You will be prompted to complete authentication before this feature is enabled.< Transport sessions No comment provided by engineer. - - Trying to connect to the server used to receive messages from this contact (error: %@). - Опит за свързване със сървъра, използван за получаване на съобщения от този контакт (грешка: %@). - No comment provided by engineer. - - - Trying to connect to the server used to receive messages from this contact. - Опит за свързване със сървъра, използван за получаване на съобщения от този контакт. - No comment provided by engineer. + + Trying to connect to the server used to receive messages from this connection. + subscription status explanation Turkish interface @@ -8704,16 +8692,19 @@ Repeat join request? Изпрати отново заявката за присъединяване? new chat sheet title - - You are connected to the server used to receive messages from this contact. - Вие сте свързани към сървъра, използван за получаване на съобщения от този контакт. - No comment provided by engineer. + + You are connected to the server used to receive messages from this connection. + subscription status explanation You are invited to group Поканени сте в групата No comment provided by engineer. + + You are not connected to the server used to receive messages from this connection (no subscription). + subscription status explanation + You are not connected to these servers. Private routing is used to deliver messages to them. No comment provided by engineer. @@ -9729,6 +9720,10 @@ pref value липсва e2e криптиране No comment provided by engineer. + + no subscription + No comment provided by engineer. + no text няма текст diff --git a/apps/ios/SimpleX Localizations/cs.xcloc/Localized Contents/cs.xliff b/apps/ios/SimpleX Localizations/cs.xcloc/Localized Contents/cs.xliff index 244cbdf946..ace3079550 100644 --- a/apps/ios/SimpleX Localizations/cs.xcloc/Localized Contents/cs.xliff +++ b/apps/ios/SimpleX Localizations/cs.xcloc/Localized Contents/cs.xliff @@ -1730,7 +1730,7 @@ set passcode view Conditions of use - No comment provided by engineer. + alert button Conditions will be accepted for the operator(s): **%@**. @@ -3105,6 +3105,10 @@ chat item action Error connecting to forwarding server %@. Please try later. alert message + + Error connecting to the server used to receive messages from this connection: %@ + subscription status explanation + Error creating address Chyba při vytváření adresy @@ -4939,7 +4943,7 @@ This is your link for group %@! Network status Stav sítě - No comment provided by engineer. + alert title New @@ -5934,11 +5938,6 @@ Enable in *Network & servers* settings. Přijato v: %@ copied message info - - Received file event - Událost přijatého souboru - notification - Received message Přijatá zpráva @@ -6695,11 +6694,6 @@ chat item action Sent directly No comment provided by engineer. - - Sent file event - Odeslaná událost souboru - notification - Sent message Poslaná zpráva @@ -7769,15 +7763,9 @@ Před zapnutím této funkce budete vyzváni k dokončení ověření. Transport sessions No comment provided by engineer. - - Trying to connect to the server used to receive messages from this contact (error: %@). - Pokus o připojení k serveru používanému k přijímání zpráv od tohoto kontaktu (chyba: %@). - No comment provided by engineer. - - - Trying to connect to the server used to receive messages from this contact. - Pokus o připojení k serveru používanému pro příjem zpráv od tohoto kontaktu. - No comment provided by engineer. + + Trying to connect to the server used to receive messages from this connection. + subscription status explanation Turkish interface @@ -8409,16 +8397,19 @@ Chcete-li se připojit, požádejte svůj kontakt o vytvoření dalšího odkazu Repeat join request? new chat sheet title - - You are connected to the server used to receive messages from this contact. - Jste připojeni k serveru, který se používá k přijímání zpráv od tohoto kontaktu. - No comment provided by engineer. + + You are connected to the server used to receive messages from this connection. + subscription status explanation You are invited to group Jste pozváni do skupiny No comment provided by engineer. + + You are not connected to the server used to receive messages from this connection (no subscription). + subscription status explanation + You are not connected to these servers. Private routing is used to deliver messages to them. No comment provided by engineer. @@ -9416,6 +9407,10 @@ pref value bez šifrování e2e No comment provided by engineer. + + no subscription + No comment provided by engineer. + no text žádný text diff --git a/apps/ios/SimpleX Localizations/de.xcloc/Localized Contents/de.xliff b/apps/ios/SimpleX Localizations/de.xcloc/Localized Contents/de.xliff index e6131264af..cda1983e47 100644 --- a/apps/ios/SimpleX Localizations/de.xcloc/Localized Contents/de.xliff +++ b/apps/ios/SimpleX Localizations/de.xcloc/Localized Contents/de.xliff @@ -1802,7 +1802,7 @@ set passcode view Conditions of use Nutzungsbedingungen - No comment provided by engineer. + alert button Conditions will be accepted for the operator(s): **%@**. @@ -2016,7 +2016,7 @@ Das ist Ihr eigener Einmal-Link! Connection is blocked by server operator: %@ - Die Verbindung wurde vom Server-Betreiber blockiert: + Die Verbindung wurde vom Serverbetreiber blockiert: %@ No comment provided by engineer. @@ -3310,6 +3310,10 @@ chat item action Fehler beim Verbinden mit dem Weiterleitungsserver %@. Bitte versuchen Sie es später erneut. alert message + + Error connecting to the server used to receive messages from this connection: %@ + subscription status explanation + Error creating address Fehler beim Erstellen der Adresse @@ -3644,6 +3648,7 @@ snd error text Error: %@. + Fehler: %@. server test error @@ -3766,7 +3771,7 @@ snd error text File is blocked by server operator: %@. - Datei wurde vom Server-Betreiber blockiert: + Die Datei wurde vom Serverbetreiber blockiert: %@. file error text @@ -3872,19 +3877,22 @@ snd error text Fingerprint in destination server address does not match certificate: %@. + Fingerabdruck in der Zielserveradresse stimmt nicht mit dem Zertifikat überein: %@. No comment provided by engineer. Fingerprint in forwarding server address does not match certificate: %@. + Fingerabdruck in der Weiterleitungsserveradresse stimmt nicht mit dem Zertifikat überein: %@. No comment provided by engineer. Fingerprint in server address does not match certificate. - Der Fingerabdruck des Zertifikats in der Serveradresse ist wahrscheinlich ungültig + Fingerabdruck in der Serveradresse stimmt nicht mit dem Zertifikat überein. server test error Fingerprint in server address does not match certificate: %@. + Fingerabdruck in der Serveradresse stimmt nicht mit dem Zertifikat überein: %@. No comment provided by engineer. @@ -5326,7 +5334,7 @@ Das ist Ihr Link für die Gruppe %@! Network status Netzwerkstatus - No comment provided by engineer. + alert title New @@ -6436,11 +6444,6 @@ Aktivieren Sie es in den *Netzwerk & Server* Einstellungen. Empfangen um: %@ copied message info - - Received file event - Datei-Ereignis empfangen - notification - Received message Empfangene Nachricht @@ -7274,11 +7277,6 @@ chat item action Direkt gesendet No comment provided by engineer. - - Sent file event - Datei-Ereignis wurde gesendet - notification - Sent message Gesendete Nachricht @@ -7351,12 +7349,12 @@ chat item action Server requires authorization to create queues, check password. - Um Warteschlangen zu erzeugen benötigt der Server eine Authentifizierung. Bitte überprüfen Sie das Passwort + Der Server erfordert zum Erstellen von Warteschlangen eine Autorisierung. Bitte überprüfen Sie das Passwort. server test error Server requires authorization to upload, check password. - Bitte das Passwort überprüfen - für den Upload benötigt der Server eine Berechtigung + Der Server erfordert zum Hochladen eine Autorisierung. Bitte überprüfen Sie das Passwort. server test error @@ -8477,15 +8475,9 @@ Sie werden aufgefordert, die Authentifizierung abzuschließen, bevor diese Funkt Transport-Sitzungen No comment provided by engineer. - - Trying to connect to the server used to receive messages from this contact (error: %@). - Beim Versuch die Verbindung mit dem Server aufzunehmen, der für den Empfang von Nachrichten mit diesem Kontakt genutzt wird, ist ein Fehler aufgetreten (Fehler: %@). - No comment provided by engineer. - - - Trying to connect to the server used to receive messages from this contact. - Versuche die Verbindung mit dem Server aufzunehmen, der für den Empfang von Nachrichten mit diesem Kontakt genutzt wird. - No comment provided by engineer. + + Trying to connect to the server used to receive messages from this connection. + subscription status explanation Turkish interface @@ -9196,16 +9188,19 @@ Repeat join request? Verbindungsanfrage wiederholen? new chat sheet title - - You are connected to the server used to receive messages from this contact. - Sie sind mit dem Server verbunden, der für den Empfang von Nachrichten mit diesem Kontakt genutzt wird. - No comment provided by engineer. + + You are connected to the server used to receive messages from this connection. + subscription status explanation You are invited to group Sie sind zu der Gruppe eingeladen No comment provided by engineer. + + You are not connected to the server used to receive messages from this connection (no subscription). + subscription status explanation + You are not connected to these servers. Private routing is used to deliver messages to them. Sie sind nicht mit diesen Servern verbunden. Zur Auslieferung von Nachrichten an diese Server wird privates Routing genutzt. @@ -9730,7 +9725,7 @@ Verbindungsanfrage wiederholen? blocked %@ - %@ wurde blockiert + hat %@ blockiert rcv group event chat item @@ -10265,6 +10260,10 @@ pref value Keine E2E-Verschlüsselung No comment provided by engineer. + + no subscription + No comment provided by engineer. + no text Kein Text @@ -10509,7 +10508,7 @@ Zuletzt empfangene Nachricht: %2$@ unblocked %@ - %@ wurde freigegeben + hat %@ freigegeben rcv group event chat item @@ -10743,7 +10742,7 @@ Zuletzt empfangene Nachricht: %2$@ Copyright © 2022 SimpleX Chat. All rights reserved. - Copyright © 2024 SimpleX Chat. All rights reserved. + Copyright © 2025 SimpleX Chat. All rights reserved. Copyright (human-readable) @@ -10939,12 +10938,12 @@ Zuletzt empfangene Nachricht: %2$@ Please create a profile in the SimpleX app - Bitte erstellen Sie ein Profil in der SimpleX-App + Bitte erstellen Sie in der SimpleX-App ein Profil No comment provided by engineer. Selected chat preferences prohibit this message. - Diese Nachricht ist wegen der gewählten Chat-Einstellungen nicht erlaubt. + Die gewählten Chat-Einstellungen erlauben diese Nachricht nicht. No comment provided by engineer. diff --git a/apps/ios/SimpleX Localizations/en.xcloc/Localized Contents/en.xliff b/apps/ios/SimpleX Localizations/en.xcloc/Localized Contents/en.xliff index 6761ff6fce..2f5a0acbb1 100644 --- a/apps/ios/SimpleX Localizations/en.xcloc/Localized Contents/en.xliff +++ b/apps/ios/SimpleX Localizations/en.xcloc/Localized Contents/en.xliff @@ -1802,7 +1802,7 @@ set passcode view Conditions of use Conditions of use - No comment provided by engineer. + alert button Conditions will be accepted for the operator(s): **%@**. @@ -3310,6 +3310,11 @@ chat item action Error connecting to forwarding server %@. Please try later. alert message + + Error connecting to the server used to receive messages from this connection: %@ + Error connecting to the server used to receive messages from this connection: %@ + subscription status explanation + Error creating address Error creating address @@ -5330,7 +5335,7 @@ This is your link for group %@! Network status Network status - No comment provided by engineer. + alert title New @@ -6440,11 +6445,6 @@ Enable in *Network & servers* settings. Received at: %@ copied message info - - Received file event - Received file event - notification - Received message Received message @@ -7278,11 +7278,6 @@ chat item action Sent directly No comment provided by engineer. - - Sent file event - Sent file event - notification - Sent message Sent message @@ -8481,15 +8476,10 @@ You will be prompted to complete authentication before this feature is enabled.< Transport sessions No comment provided by engineer. - - Trying to connect to the server used to receive messages from this contact (error: %@). - Trying to connect to the server used to receive messages from this contact (error: %@). - No comment provided by engineer. - - - Trying to connect to the server used to receive messages from this contact. - Trying to connect to the server used to receive messages from this contact. - No comment provided by engineer. + + Trying to connect to the server used to receive messages from this connection. + Trying to connect to the server used to receive messages from this connection. + subscription status explanation Turkish interface @@ -9200,16 +9190,21 @@ Repeat join request? Repeat join request? new chat sheet title - - You are connected to the server used to receive messages from this contact. - You are connected to the server used to receive messages from this contact. - No comment provided by engineer. + + You are connected to the server used to receive messages from this connection. + You are connected to the server used to receive messages from this connection. + subscription status explanation You are invited to group You are invited to group No comment provided by engineer. + + You are not connected to the server used to receive messages from this connection (no subscription). + You are not connected to the server used to receive messages from this connection (no subscription). + subscription status explanation + You are not connected to these servers. Private routing is used to deliver messages to them. You are not connected to these servers. Private routing is used to deliver messages to them. @@ -10269,6 +10264,11 @@ pref value no e2e encryption No comment provided by engineer. + + no subscription + no subscription + No comment provided by engineer. + no text no text diff --git a/apps/ios/SimpleX Localizations/es.xcloc/Localized Contents/es.xliff b/apps/ios/SimpleX Localizations/es.xcloc/Localized Contents/es.xliff index f11ad704ac..6874c02571 100644 --- a/apps/ios/SimpleX Localizations/es.xcloc/Localized Contents/es.xliff +++ b/apps/ios/SimpleX Localizations/es.xcloc/Localized Contents/es.xliff @@ -1802,7 +1802,7 @@ set passcode view Conditions of use Condiciones de uso - No comment provided by engineer. + alert button Conditions will be accepted for the operator(s): **%@**. @@ -3310,6 +3310,10 @@ chat item action Error al conectar con el servidor de reenvío %@. Por favor, inténtalo más tarde. alert message + + Error connecting to the server used to receive messages from this connection: %@ + subscription status explanation + Error creating address Error al crear dirección @@ -3357,7 +3361,7 @@ chat item action Error deleting chat - Error al eliminar el chat con el miembro + Error al eliminar el chat alert title @@ -3644,6 +3648,7 @@ snd error text Error: %@. + Error: %@. server test error @@ -3872,19 +3877,22 @@ snd error text Fingerprint in destination server address does not match certificate: %@. + La huella en la dirección del servidor de destino no coincide con el certificado: %@. No comment provided by engineer. Fingerprint in forwarding server address does not match certificate: %@. + La huella en la dirección del servidor de reenvío no coincide con el certificado: %@. No comment provided by engineer. Fingerprint in server address does not match certificate. - Posiblemente la huella del certificado en la dirección del servidor es incorrecta + La huella en la dirección del servidor no coincide con el certificado. server test error Fingerprint in server address does not match certificate: %@. + La huella en la dirección del servidor no coincide con el certificado: %@. No comment provided by engineer. @@ -5326,7 +5334,7 @@ This is your link for group %@! Network status Estado de la red - No comment provided by engineer. + alert title New @@ -6436,11 +6444,6 @@ Actívalo en ajustes de *Servidores y Redes*. Recibido: %@ copied message info - - Received file event - Evento de archivo recibido - notification - Received message Mensaje entrante @@ -7274,11 +7277,6 @@ chat item action Directamente No comment provided by engineer. - - Sent file event - Evento de archivo enviado - notification - Sent message Mensaje saliente @@ -7351,12 +7349,12 @@ chat item action Server requires authorization to create queues, check password. - El servidor requiere autorización para crear colas, comprueba la contraseña + El servidor requiere autorización para crear colas, comprueba la contraseña. server test error Server requires authorization to upload, check password. - El servidor requiere autorización para subir, comprueba la contraseña + El servidor requiere autorización para subir, comprueba la contraseña. server test error @@ -8477,15 +8475,9 @@ Se te pedirá que completes la autenticación antes de activar esta función.Sesiones de transporte No comment provided by engineer. - - Trying to connect to the server used to receive messages from this contact (error: %@). - Intentando conectar con el servidor usado para recibir mensajes de este contacto (error: %@). - No comment provided by engineer. - - - Trying to connect to the server used to receive messages from this contact. - Intentando conectar con el servidor usado para recibir mensajes de este contacto. - No comment provided by engineer. + + Trying to connect to the server used to receive messages from this connection. + subscription status explanation Turkish interface @@ -9196,16 +9188,19 @@ Repeat join request? ¿Repetir solicitud de admisión? new chat sheet title - - You are connected to the server used to receive messages from this contact. - Estás conectado al servidor usado para recibir mensajes de este contacto. - No comment provided by engineer. + + You are connected to the server used to receive messages from this connection. + subscription status explanation You are invited to group Has sido invitado a un grupo No comment provided by engineer. + + You are not connected to the server used to receive messages from this connection (no subscription). + subscription status explanation + You are not connected to these servers. Private routing is used to deliver messages to them. No tienes conexión directa a estos servidores. Los mensajes destinados a estos usan enrutamiento privado. @@ -9575,7 +9570,7 @@ Repeat connection request? Your profile is stored on your device and shared only with your contacts. SimpleX servers cannot see your profile. - Tu perfil se almacena en tu dispositivo y sólo se comparte con tus contactos. Los servidores SimpleX no pueden ver tu perfil. + Tu perfil se almacena en tu dispositivo y se comparte sólo con tus contactos. Los servidores SimpleX no pueden ver tu perfil. No comment provided by engineer. @@ -10265,6 +10260,10 @@ pref value sin cifrar No comment provided by engineer. + + no subscription + No comment provided by engineer. + no text sin texto diff --git a/apps/ios/SimpleX Localizations/fi.xcloc/Localized Contents/fi.xliff b/apps/ios/SimpleX Localizations/fi.xcloc/Localized Contents/fi.xliff index 6e400a6078..56fa4a1485 100644 --- a/apps/ios/SimpleX Localizations/fi.xcloc/Localized Contents/fi.xliff +++ b/apps/ios/SimpleX Localizations/fi.xcloc/Localized Contents/fi.xliff @@ -1624,7 +1624,7 @@ set passcode view Conditions of use - No comment provided by engineer. + alert button Conditions will be accepted for the operator(s): **%@**. @@ -2994,6 +2994,10 @@ chat item action Error connecting to forwarding server %@. Please try later. alert message + + Error connecting to the server used to receive messages from this connection: %@ + subscription status explanation + Error creating address Virhe osoitteen luomisessa @@ -4826,7 +4830,7 @@ This is your link for group %@! Network status Verkon tila - No comment provided by engineer. + alert title New @@ -5819,11 +5823,6 @@ Enable in *Network & servers* settings. Vastaanotettu klo: %@ copied message info - - Received file event - Tiedoston vastaanottotapahtuma - notification - Received message Vastaanotettu viesti @@ -6579,11 +6578,6 @@ chat item action Sent directly No comment provided by engineer. - - Sent file event - Lähetetty tiedosto tapahtuma - notification - Sent message Lähetetty viesti @@ -7651,15 +7645,9 @@ Sinua kehotetaan suorittamaan todennus loppuun, ennen kuin tämä ominaisuus ote Transport sessions No comment provided by engineer. - - Trying to connect to the server used to receive messages from this contact (error: %@). - Yritetään muodostaa yhteyttä palvelimeen, jota käytetään tämän kontaktin viestien vastaanottamiseen (virhe: %@). - No comment provided by engineer. - - - Trying to connect to the server used to receive messages from this contact. - Yritetään muodostaa yhteys palvelimeen, jota käytetään viestien vastaanottamiseen tältä kontaktilta. - No comment provided by engineer. + + Trying to connect to the server used to receive messages from this connection. + subscription status explanation Turkish interface @@ -8291,16 +8279,19 @@ Jos haluat muodostaa yhteyden, pyydä kontaktiasi luomaan toinen yhteyslinkki ja Repeat join request? new chat sheet title - - You are connected to the server used to receive messages from this contact. - Olet yhteydessä palvelimeen, jota käytetään vastaanottamaan viestejä tältä kontaktilta. - No comment provided by engineer. + + You are connected to the server used to receive messages from this connection. + subscription status explanation You are invited to group Sinut on kutsuttu ryhmään No comment provided by engineer. + + You are not connected to the server used to receive messages from this connection (no subscription). + subscription status explanation + You are not connected to these servers. Private routing is used to deliver messages to them. No comment provided by engineer. @@ -9298,6 +9289,10 @@ pref value ei e2e-salausta No comment provided by engineer. + + no subscription + No comment provided by engineer. + no text ei tekstiä diff --git a/apps/ios/SimpleX Localizations/fr.xcloc/Localized Contents/fr.xliff b/apps/ios/SimpleX Localizations/fr.xcloc/Localized Contents/fr.xliff index d008696a14..67485353d2 100644 --- a/apps/ios/SimpleX Localizations/fr.xcloc/Localized Contents/fr.xliff +++ b/apps/ios/SimpleX Localizations/fr.xcloc/Localized Contents/fr.xliff @@ -1791,7 +1791,7 @@ set passcode view Conditions of use Conditions d'utilisation - No comment provided by engineer. + alert button Conditions will be accepted for the operator(s): **%@**. @@ -3288,6 +3288,10 @@ chat item action Erreur de connexion au serveur de redirection %@. Veuillez réessayer plus tard. alert message + + Error connecting to the server used to receive messages from this connection: %@ + subscription status explanation + Error creating address Erreur lors de la création de l'adresse @@ -5267,7 +5271,7 @@ Voici votre lien pour le groupe %@ ! Network status État du réseau - No comment provided by engineer. + alert title New @@ -6339,11 +6343,6 @@ Activez-le dans les paramètres *Réseau et serveurs*. Reçu le : %@ copied message info - - Received file event - Événement de fichier reçu - notification - Received message Message reçu @@ -7148,11 +7147,6 @@ chat item action Envoyé directement No comment provided by engineer. - - Sent file event - Événement de fichier envoyé - notification - Sent message Message envoyé @@ -8320,15 +8314,9 @@ Vous serez invité à confirmer l'authentification avant que cette fonction ne s Sessions de transport No comment provided by engineer. - - Trying to connect to the server used to receive messages from this contact (error: %@). - Tentative de connexion au serveur utilisé pour recevoir les messages de ce contact (erreur : %@). - No comment provided by engineer. - - - Trying to connect to the server used to receive messages from this contact. - Tentative de connexion au serveur utilisé pour recevoir les messages de ce contact. - No comment provided by engineer. + + Trying to connect to the server used to receive messages from this connection. + subscription status explanation Turkish interface @@ -9026,16 +9014,19 @@ Repeat join request? Répéter la demande d'adhésion ? new chat sheet title - - You are connected to the server used to receive messages from this contact. - Vous êtes connecté·e au serveur utilisé pour recevoir les messages de ce contact. - No comment provided by engineer. + + You are connected to the server used to receive messages from this connection. + subscription status explanation You are invited to group Vous êtes invité·e au groupe No comment provided by engineer. + + You are not connected to the server used to receive messages from this connection (no subscription). + subscription status explanation + You are not connected to these servers. Private routing is used to deliver messages to them. Vous n'êtes pas connecté à ces serveurs. Le routage privé est utilisé pour leur délivrer des messages. @@ -10075,6 +10066,10 @@ pref value sans chiffrement de bout en bout No comment provided by engineer. + + no subscription + No comment provided by engineer. + no text aucun texte diff --git a/apps/ios/SimpleX Localizations/hu.xcloc/Localized Contents/hu.xliff b/apps/ios/SimpleX Localizations/hu.xcloc/Localized Contents/hu.xliff index b542c6eabf..e30ed39b96 100644 --- a/apps/ios/SimpleX Localizations/hu.xcloc/Localized Contents/hu.xliff +++ b/apps/ios/SimpleX Localizations/hu.xcloc/Localized Contents/hu.xliff @@ -1802,7 +1802,7 @@ set passcode view Conditions of use Használati feltételek - No comment provided by engineer. + alert button Conditions will be accepted for the operator(s): **%@**. @@ -3310,6 +3310,10 @@ chat item action Hiba történt a(z) %@ továbbítókiszolgálóhoz való kapcsolódáskor. Próbálja meg később. alert message + + Error connecting to the server used to receive messages from this connection: %@ + subscription status explanation + Error creating address Hiba történt a cím létrehozásakor @@ -3357,7 +3361,7 @@ chat item action Error deleting chat - Hiba a taggal való csevegés törlésekor + Hiba a csevegés törlésekor alert title @@ -3644,6 +3648,7 @@ snd error text Error: %@. + Hiba: %@. server test error @@ -3872,19 +3877,22 @@ snd error text Fingerprint in destination server address does not match certificate: %@. + A célkiszolgáló címében szereplő ujjlenyomat nem egyezik a tanúsítvánnyal: %@. No comment provided by engineer. Fingerprint in forwarding server address does not match certificate: %@. + A továbbítókiszolgáló címében szereplő ujjlenyomat nem egyezik a tanúsítvánnyal: %@. No comment provided by engineer. Fingerprint in server address does not match certificate. - Lehetséges, hogy a kiszolgáló címében szereplő tanúsítvány-ujjlenyomat helytelen + A kiszolgáló címében szereplő ujjlenyomat nem egyezik a tanúsítvánnyal. server test error Fingerprint in server address does not match certificate: %@. + A kiszolgáló címében szereplő ujjlenyomat nem egyezik a tanúsítvánnyal: %@. No comment provided by engineer. @@ -5326,7 +5334,7 @@ Ez a saját hivatkozása a(z) %@ nevű csoporthoz! Network status Hálózat állapota - No comment provided by engineer. + alert title New @@ -6436,11 +6444,6 @@ Engedélyezze a *Hálózat és kiszolgálók* menüben. Fogadva: %@ copied message info - - Received file event - Fogadott fájlesemény - notification - Received message Fogadott üzenetbuborék színe @@ -7274,11 +7277,6 @@ chat item action Közvetlenül küldött No comment provided by engineer. - - Sent file event - Elküldött fájlesemény - notification - Sent message Üzenetbuborék színe @@ -7351,12 +7349,12 @@ chat item action Server requires authorization to create queues, check password. - A kiszolgálónak engedélyre van szüksége a várólisták létrehozásához, ellenőrizze a jelszavát + A kiszolgálónak engedélyre van szüksége a várólisták létrehozásához, ellenőrizze a jelszavát. server test error Server requires authorization to upload, check password. - A kiszolgálónak hitelesítésre van szüksége a feltöltéshez, ellenőrizze jelszavát + A kiszolgálónak hitelesítésre van szüksége a feltöltéshez, ellenőrizze a jelszavát. server test error @@ -8477,15 +8475,9 @@ A funkció bekapcsolása előtt a rendszer felszólítja a képernyőzár beáll Munkamenetek átvitele No comment provided by engineer. - - Trying to connect to the server used to receive messages from this contact (error: %@). - Kapcsolódási kísérlet ahhoz a kiszolgálóhoz, amely az adott partnerétől érkező üzenetek fogadására szolgál (hiba: %@). - No comment provided by engineer. - - - Trying to connect to the server used to receive messages from this contact. - Kapcsolódási kísérlet ahhoz a kiszolgálóhoz, amely az adott partnerétől érkező üzenetek fogadására szolgál. - No comment provided by engineer. + + Trying to connect to the server used to receive messages from this connection. + subscription status explanation Turkish interface @@ -9196,16 +9188,19 @@ Repeat join request? Megismétli a csatlakozási kérést? new chat sheet title - - You are connected to the server used to receive messages from this contact. - Ön már kapcsolódott ahhoz a kiszolgálóhoz, amely az adott partnerétől érkező üzenetek fogadására szolgál. - No comment provided by engineer. + + You are connected to the server used to receive messages from this connection. + subscription status explanation You are invited to group Ön meghívást kapott a csoportba No comment provided by engineer. + + You are not connected to the server used to receive messages from this connection (no subscription). + subscription status explanation + You are not connected to these servers. Private routing is used to deliver messages to them. Ön nem kapcsolódik ezekhez a kiszolgálókhoz. A privát útválasztás az üzenetek kézbesítésére szolgál. @@ -10265,6 +10260,10 @@ pref value nincs e2e titkosítás No comment provided by engineer. + + no subscription + No comment provided by engineer. + no text nincs szöveg diff --git a/apps/ios/SimpleX Localizations/it.xcloc/Localized Contents/it.xliff b/apps/ios/SimpleX Localizations/it.xcloc/Localized Contents/it.xliff index 6ddcf7d6d1..a413a67741 100644 --- a/apps/ios/SimpleX Localizations/it.xcloc/Localized Contents/it.xliff +++ b/apps/ios/SimpleX Localizations/it.xcloc/Localized Contents/it.xliff @@ -1802,7 +1802,7 @@ set passcode view Conditions of use Condizioni d'uso - No comment provided by engineer. + alert button Conditions will be accepted for the operator(s): **%@**. @@ -3310,6 +3310,10 @@ chat item action Errore di connessione al server di inoltro %@. Riprova più tardi. alert message + + Error connecting to the server used to receive messages from this connection: %@ + subscription status explanation + Error creating address Errore nella creazione dell'indirizzo @@ -3644,6 +3648,7 @@ snd error text Error: %@. + Errore: %@. server test error @@ -3872,19 +3877,22 @@ snd error text Fingerprint in destination server address does not match certificate: %@. + L'impronta digitale nell'indirizzo del server di destinazione non corrisponde al certificato: %@. No comment provided by engineer. Fingerprint in forwarding server address does not match certificate: %@. + L'impronta digitale nell'indirizzo del server di inoltro non corrisponde al certificato: %@. No comment provided by engineer. Fingerprint in server address does not match certificate. - Probabilmente l'impronta del certificato nell'indirizzo del server è sbagliata + L'impronta digitale nell'indirizzo del server non corrisponde al certificato. server test error Fingerprint in server address does not match certificate: %@. + L'impronta digitale nell'indirizzo del server non corrisponde al certificato: %@. No comment provided by engineer. @@ -5326,7 +5334,7 @@ Questo è il tuo link per il gruppo %@! Network status Stato della rete - No comment provided by engineer. + alert title New @@ -6436,11 +6444,6 @@ Attivalo nelle impostazioni *Rete e server*. Ricevuto il: %@ copied message info - - Received file event - Evento file ricevuto - notification - Received message Messaggio ricevuto @@ -7274,11 +7277,6 @@ chat item action Inviato direttamente No comment provided by engineer. - - Sent file event - Evento file inviato - notification - Sent message Messaggio inviato @@ -7351,12 +7349,12 @@ chat item action Server requires authorization to create queues, check password. - Il server richiede l'autorizzazione di creare code, controlla la password + Il server richiede l'autorizzazione di creare code, controlla la password. server test error Server requires authorization to upload, check password. - Il server richiede l'autorizzazione per il caricamento, controllare la password + Il server richiede l'autorizzazione per l'invio, controlla la password. server test error @@ -8477,15 +8475,9 @@ Ti verrà chiesto di completare l'autenticazione prima di attivare questa funzio Sessioni di trasporto No comment provided by engineer. - - Trying to connect to the server used to receive messages from this contact (error: %@). - Tentativo di connessione al server usato per ricevere messaggi da questo contatto (errore: %@). - No comment provided by engineer. - - - Trying to connect to the server used to receive messages from this contact. - Tentativo di connessione al server usato per ricevere messaggi da questo contatto. - No comment provided by engineer. + + Trying to connect to the server used to receive messages from this connection. + subscription status explanation Turkish interface @@ -9196,16 +9188,19 @@ Repeat join request? Ripetere la richiesta di ingresso? new chat sheet title - - You are connected to the server used to receive messages from this contact. - Sei connesso/a al server usato per ricevere messaggi da questo contatto. - No comment provided by engineer. + + You are connected to the server used to receive messages from this connection. + subscription status explanation You are invited to group Sei stato/a invitato/a al gruppo No comment provided by engineer. + + You are not connected to the server used to receive messages from this connection (no subscription). + subscription status explanation + You are not connected to these servers. Private routing is used to deliver messages to them. Non sei connesso/a a questi server. L'instradamento privato è usato per consegnare loro i messaggi. @@ -10265,6 +10260,10 @@ pref value nessuna crittografia e2e No comment provided by engineer. + + no subscription + No comment provided by engineer. + no text nessun testo diff --git a/apps/ios/SimpleX Localizations/ja.xcloc/Localized Contents/ja.xliff b/apps/ios/SimpleX Localizations/ja.xcloc/Localized Contents/ja.xliff index 0ca54bb3d9..9a42ab3f7e 100644 --- a/apps/ios/SimpleX Localizations/ja.xcloc/Localized Contents/ja.xliff +++ b/apps/ios/SimpleX Localizations/ja.xcloc/Localized Contents/ja.xliff @@ -1689,7 +1689,7 @@ set passcode view Conditions of use - No comment provided by engineer. + alert button Conditions will be accepted for the operator(s): **%@**. @@ -3076,6 +3076,10 @@ chat item action Error connecting to forwarding server %@. Please try later. alert message + + Error connecting to the server used to receive messages from this connection: %@ + subscription status explanation + Error creating address アドレス作成にエラー発生 @@ -4910,7 +4914,7 @@ This is your link for group %@! Network status ネットワーク状況 - No comment provided by engineer. + alert title New @@ -5905,11 +5909,6 @@ Enable in *Network & servers* settings. 受信: %@ copied message info - - Received file event - ファイル受信イベント - notification - Received message 受信したメッセージ @@ -6658,11 +6657,6 @@ chat item action Sent directly No comment provided by engineer. - - Sent file event - 送信済みファイルイベント - notification - Sent message 送信 @@ -7730,15 +7724,9 @@ You will be prompted to complete authentication before this feature is enabled.< Transport sessions No comment provided by engineer. - - Trying to connect to the server used to receive messages from this contact (error: %@). - この連絡先からのメッセージの受信に使用されるサーバーに接続しようとしています (エラー: %@)。 - No comment provided by engineer. - - - Trying to connect to the server used to receive messages from this contact. - このコンタクトから受信するメッセージのサーバに接続しようとしてます。 - No comment provided by engineer. + + Trying to connect to the server used to receive messages from this connection. + subscription status explanation Turkish interface @@ -8370,16 +8358,19 @@ To connect, please ask your contact to create another connection link and check Repeat join request? new chat sheet title - - You are connected to the server used to receive messages from this contact. - この連絡先から受信するメッセージのサーバに既に接続してます。 - No comment provided by engineer. + + You are connected to the server used to receive messages from this connection. + subscription status explanation You are invited to group グループ招待が届きました No comment provided by engineer. + + You are not connected to the server used to receive messages from this connection (no subscription). + subscription status explanation + You are not connected to these servers. Private routing is used to deliver messages to them. No comment provided by engineer. @@ -9378,6 +9369,10 @@ pref value エンドツーエンド暗号化がありません No comment provided by engineer. + + no subscription + No comment provided by engineer. + no text テキストなし diff --git a/apps/ios/SimpleX Localizations/nl.xcloc/Localized Contents/nl.xliff b/apps/ios/SimpleX Localizations/nl.xcloc/Localized Contents/nl.xliff index a13e4cd80d..8e0cdee3ca 100644 --- a/apps/ios/SimpleX Localizations/nl.xcloc/Localized Contents/nl.xliff +++ b/apps/ios/SimpleX Localizations/nl.xcloc/Localized Contents/nl.xliff @@ -1791,7 +1791,7 @@ set passcode view Conditions of use Gebruiksvoorwaarden - No comment provided by engineer. + alert button Conditions will be accepted for the operator(s): **%@**. @@ -3290,6 +3290,10 @@ chat item action Fout bij het verbinden met doorstuurserver %@. Probeer het later opnieuw. alert message + + Error connecting to the server used to receive messages from this connection: %@ + subscription status explanation + Error creating address Fout bij aanmaken van adres @@ -5294,7 +5298,7 @@ Dit is jouw link voor groep %@! Network status Netwerk status - No comment provided by engineer. + alert title New @@ -6390,11 +6394,6 @@ Schakel dit in in *Netwerk en servers*-instellingen. Ontvangen op: %@ copied message info - - Received file event - Ontvangen bestandsgebeurtenis - notification - Received message Ontvangen bericht @@ -7219,11 +7218,6 @@ chat item action Direct verzonden No comment provided by engineer. - - Sent file event - Verzonden bestandsgebeurtenis - notification - Sent message Verzonden bericht @@ -8404,15 +8398,9 @@ U wordt gevraagd de authenticatie te voltooien voordat deze functie wordt ingesc Transportsessies No comment provided by engineer. - - Trying to connect to the server used to receive messages from this contact (error: %@). - Proberen verbinding te maken met de server die wordt gebruikt om berichten van dit contact te ontvangen (fout: %@). - No comment provided by engineer. - - - Trying to connect to the server used to receive messages from this contact. - Proberen verbinding te maken met de server die wordt gebruikt om berichten van dit contact te ontvangen. - No comment provided by engineer. + + Trying to connect to the server used to receive messages from this connection. + subscription status explanation Turkish interface @@ -9115,16 +9103,19 @@ Repeat join request? Deelnameverzoek herhalen? new chat sheet title - - You are connected to the server used to receive messages from this contact. - U bent verbonden met de server die wordt gebruikt om berichten van dit contact te ontvangen. - No comment provided by engineer. + + You are connected to the server used to receive messages from this connection. + subscription status explanation You are invited to group Je bent uitgenodigd voor de groep No comment provided by engineer. + + You are not connected to the server used to receive messages from this connection (no subscription). + subscription status explanation + You are not connected to these servers. Private routing is used to deliver messages to them. U bent niet verbonden met deze servers. Privéroutering wordt gebruikt om berichten bij hen af te leveren. @@ -10177,6 +10168,10 @@ pref value geen e2e versleuteling No comment provided by engineer. + + no subscription + No comment provided by engineer. + no text geen tekst diff --git a/apps/ios/SimpleX Localizations/pl.xcloc/Localized Contents/pl.xliff b/apps/ios/SimpleX Localizations/pl.xcloc/Localized Contents/pl.xliff index d08a7d86e5..fb46bcd1d9 100644 --- a/apps/ios/SimpleX Localizations/pl.xcloc/Localized Contents/pl.xliff +++ b/apps/ios/SimpleX Localizations/pl.xcloc/Localized Contents/pl.xliff @@ -1775,7 +1775,7 @@ set passcode view Conditions of use Warunki użytkowania - No comment provided by engineer. + alert button Conditions will be accepted for the operator(s): **%@**. @@ -3237,6 +3237,10 @@ chat item action Błąd połączenia z serwerem przekierowania %@. Spróbuj ponownie później. alert message + + Error connecting to the server used to receive messages from this connection: %@ + subscription status explanation + Error creating address Błąd tworzenia adresu @@ -5183,7 +5187,7 @@ To jest twój link do grupy %@! Network status Status sieci - No comment provided by engineer. + alert title New @@ -6237,11 +6241,6 @@ Włącz w ustawianiach *Sieć i serwery* . Otrzymane o: %@ copied message info - - Received file event - Otrzymano zdarzenie pliku - notification - Received message Otrzymano wiadomość @@ -7045,11 +7044,6 @@ chat item action Wysłano bezpośrednio No comment provided by engineer. - - Sent file event - Wyślij zdarzenie pliku - notification - Sent message Wyślij wiadomość @@ -8191,15 +8185,9 @@ Przed włączeniem tej funkcji zostanie wyświetlony monit uwierzytelniania.Sesje transportowe No comment provided by engineer. - - Trying to connect to the server used to receive messages from this contact (error: %@). - Próbowanie połączenia z serwerem używanym do odbierania wiadomości od tego kontaktu (błąd: %@). - No comment provided by engineer. - - - Trying to connect to the server used to receive messages from this contact. - Próbowanie połączenia z serwerem używanym do odbierania wiadomości od tego kontaktu. - No comment provided by engineer. + + Trying to connect to the server used to receive messages from this connection. + subscription status explanation Turkish interface @@ -8888,16 +8876,19 @@ Repeat join request? Powtórzyć prośbę dołączenia? new chat sheet title - - You are connected to the server used to receive messages from this contact. - Jesteś połączony z serwerem używanym do odbierania wiadomości od tego kontaktu. - No comment provided by engineer. + + You are connected to the server used to receive messages from this connection. + subscription status explanation You are invited to group Jesteś zaproszony do grupy No comment provided by engineer. + + You are not connected to the server used to receive messages from this connection (no subscription). + subscription status explanation + You are not connected to these servers. Private routing is used to deliver messages to them. Nie jesteś połączony z tymi serwerami. Prywatne trasowanie jest używane do dostarczania do nich wiadomości. @@ -9933,6 +9924,10 @@ pref value brak szyfrowania e2e No comment provided by engineer. + + no subscription + No comment provided by engineer. + no text brak tekstu diff --git a/apps/ios/SimpleX Localizations/ru.xcloc/Localized Contents/ru.xliff b/apps/ios/SimpleX Localizations/ru.xcloc/Localized Contents/ru.xliff index 568ca53946..d885db1350 100644 --- a/apps/ios/SimpleX Localizations/ru.xcloc/Localized Contents/ru.xliff +++ b/apps/ios/SimpleX Localizations/ru.xcloc/Localized Contents/ru.xliff @@ -1802,7 +1802,7 @@ set passcode view Conditions of use Условия использования - No comment provided by engineer. + alert button Conditions will be accepted for the operator(s): **%@**. @@ -3310,6 +3310,10 @@ chat item action Ошибка подключения к пересылающему серверу %@. Попробуйте позже. alert message + + Error connecting to the server used to receive messages from this connection: %@ + subscription status explanation + Error creating address Ошибка при создании адреса @@ -3883,7 +3887,7 @@ snd error text Fingerprint in server address does not match certificate. - Возможно, хэш сертификата в адресе сервера неверный + Возможно, хэш сертификата в адресе сервера неверный. server test error @@ -5293,7 +5297,7 @@ This is your link for group %@! Network & servers - Сеть & серверы + Сеть и серверы No comment provided by engineer. @@ -5329,7 +5333,7 @@ This is your link for group %@! Network status Состояние сети - No comment provided by engineer. + alert title New @@ -6439,11 +6443,6 @@ Enable in *Network & servers* settings. Получено: %@ copied message info - - Received file event - Загрузка файла - notification - Received message Полученное сообщение @@ -6823,7 +6822,7 @@ swipe action Review members before admitting ("knocking"). - Одобрять членов для вступления в группу. + Вручную одобрять членов для вступления в группу. admission stage description @@ -7277,11 +7276,6 @@ chat item action Отправлено напрямую No comment provided by engineer. - - Sent file event - Отправка файла - notification - Sent message Отправленное сообщение @@ -7354,12 +7348,12 @@ chat item action Server requires authorization to create queues, check password. - Сервер требует авторизации для создания очередей, проверьте пароль + Сервер требует авторизации для создания очередей, проверьте пароль. server test error Server requires authorization to upload, check password. - Сервер требует авторизации для загрузки, проверьте пароль + Сервер требует авторизации для загрузки, проверьте пароль. server test error @@ -8003,7 +7997,7 @@ report reason Tap Connect to use bot - Нажмите Соединиться, чтобы использовать бот. + Нажмите Соединиться, чтобы использовать бот No comment provided by engineer. @@ -8480,15 +8474,9 @@ You will be prompted to complete authentication before this feature is enabled.< Транспортные сессии No comment provided by engineer. - - Trying to connect to the server used to receive messages from this contact (error: %@). - Устанавливается соединение с сервером, через который Вы получаете сообщения от этого контакта (ошибка: %@). - No comment provided by engineer. - - - Trying to connect to the server used to receive messages from this contact. - Устанавливается соединение с сервером, через который Вы получаете сообщения от этого контакта. - No comment provided by engineer. + + Trying to connect to the server used to receive messages from this connection. + subscription status explanation Turkish interface @@ -9199,16 +9187,19 @@ Repeat join request? Повторить запрос на вступление? new chat sheet title - - You are connected to the server used to receive messages from this contact. - Установлено соединение с сервером, через который Вы получаете сообщения от этого контакта. - No comment provided by engineer. + + You are connected to the server used to receive messages from this connection. + subscription status explanation You are invited to group Вы приглашены в группу No comment provided by engineer. + + You are not connected to the server used to receive messages from this connection (no subscription). + subscription status explanation + You are not connected to these servers. Private routing is used to deliver messages to them. Вы не подключены к этим серверам. Для доставки сообщений на них используется конфиденциальная доставка. @@ -10268,6 +10259,10 @@ pref value нет e2e шифрования No comment provided by engineer. + + no subscription + No comment provided by engineer. + no text нет текста diff --git a/apps/ios/SimpleX Localizations/th.xcloc/Localized Contents/th.xliff b/apps/ios/SimpleX Localizations/th.xcloc/Localized Contents/th.xliff index a0ab509388..ecb4d20fbb 100644 --- a/apps/ios/SimpleX Localizations/th.xcloc/Localized Contents/th.xliff +++ b/apps/ios/SimpleX Localizations/th.xcloc/Localized Contents/th.xliff @@ -1616,7 +1616,7 @@ set passcode view Conditions of use - No comment provided by engineer. + alert button Conditions will be accepted for the operator(s): **%@**. @@ -2980,6 +2980,10 @@ chat item action Error connecting to forwarding server %@. Please try later. alert message + + Error connecting to the server used to receive messages from this connection: %@ + subscription status explanation + Error creating address เกิดข้อผิดพลาดในการสร้างที่อยู่ @@ -4808,7 +4812,7 @@ This is your link for group %@! Network status สถานะเครือข่าย - No comment provided by engineer. + alert title New @@ -5797,11 +5801,6 @@ Enable in *Network & servers* settings. ได้รับเมื่อ: %@ copied message info - - Received file event - ได้รับไฟล์ - notification - Received message ได้รับข้อความ @@ -6554,11 +6553,6 @@ chat item action Sent directly No comment provided by engineer. - - Sent file event - เหตุการณ์ไฟล์ที่ส่ง - notification - Sent message ข้อความที่ส่งแล้ว @@ -7623,15 +7617,9 @@ You will be prompted to complete authentication before this feature is enabled.< Transport sessions No comment provided by engineer. - - Trying to connect to the server used to receive messages from this contact (error: %@). - กำลังพยายามเชื่อมต่อกับเซิร์ฟเวอร์ที่ใช้รับข้อความจากผู้ติดต่อนี้ (ข้อผิดพลาด: %@) - No comment provided by engineer. - - - Trying to connect to the server used to receive messages from this contact. - พยายามเชื่อมต่อกับเซิร์ฟเวอร์ที่ใช้รับข้อความจากผู้ติดต่อนี้ - No comment provided by engineer. + + Trying to connect to the server used to receive messages from this connection. + subscription status explanation Turkish interface @@ -8261,16 +8249,19 @@ To connect, please ask your contact to create another connection link and check Repeat join request? new chat sheet title - - You are connected to the server used to receive messages from this contact. - คุณเชื่อมต่อกับเซิร์ฟเวอร์ที่ใช้รับข้อความจากผู้ติดต่อนี้ - No comment provided by engineer. + + You are connected to the server used to receive messages from this connection. + subscription status explanation You are invited to group คุณได้รับเชิญให้เข้าร่วมกลุ่ม No comment provided by engineer. + + You are not connected to the server used to receive messages from this connection (no subscription). + subscription status explanation + You are not connected to these servers. Private routing is used to deliver messages to them. No comment provided by engineer. @@ -9265,6 +9256,10 @@ pref value ไม่มีการ encrypt จากต้นจนจบ No comment provided by engineer. + + no subscription + No comment provided by engineer. + no text ไม่มีข้อความ diff --git a/apps/ios/SimpleX Localizations/tr.xcloc/Localized Contents/tr.xliff b/apps/ios/SimpleX Localizations/tr.xcloc/Localized Contents/tr.xliff index 8fb8e4ac51..57151a95b5 100644 --- a/apps/ios/SimpleX Localizations/tr.xcloc/Localized Contents/tr.xliff +++ b/apps/ios/SimpleX Localizations/tr.xcloc/Localized Contents/tr.xliff @@ -1802,7 +1802,7 @@ set passcode view Conditions of use Kullanım koşulları - No comment provided by engineer. + alert button Conditions will be accepted for the operator(s): **%@**. @@ -3310,6 +3310,10 @@ chat item action Yönlendirme sunucusu %@'ya bağlanırken hata oluştu. Lütfen daha sonra deneyin. alert message + + Error connecting to the server used to receive messages from this connection: %@ + subscription status explanation + Error creating address Adres oluşturulurken hata oluştu @@ -5326,7 +5330,7 @@ Bu senin grup için bağlantın %@! Network status Ağ durumu - No comment provided by engineer. + alert title New @@ -6436,11 +6440,6 @@ Enable in *Network & servers* settings. Şuradan alındı: %@ copied message info - - Received file event - Dosya etkinliği alındı - notification - Received message Mesaj alındı @@ -7274,11 +7273,6 @@ chat item action Direkt gönderildi No comment provided by engineer. - - Sent file event - Dosya etkinliği gönderildi - notification - Sent message Mesaj gönderildi @@ -8477,15 +8471,9 @@ Bu özellik etkinleştirilmeden önce kimlik doğrulamayı tamamlamanız istenec Taşıma oturumları No comment provided by engineer. - - Trying to connect to the server used to receive messages from this contact (error: %@). - Bu kişiden mesaj almak için kullanılan sunucuya bağlanılmaya çalışılıyor (hata: %@). - No comment provided by engineer. - - - Trying to connect to the server used to receive messages from this contact. - Bu kişiden mesaj almak için kullanılan sunucuya bağlanılmaya çalışılıyor. - No comment provided by engineer. + + Trying to connect to the server used to receive messages from this connection. + subscription status explanation Turkish interface @@ -9196,16 +9184,19 @@ Repeat join request? Katılma isteği tekrarlansın mı? new chat sheet title - - You are connected to the server used to receive messages from this contact. - Bu kişiden mesaj almak için kullanılan sunucuya bağlısınız. - No comment provided by engineer. + + You are connected to the server used to receive messages from this connection. + subscription status explanation You are invited to group Gruba davet edildiniz No comment provided by engineer. + + You are not connected to the server used to receive messages from this connection (no subscription). + subscription status explanation + You are not connected to these servers. Private routing is used to deliver messages to them. Bu sunuculara bağlı değilsiniz. Mesajları onlara iletmek için özel yönlendirme kullanılır. @@ -10265,6 +10256,10 @@ pref value uçtan uca şifreleme yok No comment provided by engineer. + + no subscription + No comment provided by engineer. + no text metin yok diff --git a/apps/ios/SimpleX Localizations/uk.xcloc/Localized Contents/uk.xliff b/apps/ios/SimpleX Localizations/uk.xcloc/Localized Contents/uk.xliff index bfb565fd65..7980685349 100644 --- a/apps/ios/SimpleX Localizations/uk.xcloc/Localized Contents/uk.xliff +++ b/apps/ios/SimpleX Localizations/uk.xcloc/Localized Contents/uk.xliff @@ -1798,7 +1798,7 @@ set passcode view Conditions of use Умови використання - No comment provided by engineer. + alert button Conditions will be accepted for the operator(s): **%@**. @@ -3304,6 +3304,10 @@ chat item action Помилка підключення до сервера переадресації %@. Спробуйте пізніше. alert message + + Error connecting to the server used to receive messages from this connection: %@ + subscription status explanation + Error creating address Помилка створення адреси @@ -3872,7 +3876,7 @@ snd error text Fingerprint in server address does not match certificate. - Можливо, в адресі сервера неправильно вказано відбиток сертифіката + Відбиток в адресі сервера не співпадає з сертифікатом. server test error @@ -5316,7 +5320,7 @@ This is your link for group %@! Network status Стан мережі - No comment provided by engineer. + alert title New @@ -6421,11 +6425,6 @@ Enable in *Network & servers* settings. Отримано за: %@ copied message info - - Received file event - Подія отримання файлу - notification - Received message Отримано повідомлення @@ -7258,11 +7257,6 @@ chat item action Відправлено напряму No comment provided by engineer. - - Sent file event - Подія надісланого файлу - notification - Sent message Надіслано повідомлення @@ -7335,12 +7329,12 @@ chat item action Server requires authorization to create queues, check password. - Сервер вимагає авторизації для створення черг, перевірте пароль + Сервер вимагає авторизації для створення черг, перевірте пароль. server test error Server requires authorization to upload, check password. - Сервер вимагає авторизації для завантаження, перевірте пароль + Сервер вимагає авторизації для завантаження, перевірте пароль. server test error @@ -8457,15 +8451,9 @@ You will be prompted to complete authentication before this feature is enabled.< Транспортні сесії No comment provided by engineer. - - Trying to connect to the server used to receive messages from this contact (error: %@). - Спроба з'єднатися з сервером, який використовується для отримання повідомлень від цього контакту (помилка: %@). - No comment provided by engineer. - - - Trying to connect to the server used to receive messages from this contact. - Спроба з'єднатися з сервером, який використовується для отримання повідомлень від цього контакту. - No comment provided by engineer. + + Trying to connect to the server used to receive messages from this connection. + subscription status explanation Turkish interface @@ -9176,16 +9164,19 @@ Repeat join request? Повторити запит на приєднання? new chat sheet title - - You are connected to the server used to receive messages from this contact. - Ви підключені до сервера, який використовується для отримання повідомлень від цього контакту. - No comment provided by engineer. + + You are connected to the server used to receive messages from this connection. + subscription status explanation You are invited to group Запрошуємо вас до групи No comment provided by engineer. + + You are not connected to the server used to receive messages from this connection (no subscription). + subscription status explanation + You are not connected to these servers. Private routing is used to deliver messages to them. Не підключені до цих серверів. Для доставлення повідомлень до них використовується приватна маршрутизація. @@ -10245,6 +10236,10 @@ pref value без шифрування e2e No comment provided by engineer. + + no subscription + No comment provided by engineer. + no text без тексту diff --git a/apps/ios/SimpleX Localizations/zh-Hans.xcloc/Localized Contents/zh-Hans.xliff b/apps/ios/SimpleX Localizations/zh-Hans.xcloc/Localized Contents/zh-Hans.xliff index 0a2a252826..e1ce65b5ce 100644 --- a/apps/ios/SimpleX Localizations/zh-Hans.xcloc/Localized Contents/zh-Hans.xliff +++ b/apps/ios/SimpleX Localizations/zh-Hans.xcloc/Localized Contents/zh-Hans.xliff @@ -1785,7 +1785,7 @@ set passcode view Conditions of use 使用条款 - No comment provided by engineer. + alert button Conditions will be accepted for the operator(s): **%@**. @@ -3280,6 +3280,10 @@ chat item action 连接到转发服务器 %@ 时出错。请稍后尝试。 alert message + + Error connecting to the server used to receive messages from this connection: %@ + subscription status explanation + Error creating address 创建地址错误 @@ -5281,7 +5285,7 @@ This is your link for group %@! Network status 网络状态 - No comment provided by engineer. + alert title New @@ -6362,11 +6366,6 @@ Enable in *Network & servers* settings. 已收到于:%@ copied message info - - Received file event - 收到文件项目 - notification - Received message 收到的信息 @@ -7169,11 +7168,6 @@ chat item action 直接发送 No comment provided by engineer. - - Sent file event - 已发送文件项目 - notification - Sent message 已发信息 @@ -8313,15 +8307,9 @@ You will be prompted to complete authentication before this feature is enabled.< 传输会话 No comment provided by engineer. - - Trying to connect to the server used to receive messages from this contact (error: %@). - 正在尝试连接到用于从该联系人接收消息的服务器(错误:%@)。 - No comment provided by engineer. - - - Trying to connect to the server used to receive messages from this contact. - 正在尝试连接到用于从该联系人接收消息的服务器。 - No comment provided by engineer. + + Trying to connect to the server used to receive messages from this connection. + subscription status explanation Turkish interface @@ -9008,16 +8996,19 @@ Repeat join request? 重复加入请求? new chat sheet title - - You are connected to the server used to receive messages from this contact. - 您已连接到用于接收该联系人消息的服务器。 - No comment provided by engineer. + + You are connected to the server used to receive messages from this connection. + subscription status explanation You are invited to group 您被邀请加入群组 No comment provided by engineer. + + You are not connected to the server used to receive messages from this connection (no subscription). + subscription status explanation + You are not connected to these servers. Private routing is used to deliver messages to them. 您未连接到这些服务器。私有路由用于向他们发送消息。 @@ -10048,6 +10039,10 @@ pref value 无端到端加密 No comment provided by engineer. + + no subscription + No comment provided by engineer. + no text 无文本 diff --git a/apps/ios/SimpleX NSE/de.lproj/InfoPlist.strings b/apps/ios/SimpleX NSE/de.lproj/InfoPlist.strings index 6cc768efe1..2ea2a332d4 100644 --- a/apps/ios/SimpleX NSE/de.lproj/InfoPlist.strings +++ b/apps/ios/SimpleX NSE/de.lproj/InfoPlist.strings @@ -5,5 +5,5 @@ "CFBundleName" = "SimpleX NSE"; /* Copyright (human-readable) */ -"NSHumanReadableCopyright" = "Copyright © 2024 SimpleX Chat. All rights reserved."; +"NSHumanReadableCopyright" = "Copyright © 2025 SimpleX Chat. All rights reserved."; diff --git a/apps/ios/SimpleX SE/de.lproj/Localizable.strings b/apps/ios/SimpleX SE/de.lproj/Localizable.strings index 4c10694986..ed96f44a15 100644 --- a/apps/ios/SimpleX SE/de.lproj/Localizable.strings +++ b/apps/ios/SimpleX SE/de.lproj/Localizable.strings @@ -77,10 +77,10 @@ "Passphrase" = "Passwort"; /* No comment provided by engineer. */ -"Please create a profile in the SimpleX app" = "Bitte erstellen Sie ein Profil in der SimpleX-App"; +"Please create a profile in the SimpleX app" = "Bitte erstellen Sie in der SimpleX-App ein Profil"; /* No comment provided by engineer. */ -"Selected chat preferences prohibit this message." = "Diese Nachricht ist wegen der gewählten Chat-Einstellungen nicht erlaubt."; +"Selected chat preferences prohibit this message." = "Die gewählten Chat-Einstellungen erlauben diese Nachricht nicht."; /* No comment provided by engineer. */ "Sending a message takes longer than expected." = "Das Senden einer Nachricht dauert länger als erwartet."; diff --git a/apps/ios/bg.lproj/Localizable.strings b/apps/ios/bg.lproj/Localizable.strings index 1ce7b53767..038546f889 100644 --- a/apps/ios/bg.lproj/Localizable.strings +++ b/apps/ios/bg.lproj/Localizable.strings @@ -1167,7 +1167,7 @@ set passcode view */ /* No comment provided by engineer. */ "Conditions are already accepted for these operator(s): **%@**." = "Условията вече са приети за тези оператори: **%@**."; -/* No comment provided by engineer. */ +/* alert button */ "Conditions of use" = "Условия за ползване"; /* No comment provided by engineer. */ @@ -2912,7 +2912,7 @@ snd error text */ /* No comment provided by engineer. */ "Network settings" = "Мрежови настройки"; -/* No comment provided by engineer. */ +/* alert title */ "Network status" = "Състояние на мрежата"; /* delete after time */ @@ -3361,9 +3361,6 @@ new chat action */ /* No comment provided by engineer. */ "received confirmation…" = "получено потвърждение…"; -/* notification */ -"Received file event" = "Събитие за получен файл"; - /* message info title */ "Received message" = "Получено съобщение"; @@ -3712,9 +3709,6 @@ chat item action */ /* copied message info */ "Sent at: %@" = "Изпратено на: %@"; -/* notification */ -"Sent file event" = "Събитие за изпратен файл"; - /* message info title */ "Sent message" = "Изпратено съобщение"; @@ -4130,12 +4124,6 @@ chat item action */ /* No comment provided by engineer. */ "Transport isolation" = "Транспортна изолация"; -/* No comment provided by engineer. */ -"Trying to connect to the server used to receive messages from this contact (error: %@)." = "Опит за свързване със сървъра, използван за получаване на съобщения от този контакт (грешка: %@)."; - -/* No comment provided by engineer. */ -"Trying to connect to the server used to receive messages from this contact." = "Опит за свързване със сървъра, използван за получаване на съобщения от този контакт."; - /* No comment provided by engineer. */ "Turkish interface" = "Турски интерфейс"; @@ -4493,9 +4481,6 @@ chat item action */ /* new chat sheet title */ "You are already joining the group!\nRepeat join request?" = "Вече се присъединихте към групата!\nИзпрати отново заявката за присъединяване?"; -/* No comment provided by engineer. */ -"You are connected to the server used to receive messages from this contact." = "Вие сте свързани към сървъра, използван за получаване на съобщения от този контакт."; - /* No comment provided by engineer. */ "You are invited to group" = "Поканени сте в групата"; diff --git a/apps/ios/cs.lproj/Localizable.strings b/apps/ios/cs.lproj/Localizable.strings index f8597fa4a5..dd486001c7 100644 --- a/apps/ios/cs.lproj/Localizable.strings +++ b/apps/ios/cs.lproj/Localizable.strings @@ -2307,7 +2307,7 @@ snd error text */ /* No comment provided by engineer. */ "Network settings" = "Nastavení sítě"; -/* No comment provided by engineer. */ +/* alert title */ "Network status" = "Stav sítě"; /* delete after time */ @@ -2678,9 +2678,6 @@ new chat action */ /* No comment provided by engineer. */ "received confirmation…" = "obdržel potvrzení…"; -/* notification */ -"Received file event" = "Událost přijatého souboru"; - /* message info title */ "Received message" = "Přijatá zpráva"; @@ -2975,9 +2972,6 @@ chat item action */ /* copied message info */ "Sent at: %@" = "Posláno v: % @"; -/* notification */ -"Sent file event" = "Odeslaná událost souboru"; - /* message info title */ "Sent message" = "Poslaná zpráva"; @@ -3318,12 +3312,6 @@ chat item action */ /* No comment provided by engineer. */ "Transport isolation" = "Izolace transportu"; -/* No comment provided by engineer. */ -"Trying to connect to the server used to receive messages from this contact (error: %@)." = "Pokus o připojení k serveru používanému k přijímání zpráv od tohoto kontaktu (chyba: %@)."; - -/* No comment provided by engineer. */ -"Trying to connect to the server used to receive messages from this contact." = "Pokus o připojení k serveru používanému pro příjem zpráv od tohoto kontaktu."; - /* No comment provided by engineer. */ "Turn off" = "Vypnout"; @@ -3552,9 +3540,6 @@ chat item action */ /* No comment provided by engineer. */ "You are already connected to %@." = "Již jste připojeni k %@."; -/* No comment provided by engineer. */ -"You are connected to the server used to receive messages from this contact." = "Jste připojeni k serveru, který se používá k přijímání zpráv od tohoto kontaktu."; - /* No comment provided by engineer. */ "You are invited to group" = "Jste pozváni do skupiny"; diff --git a/apps/ios/de.lproj/Localizable.strings b/apps/ios/de.lproj/Localizable.strings index 3008d29608..31562c7b65 100644 --- a/apps/ios/de.lproj/Localizable.strings +++ b/apps/ios/de.lproj/Localizable.strings @@ -849,7 +849,7 @@ swipe action */ "blocked" = "Blockiert"; /* rcv group event chat item */ -"blocked %@" = "%@ wurde blockiert"; +"blocked %@" = "hat %@ blockiert"; /* blocked chat item marked deleted chat item preview text */ @@ -1191,7 +1191,7 @@ set passcode view */ /* No comment provided by engineer. */ "Conditions are already accepted for these operator(s): **%@**." = "Die Nutzungsbedingungen der/des folgenden Betreiber(s) wurden schon akzeptiert: **%@**."; -/* No comment provided by engineer. */ +/* alert button */ "Conditions of use" = "Nutzungsbedingungen"; /* No comment provided by engineer. */ @@ -1348,7 +1348,7 @@ set passcode view */ "connection established" = "Verbindung hergestellt"; /* No comment provided by engineer. */ -"Connection is blocked by server operator:\n%@" = "Die Verbindung wurde vom Server-Betreiber blockiert:\n%@"; +"Connection is blocked by server operator:\n%@" = "Die Verbindung wurde vom Serverbetreiber blockiert:\n%@"; /* No comment provided by engineer. */ "Connection not ready." = "Verbindung noch nicht bereit."; @@ -2438,6 +2438,9 @@ file error text snd error text */ "Error: %@" = "Fehler: %@"; +/* server test error */ +"Error: %@." = "Fehler: %@."; + /* No comment provided by engineer. */ "Error: no database file" = "Fehler: Keine Datenbankdatei"; @@ -2511,7 +2514,7 @@ snd error text */ "File errors:\n%@" = "Datei-Fehler:\n%@"; /* file error text */ -"File is blocked by server operator:\n%@." = "Datei wurde vom Server-Betreiber blockiert:\n%@."; +"File is blocked by server operator:\n%@." = "Die Datei wurde vom Serverbetreiber blockiert:\n%@."; /* file error text */ "File not found - most likely file was deleted or cancelled." = "Datei nicht gefunden - höchstwahrscheinlich wurde die Datei gelöscht oder der Transfer abgebrochen."; @@ -2573,8 +2576,17 @@ snd error text */ /* No comment provided by engineer. */ "Find chats faster" = "Chats schneller finden"; +/* No comment provided by engineer. */ +"Fingerprint in destination server address does not match certificate: %@." = "Fingerabdruck in der Zielserveradresse stimmt nicht mit dem Zertifikat überein: %@."; + +/* No comment provided by engineer. */ +"Fingerprint in forwarding server address does not match certificate: %@." = "Fingerabdruck in der Weiterleitungsserveradresse stimmt nicht mit dem Zertifikat überein: %@."; + +/* No comment provided by engineer. */ +"Fingerprint in server address does not match certificate: %@." = "Fingerabdruck in der Serveradresse stimmt nicht mit dem Zertifikat überein: %@."; + /* server test error */ -"Fingerprint in server address does not match certificate." = "Der Fingerabdruck des Zertifikats in der Serveradresse ist wahrscheinlich ungültig"; +"Fingerprint in server address does not match certificate." = "Fingerabdruck in der Serveradresse stimmt nicht mit dem Zertifikat überein."; /* No comment provided by engineer. */ "Fix" = "Reparieren"; @@ -3539,7 +3551,7 @@ snd error text */ /* No comment provided by engineer. */ "Network settings" = "Netzwerkeinstellungen"; -/* No comment provided by engineer. */ +/* alert title */ "Network status" = "Netzwerkstatus"; /* delete after time */ @@ -4267,9 +4279,6 @@ new chat action */ /* No comment provided by engineer. */ "received confirmation…" = "Bestätigung erhalten…"; -/* notification */ -"Received file event" = "Datei-Ereignis empfangen"; - /* message info title */ "Received message" = "Empfangene Nachricht"; @@ -4831,9 +4840,6 @@ chat item action */ /* No comment provided by engineer. */ "Sent directly" = "Direkt gesendet"; -/* notification */ -"Sent file event" = "Datei-Ereignis wurde gesendet"; - /* message info title */ "Sent message" = "Gesendete Nachricht"; @@ -4880,10 +4886,10 @@ chat item action */ "server queue info: %@\n\nlast received msg: %@" = "Server-Warteschlangen-Information: %1$@\n\nZuletzt empfangene Nachricht: %2$@"; /* server test error */ -"Server requires authorization to create queues, check password." = "Um Warteschlangen zu erzeugen benötigt der Server eine Authentifizierung. Bitte überprüfen Sie das Passwort"; +"Server requires authorization to create queues, check password." = "Der Server erfordert zum Erstellen von Warteschlangen eine Autorisierung. Bitte überprüfen Sie das Passwort."; /* server test error */ -"Server requires authorization to upload, check password." = "Bitte das Passwort überprüfen - für den Upload benötigt der Server eine Berechtigung"; +"Server requires authorization to upload, check password." = "Der Server erfordert zum Hochladen eine Autorisierung. Bitte überprüfen Sie das Passwort."; /* No comment provided by engineer. */ "Server test failed!" = "Server Test ist fehlgeschlagen!"; @@ -5577,12 +5583,6 @@ report reason */ /* No comment provided by engineer. */ "Transport sessions" = "Transport-Sitzungen"; -/* No comment provided by engineer. */ -"Trying to connect to the server used to receive messages from this contact (error: %@)." = "Beim Versuch die Verbindung mit dem Server aufzunehmen, der für den Empfang von Nachrichten mit diesem Kontakt genutzt wird, ist ein Fehler aufgetreten (Fehler: %@)."; - -/* No comment provided by engineer. */ -"Trying to connect to the server used to receive messages from this contact." = "Versuche die Verbindung mit dem Server aufzunehmen, der für den Empfang von Nachrichten mit diesem Kontakt genutzt wird."; - /* No comment provided by engineer. */ "Turkish interface" = "Türkische Bedienoberfläche"; @@ -5611,7 +5611,7 @@ report reason */ "Unblock member?" = "Mitglied freigeben?"; /* rcv group event chat item */ -"unblocked %@" = "%@ wurde freigegeben"; +"unblocked %@" = "hat %@ freigegeben"; /* No comment provided by engineer. */ "Undelivered messages" = "Nicht ausgelieferte Nachrichten"; @@ -6075,9 +6075,6 @@ report reason */ /* new chat sheet title */ "You are already joining the group!\nRepeat join request?" = "Sie sind bereits Mitglied dieser Gruppe!\nVerbindungsanfrage wiederholen?"; -/* No comment provided by engineer. */ -"You are connected to the server used to receive messages from this contact." = "Sie sind mit dem Server verbunden, der für den Empfang von Nachrichten mit diesem Kontakt genutzt wird."; - /* No comment provided by engineer. */ "You are invited to group" = "Sie sind zu der Gruppe eingeladen"; diff --git a/apps/ios/es.lproj/Localizable.strings b/apps/ios/es.lproj/Localizable.strings index 6c8232fb63..343851f3dc 100644 --- a/apps/ios/es.lproj/Localizable.strings +++ b/apps/ios/es.lproj/Localizable.strings @@ -1191,7 +1191,7 @@ set passcode view */ /* No comment provided by engineer. */ "Conditions are already accepted for these operator(s): **%@**." = "Las condiciones ya se han aceptado para el/los siguiente(s) operador(s): **%@**."; -/* No comment provided by engineer. */ +/* alert button */ "Conditions of use" = "Condiciones de uso"; /* No comment provided by engineer. */ @@ -2266,7 +2266,7 @@ chat item action */ "Error decrypting file" = "Error al descifrar el archivo"; /* alert title */ -"Error deleting chat" = "Error al eliminar el chat con el miembro"; +"Error deleting chat" = "Error al eliminar el chat"; /* alert title */ "Error deleting chat database" = "Error al eliminar base de datos"; @@ -2438,6 +2438,9 @@ file error text snd error text */ "Error: %@" = "Error: %@"; +/* server test error */ +"Error: %@." = "Error: %@."; + /* No comment provided by engineer. */ "Error: no database file" = "Error: sin archivo de base de datos"; @@ -2573,8 +2576,17 @@ snd error text */ /* No comment provided by engineer. */ "Find chats faster" = "Encuentra chats mas rápido"; +/* No comment provided by engineer. */ +"Fingerprint in destination server address does not match certificate: %@." = "La huella en la dirección del servidor de destino no coincide con el certificado: %@."; + +/* No comment provided by engineer. */ +"Fingerprint in forwarding server address does not match certificate: %@." = "La huella en la dirección del servidor de reenvío no coincide con el certificado: %@."; + +/* No comment provided by engineer. */ +"Fingerprint in server address does not match certificate: %@." = "La huella en la dirección del servidor no coincide con el certificado: %@."; + /* server test error */ -"Fingerprint in server address does not match certificate." = "Posiblemente la huella del certificado en la dirección del servidor es incorrecta"; +"Fingerprint in server address does not match certificate." = "La huella en la dirección del servidor no coincide con el certificado."; /* No comment provided by engineer. */ "Fix" = "Reparar"; @@ -3539,7 +3551,7 @@ snd error text */ /* No comment provided by engineer. */ "Network settings" = "Configuración de red"; -/* No comment provided by engineer. */ +/* alert title */ "Network status" = "Estado de la red"; /* delete after time */ @@ -4267,9 +4279,6 @@ new chat action */ /* No comment provided by engineer. */ "received confirmation…" = "confirmación recibida…"; -/* notification */ -"Received file event" = "Evento de archivo recibido"; - /* message info title */ "Received message" = "Mensaje entrante"; @@ -4831,9 +4840,6 @@ chat item action */ /* No comment provided by engineer. */ "Sent directly" = "Directamente"; -/* notification */ -"Sent file event" = "Evento de archivo enviado"; - /* message info title */ "Sent message" = "Mensaje saliente"; @@ -4880,10 +4886,10 @@ chat item action */ "server queue info: %@\n\nlast received msg: %@" = "información cola del servidor: %1$@\n\núltimo mensaje recibido: %2$@"; /* server test error */ -"Server requires authorization to create queues, check password." = "El servidor requiere autorización para crear colas, comprueba la contraseña"; +"Server requires authorization to create queues, check password." = "El servidor requiere autorización para crear colas, comprueba la contraseña."; /* server test error */ -"Server requires authorization to upload, check password." = "El servidor requiere autorización para subir, comprueba la contraseña"; +"Server requires authorization to upload, check password." = "El servidor requiere autorización para subir, comprueba la contraseña."; /* No comment provided by engineer. */ "Server test failed!" = "¡Prueba no superada!"; @@ -5577,12 +5583,6 @@ report reason */ /* No comment provided by engineer. */ "Transport sessions" = "Sesiones de transporte"; -/* No comment provided by engineer. */ -"Trying to connect to the server used to receive messages from this contact (error: %@)." = "Intentando conectar con el servidor usado para recibir mensajes de este contacto (error: %@)."; - -/* No comment provided by engineer. */ -"Trying to connect to the server used to receive messages from this contact." = "Intentando conectar con el servidor usado para recibir mensajes de este contacto."; - /* No comment provided by engineer. */ "Turkish interface" = "Interfaz en turco"; @@ -6075,9 +6075,6 @@ report reason */ /* new chat sheet title */ "You are already joining the group!\nRepeat join request?" = "¡En proceso de unirte al grupo!\n¿Repetir solicitud de admisión?"; -/* No comment provided by engineer. */ -"You are connected to the server used to receive messages from this contact." = "Estás conectado al servidor usado para recibir mensajes de este contacto."; - /* No comment provided by engineer. */ "You are invited to group" = "Has sido invitado a un grupo"; @@ -6334,7 +6331,7 @@ report reason */ "Your profile is stored on your device and only shared with your contacts." = "El perfil sólo se comparte con tus contactos."; /* No comment provided by engineer. */ -"Your profile is stored on your device and shared only with your contacts. SimpleX servers cannot see your profile." = "Tu perfil se almacena en tu dispositivo y sólo se comparte con tus contactos. Los servidores SimpleX no pueden ver tu perfil."; +"Your profile is stored on your device and shared only with your contacts. SimpleX servers cannot see your profile." = "Tu perfil se almacena en tu dispositivo y se comparte sólo con tus contactos. Los servidores SimpleX no pueden ver tu perfil."; /* alert message */ "Your profile was changed. If you save it, the updated profile will be sent to all your contacts." = "Tu perfil ha sido modificado. Si lo guardas la actualización será enviada a todos tus contactos."; diff --git a/apps/ios/fi.lproj/Localizable.strings b/apps/ios/fi.lproj/Localizable.strings index 76e4c1be0d..884be40cc1 100644 --- a/apps/ios/fi.lproj/Localizable.strings +++ b/apps/ios/fi.lproj/Localizable.strings @@ -1983,7 +1983,7 @@ snd error text */ /* No comment provided by engineer. */ "Network settings" = "Verkkoasetukset"; -/* No comment provided by engineer. */ +/* alert title */ "Network status" = "Verkon tila"; /* delete after time */ @@ -2348,9 +2348,6 @@ new chat action */ /* No comment provided by engineer. */ "received confirmation…" = "vahvistus saatu…"; -/* notification */ -"Received file event" = "Tiedoston vastaanottotapahtuma"; - /* message info title */ "Received message" = "Vastaanotettu viesti"; @@ -2642,9 +2639,6 @@ chat item action */ /* copied message info */ "Sent at: %@" = "Lähetetty klo: %@"; -/* notification */ -"Sent file event" = "Lähetetty tiedosto tapahtuma"; - /* message info title */ "Sent message" = "Lähetetty viesti"; @@ -2979,12 +2973,6 @@ chat item action */ /* No comment provided by engineer. */ "Transport isolation" = "Kuljetuksen eristäminen"; -/* No comment provided by engineer. */ -"Trying to connect to the server used to receive messages from this contact (error: %@)." = "Yritetään muodostaa yhteyttä palvelimeen, jota käytetään tämän kontaktin viestien vastaanottamiseen (virhe: %@)."; - -/* No comment provided by engineer. */ -"Trying to connect to the server used to receive messages from this contact." = "Yritetään muodostaa yhteys palvelimeen, jota käytetään viestien vastaanottamiseen tältä kontaktilta."; - /* No comment provided by engineer. */ "Turn off" = "Sammuta"; @@ -3213,9 +3201,6 @@ chat item action */ /* No comment provided by engineer. */ "You are already connected to %@." = "Olet jo muodostanut yhteyden %@:n kanssa."; -/* No comment provided by engineer. */ -"You are connected to the server used to receive messages from this contact." = "Olet yhteydessä palvelimeen, jota käytetään vastaanottamaan viestejä tältä kontaktilta."; - /* No comment provided by engineer. */ "You are invited to group" = "Sinut on kutsuttu ryhmään"; diff --git a/apps/ios/fr.lproj/Localizable.strings b/apps/ios/fr.lproj/Localizable.strings index 2a210cbfa8..dbfac375d1 100644 --- a/apps/ios/fr.lproj/Localizable.strings +++ b/apps/ios/fr.lproj/Localizable.strings @@ -1143,7 +1143,7 @@ set passcode view */ /* No comment provided by engineer. */ "Conditions are already accepted for these operator(s): **%@**." = "Les conditions sont déjà acceptées pour ces opérateurs : **%@**."; -/* No comment provided by engineer. */ +/* alert button */ "Conditions of use" = "Conditions d'utilisation"; /* No comment provided by engineer. */ @@ -3323,7 +3323,7 @@ snd error text */ /* No comment provided by engineer. */ "Network settings" = "Paramètres réseau"; -/* No comment provided by engineer. */ +/* alert title */ "Network status" = "État du réseau"; /* delete after time */ @@ -3925,9 +3925,6 @@ new chat action */ /* No comment provided by engineer. */ "received confirmation…" = "confimation reçu…"; -/* notification */ -"Received file event" = "Événement de fichier reçu"; - /* message info title */ "Received message" = "Message reçu"; @@ -4378,9 +4375,6 @@ chat item action */ /* No comment provided by engineer. */ "Sent directly" = "Envoyé directement"; -/* notification */ -"Sent file event" = "Événement de fichier envoyé"; - /* message info title */ "Sent message" = "Message envoyé"; @@ -5030,12 +5024,6 @@ chat item action */ /* No comment provided by engineer. */ "Transport sessions" = "Sessions de transport"; -/* No comment provided by engineer. */ -"Trying to connect to the server used to receive messages from this contact (error: %@)." = "Tentative de connexion au serveur utilisé pour recevoir les messages de ce contact (erreur : %@)."; - -/* No comment provided by engineer. */ -"Trying to connect to the server used to receive messages from this contact." = "Tentative de connexion au serveur utilisé pour recevoir les messages de ce contact."; - /* No comment provided by engineer. */ "Turkish interface" = "Interface en turc"; @@ -5486,9 +5474,6 @@ chat item action */ /* new chat sheet title */ "You are already joining the group!\nRepeat join request?" = "Vous êtes déjà membre de ce groupe !\nRépéter la demande d'adhésion ?"; -/* No comment provided by engineer. */ -"You are connected to the server used to receive messages from this contact." = "Vous êtes connecté·e au serveur utilisé pour recevoir les messages de ce contact."; - /* No comment provided by engineer. */ "You are invited to group" = "Vous êtes invité·e au groupe"; diff --git a/apps/ios/hu.lproj/Localizable.strings b/apps/ios/hu.lproj/Localizable.strings index bb4d4b1eca..aa5834f3fa 100644 --- a/apps/ios/hu.lproj/Localizable.strings +++ b/apps/ios/hu.lproj/Localizable.strings @@ -1191,7 +1191,7 @@ set passcode view */ /* No comment provided by engineer. */ "Conditions are already accepted for these operator(s): **%@**." = "A feltételek már el lettek fogadva a következő üzemeltető(k) számára: **%@**."; -/* No comment provided by engineer. */ +/* alert button */ "Conditions of use" = "Használati feltételek"; /* No comment provided by engineer. */ @@ -2266,7 +2266,7 @@ chat item action */ "Error decrypting file" = "Hiba történt a fájl visszafejtésekor"; /* alert title */ -"Error deleting chat" = "Hiba a taggal való csevegés törlésekor"; +"Error deleting chat" = "Hiba a csevegés törlésekor"; /* alert title */ "Error deleting chat database" = "Hiba történt a csevegési adatbázis törlésekor"; @@ -2438,6 +2438,9 @@ file error text snd error text */ "Error: %@" = "Hiba: %@"; +/* server test error */ +"Error: %@." = "Hiba: %@."; + /* No comment provided by engineer. */ "Error: no database file" = "Hiba: nincs adatbázisfájl"; @@ -2573,8 +2576,17 @@ snd error text */ /* No comment provided by engineer. */ "Find chats faster" = "Csevegési üzenetek gyorsabb megtalálása"; +/* No comment provided by engineer. */ +"Fingerprint in destination server address does not match certificate: %@." = "A célkiszolgáló címében szereplő ujjlenyomat nem egyezik a tanúsítvánnyal: %@."; + +/* No comment provided by engineer. */ +"Fingerprint in forwarding server address does not match certificate: %@." = "A továbbítókiszolgáló címében szereplő ujjlenyomat nem egyezik a tanúsítvánnyal: %@."; + +/* No comment provided by engineer. */ +"Fingerprint in server address does not match certificate: %@." = "A kiszolgáló címében szereplő ujjlenyomat nem egyezik a tanúsítvánnyal: %@."; + /* server test error */ -"Fingerprint in server address does not match certificate." = "Lehetséges, hogy a kiszolgáló címében szereplő tanúsítvány-ujjlenyomat helytelen"; +"Fingerprint in server address does not match certificate." = "A kiszolgáló címében szereplő ujjlenyomat nem egyezik a tanúsítvánnyal."; /* No comment provided by engineer. */ "Fix" = "Javítás"; @@ -3539,7 +3551,7 @@ snd error text */ /* No comment provided by engineer. */ "Network settings" = "Hálózati beállítások"; -/* No comment provided by engineer. */ +/* alert title */ "Network status" = "Hálózat állapota"; /* delete after time */ @@ -4267,9 +4279,6 @@ new chat action */ /* No comment provided by engineer. */ "received confirmation…" = "visszaigazolás fogadása…"; -/* notification */ -"Received file event" = "Fogadott fájlesemény"; - /* message info title */ "Received message" = "Fogadott üzenetbuborék színe"; @@ -4831,9 +4840,6 @@ chat item action */ /* No comment provided by engineer. */ "Sent directly" = "Közvetlenül küldött"; -/* notification */ -"Sent file event" = "Elküldött fájlesemény"; - /* message info title */ "Sent message" = "Üzenetbuborék színe"; @@ -4880,10 +4886,10 @@ chat item action */ "server queue info: %@\n\nlast received msg: %@" = "a kiszolgáló várólista információi: %1$@\n\nutoljára fogadott üzenet: %2$@"; /* server test error */ -"Server requires authorization to create queues, check password." = "A kiszolgálónak engedélyre van szüksége a várólisták létrehozásához, ellenőrizze a jelszavát"; +"Server requires authorization to create queues, check password." = "A kiszolgálónak engedélyre van szüksége a várólisták létrehozásához, ellenőrizze a jelszavát."; /* server test error */ -"Server requires authorization to upload, check password." = "A kiszolgálónak hitelesítésre van szüksége a feltöltéshez, ellenőrizze jelszavát"; +"Server requires authorization to upload, check password." = "A kiszolgálónak hitelesítésre van szüksége a feltöltéshez, ellenőrizze a jelszavát."; /* No comment provided by engineer. */ "Server test failed!" = "Sikertelen kiszolgáló teszt!"; @@ -5577,12 +5583,6 @@ report reason */ /* No comment provided by engineer. */ "Transport sessions" = "Munkamenetek átvitele"; -/* No comment provided by engineer. */ -"Trying to connect to the server used to receive messages from this contact (error: %@)." = "Kapcsolódási kísérlet ahhoz a kiszolgálóhoz, amely az adott partnerétől érkező üzenetek fogadására szolgál (hiba: %@)."; - -/* No comment provided by engineer. */ -"Trying to connect to the server used to receive messages from this contact." = "Kapcsolódási kísérlet ahhoz a kiszolgálóhoz, amely az adott partnerétől érkező üzenetek fogadására szolgál."; - /* No comment provided by engineer. */ "Turkish interface" = "Török kezelőfelület"; @@ -6075,9 +6075,6 @@ report reason */ /* new chat sheet title */ "You are already joining the group!\nRepeat join request?" = "A csatlakozás már folyamatban van a csoporthoz!\nMegismétli a csatlakozási kérést?"; -/* No comment provided by engineer. */ -"You are connected to the server used to receive messages from this contact." = "Ön már kapcsolódott ahhoz a kiszolgálóhoz, amely az adott partnerétől érkező üzenetek fogadására szolgál."; - /* No comment provided by engineer. */ "You are invited to group" = "Ön meghívást kapott a csoportba"; diff --git a/apps/ios/it.lproj/Localizable.strings b/apps/ios/it.lproj/Localizable.strings index 2eba58ab47..2c71648471 100644 --- a/apps/ios/it.lproj/Localizable.strings +++ b/apps/ios/it.lproj/Localizable.strings @@ -1191,7 +1191,7 @@ set passcode view */ /* No comment provided by engineer. */ "Conditions are already accepted for these operator(s): **%@**." = "Le condizioni sono già state accettate per i seguenti operatori: **%@**."; -/* No comment provided by engineer. */ +/* alert button */ "Conditions of use" = "Condizioni d'uso"; /* No comment provided by engineer. */ @@ -2438,6 +2438,9 @@ file error text snd error text */ "Error: %@" = "Errore: %@"; +/* server test error */ +"Error: %@." = "Errore: %@."; + /* No comment provided by engineer. */ "Error: no database file" = "Errore: nessun file di database"; @@ -2573,8 +2576,17 @@ snd error text */ /* No comment provided by engineer. */ "Find chats faster" = "Trova le chat più velocemente"; +/* No comment provided by engineer. */ +"Fingerprint in destination server address does not match certificate: %@." = "L'impronta digitale nell'indirizzo del server di destinazione non corrisponde al certificato: %@."; + +/* No comment provided by engineer. */ +"Fingerprint in forwarding server address does not match certificate: %@." = "L'impronta digitale nell'indirizzo del server di inoltro non corrisponde al certificato: %@."; + +/* No comment provided by engineer. */ +"Fingerprint in server address does not match certificate: %@." = "L'impronta digitale nell'indirizzo del server non corrisponde al certificato: %@."; + /* server test error */ -"Fingerprint in server address does not match certificate." = "Probabilmente l'impronta del certificato nell'indirizzo del server è sbagliata"; +"Fingerprint in server address does not match certificate." = "L'impronta digitale nell'indirizzo del server non corrisponde al certificato."; /* No comment provided by engineer. */ "Fix" = "Correggi"; @@ -3539,7 +3551,7 @@ snd error text */ /* No comment provided by engineer. */ "Network settings" = "Impostazioni di rete"; -/* No comment provided by engineer. */ +/* alert title */ "Network status" = "Stato della rete"; /* delete after time */ @@ -4267,9 +4279,6 @@ new chat action */ /* No comment provided by engineer. */ "received confirmation…" = "conferma ricevuta…"; -/* notification */ -"Received file event" = "Evento file ricevuto"; - /* message info title */ "Received message" = "Messaggio ricevuto"; @@ -4831,9 +4840,6 @@ chat item action */ /* No comment provided by engineer. */ "Sent directly" = "Inviato direttamente"; -/* notification */ -"Sent file event" = "Evento file inviato"; - /* message info title */ "Sent message" = "Messaggio inviato"; @@ -4880,10 +4886,10 @@ chat item action */ "server queue info: %@\n\nlast received msg: %@" = "info coda server: %1$@\n\nultimo msg ricevuto: %2$@"; /* server test error */ -"Server requires authorization to create queues, check password." = "Il server richiede l'autorizzazione di creare code, controlla la password"; +"Server requires authorization to create queues, check password." = "Il server richiede l'autorizzazione di creare code, controlla la password."; /* server test error */ -"Server requires authorization to upload, check password." = "Il server richiede l'autorizzazione per il caricamento, controllare la password"; +"Server requires authorization to upload, check password." = "Il server richiede l'autorizzazione per l'invio, controlla la password."; /* No comment provided by engineer. */ "Server test failed!" = "Test del server fallito!"; @@ -5577,12 +5583,6 @@ report reason */ /* No comment provided by engineer. */ "Transport sessions" = "Sessioni di trasporto"; -/* No comment provided by engineer. */ -"Trying to connect to the server used to receive messages from this contact (error: %@)." = "Tentativo di connessione al server usato per ricevere messaggi da questo contatto (errore: %@)."; - -/* No comment provided by engineer. */ -"Trying to connect to the server used to receive messages from this contact." = "Tentativo di connessione al server usato per ricevere messaggi da questo contatto."; - /* No comment provided by engineer. */ "Turkish interface" = "Interfaccia in turco"; @@ -6075,9 +6075,6 @@ report reason */ /* new chat sheet title */ "You are already joining the group!\nRepeat join request?" = "Stai già entrando nel gruppo!\nRipetere la richiesta di ingresso?"; -/* No comment provided by engineer. */ -"You are connected to the server used to receive messages from this contact." = "Sei connesso/a al server usato per ricevere messaggi da questo contatto."; - /* No comment provided by engineer. */ "You are invited to group" = "Sei stato/a invitato/a al gruppo"; diff --git a/apps/ios/ja.lproj/Localizable.strings b/apps/ios/ja.lproj/Localizable.strings index de2f23ccce..d4510af72f 100644 --- a/apps/ios/ja.lproj/Localizable.strings +++ b/apps/ios/ja.lproj/Localizable.strings @@ -2223,7 +2223,7 @@ snd error text */ /* No comment provided by engineer. */ "Network settings" = "ネットワーク設定"; -/* No comment provided by engineer. */ +/* alert title */ "Network status" = "ネットワーク状況"; /* delete after time */ @@ -2594,9 +2594,6 @@ new chat action */ /* No comment provided by engineer. */ "received confirmation…" = "確認を受け取りました…"; -/* notification */ -"Received file event" = "ファイル受信イベント"; - /* message info title */ "Received message" = "受信したメッセージ"; @@ -2867,9 +2864,6 @@ chat item action */ /* copied message info */ "Sent at: %@" = "送信日時: %@"; -/* notification */ -"Sent file event" = "送信済みファイルイベント"; - /* message info title */ "Sent message" = "送信"; @@ -3204,12 +3198,6 @@ chat item action */ /* No comment provided by engineer. */ "Transport isolation" = "トランスポート隔離"; -/* No comment provided by engineer. */ -"Trying to connect to the server used to receive messages from this contact (error: %@)." = "この連絡先からのメッセージの受信に使用されるサーバーに接続しようとしています (エラー: %@)。"; - -/* No comment provided by engineer. */ -"Trying to connect to the server used to receive messages from this contact." = "このコンタクトから受信するメッセージのサーバに接続しようとしてます。"; - /* No comment provided by engineer. */ "Turn off" = "オフにする"; @@ -3438,9 +3426,6 @@ chat item action */ /* No comment provided by engineer. */ "You are already connected to %@." = "すでに %@ に接続されています。"; -/* No comment provided by engineer. */ -"You are connected to the server used to receive messages from this contact." = "この連絡先から受信するメッセージのサーバに既に接続してます。"; - /* No comment provided by engineer. */ "You are invited to group" = "グループ招待が届きました"; diff --git a/apps/ios/nl.lproj/Localizable.strings b/apps/ios/nl.lproj/Localizable.strings index 1d5fef3fe3..79e3da3b01 100644 --- a/apps/ios/nl.lproj/Localizable.strings +++ b/apps/ios/nl.lproj/Localizable.strings @@ -1158,7 +1158,7 @@ set passcode view */ /* No comment provided by engineer. */ "Conditions are already accepted for these operator(s): **%@**." = "Voorwaarden zijn reeds geaccepteerd voor de volgende operator(s): **%@**."; -/* No comment provided by engineer. */ +/* alert button */ "Conditions of use" = "Gebruiksvoorwaarden"; /* No comment provided by engineer. */ @@ -3437,7 +3437,7 @@ snd error text */ /* No comment provided by engineer. */ "Network settings" = "Netwerk instellingen"; -/* No comment provided by engineer. */ +/* alert title */ "Network status" = "Netwerk status"; /* delete after time */ @@ -4123,9 +4123,6 @@ new chat action */ /* No comment provided by engineer. */ "received confirmation…" = "bevestiging ontvangen…"; -/* notification */ -"Received file event" = "Ontvangen bestandsgebeurtenis"; - /* message info title */ "Received message" = "Ontvangen bericht"; @@ -4651,9 +4648,6 @@ chat item action */ /* No comment provided by engineer. */ "Sent directly" = "Direct verzonden"; -/* notification */ -"Sent file event" = "Verzonden bestandsgebeurtenis"; - /* message info title */ "Sent message" = "Verzonden bericht"; @@ -5343,12 +5337,6 @@ report reason */ /* No comment provided by engineer. */ "Transport sessions" = "Transportsessies"; -/* No comment provided by engineer. */ -"Trying to connect to the server used to receive messages from this contact (error: %@)." = "Proberen verbinding te maken met de server die wordt gebruikt om berichten van dit contact te ontvangen (fout: %@)."; - -/* No comment provided by engineer. */ -"Trying to connect to the server used to receive messages from this contact." = "Proberen verbinding te maken met de server die wordt gebruikt om berichten van dit contact te ontvangen."; - /* No comment provided by engineer. */ "Turkish interface" = "Turkse interface"; @@ -5817,9 +5805,6 @@ report reason */ /* new chat sheet title */ "You are already joining the group!\nRepeat join request?" = "Je sluit je al aan bij de groep!\nDeelnameverzoek herhalen?"; -/* No comment provided by engineer. */ -"You are connected to the server used to receive messages from this contact." = "U bent verbonden met de server die wordt gebruikt om berichten van dit contact te ontvangen."; - /* No comment provided by engineer. */ "You are invited to group" = "Je bent uitgenodigd voor de groep"; diff --git a/apps/ios/pl.lproj/Localizable.strings b/apps/ios/pl.lproj/Localizable.strings index cf08c2b40a..34c79eeef4 100644 --- a/apps/ios/pl.lproj/Localizable.strings +++ b/apps/ios/pl.lproj/Localizable.strings @@ -1098,7 +1098,7 @@ set passcode view */ /* No comment provided by engineer. */ "Conditions are already accepted for these operator(s): **%@**." = "Warunki zostały już zaakceptowane przez tego(-ych) operatora(-ów): **%@**."; -/* No comment provided by engineer. */ +/* alert button */ "Conditions of use" = "Warunki użytkowania"; /* No comment provided by engineer. */ @@ -3083,7 +3083,7 @@ snd error text */ /* No comment provided by engineer. */ "Network settings" = "Ustawienia sieci"; -/* No comment provided by engineer. */ +/* alert title */ "Network status" = "Status sieci"; /* delete after time */ @@ -3631,9 +3631,6 @@ new chat action */ /* No comment provided by engineer. */ "received confirmation…" = "otrzymano potwierdzenie…"; -/* notification */ -"Received file event" = "Otrzymano zdarzenie pliku"; - /* message info title */ "Received message" = "Otrzymano wiadomość"; @@ -4078,9 +4075,6 @@ chat item action */ /* No comment provided by engineer. */ "Sent directly" = "Wysłano bezpośrednio"; -/* notification */ -"Sent file event" = "Wyślij zdarzenie pliku"; - /* message info title */ "Sent message" = "Wyślij wiadomość"; @@ -4655,12 +4649,6 @@ chat item action */ /* No comment provided by engineer. */ "Transport sessions" = "Sesje transportowe"; -/* No comment provided by engineer. */ -"Trying to connect to the server used to receive messages from this contact (error: %@)." = "Próbowanie połączenia z serwerem używanym do odbierania wiadomości od tego kontaktu (błąd: %@)."; - -/* No comment provided by engineer. */ -"Trying to connect to the server used to receive messages from this contact." = "Próbowanie połączenia z serwerem używanym do odbierania wiadomości od tego kontaktu."; - /* No comment provided by engineer. */ "Turkish interface" = "Turecki interfejs"; @@ -5084,9 +5072,6 @@ chat item action */ /* new chat sheet title */ "You are already joining the group!\nRepeat join request?" = "Już dołączasz do grupy!\nPowtórzyć prośbę dołączenia?"; -/* No comment provided by engineer. */ -"You are connected to the server used to receive messages from this contact." = "Jesteś połączony z serwerem używanym do odbierania wiadomości od tego kontaktu."; - /* No comment provided by engineer. */ "You are invited to group" = "Jesteś zaproszony do grupy"; diff --git a/apps/ios/ru.lproj/Localizable.strings b/apps/ios/ru.lproj/Localizable.strings index b2bdf39086..0826bca4a3 100644 --- a/apps/ios/ru.lproj/Localizable.strings +++ b/apps/ios/ru.lproj/Localizable.strings @@ -1191,7 +1191,7 @@ set passcode view */ /* No comment provided by engineer. */ "Conditions are already accepted for these operator(s): **%@**." = "Условия уже приняты для следующих оператора(ов): **%@**."; -/* No comment provided by engineer. */ +/* alert button */ "Conditions of use" = "Условия использования"; /* No comment provided by engineer. */ @@ -2586,7 +2586,7 @@ snd error text */ "Fingerprint in server address does not match certificate: %@." = "Хэш в адресе сервера не соответствует сертификату: %@."; /* server test error */ -"Fingerprint in server address does not match certificate." = "Возможно, хэш сертификата в адресе сервера неверный"; +"Fingerprint in server address does not match certificate." = "Возможно, хэш сертификата в адресе сервера неверный."; /* No comment provided by engineer. */ "Fix" = "Починить"; @@ -3531,7 +3531,7 @@ snd error text */ "Name" = "Имя"; /* No comment provided by engineer. */ -"Network & servers" = "Сеть & серверы"; +"Network & servers" = "Сеть и серверы"; /* No comment provided by engineer. */ "Network connection" = "Интернет-соединение"; @@ -3551,7 +3551,7 @@ snd error text */ /* No comment provided by engineer. */ "Network settings" = "Настройки сети"; -/* No comment provided by engineer. */ +/* alert title */ "Network status" = "Состояние сети"; /* delete after time */ @@ -4279,9 +4279,6 @@ new chat action */ /* No comment provided by engineer. */ "received confirmation…" = "получено подтверждение…"; -/* notification */ -"Received file event" = "Загрузка файла"; - /* message info title */ "Received message" = "Полученное сообщение"; @@ -4552,7 +4549,7 @@ swipe action */ "Review members" = "Одобрять членов"; /* admission stage description */ -"Review members before admitting (\"knocking\")." = "Одобрять членов для вступления в группу."; +"Review members before admitting (\"knocking\")." = "Вручную одобрять членов для вступления в группу."; /* No comment provided by engineer. */ "reviewed by admins" = "одобрен админами"; @@ -4843,9 +4840,6 @@ chat item action */ /* No comment provided by engineer. */ "Sent directly" = "Отправлено напрямую"; -/* notification */ -"Sent file event" = "Отправка файла"; - /* message info title */ "Sent message" = "Отправленное сообщение"; @@ -4892,10 +4886,10 @@ chat item action */ "server queue info: %@\n\nlast received msg: %@" = "информация сервера об очереди: %1$@\n\nпоследнее полученное сообщение: %2$@"; /* server test error */ -"Server requires authorization to create queues, check password." = "Сервер требует авторизации для создания очередей, проверьте пароль"; +"Server requires authorization to create queues, check password." = "Сервер требует авторизации для создания очередей, проверьте пароль."; /* server test error */ -"Server requires authorization to upload, check password." = "Сервер требует авторизации для загрузки, проверьте пароль"; +"Server requires authorization to upload, check password." = "Сервер требует авторизации для загрузки, проверьте пароль."; /* No comment provided by engineer. */ "Server test failed!" = "Ошибка теста сервера!"; @@ -5284,7 +5278,7 @@ report reason */ "Tap Connect to send request" = "Нажмите Соединиться, чтобы отправить запрос"; /* No comment provided by engineer. */ -"Tap Connect to use bot" = "Нажмите Соединиться, чтобы использовать бот."; +"Tap Connect to use bot" = "Нажмите Соединиться, чтобы использовать бот"; /* No comment provided by engineer. */ "Tap Create SimpleX address in the menu to create it later." = "Нажмите Создать адрес SimpleX в меню, чтобы создать его позже."; @@ -5589,12 +5583,6 @@ report reason */ /* No comment provided by engineer. */ "Transport sessions" = "Транспортные сессии"; -/* No comment provided by engineer. */ -"Trying to connect to the server used to receive messages from this contact (error: %@)." = "Устанавливается соединение с сервером, через который Вы получаете сообщения от этого контакта (ошибка: %@)."; - -/* No comment provided by engineer. */ -"Trying to connect to the server used to receive messages from this contact." = "Устанавливается соединение с сервером, через который Вы получаете сообщения от этого контакта."; - /* No comment provided by engineer. */ "Turkish interface" = "Турецкий интерфейс"; @@ -6087,9 +6075,6 @@ report reason */ /* new chat sheet title */ "You are already joining the group!\nRepeat join request?" = "Вы уже вступаете в группу!\nПовторить запрос на вступление?"; -/* No comment provided by engineer. */ -"You are connected to the server used to receive messages from this contact." = "Установлено соединение с сервером, через который Вы получаете сообщения от этого контакта."; - /* No comment provided by engineer. */ "You are invited to group" = "Вы приглашены в группу"; diff --git a/apps/ios/th.lproj/Localizable.strings b/apps/ios/th.lproj/Localizable.strings index 923c1960c7..2700711773 100644 --- a/apps/ios/th.lproj/Localizable.strings +++ b/apps/ios/th.lproj/Localizable.strings @@ -1926,7 +1926,7 @@ snd error text */ /* No comment provided by engineer. */ "Network settings" = "การตั้งค่าเครือข่าย"; -/* No comment provided by engineer. */ +/* alert title */ "Network status" = "สถานะเครือข่าย"; /* delete after time */ @@ -2285,9 +2285,6 @@ new chat action */ /* No comment provided by engineer. */ "received confirmation…" = "ได้รับการยืนยัน…"; -/* notification */ -"Received file event" = "ได้รับไฟล์"; - /* message info title */ "Received message" = "ได้รับข้อความ"; @@ -2570,9 +2567,6 @@ chat item action */ /* copied message info */ "Sent at: %@" = "ส่งเมื่อ: %@"; -/* notification */ -"Sent file event" = "เหตุการณ์ไฟล์ที่ส่ง"; - /* message info title */ "Sent message" = "ข้อความที่ส่งแล้ว"; @@ -2895,12 +2889,6 @@ chat item action */ /* No comment provided by engineer. */ "Transport isolation" = "การแยกการขนส่ง"; -/* No comment provided by engineer. */ -"Trying to connect to the server used to receive messages from this contact (error: %@)." = "กำลังพยายามเชื่อมต่อกับเซิร์ฟเวอร์ที่ใช้รับข้อความจากผู้ติดต่อนี้ (ข้อผิดพลาด: %@)"; - -/* No comment provided by engineer. */ -"Trying to connect to the server used to receive messages from this contact." = "พยายามเชื่อมต่อกับเซิร์ฟเวอร์ที่ใช้รับข้อความจากผู้ติดต่อนี้"; - /* No comment provided by engineer. */ "Turn off" = "ปิด"; @@ -3123,9 +3111,6 @@ chat item action */ /* No comment provided by engineer. */ "You are already connected to %@." = "คุณได้เชื่อมต่อกับ %@ แล้ว"; -/* No comment provided by engineer. */ -"You are connected to the server used to receive messages from this contact." = "คุณเชื่อมต่อกับเซิร์ฟเวอร์ที่ใช้รับข้อความจากผู้ติดต่อนี้"; - /* No comment provided by engineer. */ "You are invited to group" = "คุณได้รับเชิญให้เข้าร่วมกลุ่ม"; diff --git a/apps/ios/tr.lproj/Localizable.strings b/apps/ios/tr.lproj/Localizable.strings index f6d38b0632..9acf2cc425 100644 --- a/apps/ios/tr.lproj/Localizable.strings +++ b/apps/ios/tr.lproj/Localizable.strings @@ -1191,7 +1191,7 @@ set passcode view */ /* No comment provided by engineer. */ "Conditions are already accepted for these operator(s): **%@**." = "Koşullar çoktan operatör(ler) tarafından kabul edildi: **%@**."; -/* No comment provided by engineer. */ +/* alert button */ "Conditions of use" = "Kullanım koşulları"; /* No comment provided by engineer. */ @@ -3539,7 +3539,7 @@ snd error text */ /* No comment provided by engineer. */ "Network settings" = "Ağ ayarları"; -/* No comment provided by engineer. */ +/* alert title */ "Network status" = "Ağ durumu"; /* delete after time */ @@ -4267,9 +4267,6 @@ new chat action */ /* No comment provided by engineer. */ "received confirmation…" = "onaylama alındı…"; -/* notification */ -"Received file event" = "Dosya etkinliği alındı"; - /* message info title */ "Received message" = "Mesaj alındı"; @@ -4831,9 +4828,6 @@ chat item action */ /* No comment provided by engineer. */ "Sent directly" = "Direkt gönderildi"; -/* notification */ -"Sent file event" = "Dosya etkinliği gönderildi"; - /* message info title */ "Sent message" = "Mesaj gönderildi"; @@ -5577,12 +5571,6 @@ report reason */ /* No comment provided by engineer. */ "Transport sessions" = "Taşıma oturumları"; -/* No comment provided by engineer. */ -"Trying to connect to the server used to receive messages from this contact (error: %@)." = "Bu kişiden mesaj almak için kullanılan sunucuya bağlanılmaya çalışılıyor (hata: %@)."; - -/* No comment provided by engineer. */ -"Trying to connect to the server used to receive messages from this contact." = "Bu kişiden mesaj almak için kullanılan sunucuya bağlanılmaya çalışılıyor."; - /* No comment provided by engineer. */ "Turkish interface" = "Türkçe arayüz"; @@ -6075,9 +6063,6 @@ report reason */ /* new chat sheet title */ "You are already joining the group!\nRepeat join request?" = "Gruba zaten katılıyorsunuz!\nKatılma isteği tekrarlansın mı?"; -/* No comment provided by engineer. */ -"You are connected to the server used to receive messages from this contact." = "Bu kişiden mesaj almak için kullanılan sunucuya bağlısınız."; - /* No comment provided by engineer. */ "You are invited to group" = "Gruba davet edildiniz"; diff --git a/apps/ios/uk.lproj/Localizable.strings b/apps/ios/uk.lproj/Localizable.strings index 2c3d7b083d..fe8cfe22a0 100644 --- a/apps/ios/uk.lproj/Localizable.strings +++ b/apps/ios/uk.lproj/Localizable.strings @@ -1179,7 +1179,7 @@ set passcode view */ /* No comment provided by engineer. */ "Conditions are already accepted for these operator(s): **%@**." = "Умови вже прийняті для наступних операторів: **%@**."; -/* No comment provided by engineer. */ +/* alert button */ "Conditions of use" = "Умови використання"; /* No comment provided by engineer. */ @@ -2550,7 +2550,7 @@ snd error text */ "Find chats faster" = "Швидше знаходьте чати"; /* server test error */ -"Fingerprint in server address does not match certificate." = "Можливо, в адресі сервера неправильно вказано відбиток сертифіката"; +"Fingerprint in server address does not match certificate." = "Відбиток в адресі сервера не співпадає з сертифікатом."; /* No comment provided by engineer. */ "Fix" = "Виправити"; @@ -3509,7 +3509,7 @@ snd error text */ /* No comment provided by engineer. */ "Network settings" = "Налаштування мережі"; -/* No comment provided by engineer. */ +/* alert title */ "Network status" = "Стан мережі"; /* delete after time */ @@ -4222,9 +4222,6 @@ new chat action */ /* No comment provided by engineer. */ "received confirmation…" = "отримали підтвердження…"; -/* notification */ -"Received file event" = "Подія отримання файлу"; - /* message info title */ "Received message" = "Отримано повідомлення"; @@ -4777,9 +4774,6 @@ chat item action */ /* No comment provided by engineer. */ "Sent directly" = "Відправлено напряму"; -/* notification */ -"Sent file event" = "Подія надісланого файлу"; - /* message info title */ "Sent message" = "Надіслано повідомлення"; @@ -4826,10 +4820,10 @@ chat item action */ "server queue info: %@\n\nlast received msg: %@" = "інформація про чергу на сервері: %1$@\n\nостаннє отримане повідомлення: %2$@"; /* server test error */ -"Server requires authorization to create queues, check password." = "Сервер вимагає авторизації для створення черг, перевірте пароль"; +"Server requires authorization to create queues, check password." = "Сервер вимагає авторизації для створення черг, перевірте пароль."; /* server test error */ -"Server requires authorization to upload, check password." = "Сервер вимагає авторизації для завантаження, перевірте пароль"; +"Server requires authorization to upload, check password." = "Сервер вимагає авторизації для завантаження, перевірте пароль."; /* No comment provided by engineer. */ "Server test failed!" = "Тест сервера завершився невдало!"; @@ -5511,12 +5505,6 @@ report reason */ /* No comment provided by engineer. */ "Transport sessions" = "Транспортні сесії"; -/* No comment provided by engineer. */ -"Trying to connect to the server used to receive messages from this contact (error: %@)." = "Спроба з'єднатися з сервером, який використовується для отримання повідомлень від цього контакту (помилка: %@)."; - -/* No comment provided by engineer. */ -"Trying to connect to the server used to receive messages from this contact." = "Спроба з'єднатися з сервером, який використовується для отримання повідомлень від цього контакту."; - /* No comment provided by engineer. */ "Turkish interface" = "Турецький інтерфейс"; @@ -6009,9 +5997,6 @@ report reason */ /* new chat sheet title */ "You are already joining the group!\nRepeat join request?" = "Ви вже приєдналися до групи!\nПовторити запит на приєднання?"; -/* No comment provided by engineer. */ -"You are connected to the server used to receive messages from this contact." = "Ви підключені до сервера, який використовується для отримання повідомлень від цього контакту."; - /* No comment provided by engineer. */ "You are invited to group" = "Запрошуємо вас до групи"; diff --git a/apps/ios/zh-Hans.lproj/Localizable.strings b/apps/ios/zh-Hans.lproj/Localizable.strings index 2803b374f7..24d153afd5 100644 --- a/apps/ios/zh-Hans.lproj/Localizable.strings +++ b/apps/ios/zh-Hans.lproj/Localizable.strings @@ -1122,7 +1122,7 @@ set passcode view */ /* No comment provided by engineer. */ "Conditions are already accepted for these operator(s): **%@**." = "已经接受下列运营方的条款:**%@**。"; -/* No comment provided by engineer. */ +/* alert button */ "Conditions of use" = "使用条款"; /* No comment provided by engineer. */ @@ -3365,7 +3365,7 @@ snd error text */ /* No comment provided by engineer. */ "Network settings" = "网络设置"; -/* No comment provided by engineer. */ +/* alert title */ "Network status" = "网络状态"; /* delete after time */ @@ -3997,9 +3997,6 @@ new chat action */ /* No comment provided by engineer. */ "received confirmation…" = "已受到确认……"; -/* notification */ -"Received file event" = "收到文件项目"; - /* message info title */ "Received message" = "收到的信息"; @@ -4444,9 +4441,6 @@ chat item action */ /* No comment provided by engineer. */ "Sent directly" = "直接发送"; -/* notification */ -"Sent file event" = "已发送文件项目"; - /* message info title */ "Sent message" = "已发信息"; @@ -5012,12 +5006,6 @@ chat item action */ /* No comment provided by engineer. */ "Transport sessions" = "传输会话"; -/* No comment provided by engineer. */ -"Trying to connect to the server used to receive messages from this contact (error: %@)." = "正在尝试连接到用于从该联系人接收消息的服务器(错误:%@)。"; - -/* No comment provided by engineer. */ -"Trying to connect to the server used to receive messages from this contact." = "正在尝试连接到用于从该联系人接收消息的服务器。"; - /* No comment provided by engineer. */ "Turkish interface" = "土耳其语界面"; @@ -5435,9 +5423,6 @@ chat item action */ /* new chat sheet title */ "You are already joining the group!\nRepeat join request?" = "您已经加入了这个群组!\n重复加入请求?"; -/* No comment provided by engineer. */ -"You are connected to the server used to receive messages from this contact." = "您已连接到用于接收该联系人消息的服务器。"; - /* No comment provided by engineer. */ "You are invited to group" = "您被邀请加入群组"; diff --git a/apps/multiplatform/common/build.gradle.kts b/apps/multiplatform/common/build.gradle.kts index 2227766cfa..6b0c0f441e 100644 --- a/apps/multiplatform/common/build.gradle.kts +++ b/apps/multiplatform/common/build.gradle.kts @@ -254,8 +254,11 @@ afterEvaluate { val fileRegex = Regex("MR/../strings.xml$|MR/..-.../strings.xml$|MR/..-../strings.xml$|MR/base/strings.xml$") val tree = kotlin.sourceSets["commonMain"].resources.filter { fileRegex.containsMatchIn(it.absolutePath.replace("\\", "/")) }.asFileTree val baseStringsFile = tree.firstOrNull { it.absolutePath.replace("\\", "/").endsWith("base/strings.xml") } ?: throw Exception("No base/strings.xml found") + val lvStringsFile = tree.firstOrNull { it.absolutePath.replace("\\", "/").endsWith("lv/strings.xml") } ?: throw Exception("No base/strings.xml found") val treeList = ArrayList(tree.toList()) treeList.remove(baseStringsFile) + // removed lv/strings.xml file with 100+ errors + treeList.remove(lvStringsFile) treeList.add(0, baseStringsFile) val baseFormatting = mutableMapOf>() treeList.forEachIndexed { index, file -> diff --git a/apps/multiplatform/common/src/commonMain/resources/MR/ar/strings.xml b/apps/multiplatform/common/src/commonMain/resources/MR/ar/strings.xml index fc43a97cb5..b1d27b79a5 100644 --- a/apps/multiplatform/common/src/commonMain/resources/MR/ar/strings.xml +++ b/apps/multiplatform/common/src/commonMain/resources/MR/ar/strings.xml @@ -910,7 +910,7 @@ أُزيل يُرجى تذكرها أو تخزينها بأمان - لا توجد طريقة لاستعادة كلمة المرور المفقودة! معاينة - من المحتمل أن الملف المرجعي للشهادة في عنوان الخادم غير صحيح + البصمة في عنوان الخادم لا تتطابق مع الشهادة. يتم استلام الرسائل… يُرجى الاتصال بمُدير المجموعة. أعد التفاوض @@ -1050,8 +1050,8 @@ أظهر: أظهر خيارات المطور simplexmq: v%s (%2s) - يتطلب الخادم إذنًا لإنشاء قوائم انتظار، تحقق من كلمة المرور - يتطلب الخادم إذنًا للرفع، تحقق من كلمة المرور + يتطلب الخادم إذنًا لإنشاء قوائم انتظار، تحقق من كلمة المرور. + يتطلب الخادم إذنًا للرفع، تحقق من كلمة المرور. أظهر جهة الاتصال فقط مكالمات SimpleX Chat خدمة SimpleX Chat @@ -2396,7 +2396,7 @@ الكل دخول العضو راجع الأعضاء قبل القبول (الطرق). - حدث خطأ أثناء حذف الدردشة مع العضو. + خطأ في حذف الدردشة لا يمكن إرسال الرسائل رُفض طلب الانضمام غادرت @@ -2516,5 +2516,8 @@ افتح الرابط الكامل أزل تتبع الروابط رابط مُرحل SimpleX - خطأ في وضع علامة \"مقروءة\" على الدردشة مع العضو + خطأ في وضع علامة \"مقروءة\" + البصمة في عنوان الخادم الوجهة لا تتطابق مع الشهادة: %1$s. + البصمة في عنوان خادم التحويل لا تتطابق مع الشهادة: %1$s. + البصمة في عنوان الخادم لا تتطابق مع الشهادة: %1$s. diff --git a/apps/multiplatform/common/src/commonMain/resources/MR/ca/strings.xml b/apps/multiplatform/common/src/commonMain/resources/MR/ca/strings.xml index 81d8ab2d70..a3b97f0be2 100644 --- a/apps/multiplatform/common/src/commonMain/resources/MR/ca/strings.xml +++ b/apps/multiplatform/common/src/commonMain/resources/MR/ca/strings.xml @@ -1613,9 +1613,9 @@ La connexió ha arribat al límit de missatges no lliurats, és possible que el vostre contacte estigui fora de línia. Missatges no lliurats A menys que el vostre contacte hagi suprimit la connexió o aquest enllaç ja s\'ha utilitzat, pot ser que sigui un error; si us plau, informeu-ho.\nPer connectar-vos, demaneu al vostre contacte que creï un altre enllaç de connexió i comproveu que teniu una connexió de xarxa estable. - Possiblement, l\'empremta digital del certificat a l\'adreça del servidor és incorrecta - El servidor requereix autorització per crear cues, comproveu la contrasenya - El servidor requereix autorització per carregar, comproveu la contrasenya + L\'empremta digital a l\'adreça del servidor no coincideix amb el certificat. + El servidor requereix autorització per crear cues, comproveu la contrasenya. + El servidor requereix autorització per carregar, comproveu la contrasenya. La prova ha fallat al pas %s. Cua segura Carrega fitxer @@ -2381,7 +2381,7 @@ No hi ha xats amb membres Acceptar com a observador Desar la configuració d\'admissió? - Error en suprimir el xat amb membre + Error en suprimir el xat %d xat(s) el(la) membre té una versió antiga Un(a) nou(va) membre vol unir-se al grup. @@ -2497,4 +2497,8 @@ Eliminar el seguiment de l\'enllaç Opcions obsoletes Enllaç de servidor SimpleX + Error marcant com a llegit + L\'empremta digital a l\'adreça del servidor de destinació no coincideix amb el certificat: %1$s. + L\'empremta digital a l\'adreça del servidor de reenviament no coincideix amb el certificat: %1$s. + L\'empremta digital a l\'adreça del servidor no coincideix amb el certificat: %1$s. diff --git a/apps/multiplatform/common/src/commonMain/resources/MR/cs/strings.xml b/apps/multiplatform/common/src/commonMain/resources/MR/cs/strings.xml index a7e0f20faf..423f0e135f 100644 --- a/apps/multiplatform/common/src/commonMain/resources/MR/cs/strings.xml +++ b/apps/multiplatform/common/src/commonMain/resources/MR/cs/strings.xml @@ -356,7 +356,7 @@ Nastavit 1 den Chyba spojení (AUTH) Odesílatel možná smazal požadavek připojení - Server vyžaduje autorizaci pro vytváření front, zkontrolujte heslo + Server vyžaduje autorizaci pro vytvoření front, zkontrolujte heslo. Odstranit frontu Smazat Smazat čekající připojení\? @@ -519,7 +519,7 @@ Chyba mazání žádosti kontaktu Chyba mazání probíhajícího připojení kontaktu Test selhal v kroku %s. - Je možné, že otisk certifikátu v adrese serveru je nesprávný. + Otisk adresy serveru neodpovídá certifikátu. Připojit Odpojit Chyba mazání uživatelského profilu @@ -1016,7 +1016,7 @@ Chyba načítání serverů XFTP Chyba ukládání XFTP serverů Ujistěte se, že adresy XFTP serverů jsou ve správném formátu s oddělenými řádky a nejsou duplicitní. - Server vyžaduje autorizaci pro nahrávání, zkontrolujte heslo + Server vyžaduje autorizaci pro nahrávání, zkontrolujte heslo. Porovnat soubor Vytvořit soubor Smazat soubor @@ -1592,7 +1592,7 @@ Chyba otevření prohlížeče odstraněn profilový obrázek nastavit novou kontaktní adresu - nastavit nový profilový obrázek + nastavil nový profilový obrázek Uložené zprávy Pomalá funkce Soukromé poznámky @@ -2395,8 +2395,8 @@ Chat s adminy Přijmout Přijmout člena - schválen adminy - Upgradovat adresu + čeká na schválení adminy + Povýšit adresu přijat %1$s Vás přijal schválení @@ -2427,7 +2427,7 @@ Přijmout jako člena Přijmout jako pozorovatele Odmítnout člena? - Chyba odstranění chatu se členem + Chyba odstranění chatu Použït profil inkognito Otevřít chat Otevřít nový chat @@ -2468,5 +2468,64 @@ Odstranit zprávy a blokovat členy. koncovým šifrováním.]]> SimpleX relé odkaz - Bez soukromého směrování sezení + Sezení bez soukromého směrování + 4 nové jazyky rozhraní + Přijmout žádost o kontakt + Přijmout žádost o kontakt + Přidat zprávu + Povolit soubory a média pouze pokud, je váš kontakt povolí. + Povolit vašim kontaktům odesílání souborů a médii. + Bio: + Bio příliš velké + Bot + Vy i vaše kontakty můžete posílat soubory a média. + Obchodní spojení + Nelze změnit profil + Katalánština, Indonéština, Rumunština a Vietnamština - díky našim uživatelům! + až bude váš požadavek přijat.]]> + Chat se správci + Chat se členy než se připojí. + Chyba při označení jako přečteno + Otisk adresy cílového serveru neodpovídá certifikátu: %1$s. + Otisk adresy přeposílacího serveru neodpovídá certifikátu: %1$s. + Otisk adresy serveru neodpovídá certifikátu: %1$s. + Chatujte okamžitě po připojení. + požadováno spojení ze skupiny %1$s + požadavek odeslán + Zkontrolovat členy skupiny + Odeslat žádost o kontakt? + Odeslat žádost + Odeslat žádost bez zprávy + Posílání soukromé zpětné vazby do skupin. + Pošlete kontaktu po připojení. + Nastavení bio profilu a uvítací zprávy. + Sdílení staré adresy + Sdílení starého odkazu + Sdílet vaši adresu + Stručný popis: + Krátké SimpleX adresy + Klepněte na Připojte se k chatu + Klepněte na Připojit k odeslání požadavku + Klepněte na Připojit k použití bota + Klepněte na Připojit skupinu + Vypršelo TCP připojení na pozadí + Adresa bude krátká a Váš profil bude sdílen prostřednictvím adresy. + Odkaz bude krátký a profil skupiny bude sdílen prostřednictvím odkazu. + Odesílatel NEBUDE informován. + Toto nastavení je pro váš aktuální profil + Čas mizení, je nastaven pouze pro nové kontakty. + Pro odeslání příkazů musíte být připojen. + Pro použití jiného profilu po pokusu o připojení, smažte chat a znovu použijte odkaz. + Aktualizovat vaši adresu + Povýšení + Povýšit adresu? + Povýšit odkaz skupiny + Povýšit odkaz skupiny? + Uvítací zpráva + Přivítejte vaše kontakty 👋 + Vaše bio: + Váš obchodní kontakt + Váš kontakt + Vaše skupina + Váš profil diff --git a/apps/multiplatform/common/src/commonMain/resources/MR/da/strings.xml b/apps/multiplatform/common/src/commonMain/resources/MR/da/strings.xml index 8b9bb95675..30e557a4e3 100644 --- a/apps/multiplatform/common/src/commonMain/resources/MR/da/strings.xml +++ b/apps/multiplatform/common/src/commonMain/resources/MR/da/strings.xml @@ -715,4 +715,148 @@ Verificier sikkerhedsnummer Brug inkognito -profil Send besked + 4 nye interface -sprog + Tillad kun filer og medier, hvis din kontakt tillader dem. + Lad dine kontakter sende filer og medier. + Udseende + App krypterer nye lokale filer (undtagen videoer). + Appikon + Anvende + Ansøg på + App adgangskode + App adgangskode + App-adgangskode erstattes med selvdestruktionsskode. + App -session + App -tema + App værktøjslinjer + Appopdatering er downloadet + App version + App version: v%s + Arabisk, bulgarsk, finsk, hebraisk, thailandsk og ukrainsk - takket være brugerne og Weblate. + Arkiv og upload + Arkivkontakter for at chatte senere. + Arkiverede kontakter + Arkiveringsdatabase + Spørge + forsøg + Lyd- og videoopkald + lydopkald + lydopkald (ikke E2E krypteret) + Lyd fra + Lyd på + Audio & videoopkald + Audio/videoopkald + Audio/videoopkald er forbudt. + Autentificering annulleret + forfatter + Auto-accept + Auto-accept-kontaktanmodninger + Auto-accept-billeder + \nFås i v5.1 + Tilbage + Baggrund + Dårlig skrivebordsadresse + Dårlig besked hash + Dårlig besked hash + Dårligt besked -id + Dårligt besked -id + Beta + Bedre opkald + Bedre grupper + Bedre grupper ydeevne + Bedre meddelelsesdatoer. + Bedre beskeder + Bedre privatlivets fred og sikkerhed + Bedre sikkerhed ✅ + Bedre brugeroplevelse + Bio: + Bio for stor + Sort + Blok + blokeret + Blokeret af admin + blokeret %s + Blok for alle + Blokergruppemedlemmer + Blok medlem + Blok medlem? + Blokermedlem for alle? + Blokermedlem for alle? + Bluetooth + Sløret + Slør for bedre privatliv. + Slør medier + fed + Bot + Både dig og din kontakt kan tilføje meddelelsesreaktioner. + Både dig og din kontakt kan irreversibelt slette sendte beskeder. (24 timer) + Både dig og din kontakt kan foretage opkald. + Både dig og din kontakt kan sende forsvindende beskeder. + Både dig og din kontakt kan sende filer og medier. + Både dig og din kontakt kan sende stemmemeddelelser. + Forretningsadresse + Forretningschats + Med chatprofil (standard) eller ved forbindelse (beta). + Ved at bruge simplex chat accepterer du:\n- Send kun lovligt indhold i offentlige grupper.\n- Respekter andre brugere - ingen spam. + Opkald allerede afsluttet! + Opkald sluttede + Opkald sluttede %1$s + Opkaldsfejl + Ringer … + ring i gang + Ring i gang + Opkald + Opkald på låseskærmen: + Kalder forbudt! + Kamera + Kamera + Kamera og mikrofon + Kamera ikke tilgængeligt + Annuller + Annulleret %s + Annuller linkeksempel + Annuller live -meddelelsen + Annuller migration + Kan ikke få adgang til Keystore for at gemme databaseadgangskode + Kan ikke ringe til kontakten + Kan ikke ringe til gruppemedlem + Kan ikke ændre profil + Kan ikke invitere kontakt! + Kan ikke invitere kontakter! + Kan ikke sende besked til gruppemedlem + Katalansk, indonesisk, rumænsk og vietnamesisk - takket være vores brugere! + med kun en kontakt - Del personligt eller via enhver messenger.]]> + ende-til-ende krypteret med sikkerhed efter kvantet i direkte meddelelser.]]> + for hver chatprofil, du har i appen.]]> + til hvert kontakt- og gruppemedlem.\n Bemærk : Hvis du har mange forbindelser, kan dit batteri og trafikforbrug være væsentligt højere, og nogle forbindelser kan mislykkes.]]> + Tilføj kontakt: Sådan opretter du et nyt invitationslink eller opretter forbindelse via et link, du har modtaget.]]> + Bedst til batteri. Du modtager kun meddelelser, når appen løber (ingen baggrundstjeneste).]]> + Opret gruppe: At oprette en ny gruppe.]]> + godt til batteri . App kontrollerer meddelelser hvert 10. minut. Du kan gå glip af opkald eller presserende beskeder.]]> + Bemærk: Meddelelse og filrelæer er tilsluttet via SOCKS -proxy. Opkald og afsendelse af link -forhåndsvisninger Brug direkte forbindelse.]]> + Bemærk : Brug af den samme database på to enheder vil bryde dekryptering af meddelelser fra dine forbindelser som en sikkerhedsbeskyttelse.]]> + Bemærk : Du vil ikke være i stand til at gendanne eller ændre adgangskode, hvis du mister den.]]> + bruger mere batteri ! App løber altid i baggrunden - underretninger vises øjeblikkeligt.]]> + ADVARSEL : Arkivet slettes.]]> + Forbinde + Forbind automatisk + Opret forbindelse direkte? + tilsluttet + tilsluttet + tilsluttet + Tilsluttet + Forbundet desktop + Forbundet mobil + Forbundet servere + Forbundet til desktop + Forbundet til mobil + Forbind hurtigere! 🚀 + Tilslutning + Forbindelse… + Forbindelse + Forbindelse (accepteret) + Forbindelse (annonceret) + Tilslutning af opkald … + Tilslutning af opkald + Tilslutning (introduceret) diff --git a/apps/multiplatform/common/src/commonMain/resources/MR/de/strings.xml b/apps/multiplatform/common/src/commonMain/resources/MR/de/strings.xml index 439ef2e3c5..88e442f136 100644 --- a/apps/multiplatform/common/src/commonMain/resources/MR/de/strings.xml +++ b/apps/multiplatform/common/src/commonMain/resources/MR/de/strings.xml @@ -77,8 +77,8 @@ Fehler beim Löschen der ausstehenden Kontaktaufnahme Fehler beim Wechseln der Empfängeradresse Der Test ist beim Schritt %s fehlgeschlagen. - Um Warteschlangen zu erzeugen, benötigt der Server eine Authentifizierung. Bitte überprüfen Sie das Passwort. - Der Fingerabdruck des Zertifikats in der Serveradresse ist wahrscheinlich ungültig. + Der Server erfordert zum Erstellen von Warteschlangen eine Autorisierung. Bitte überprüfen Sie das Passwort. + Fingerabdruck in der Serveradresse stimmt nicht mit dem Zertifikat überein. Verbinde Erzeuge Warteschlange Sichere Warteschlange @@ -1097,7 +1097,7 @@ Host Fehler beim Speichern der XFTP-Server Fehler beim Laden der SMP-Server - Bitte das Passwort überprüfen – für den Upload benötigt der Server eine Berechtigung + Der Server erfordert zum Hochladen eine Autorisierung. Bitte überprüfen Sie das Passwort. Datei herunterladen Datei vergleichen Datei löschen @@ -1652,8 +1652,8 @@ Private Notizen Es werden alle Nachrichten gelöscht. Dies kann nicht rückgängig gemacht werden! Private Notizen entfernen? - es wurde %s blockiert - Es wurden %s freigegeben + hat %s blockiert + hat %s freigegeben Sie haben %s blockiert Sie haben %s freigegeben Mitglied für Alle blockieren? @@ -1665,7 +1665,7 @@ Für Alle freigeben Mitglied für Alle freigeben? wurde blockiert - ist vom Administrator blockiert worden + wurde vom Administrator blockiert wurde vom Administrator blockiert Für Alle blockiert Erstellt um @@ -2500,7 +2500,7 @@ Sie haben die Gruppe verlassen Kontakt deaktiviert Nicht synchronisiert - Fehler beim Löschen des Chats mit dem Mitglied + Fehler beim Löschen des Chats Kontakt nicht bereit Sie können keine Nachrichten senden! Chat löschen @@ -2606,5 +2606,8 @@ Verbinden tippen, um den Bot zu nutzen. Um Befehle senden zu können, müssen Sie verbunden sein. SimpleX Relais-Link - Fehler beim Versuch, den Chat mit einem Mitglied als gelesen zu markieren + Fehler beim Markieren als gelesen + Fingerabdruck in der Zielserveradresse stimmt nicht mit dem Zertifikat überein: %1$s. + Fingerabdruck in der Weiterleitungsserveradresse stimmt nicht mit dem Zertifikat überein: %1$s. + Fingerabdruck in der Serveradresse stimmt nicht mit dem Zertifikat überein: %1$s. diff --git a/apps/multiplatform/common/src/commonMain/resources/MR/el/strings.xml b/apps/multiplatform/common/src/commonMain/resources/MR/el/strings.xml index 2d27bb3592..9e38019c8b 100644 --- a/apps/multiplatform/common/src/commonMain/resources/MR/el/strings.xml +++ b/apps/multiplatform/common/src/commonMain/resources/MR/el/strings.xml @@ -29,7 +29,7 @@ πάντα Αποδοχή Επιτρέψτε τα μηνύματα που εξαφανίζονται μόνο εάν το επιτρέπει η επαφή σας. - Επιτρέψτε στις επαφές σας να διαγράφουν μη αναστρέψιμα τα απεσταλμένα μηνύματα. + Επιτρέψτε στις επαφές σας να διαγράφουν μη αναστρέψιμα τα απεσταλμένα μηνύματα. (24 ώρες) Επιτρέψτε στις επαφές σας να στέλνουν μηνύματα που εξαφανίζονται. Επιτρέπονται τα φωνητικά μηνύματα μόνο εάν τα επιτρέπει η επαφή σας. Επιτρέψτε στις επαφές σας να σας καλέσουν. @@ -48,9 +48,9 @@ Οι διαχειριστές μπορούν να δημιουργήσουν τους συνδέσμους συμμετοχής σε ομάδες. Όλες οι συνομιλίες και τα μηνύματα θα διαγραφούν - αυτή η ενέργεια δεν μπορεί να αντιστραφεί! Όλα τα μηνύματα θα διαγραφούν - αυτή η ενέργεια δεν μπορεί να αντιστραφεί! Τα μηνύματα θα διαγραφούν ΜΟΝΟ για εσάς. - Επιτρέψτε τη μη αναστρέψιμη διαγραφή μηνυμάτων μόνο εάν σας το επιτρέπει η επαφή σας. + Επιτρέψτε τη μη αναστρέψιμη διαγραφή μηνυμάτων μόνο εάν το επιτρέπει η επαφή σας. (24 ώρες) Επιτρέπονται οι κλήσεις μόνο εάν η επαφή σας τις επιτρέπει. - Επιτρέψτε τη μη αναστρέψιμη διαγραφή των απεσταλμένων μηνυμάτων. + Επιτρέψτε τη μη αναστρέψιμη διαγραφή των απεσταλμένων μηνυμάτων. (24 ώρες) Να επιτρέπονται τα φωνητικά μηνύματα; Πάντα ενεργό Να χρησιμοποιείται πάντα αναμεταδότη @@ -230,7 +230,7 @@ Η αλλαγή διεύθυνσης θα ακυρωθεί. Θα χρησιμοποιηθεί η παλιά διεύθυνση παραλαβής. Ενεργές συνδέσεις Προχωρημένες ρυθμίσεις - Πρόσθετη προφορά + Πρόσθετος τόνος Προσθήκη επαφής Διακοπή αλλαγής διεύθυνσης Προχωρημένες ρυθμίσεις @@ -395,4 +395,46 @@ Καλύτερο για τη ζωή της μπαταρίας . Θα λαμβάνετε ειδοποιήσεις μόνο όταν εκτελείται η εφαρμογή (ΧΩΡΙΣ υπηρεσία παρασκηνίου).]]> Beta Καλύτερες κλήσεις + %1$d σφάλμα/τα αρχείου/ων:\n%2$s + 1 συζήτηση με ένα μέλος + 1 αναφορά + 1 χρόνος + Σχετικά με χειρηστές + Αποδοχή + Αποδοχή + Αποδοχή ως μέλος + Αποδοχή ως παρατηρητής + Αποδοχή όρων + Αποδοχή αιτήματος επαφής + Αποδοχή αιτήματος επαφής + αποδέχτηκε %1$s + Αποδεχούμενοι όροι + αποδέχτηκε τη πρόσκληση + σε αποδέχτηκε + Αποδοχή μέλους + Προστέθηκαν διακομιστές πολυμέσων και αρχείων + Προστέθηκε διακομιστής μυνημάτων + Προσθήκη φίλων + Πρόσθετος τόνος 2 + Προσθήκη λίστας + Προσθήκη μυνήματος + Διεύθυνση ή σύνδεσμος μιας χρήσης; + Ρυθμίσεις διεύθυνσης + Προσθήκη μέλη ομάδας + Προσθήκη στην λίστα + Πρόσθεσε τα μέλη της ομάδας σου στις συνομιλίες. + όλα + Όλα + Όλες οι συζητήσεις θα διαγραφτούν απο την λίστα %s, και η λίστα θα διαγραφτεί + Όλα τα καινούργια μυνήματα από αυτά τα μέλη θα είναι κρυμμένα! + Επιτρέψτε τα αρχεία και πολυμέσα μόνο αν η επαφή σου το επιτρέπει. + Επιτρέψτε την αναφορά μυνημάτων στους διαχειριστές. + Επιτρέψτε τις επαφές σας να σας στέλνουν αρχεία και πολυμέσα. + Όλες η αναφορές θα αρχειοθετηθούν για εσένα. + Όλοι οι διακομιστές + Άλλος λόγος + Η εφαρμογή πάντα να τρέχει στο παρασκήνιο + Αρχειοθέτηση + Αρχειοθέτηση όλων των αναφορών; + αρχειοθετημένη αναφορά diff --git a/apps/multiplatform/common/src/commonMain/resources/MR/es/strings.xml b/apps/multiplatform/common/src/commonMain/resources/MR/es/strings.xml index 811ba5533e..331d1a6533 100644 --- a/apps/multiplatform/common/src/commonMain/resources/MR/es/strings.xml +++ b/apps/multiplatform/common/src/commonMain/resources/MR/es/strings.xml @@ -329,7 +329,7 @@ Archivo: %s ¡Error al cambiar perfil! Añadir manualmente - Cómo usar los servidores + Cómo usar tus servidores Error al parar SimpleX Introduce la contraseña correcta. Introduce la contraseña… @@ -571,7 +571,7 @@ Establecer una conexión privada Comprueba tu conexión de red con %1$s e inténtalo de nuevo. El remitente puede haber eliminado la solicitud de conexión. - Posiblemente la huella del certificado en la dirección del servidor es incorrecta + La huella en la dirección del servidor no coincide con el certificado. Responder Guardar contraseña en Keystore Error al restaurar base de datos @@ -748,11 +748,11 @@ Para proteger tu información, activa el Bloqueo SimpleX. \nSe te pedirá que completes la autenticación antes de activar esta función. Para actualizar la configuración el cliente se reconectará a todos los servidores. - ¿Usar servidores SimpleX Chat\? + ¿Usar servidores de SimpleX Chat? Enlace de grupo SimpleX Invitación SimpleX de un uso Enlaces SimpleX - El servidor requiere autorización para crear colas, comprueba la contraseña + El servidor requiere autorización para crear colas, comprueba la contraseña. Para recibir notificaciones, introduce la contraseña de la base de datos Llamadas de chat SimpleX Cíclico @@ -937,7 +937,7 @@ Tu servidor Dirección de tu servidor Tu perfil actual - Tu perfil se almacena en tu dispositivo y sólo se comparte con tus contactos. Los servidores SimpleX no pueden ver tu perfil. + Tu perfil se almacena en tu dispositivo y se comparte sólo con tus contactos. Los servidores SimpleX no pueden ver tu perfil. Sistema Añadir mensaje de bienvenida Llamadas y videollamadas @@ -1016,7 +1016,7 @@ Error al cargar servidores XFTP Error al cargar servidores SMP Asegúrate de que las direcciones del servidor XFTP tienen el formato correcto, están separadas por líneas y no están duplicadas. - El servidor requiere autorización para subir, comprueba la contraseña + El servidor requiere autorización para subir, comprueba la contraseña. Comparar archivo Crear archivo Eliminar archivo @@ -2132,7 +2132,7 @@ Operador Servidores predefinidos Revisar condiciones - %s servidores + Servidores %s Las condiciones serán aceptadas el: %s. Condiciones de uso Para enrutamiento privado @@ -2166,7 +2166,7 @@ Sin servidores para recibir mensajes. Servidor del operador O para compartir en privado - Selecciona los operadores de red a utilizar + Selecciona operadores a usar. Compartir dirección públicamente Compartir enlaces de un solo uso y direcciones SimpleX es seguro a través de cualquier medio. Actualizar @@ -2402,7 +2402,7 @@ Admisión de miembros el miembro usa una versión antigua Sin chats - Error al eliminar el chat con el miembro + Error al eliminar el chat %d chats con miembros %d mensajes un chat con miembro @@ -2531,5 +2531,8 @@ Limpiar enlaces de seguimiento Abrir enlace completo Enlace de servidor SimpleX - Error al marcar el chat con miembro como leído + Error al marcar como leído + La huella en la dirección del servidor no coincide con el certificado: %1$s. + La huella en la dirección del servidor de destino no coincide con el certificado: %1$s. + La huella en la dirección del servidor de reenvío no coincide con el certificado: %1$s. diff --git a/apps/multiplatform/common/src/commonMain/resources/MR/fa/strings.xml b/apps/multiplatform/common/src/commonMain/resources/MR/fa/strings.xml index 2625baa5b1..eba31ba788 100644 --- a/apps/multiplatform/common/src/commonMain/resources/MR/fa/strings.xml +++ b/apps/multiplatform/common/src/commonMain/resources/MR/fa/strings.xml @@ -119,8 +119,8 @@ خطا در لغو تغییر نشانی خطا در انطباق زمانی اتصال آزمایش در گام %s ناموفق بود. - سرور برای بارگذازی به اجازه نیاز دارد، گذرواژه را بررسی کنید - احتمال دارد اثر انگشت گواهینامه در نشانی سرور نادرست باشد + سرور برای بارگذاری نیاز به مجوز دارد، گذرواژه را بررسی کنید. + اثر انگشت در نشانی سرور با گواهی مطابقت ندارد. ایجاد صف بارگذاری فایل بارگیری فایل @@ -140,7 +140,7 @@ صف امن حذف صف ایجاد فایل - سرور برای ایجاد صف داده‌ها به اجازه نیاز دارد، گذرواژه را بررسی کنید + سرور برای ایجاد صف‌ها نیاز به مجوز دارد، گذرواژه را بررسی کنید. مگر اینکه مخاطبتان اتصال را حذف کرده یا این لینک قبلا استفاده شده باشد، ممکن است این یک اشکال باشد - لطفا آن را گزارش دهید. \nبرای متصل شدن، لطفا از مخاطبتان بخواهید لینک اتصال دیگری ایجاد کند و بررسی کنید که اتصال شبکه باثباتی دارید. عملکرد کند @@ -998,7 +998,7 @@ شما را حذف کرد رمزنگاری مورد توافق قرار گرفت ناظر - عضو پیشین %1$s + اعضا %1$s بسط دادن انتخاب نقش عبارت عبور رمزنگاری پایگاه داده به‌روز خواهد شد. درخواست اتصال کرد @@ -1938,7 +1938,7 @@ خطا در فوروارد کردن پیام‌ها خطا در ایجاد گزارش خطا در پذیرفتن عضو - خطا در پاک کردن چت با عضو + خطا در حذف کردن چت پیوند اتصال پشتیبانی‌نشده این پیوند به نسخه جدیدتری از برنامه نیاز دارد. لطفاً برنامه را به‌روزرسانی کنید یا از مخاطب خود بخواهید پیوند سازگاری بفرستد. اتصال مسدود شد @@ -2528,4 +2528,8 @@ فقط مخاطب شما می‌تواند فایل‌ها و رسانه‌ها را ارسال کند. ارسال فایل‌ها و رسانه‌ها در این چت ممنوع است. پل ارتباطی سیمپلکس + خطا در علامت گذاری به عنوان خوانده شده + اثر انگشت در نشانی سرور مقصد با گواهی مطابقت ندارد: ‎%1$s. + اثر انگشت در نشانی سرور انتقال با گواهی مطابقت ندارد: ‎%1$s. + اثر انگشت در نشانی سرور با گواهی مطابقت ندارد: ‎%1$s. diff --git a/apps/multiplatform/common/src/commonMain/resources/MR/hu/strings.xml b/apps/multiplatform/common/src/commonMain/resources/MR/hu/strings.xml index b75847d8ba..aa413a3422 100644 --- a/apps/multiplatform/common/src/commonMain/resources/MR/hu/strings.xml +++ b/apps/multiplatform/common/src/commonMain/resources/MR/hu/strings.xml @@ -1289,7 +1289,7 @@ A partnereinek online kell lennie ahhoz, hogy a kapcsolat létrejöjjön.\nVisszavonhatja ezt a kapcsolatot és eltávolíthatja a partnert (ezt később ismét megpróbálhatja egy új hivatkozással). A jelmondat nem található a Keystore-ban, ezért kézzel szükséges megadni. Ez akkor történhetett meg, ha visszaállította az alkalmazás adatait egy biztonsági mentési eszközzel. Ha nem így történt, akkor lépjen kapcsolatba a fejlesztőkkel. A partnerei továbbra is kapcsolódva maradnak. - A kiszolgálónak hitelesítésre van szüksége a feltöltéshez, ellenőrizze jelszavát + A kiszolgálónak hitelesítésre van szüksége a feltöltéshez, ellenőrizze a jelszavát. Az adatbázis nem működik megfelelően. Koppintson ide a további információkért A fájl küldése le fog állni. Kapcsolódási kísérlet ahhoz a kiszolgálóhoz, amely az adott partnerétől érkező üzenetek fogadására szolgál. @@ -1305,9 +1305,9 @@ Az alkalmazás 1 perc után bezárható a háttérben. Ön meghívást kapott a csoportba Engedélyezze a következő párbeszédpanelen az azonnali értesítések fogadásához.]]> - A kiszolgálónak engedélyre van szüksége a várólisták létrehozásához, ellenőrizze a jelszavát + A kiszolgálónak engedélyre van szüksége a várólisták létrehozásához, ellenőrizze a jelszavát. Kapcsolódni fog a csoport összes tagjához. - Lehetséges, hogy a kiszolgáló címében szereplő tanúsítvány-ujjlenyomat helytelen + A kiszolgáló címében szereplő ujjlenyomat nem egyezik a tanúsítvánnyal. A biztonsága érdekében kapcsolja be a SimpleX-zár funkciót.\nA funkció bekapcsolása előtt a rendszer felszólítja a képernyőzár beállítására az eszközén. A videó akkor érkezik meg, amikor a küldője elérhető lesz, várjon, vagy ellenőrizze később! Ellenőrizze a hálózati kapcsolatát vele: %1$s, és próbálja újra. @@ -2502,4 +2502,5 @@ Hiba a csevegés olvasottként való megjelölésekor A célkiszolgáló címében szereplő ujjlenyomat nem egyezik a tanúsítvánnyal: %1$s. A továbbítókiszolgáló címében szereplő ujjlenyomat nem egyezik a tanúsítvánnyal: %1$s. + A kiszolgáló címében szereplő ujjlenyomat nem egyezik a tanúsítvánnyal: %1$s. diff --git a/apps/multiplatform/common/src/commonMain/resources/MR/in/strings.xml b/apps/multiplatform/common/src/commonMain/resources/MR/in/strings.xml index 13b08e42c5..969e55964a 100644 --- a/apps/multiplatform/common/src/commonMain/resources/MR/in/strings.xml +++ b/apps/multiplatform/common/src/commonMain/resources/MR/in/strings.xml @@ -112,7 +112,7 @@ Tampilan macet Anda membagikan lokasi file yang tidak valid. Laporkan masalah ini ke pengembang aplikasi. galat - Tautan sekali + Tautan 1-kali %1$d pesan yang terlewati %1$d pesan yang dilewati %s tidak didukung. Harap pastikan kamu menggunakan versi yang sama pada kedua perangkat.]]> @@ -768,19 +768,19 @@ koneksi %1$d koneksi terjalin menghubungkan… - Anda bagikan tautan sekali - Anda bagikan tautan sekali samaran + Anda bagikan tautan 1-kali + Anda bagikan tautan samaran 1-kali via tautan grup samaran via tautan grup via tautan alamat kontak samaran via tautan alamat kontak - via tautan sekali + via tautan 1-kali Alamat kontak SimpleX - samaran via tautan sekali + samaran via tautan 1-kali Tautan lengkap Tautan grup SimpleX Tautan SimpleX - Undangan sekali SimpleX + Undangan 1-kali SimpleX via %1$s Gagal simpan server XFTP Nama tampilan tidak valid! @@ -1151,7 +1151,7 @@ Harap periksa apakah tautan yang digunakan benar atau minta kontak Anda untuk kirim tautan lain. Gagal menerima permintaan kontak Galat - Mungkin sidik jari sertifikat di alamat server salah + Sidik jari pada alamat server tidak cocok dengan sertifikat. Gagal mengatur alamat Gagal hapus profil pengguna Hapus antrian @@ -1193,7 +1193,7 @@ Gagal memuat obrolan Nama tampilan ini tidak valid. Silakan pilih nama lain. Pengirim mungkin telah hapus permintaan koneksi. - Server perlu otorisasi untuk membuat antrian, periksa kata sandi + Server perlu otorisasi untuk membuat antrean, periksa kata sandi. Gagal menghapus permintaan kontak Gagal menghapus koneksi kontak tertunda Gagal mengubah alamat @@ -1262,7 +1262,7 @@ Server tak dikenal! Kecuali kontak Anda hapus koneksi atau tautan ini sudah digunakan, mungkin ini adalah bug - harap laporkan.\nUntuk terhubung, harap minta kontak Anda untuk buat tautan koneksi lain dan periksa apakah Anda memiliki koneksi jaringan stabil. Gagal sinkronkan koneksi - Server perlu otorisasi untuk mengunggah, periksa kata sandi + Server perlu otorisasi untuk mengunggah, periksa kata sandi. Buat antrian Dapat dimatikan melalui pengaturan – notifikasi akan tetap ditampilkan saat aplikasi berjalan.]]> SimpleX berjalan di latar belakang alih-alih gunakan notifikasi push.]]> @@ -1340,7 +1340,7 @@ Ketentuan akan diterima pada: %s. Koneksi Peran - Ganti rol + Ganti peran Profil obrolan Anda akan dikirim ke anggota grup Profil obrolan Anda akan dikirim ke anggota obrolan Profil grup disimpan di perangkat anggota, bukan di server. @@ -1411,7 +1411,7 @@ Peningkatan basis data Konfirmasi peningkatan basis data Turunkan dan buka obrolan - mengubah hak %s menjadi %s + mengubah peran %s menjadi %s Dihapus pada: %s Hapus profil %1$s!]]> @@ -1491,7 +1491,7 @@ Anda dapat konfigurasi operator di pengaturan Jaringan dan server. Kesalahan basis data Frasa sandi basis data berbeda dengan yang disimpan di Keystore. - Ubah hak grup? + Ubah peran grup? %s.]]> Ketentuan Penggunaan %s.]]> @@ -1554,7 +1554,7 @@ Ketika lebih dari satu operator diaktifkan, tidak satupun dari mereka memiliki metadata untuk mengetahui siapa yang berkomunikasi. Obrolan sedang berjalan Basis data akan dienkripsi dan frasa sandi disimpan di Keystore. - mengubah hak Anda jadi %s + mengubah peran Anda jadi %s mengubah alamat… mengubah alamat untuk %s… ID basis data: %d @@ -1670,7 +1670,7 @@ Gagal kirim undangan Undang Status berkas - Gagal ganti hak + Gagal ganti peran Gagal hapus anggota Samaran Mode samaran melindungi privasi Anda dengan menggunakan profil acak baru untuk setiap kontak. @@ -1713,7 +1713,7 @@ Grup tidak aktif Undangan kedaluwarsa! profil grup diperbarui - Hak awal + Peran awal Gagal membuat tautan grup Gagal hapus tautan grup Gagal perbarui tautan grup @@ -1761,7 +1761,7 @@ Nama lengkap: Untuk melanjutkan, obrolan harus dihentikan. negosiasi ulang enkripsi diperlukan untuk %s - Perluas pemilihan hak + Perluas pemilihan peran Ditemukan desktop Gagal simpan pengaturan enkripsi ok untuk %s @@ -2069,8 +2069,8 @@ Anda dapat ubah di pengaturan Tampilan. Grup ini tidak ada lagi. Anda menolak undangan grup - Anda mengubah hak Anda menjadi %s - Anda mengubah hak %s menjadi %s + Anda mengubah peran Anda menjadi %s + Anda mengubah peran %s menjadi %s Lihat ketentuan Server untuk berkas baru dari profil obrolan Anda saat ini Perbarui aplikasi secara otomatis @@ -2081,7 +2081,7 @@ Anda sudah terhubung melalui tautan 1-kali ini! Gunakan dari desktop Tindakan ini tidak dapat dibatalkan - semua berkas dan media yang diterima dan dikirim akan dihapus. Gambar beresolusi rendah akan tetap ada. - Hak akan diubah menjadi %s. Semua orang dalam grup akan diberitahu. + Peran akan diubah menjadi %s. Semua orang dalam grup akan diberitahu. Basis data obrolan Anda tidak dienkripsi - setel frasa sandi untuk melindunginya. Anda diundang ke grup Menunggu ponsel terhubung: @@ -2121,7 +2121,7 @@ Anda mengubah alamat untuk %s profil grup diperbarui %s, %s dan %s terhubung - Hak akan diubah menjadi %s. Semua orang dalam obrolan akan diberitahu. + Peran akan diubah menjadi %s. Semua orang dalam obrolan akan diberitahu. minggu Gagal unggah Mengunggah arsip @@ -2174,7 +2174,7 @@ Server SMP Profil obrolan Anda akan dikirim\nke kontak Anda Bagikan alamat - Hak akan diubah menjadi %s. Anggota akan menerima undangan baru. + Peran akan diubah menjadi %s. Anggota akan menerima undangan baru. Perbarui pengaturan jaringan? Ketuk untuk aktifkan profil. Mulai dari %s. @@ -2388,7 +2388,7 @@ Tinjau anggota sebelum menerima (mengetuk) Mengobrol dengan pengurus semua - Ada kesalahan saat menghapus obrolan dengan anggota + Gagal hapus obrolan Laporan telah dikirim ke pengurus Anda tidak dapat mengirim pesan! kontak telah dihapus @@ -2503,4 +2503,8 @@ Tingkatkan tautan grup? Gunakan profil samaran Pesan sambutan + Gagal menandai dibaca + Sidik jari di alamat server tujuan tidak cocok dengan sertifikat: %1$s. + Sidik jari pada alamat server penerusan tidak cocok dengan sertifikat: %1$s. + Sidik jari di alamat server tidak cocok dengan sertifikat: %1$s. diff --git a/apps/multiplatform/common/src/commonMain/resources/MR/it/strings.xml b/apps/multiplatform/common/src/commonMain/resources/MR/it/strings.xml index eadd5672b2..22b8fe6b0a 100644 --- a/apps/multiplatform/common/src/commonMain/resources/MR/it/strings.xml +++ b/apps/multiplatform/common/src/commonMain/resources/MR/it/strings.xml @@ -73,7 +73,7 @@ Errore di eliminazione della connessione del contatto in attesa Errore cambiando l\'indirizzo Test fallito al passo %s. - Il server richiede l\'autorizzazione di creare code, controlla la password + Il server richiede l\'autorizzazione di creare code, controlla la password. Connetti Crea coda Coda sicura @@ -210,7 +210,7 @@ Sei già connesso a %1$s. A meno che il tuo contatto non abbia eliminato la connessione o che questo link non sia già stato usato, potrebbe essere un errore; per favore segnalalo. \nPer connetterti, chiedi al tuo contatto di creare un altro link di connessione e controlla di avere una connessione di rete stabile. - Probabilmente l\'impronta del certificato nell\'indirizzo del server è sbagliata + L\'impronta digitale nell\'indirizzo del server non corrisponde al certificato. SimpleX funziona in secondo piano invece di usare le notifiche push.]]> Consentilo nella prossima schermata per ricevere le notifiche immediatamente.]]> Servizio SimpleX Chat @@ -1015,7 +1015,7 @@ In attesa del video Errore nel caricamento dei server XFTP Errore nel salvataggio dei server XFTP - Il server richiede l\'autorizzazione per l\'invio, controlla la password + Il server richiede l\'autorizzazione per l\'invio, controlla la password. Confronta file Crea file Scarica file @@ -2437,7 +2437,7 @@ Eliminare la chat con il membro? Rifiutare il membro? Elimina chat - Errore di eliminazione della chat con il membro + Errore di eliminazione della chat Aggiorna l\'indirizzo Accetta la richiesta di contatto Aggiungi un messaggio @@ -2535,5 +2535,8 @@ Apri link completo Rimuovi il tracciamento del link Link del relay SimpleX - Errore nel segnare la chat con il membro come letta + Errore nel segnare la lettura + L\'impronta digitale nell\'indirizzo del server di destinazione non corrisponde al certificato: %1$s. + L\'impronta digitale nell\'indirizzo del server di inoltro non corrisponde al certificato: %1$s. + L\'impronta digitale nell\'indirizzo del server non corrisponde al certificato: %1$s. diff --git a/apps/multiplatform/common/src/commonMain/resources/MR/lv/strings.xml b/apps/multiplatform/common/src/commonMain/resources/MR/lv/strings.xml new file mode 100644 index 0000000000..66d29971d7 --- /dev/null +++ b/apps/multiplatform/common/src/commonMain/resources/MR/lv/strings.xml @@ -0,0 +1,2504 @@ + + + 1 minūte + 1 mēnesis + tūkst. + Vai izveidot savienojumu, izmantojot vienreizēju saiti? + Pievienoties grupai? + Izmantot pašreizējo profilu + Izmantot jaunu inkognito profilu + Izmantot inkognito profilu + Jūsu profils tiks nosūtīts kontaktpersonai, no kuras saņēmāt šo saiti. + Jūs pievienosities visiem grupas dalībniekiem. + Pievienoties + Atvērt tērzēšanu + Atvērt jaunu tērzēšanu + Atvērt grupu + Atvērt jaunu grupu + Nederīga saite + Lūdzu, pārbaudiet, vai SimpleX saite ir pareiza. + Tiek atvērta datubāze… + Notiek datubāzes migrācija.\nTas var aizņemt dažas minūtes. + Nederīgs faila ceļš + Jūs kopīgojāt nederīgu faila ceļu. Ziņojiet par problēmu lietotnes izstrādātājiem. + Skats pārstāja darboties + savienots + kļūda + notiek savienošana + Jūs esat izveidojis savienojumu ar serveri, kas tiek izmantots ziņojumu saņemšanai no šīs kontaktpersonas. + Tiek mēģināts izveidot savienojumu ar serveri, kas tiek izmantots ziņojumu saņemšanai no šīs kontaktpersonas (kļūda: %1$s). + Mēģina izveidot savienojumu ar serveri, kas tiek izmantots ziņojumu saņemšanai no šīs kontaktpersonas. + izdzēsts + atzīmēts kā izdzēsts + %d ziņojumi atzīmēti kā izdzēsti + moderē %s + %1$d ziņojumus moderē %2$s + To redzat tikai Jūs un moderatori + 1 diena + 1 nedēļa + 1 gads + 30 sekundes + 4 jaunas saskarnes valodas + 5 minūtes + 6 jaunas saskarnes valodas + a + b + Pārtraukt + Atcelt adreses maiņu + Vai atcelt adreses maiņu? + bloķēts + bloķējis administrators + %d ziņojumi bloķēti + Administrators bloķējis %d ziņojumus + failu sūtīšana vēl netiek atbalstīta + failu saņemšana vēl netiek atbalstīta + Jūs + pārsūtīts + saglabāts + saglabāts no %s + nederīga tērzēšana + nederīgi dati + kļūda, rādot ziņojumu + kļūda, rādot saturu + Atšifrēšanas kļūda + Šifrēšanas atkārtotas saskaņošanas kļūda + Šī tērzēšana ir aizsargāta ar pilnīgu šifrēšanu. + Šo tērzēšanu aizsargā kvantu izturīga pilnīga šifrēšana. + Privātās piezīmes + pieprasīts savienojums + pieņemts ielūgums + savienojas… + Jūs kopīgojāt vienreizēju saiti + Pilnā saite + Saites atvēršana pārlūkprogrammā var samazināt savienojuma privātumu un drošību. Neuzticamas SimpleX saites būs sarkanas. + uzaicināts pievienoties + Savienoties, izmantojot kontaktpersonas saiti + Savienoties, izmantojot saiti inkognito režīmā + Ziņot par vienuma redzamību moderatoriem + Ziņot par vienuma arhivēšanu + Ziņot par vienuma arhivēšanu, ko veica + Nezināms ziņojuma formāts + Nederīgs ziņojuma formāts + Tiešraide + Moderēts apraksts + E2ee Info E2ee + E2ee Info No Pq + E2ee Info Pq + Savienojuma lokālais displeja vārds + Displeja vārds Savienojums izveidots + Apraksts Jūs kopīgojāt vienreizējo saiti inkognito režīmā + Apraksts Izmantojot grupas saiti + Apraksts Izmantojot grupas saiti inkognito režīmā + Apraksts Izmantojot kontaktadreses saiti + Apraksts Izmantojot kontaktadreses saiti inkognito režīmā + Apraksts, izmantojot vienreizēju saiti + Apraksts, izmantojot vienreizēju saiti inkognito režīmā + Simplex saites kontakts + Simplex saites uzaicinājums + Simplex saites grupa + Simplex saites kanāls + Simplex saites relejs + Simplex saites savienojums + Simplex saites režīms + Simplex saites režīma apraksts + Simplex Link Mode Pārlūkprogramma + Ziņošanas iemesls: Spams + Ziņošanas iemesls: Nelegāls saturs + Ziņošanas iemesls: Kopienas noteikumu pārkāpums + Ziņošanas iemesls: Profils + Ziņošanas iemesls: Cits + Kļūda, saglabājot Smp serverus + Kļūda, saglabājot Xftp serverus + Pārliecinieties, vai Smp serveru adreses ir pareizā formātā un unikālas + Pārliecinieties, vai Xftp serveru adreses ir pareizā formātā un unikālas + Kļūda ielādējot Smp serverus + Kļūda ielādējot Xftp serverus + Kļūda iestatot tīkla konfigurāciju + Neizdevās parsēt čata nosaukumu + Neizdevās parsēt čatu nosaukumus + Sazinieties ar izstrādātājiem + Neizdevās izveidot lietotāju + Neizdevās izveidot lietotāju (dublikāts) + Neizdevās izveidot lietotāju (dublikāts) + Neizdevās izveidot lietotāju (nepareizs) + Neizdevās izveidot lietotāju, nederīgs apraksts + Neizdevās aktivizēt lietotāju + Neizdevās saglabāt serverus + Nav konfigurēti ziņojumu serveri + Nav konfigurēti ziņojumu serveri saņemšanai + Nav konfigurēti ziņojumu serveri privātai maršrutēšanai + Nav konfigurēti mediju serveri + Nav konfigurēti mediju serveri sūtīšanai + Nav konfigurēti mediju serveri privātai maršrutēšanai + Čata profilam + Kļūdas serveru konfigurācijā + Kļūda, pieņemot operatora nosacījumus + Bloķēšanas iemesls: spams + Bloķēšanas iemesls: saturs + Savienojuma taimauts + Savienojuma kļūda + Tīkla kļūda: nezināms CA + Tīkla kļūdas apraksts + Tīkla kļūda: brokera resursdatora apraksts + Tīkla kļūda: brokera versijas apraksts + Privātās maršrutēšanas taimauts + Privātās maršrutēšanas kļūda + Privātās maršrutēšanas sesijas nav + Smp Proxy kļūda, nezināms CA + Smp Proxy kļūda, savienojuma izveide + Smp Proxy kļūda, brokera resursdators + Smp Proxy kļūda, brokera versija + Proxy galamērķa kļūda, nezināms CA + Proxy galamērķa kļūda, neizdevās izveidot savienojumu + Proxy galamērķa kļūda, brokera resursdators + Proxy Destination Error Broker Version + Lūdzu, mēģiniet vēlāk + Kļūda, sūtot ziņojumu + Kļūda, pārsūtot ziņojumus + Kļūda, veidojot ziņojumu + Kļūda, veidojot atskaiti + Kļūda, ielādējot detaļas + Kļūda, pievienojot dalībniekus + Kļūda, pievienojoties grupai + Kļūda, apstiprinot dalībnieku + Kļūda, atzīmējot dalībnieka atbalsta čatu kā lasītu + Kļūda, dzēšot dalībnieka atbalsta čatu + Nevar saņemt failu + Sūtītājs atcēla faila pārsūtīšanu + Fails Nav Apstiprināts (Nosaukums) + Fails Nav Apstiprināts (Apraksts) + %d Citas Failu Kļūdas + Kļūda, saņemot failu + %d Failu Kļūdas + Kļūda, veidojot adresi + Kontakts jau eksistē + Jūs jau esat savienots ar %s caur šo saiti + Nederīga savienojuma saite + Lūdzu, pārbaudiet pareizu saiti un, iespējams, pieprasiet jaunu + Neatbalstīta savienojuma saite + Saite prasa jaunāku lietotnes versiju, lūdzu, atjauniniet + Savienojuma kļūda Auth + Savienojuma kļūda Auth apraksts + Savienojuma kļūda Bloķēts + Savienojuma kļūda Bloķēts apraksts + Auth Open Migration uz citu ierīci + Bloķēšana nav iespējota + Jūs varat ieslēgt bloķēšanu + Ziņojuma piegādes kļūdas virsraksts + Ziņojuma piegādes brīdinājuma virsraksts + Ziņojuma piegādes kļūdas apraksts + Ziņojums ir dzēsts vai nav saņemts, kļūdas virsraksts + Ziņojums ir dzēsts vai nav saņemts, kļūdas apraksts + Ziņošanas iemesla brīdinājuma virsraksts + Ziņošanas arhīva brīdinājuma virsraksts + Pārsūtīt Brīdinājumu Pārsūtīt Ziņas Bez Failiem + Pārsūtīt Failus Ziņas Tiek Dzēstas Pēc Izvēles Apraksta + Pārsūtīt Failus Nav Akceptēts Apraksts + Pārsūtīt Failus Notiek Apraksts + Pārsūtīt Failus Neizdevās Saņemt Apraksts + Pārsūtīt Failus Trūkst Apraksts + Pārsūtīt Failus Nav Akceptēts Saņemt Failus + Pārsūtīt Failus Ziņas Tiek Dzēstas Pēc Izvēles Nosaukuma + Čata Saraksts Izlase + Čata Saraksts Kontakti + Čatu saraksta grupas + Čatu saraksta uzņēmumi + Čatu saraksta piezīmes + Čatu saraksta grupu atskaites + Paziņojumu grupas atskaite + Čatu saraksts Visi + Čatu saraksts Pievienot sarakstu + Grupu atskaites Aktīva viena + Grupu atskaites Aktīvas + Grupu atskaites Dalībnieku atskaites + Jauni atbalsta grupas ziņojumi + Jaunas atbalsta grupas čata sarunas + Jauna atbalsta grupas čata saruna + Jaunas atbalsta grupas čata sar. + Pievienoties čata sarunai + Nosūtīt pieprasījumu, lai pievienotos + Pievienoties, lai izmantotu botu + Apstiprināt kontaktpersonas pieprasījumu + Jūsu kontaktpersona + Bots + Čata baneris - pievienoties grupai + Čata baneris - tava grupa + Čata baneris - grupa + Čata baneris - biznesa savienojums + Čata baneris - tavs biznesa kontakts + Dalīties ar ziņu + Dalīties ar attēlu + Dalīties ar failu + Pārsūtīt ziņu + Pārsūtīt vairākas + Nevar koplietot ziņas brīdinājuma virsraksts + Nevar koplietot ziņas brīdinājuma teksts + Pievienot + Ikonas apraksts kontekstam + Ikonas apraksts attēla priekšskatījuma atcelšanai + Ikonas apraksts faila priekšskatījuma atcelšanai + Attēlu limita virsraksts + Video limita virsraksts + Attēlu limita apraksts + Video limita apraksts + Attēla atkodēšanas izņēmums + Attēla atkodēšanas izņēmuma apraksts + Video atkodēšanas izņēmuma apraksts + Faili un multivide ir aizliegti + Tikai īpašnieki var atļaut failus un multividi + Rakstiet un sūtiet tiešo ziņojumu, lai izveidotu savienojumu + Pārsūtīt ziņojumus (%d) + Saglabāt ziņojumus (%d) + SimpleX saites nav atļautas + Faili un multivide nav atļauti + Balss ziņas nav atļautas + Ierakstiet ziņu + Maksimālais ziņas lielums + Ir sasniegts maksimālais ziņas lielums + Ir sasniegts maksimālais ziņas lielums (ne teksts) + Ir sasniegts maksimālais ziņas lielums (pārsūtīšana) + Ziņot par iemeslu: spams + Ziņot par iemeslu: profils + Ziņot par iemeslu: kopiena + Ziņot par iemeslu: nelikumīgs saturs + Ziņošanas iemesla virsraksts - cits + Ziņojums Nosūtīts - Brīdinājuma Virsraksts + Ziņojums Nosūtīts - Brīdinājuma Ziņa - Skatīt Atbalsta Čatā + Pievienoties grupai + Pievienot ziņu + Savienoties + Vai sūtīt kontakta pieprasījumu? + Sūtot kontakta pieprasījumu, jūs atklāsiet savu SimpleX lietotājvārdu šim kontaktam. Vai vēlaties turpināt? + Sūtīt pieprasījumu bez ziņas + Sūtīt pieprasījumu + Nevar nosūtīt ziņu + Nevar nosūtīt ziņu – kontaktpersona nav gatava + Nevar nosūtīt ziņu – pieprasījums ir nosūtīts + Nevar nosūtīt ziņu – kontaktpersona ir izdzēsta + Nevar nosūtīt ziņu – kontaktpersona nav sinhronizēta + Nevar nosūtīt ziņu – kontaktpersona ir atspējota + Novērotājs nevar nosūtīt ziņu + Novērotājs nevar nosūtīt ziņu + Nevar nosūtīt ziņu – noraidīts + Nevar nosūtīt ziņu – grupa ir izdzēsta + Nevar nosūtīt ziņu, dalībnieks ir noņemts + Nevar nosūtīt ziņu, jūs esat izgājis + Nevar nosūtīt ziņu + Jūs esat vērotājs + Pārbaudīts ar administratoriem + Nevar nosūtīt ziņu, dalībniekam ir veca versija + Nevar Nosūtīt Komandas Brīdinājuma Teksts + Attēla Apraksts + Ikonas Apraksts Gaidot Attēlu + Ikonas Apraksts Lūgts Saņemt + Ikona Apraksts Attēls Nosūtīts Pabeigts + Gaida Attēlu + Attēls Tiks Saņemts, Kad Kontaktpersona Pabeigs Augšupielādi + Attēls Tiks Saņemts, Kad Kontaktpersona Būs Tiešsaistē + Attēls Saglabāts + Video Apraksts + Ikona Apraksts Gaida Video + Ikona Apraksts Video Pieprasīts Saņemt + Ikona Apraksts Video Nosūtīts Pabeigts + Gaida Video + Izmantot kameras pogu + No galerijas + Izvēlēties failu + Izvēlēties faila nosaukumu + Galerijas attēla poga + Galerijas video poga + Paldies, ka instalējāt SimpleX + Jūs varat sazināties ar SimpleX čata dibinātāju + Lai sāktu jaunu čatu, palīdzības virsraksts + Čata palīdzības pieskāriena poga + Saglabāt neizmantoto uzaicinājuma jautājumu + Jūs varat vēlreiz apskatīt uzaicinājuma saiti + Saglabāt uzaicinājuma saiti + Izveido saiti + Mēģināt vēlreiz + Kopīgojiet šo vienreizējo saiti + Ielīmējiet saņemto saiti + Ielīmētais teksts nav saite + Pieskarieties, lai ielīmētu saiti + Ielādē profilu + Nederīgs Qr kods + Noskenētais kods nav SimpleX Link Qr kods + Dzēstās sarunas + Nav filtrētu kontaktu + Kontaktu saraksta galvenes nosaukums + Konteksta lietotāja atlasītājs - Tavs profils + Konteksta lietotāja atlasītājs - Nevar mainīt profila brīdinājuma virsrakstu + Konteksta lietotāja atlasītājs - Nevar mainīt profila brīdinājuma ziņojums + Skenēt kodu + Nepareizs kods + Skenēt kodu no kontaktu lietotnes + Drošības kods + Atzīmēt kodu kā verificētu + Notīrīt verifikāciju + Salīdzināt, lai verificētu + Ir verificēts + Nav verificēts + Tavi iestatījumi + Tava SimpleX kontaktadreses + Tavi čata profili + Izveidot čata profilu + Datubāzes parole un eksportēšana + Par SimpleX Chat + Kā lietot SimpleX Chat + Markdown palīdzība + Markdown ziņās + Čats ar dibinātāju + Sūtiet mums e-pastu + Čata slēdzene + Čata konsole + Ziņojumu serveri + Smp serveri + Konfigurēti Smp serveri + Citi Smp serveri + Smp serveru iepriekš iestatīta adrese + Pievienot iepriekš iestatītu Smp serveri + Pievienot Smp serveri + Smp serveru testa serveris + Smp serveru testēšana + Saglabāt Smp serverus + Smp serveru tests neizdevās + Dažu Smp serveru tests neizdevās + Smp serveru QR koda skenēšana + Smp serveru ievadīšana manuāli + Smp serveru jauns serveris + Smp serveru iepriekš iestatīts serveris + Smp serveru jūsu serveris + Smp serveru jūsu servera adrese + Smp serveru izmantot serveri + Smp serveru izmantot serveri jaunam savienojumam + Smp Serveru pievienošana citai ierīcei + Smp Serveru nederīga adrese + Smp Serveru adreses pārbaude + Smp Servera dzēšana + Smp Serveri katram lietotājam + Vai saglabāt Smp Serverus? + Multivides un failu serveri + Xftp Serveri + Konfigurēti Xftp Serveri + Citi Xftp Serveri + Abonēšanas Procentuālais Daudzums + Instalēt SimpleX Chat Terminālim + Atiestatīt Visus Padomus + Atzīmēt Ar Zvaigzni Github + Ziedot + Novērtēt Aplikāciju + Izmantot SimpleX Chat Serverus? + Jūsu SMP Serveri + Jūsu XFTP Serveri + Izmantojot SimpleX Chat Serverus + Kā to darīt + Kā lietot savus serverus + Saglabātie ICE serveri tiks noņemti + Jūsu ICE serveri + Konfigurēt ICE serverus + Ievadiet vienu ICE serveri katrā rindā + Kļūda, saglabājot ICE serverus + Pārliecinieties, vai ICE serveru adreses ir pareizā formātā un unikālas + Poga \"Saglabāt serverus + Tīkls un serveri + Tīkla iestatījumi + Tīkla iestatījumu nosaukums + Tīkla Socks Proxy + Tīkla Socks Proxy iestatījumi + Tīkla Socks ieslēdzējs izmantot Socks Proxy + Tīkla Proxy autentifikācija + Tīkla Proxy nejauši akreditācijas dati + Tīkla Proxy autentifikācijas režīms izolēt pēc autentifikācijas lietotāja + Tīkla Proxy autentifikācijas režīms izolēt pēc autentifikācijas entītijas + Tīkla Proxy autentifikācijas režīms bez autentifikācijas + Tīkla starpniekservera autentifikācijas režīms - lietotājvārds un parole + Tīkla starpniekservera lietotājvārds + Tīkla starpniekservera parole + Tīkla starpniekservera ports + Nepareiza tīkla starpniekservera konfigurācija + Nepareiza tīkla starpniekservera konfigurācija + Resursdatora darbība + Porta darbība + Iespējot SOCKS tīklu + SOCKS tīkla informācija + Slīpsvītra Teksts + Pārsvītrots Teksts + Krāsains Teksts + Slepenais Teksts + Zvana Statuss Zvana + Zvana Statuss Garām Palaists + Zvana Statuss Noraidīts + Zvana Statuss Pieņemts + Zvana Statuss Savienojas + Zvana Statuss Notiek + Kontakts vēlas savienoties, izmantojot zvanu + Videozvans bez šifrēšanas + Šifrēts videozvans + Audiozvans bez šifrēšanas + Šifrēts audiozvans + Pieņemt + Noraidīt + Ignorēt + Zvans jau ir beidzies + Ikonas apraksts videozvanam + Ikona Audio zvans + Zvana piekļuves atļauja darbvirsmai noraidīta + Zvana piekļuves atļauja darbvirsmai noraidīta Chrome pārlūkā + Zvana piekļuves atļauja darbvirsmai noraidīta Safari pārlūkā + Audio un video zvanu iestatījumi + Tavi zvani + Vienmēr izmantot releju + Zvans bloķēšanas ekrānā + Pieņemt zvanu bloķēšanas ekrānā + Rādīt zvanu bloķēšanas ekrānā + Zvans nav atļauts bloķēšanas ekrānā + Jūsu Ice Serveri + Webrtc Ice Serveri + Relay Serveris Aizsargā Ip + Relay Serveris Ja Nepieciešams + Atveriet SimpleX Chat, lai pieņemtu zvanu + Atļaut zvanu pieņemšanu no bloķēšanas ekrāna + Atvērt + Statuss E2E Šifrēts + Statuss Bez E2E Šifrēšanas + Statusa kontaktam ir E2E šifrēšana + Statusa kontaktam nav E2E šifrēšanas + Zvana savienojums starp lietotājiem (Peer To Peer) + Zvana savienojums caur releju + Ikonas apraksts - pārtraukt zvanu + Ikonas apraksts - izslēgt video + Ikonas apraksts - ieslēgt video + Ikonas apraksts - izslēgt audio + Ikonas apraksts - ieslēgt audio + Ikonas apraksts - izslēgt skaļruni + Ikona Apraksts Skaļrunis Ieslēgts + Ikona Apraksts Skaņa Izslēgta + Ikona Apraksts Apgriezt Kameru + Ikona Apraksts Zvans Gaida Nosūtīšanu + Ikona Apraksts Neatbildēts Zvans + Ikona Apraksts Zvans Noraidīts + Ikona Apraksts Zvans Savienojas + Ikona Apraksts Zvans Notiek + Ikona Apraksts Zvans Beidzās + Atbildēt uz Zvanu + Izlaista integritātes ziņa + Bojāts integritātes ziņas jaucējkods (hash) + Bojāts integritātes ziņas ID + Dublēta integritātes ziņa + Brīdinājums par izlaistām ziņām + Brīdinājums par izlaistām ziņām. Tas var notikt, kad + Brīdinājums par ziņu ar bojātu jaucējkodu (hash) + Brīdinājums par ziņu ar bojātu jaucējkodu (hash) + Brīdinājums par ziņu ar bojātu ID + Brīdinājums par ziņu ar bojātu ID + Brīdinājums: Atšifrēšanas kļūda, neizdevās atšifrēt %d ziņas + Brīdinājums: Atšifrēšanas kļūda, pārāk daudz izlaistu ziņu + Brīdinājums: Fragmentu šifrēšana nav sinhronizēta, vecā datubāze + Brīdinājums: Neizdevās šifrēšanas atkārtota vienošanās + Brīdinājums: Lūdzu, ziņojiet par šo kļūdu izstrādātājiem + Privātums un drošība + Tavs privātums + Aizsargāt lietotnes ekrānu + Šifrēt lokālās datnes + Automātiski pieņemt attēlus + Aizsargāt IP adresi + Lietotne lūgs apstiprināt nezināmus failu serverus + Bez Tor vai VPN IP adrese būs redzama failu serveriem + Sūtīt saišu priekšskatījumus + Notīrīt saišu pārslēgu + Privātums Rādīt pēdējās ziņas + Privātums Ziņas melnraksts + Pilna rezerves kopija + Ieslēgt bloķēšanu + Bloķēšanas režīms + Bloķēt pēc + Iesniegt piekļuves kodu + Apstiprināt piekļuves kodu + Nepareizs piekļuves kods + Jauns piekļuves kods + Autentifikācija atcelta + La Mode System + La Mode Passcode + La App Passcode + La Mode Off + Parole uzstādīta + Parole mainīta + Parole nav mainīta + Mainīt bloķēšanas režīmu + Pašiznīcināšanās + Aktivizēta pašiznīcināšanās parole + Mainīt pašiznīcināšanās režīmu + Mainīt pašiznīcināšanās paroli + Pašiznīcināšanās parole aktivizēta + Pašiznīcināšanās parole mainīta + Pašiznīcināšanās parole + Ieslēgt pašiznīcināšanos + Pašiznīcināšanās Jauns Parādāmais Vārds + Ja ievadīsiet pašiznīcināšanās kodu + Visi lietotnes dati tiks dzēsti + Lietotnes parole aizstāta ar pašiznīcināšanos + Tiek izveidots tukšs čata profils + Ja ievadīsiet paroli, dati tiks izdzēsti + Uzstādīt paroli + Šis iestatījums ir paredzēts jūsu pašreizējam profilam + Saņemts grupas notikums: 1 dalībnieks pievienojies + Saņemts grupas notikums: 2 dalībnieki pievienojušies + Saņemts grupas notikums: 3 dalībnieki pievienojušies + Saņemts grupas notikums: N dalībnieki pievienojušies + Saņemto grupas notikumu skaits + Saņemti grupas un citi notikumi + Grupas dalībnieki 2 + Grupas dalībnieki N + Saņemts grupas notikums: Atvērt čatu + Profila atjaunināšanas notikums: Kontakta vārds ir mainīts + Snd Conn Event Switch Queue Phase Completed + Snd Conn Event Switch Queue Phase Changing + Conn Event Ratchet Sync Ok + Conn Event Ratchet Sync Allowed + Conn Event Ratchet Sync Required + Conn Event Ratchet Sync Started + Conn Event Ratchet Sync Agreed + Snd Conn Event Ratchet Sync Ok + Snd Conn Event Ratchet Sync Allowed + Snd Conn Event Ratchet Sync Required + Snd Conn Event Ratchet Sinhronizācija Sākta + Snd Conn Event Ratchet Sinhronizācija Apstiprināta + Rcv Conn Event Verifikācijas Kods Atiestatīts + Conn Event Iespējots Pq + Conn Event Atspējots Pq + Grupas Dalībnieka Loma Vērotājs + Grupas Dalībnieka Loma Autors + Grupas Dalībnieka Loma Dalībnieks + Grupas Dalībnieka Loma Moderators + Grupas Dalībnieka Loma Administrators + Grupas dalībnieka loma - īpašnieks + Grupas dalībnieka statuss - noraidīts + Grupas dalībnieka statuss - izņemts + Grupas dalībnieka statuss - atstājis + Grupas dalībnieka statuss - grupa izdzēsta + Grupas dalībnieka statuss - nezināms + Grupas dalībnieka statuss - uzaicināts + Grupas dalībnieka statuss - gaida apstiprinājumu + Grupas dalībnieka statuss - gaida apstiprinājumu (saīsināts) + Grupas dalībnieka statuss - gaida pārskatīšanu + Grupas dalībnieka statuss Gaida apstiprinājumu (īsais) + Grupas dalībnieka statuss Iepazīstināts + Grupas dalībnieka statuss Iepazīstināšanas uzaicinājums + Grupas dalībnieka statuss Pieņemts + Grupas dalībnieka statuss Paziņots + Grupas dalībnieka statuss Savienots + Grupas dalībnieka statuss Pabeigts + Grupas dalībnieka statuss Izveidotājs + Grupas dalībnieka statuss Savienojas + Grupas dalībnieka statuss Nezināms (īsais) + Iepriekšējais dalībnieks Vārds + Nav kontaktu, ko pievienot + Jaunā dalībnieka loma + Sākotnējā dalībnieka loma + Ikonas apraksts - izvērst lomu + Uzaicināt uz grupu + Uzaicināt uz čatu + Izlaist uzaicināšanu + Izvēlieties kontaktus + Ikonas apraksts - kontakts atzīmēts + Notīrīt kontaktu atlases pogu + Atlasīto kontaktu skaits + Nav atlasītu kontaktu + Uzaicinājums aizliegts + Uzaicinājuma aizlieguma apraksts + Poga Pievienot dalībniekus + Poga Pievienot komandas dalībniekus + Poga Pievienot draugus + Grupas informācijas sadaļas virsraksts - dalībnieku skaits + Grupas informācija - Tu + Poga Dzēst grupu + Poga Dzēst čatu + Vai dzēst grupu? + Vai dzēst čatu? + Dzēšot grupu visiem dalībniekiem, šo darbību nevarēs atsaukt. + Dzēšot čatu visiem dalībniekiem, šo darbību nevarēs atsaukt. + Dzēšot grupu sev, šo darbību nevarēs atsaukt. + Dzēšot čatu sev, šo darbību nevarēs atsaukt. + Poga Atstāt grupu + Poga Atstāt čatu + Poga Rediģēt grupas profilu + Poga Pievienot sagaidīšanas ziņu + Poga Sagaidīšanas ziņa + Grupas saite + Izveidot grupas saiti + Poga Izveidot grupas saiti + Dzēst saites jautājumu + Dzēst saiti + Jūs varat dalīties ar grupas saiti, un jebkurš varēs pievienoties + Visi grupas dalībnieki paliks savienoti + Kļūda, veidojot saiti grupai + Kļūda, atjauninot saiti grupai + Kļūda, dzēšot saiti grupai + Kļūda, veidojot dalībnieka kontaktu + Kļūda, sūtot ziņu kontakta uzaicinājumu + Tikai grupas īpašnieki var mainīt iestatījumus + Tikai čata īpašnieki var mainīt iestatījumus + Adreses sadaļas nosaukums + Dalīties ar adresi + Jūs varat dalīties ar šo adresi ar saviem kontaktiem + Koplietojamā teksta atjaunināšanas laiks + Koplietojamā teksta ziņojuma statuss + Koplietojamā teksta faila statuss + Koplietojamā teksta nosūtīšanas laiks + Koplietojamā teksta izveides laiks + Koplietojamā teksta saņemšanas laiks + Koplietojamā teksta dzēšanas laiks + Koplietojamā teksta moderēšanas laiks + Koplietojamā teksta pazušanas laiks + Pašreizējā vienuma informācija + Sūtītājs Ts laikā + Pašreizējās versijas laika zīmogs + Vienuma informācija bez teksta + Saņēmējs: Piegādes statuss + Saglabātās ziņas nosaukums + Poga \"Noņemt dalībnieku? + Poga \"Noņemt dalībniekus? + Poga \"Noņemt dalībnieku + Poga \"Atbalsta čata dalībnieks + Poga \"Sūtīt tiešo ziņu + Gaišā tēma + Tumšā tēma + SimpleX tēma + Melnā tēma + Sistēmas valoda + Tēma + Krāsu režīms + Tumšā tēma + Tumšā režīma krāsas + Importēt tēmu + Motīva importēšanas kļūda + Motīva importēšanas kļūdas apraksts + Eksportēt motīvu + Atiestatīt krāsu + Atiestatīt atsevišķu krāsu + Motīva galamērķa lietotnes motīvs + Primārā krāsa + Primārās krāsas variants + Sekundārā krāsa + Sekundārās krāsas variants + Fona krāsa + Virsmas krāsa + Virsraksta krāsa + Primary Variant2 krāsa + Nosūtītās ziņas krāsa + Nosūtītā citāta krāsa + Saņemtās ziņas krāsa + Saņemtā citāta krāsa + Fona tapetes krāsa + Fona tapetes tonis + Motīva Attēla Noņemšana + Izskata Fonta Izmērs + Izskata Tālummaiņa + Izskata Lietotnes Rīkjoslas + Izskata Lietotnē Iebūvēto Joslu Alfa + Izskata Joslu Izplūšanas Rādiuss + Sistēmas Režīma Uznirstošais Paziņojums + Fona Attēla Priekšskatījums - Sveika, Alise! + Fona Attēla Priekšskatījums - Sveiks, Bob! + Fona Attēla Mērogs + Fona Attēla Mērogošana Atkārtoti + Fona Attēla Mērogošana Aizpildīt + Fona Attēla Mērogošana Ietilpināt + Fona Attēla Paplašinātie Iestatījumi + Čata Tēmas Atiestatīšana uz Lietotnes Tēmu + Čata Tēmas Atiestatīšana uz Lietotāja Tēmu + Iestatīt Čata Tēmu uz Noklusējuma Tēmu + Lietot Čata Tēmu Režīmam + Lietot Čata Tēmu Visiem Režīmiem + Lietot Čata Tēmu Gaišajam Režīmam + Tērzēšanas tēma tumšajam režīmam + Tavas atļautās tērzēšanas preferences + Kontakta atļautās tērzēšanas preferences + Tērzēšanas preferenču noklusējums + Tērzēšanas preferences Jā + Tērzēšanas preferences Nē + Tērzēšanas preferences Vienmēr + Tērzēšanas preferences Ieslēgts + Tērzēšanas preferences Izslēgts` + Tērzēšanas preferences + Kontaktu preferences + Grupu preferences + Iestatīt grupu preferences + Iestatīt dalībnieku uzņemšanu + Tavas preferences + Ziņas ar taimeri + Tiešās ziņas + Pilnīga dzēšana + Ziņu reakcijas + Balss ziņas + Faili un Multivide + SimpleX Saites + Nesenā Vēsture + Audio Video Zvani + \nPieejams V51 versijā + Funkcija Ieslēgta + Funkcija Ieslēgta Jums + Funkcija Ieslēgta Kontaktam + Funkcija Izslēgta + Funkcijas Saņemšana Aizliegta + Pieņemt funkciju + Pieņemt funkciju kopumu 1 dienu + Atļaut saviem kontaktiem sūtīt pazūdošus ziņojumus + Atļaut pazūdošus ziņojumus tikai tad, ja + Pazūšanas laiks ir iestatīts tikai jauniem kontaktiem + Aizliegt sūtīt pazūdošus ziņojumus + Atļaut saviem kontaktiem neatgriezeniski dzēst + Atļaut neatgriezenisku ziņojumu dzēšanu tikai tad, ja + Kontakti var atzīmēt ziņojumus dzēšanai + Atļaut saviem kontaktiem sūtīt balss ziņojumus + Atļaut balss ziņas tikai tad, ja + Aizliegt balss ziņu sūtīšanu + Atļaut jūsu kontaktiem sūtīt failus un multivides saturu + Atļaut failus un multivides saturu tikai tad, ja + Aizliegt failu un multivides satura sūtīšanu + Atļaut jūsu kontaktiem pievienot ziņu reakcijas + Atļaut ziņu reakcijas tikai tad, ja + Aizliegt ziņu reakcijas + Atļaut jūsu kontaktiem zvanīt + Atļaut zvanus tikai tad, ja + Aizliegt zvanus + Gan jūs, gan jūsu kontaktpersona var sūtīt pazūdošus ziņojumus + Tikai jūs varat sūtīt pazūdošus ziņojumus + Tikai jūsu kontaktpersona var sūtīt pazūdošus ziņojumus + Pazūdoši ziņojumi šajā čatā ir aizliegti + Gan jūs, gan jūsu kontaktpersonas var dzēst + Tikai jūs varat dzēst ziņojumus + Tikai jūsu kontaktpersona var dzēst + Ziņojumu dzēšana ir aizliegta + Gan jūs, gan jūsu kontaktpersona var sūtīt balss ziņojumus + Aizliegt ziņu dzēšanu + Atļaut sūtīt balss ziņas + Aizliegt sūtīt balss ziņas + Atļaut ziņu reakcijas + Aizliegt ziņu reakcijas grupā + Atļaut sūtīt failus + Aizliegt sūtīt failus + Atļaut sūtīt SimpleX saites + Aizliegt sūtīt SimpleX saites + Iespējot nesenās vēstures sūtīšanu + V6 3 Reports Descr + V6 3 Organizēt čatu sarakstus + V6 3 Organizēt čatu sarakstu apraksts + V6 3 Labāka privātums un drošība + V6 3 Privāti multivides failu nosaukumi + V6 3 Iestatīt ziņojumu derīguma termiņu čatos + V6 3 Labāka grupu veiktspēja + V6 3 Ātrāka ziņojumu sūtīšana + V6 3 Ātrāka grupu dzēšana + V6 4 Savienoties ātrāk + V6 4 Ātrāks savienojums Descr + V6 4 Pārskatīt dalībniekus + V6 4 Pārskatīt dalībniekus Descr + V6 4 Atbalsta čats + V6 4 Atbalsta čats Descr + V6 4 Moderatora loma + V6 4 Moderatora loma Descr + V6 4 Ziņojumu piegāde Descr + V6 4 1 Sveicināti kontakti + V6 4 1 Sveicināti kontakti Descr + V6 4 1 Uzturiet tērzēšanas tīras + V6 4 1 Uzturiet tērzēšanas tīras Apraksts + V6 4 1 Īsā adrese + V6 4 1 Īsās adreses izveide + V6 4 1 Īsās adreses atjaunināšana + V6 4 1 Īsās adreses kopīgošana + V6 4 1 Jaunu saskarnes valodu apraksts + Skatīt atjauninātos nosacījumus + Pielāgota laika vienība sekundēs + Pielāgota laika vienība minūtēs + Pielāgots laika vienības stundas + Pielāgots laika vienības dienas + Pielāgots laika vienības nedēļas + Pielāgots laika vienības mēneši + Pielāgota laika izvēles atlasīšana + Pielāgota laika izvēles pielāgošana + Piegādes apstiprinājumu nosaukums + Ieslēgt apstiprinājumus visiem + Piegādes apstiprinājumu sūtīšana tiks ieslēgta visiem profiliem + Piegādes apstiprinājumu sūtīšana tiks ieslēgta + Neieslēgt kvītis + Jūs varat ieslēgt piegādes kvītis vēlāk + Piegādes kvītis ir atspējotas + Jūs varat ieslēgt piegādes kvītis vēlāk (brīdinājums) + Kļūda, ieslēdzot piegādes kvītis + Saistīt mobilo ierīci + Saistītās mobilās ierīces + Skenēt no mobilās ierīces + Pārbaudīt savienojumu + Pārbaudīt kodu mobilajā ierīcē + Šīs ierīces nosaukums + Šīs ierīces versija + Savienots mobilais tālrunis + Savienots ar mobilo tālruni + Ievadiet šīs ierīces nosaukumu + Šīs ierīces nosaukums, kas koplietots ar mobilo tālruni + Kļūda + Šī ierīce + Ierīces + Jauna mobilā ierīce + Atvienot darbvirsmas jautājums + Atvienot darbvirsmu + Atvienot attālo resursdatoru + Atvienot attālos resursdatorus + Attālais resursdators tika atvienots (paziņojums) + Attālais resursdators tika atvienots (virsraksts) + Attālā vadība tika atvienota (virsraksts) + Attālais resursdators atvienots no + Attālā vadība atvienota ar iemeslu + Attālās vadības savienojums apturēts (apraksts) + Remote Ctrl savienojums ir pārtraukts Identity Desc + Kopēšanas kļūda + Vai atvienoties no darbvirsmas? + Vienlaicīgi var darboties tikai viena ierīce + Atveriet mobilajā ierīcē un skenējiet QR kodu + Gaida, kad mobilā ierīce pieslēgsies + Nepareiza darbvirsmas adrese + Nesaderīga darbvirsmas versija + Darbvirsmas lietotnes versija nav saderīga + Darbvirsmas savienojums ir pārtraukts + Sesijas kods + Savienojamies ar darbvirsmu + Gaidām darbvirsmu + Atrasta darbvirsma + Savienoties ar darbvirsmu + Savienots ar darbvirsmu + Savienota darbvirsma + Pārbaudiet kodu ar darbvirsmu + Jauna darbvirsma + Saistītās darbvirsmas + Datoru Ierīces + Saistīto Datoru Iestatījumi + Skenēt QR Kodu No Datora + Datora Adrese + Pārbaudīt Savienojumus + Atklāt Tīklā + Multicast Atklājams Vietējā Tīklā + Multicast Automātiski Savienoties + Ielīmēt Datora Adresi + Datora Ierīce + Nav Saderīgs + Atjaunot QR Kodu + Nav Pievienots Mobilais Tālrunis + Nejaušs Ports + Atvērt Portu Ugunsmūrī + Atvērt Portu Ugunsmūrī Apraksts + Attālā Saimniekdatora Kļūda - Trūkst + Attālā Saimniekdatora Kļūda - Nav Aktīvs + Attālā Saimniekdatora Kļūda - Aizņemts + Attālā Saimniekdatora Kļūda - Noildze + Migrate To Device Imports Neizdevās + Migrate To Device Atkārtot Importu + Migrate To Device Ievadiet Paroli + Migrate To Device Faila Dzēšana Vai Saite Ir Nederīga + Migrate To Device Kļūda Arhīva Lejupielādē + Migrate To Device Čats Ir Pārcelts + Migrate To Device Pabeigt Migrāciju + Migrate To Device Apstipriniet Tīkla Iestatījumus + Migrate To Device Apstipriniet Tīkla Iestatījumu Kājeni + Migrate To Device Lietot Onion + Savienojuma kvotas kļūda + Savienojums neizdevās servera kvotas dēļ. + Kļūda, pieņemot kontaktu pieprasījumu + Kļūda, noraidot kontaktu pieprasījumu + Sūtītājs, iespējams, ir izdzēsis savienojuma pieprasījumu. + Kļūda, dzēšot kontaktu + Kļūda, dzēšot grupu + Kļūda, dzēšot piezīmju mapi + Kļūda, dzēšot kontaktu pieprasījumu + Kļūda, dzēšot gaidošo kontaktu savienojumu + Kļūda, mainot adresi + Kļūda, pārtraucot adreses maiņu + Kļūda, sinhronizējot savienojumu + Kļūda smp testa posmā + Kļūda smp testa servera autentifikācijā + Kļūda xftp testa servera autentifikācijā + Kļūda smp testa sertifikātā + Kļūda, iestādot adresi + Kļūda + Savienot + Atslēgt + Izveidot rindu + Droša rinda + Dzēst rindu + Izveidot failu + Augšupielādēt failu + Lejupielādēt failu + Salīdzināt failu + Dzēst failu + Kļūda, dzēšot lietotāju + Kļūda, atjauninot lietotāja privātumu + Iespējami lēni procesi + Iespējami lēni procesi + Kļūda, atjauninot čata tagus + Kļūda, izveidojot čata tagus + Kļūda, ielādējot čata tagus + Kļūda, sagatavojot kontaktu + Kļūda, sagatavojot grupu + Kļūda, mainot lietotāju + Tūlītējas paziņojumi + Pakalpojumu paziņojumi + Pakalpojumu paziņojumi atslēgti + Lai saglabātu privātumu, Simplex izmanto fona pakalpojumu, nevis uznirstošos paziņojumus, tas patērē mazāk datora akumulatora. + To var atslēgt caur iestatījumiem, paziņojumi joprojām tiek rādīti. + Izslēgt akumulatora optimizāciju + Izslēdzot pakalpojumu un periodiskos paziņojumus + Periodiskie paziņojumi + Periodiskie paziņojumi atslēgti + Periodiski paziņojumi + Izslēgt akumulatora optimizāciju + Izslēgt sistēmas ierobežojumu + Atslēgt paziņojumus + Sistēmas ierobežots fons + Brīdinājums par sistēmas ierobežotu fonu + Sistēmas ierobežots fons zvanā + Sistēmas ierobežots fons zvanā + Brīdinājums par sistēmas ierobežotu fonu zvanā + Ievadiet paroli + Ievadiet paroli + Datu bāzes inicializācijas kļūda + Neizdevās inicializēt datu bāzi. + Xiaomi ignorēt akumulatora optimizāciju + Simplex pakalpojumu paziņojums + Simplex pakalpojumu paziņojuma teksts + Zvana pakalpojumu paziņojums audio zvanam + Zvana pakalpojumu paziņojums video zvanam + Zvana pakalpojumu paziņojums par zvana beigām + Paslēpt paziņojumu + Paziņojumu kanāla ziņas + Paziņojumu kanāla zvanus + Iestatījumi par paziņojumu režīmu + Iestatījumi par paziņojumu priekšskatījuma režīmu + Iestatījumi par paziņojumu priekšskatījumu + Paziņojumu režīms izslēgts + Paziņojumu režīms periodisks + Paziņojumu režīms pakalpojums + Paziņojumu režīms izslēgts + Paziņojumu režīms periodisks + Paziņojumu režīms pakalpojums + Paziņojumu priekšskatījuma režīms + Paziņojuma priekšskatījuma režīms kontaktam + Paziņojuma priekšskatījuma režīms slēpts + Paziņojuma priekšskatījuma režīms + Paziņojuma priekšskatījuma režīms kontaktam + Paziņojuma attēlošanas režīms slēpts + Paziņojuma priekšskatījums kādam + Jauna ziņa + Jauns kontaktu pieprasījums + Kontakts savienots + Kļūda, rādot darbvirsmas paziņojumu + SimpleX Bloķēšana + Lai aizsargātu jūsu informāciju, ieslēdziet SimpleX bloķēšanu; jums tiks lūgts pabeigt autentifikāciju, pirms šī funkcija tiks aktivizēta. + Ieslēgt + Bloķēšanas režīms + Izmantot ierīces bloķēšanu + Izmantot lietotnes piekļuves kodu + Autentifikācija neizdevās + Nevarēja pārbaudīt + Nav lietotnes paroli + Ievadiet lietotnes piekļuves kodu + Pašreizējais lietotnes piekļuves kods + Mainīt lietotnes piekļuves kodu + Autentificēt + Uzreiz + sekundes + minūtes + Lūdzu, atcerieties saglabāt paroli + SimpleX bloķēšana ieslēgta + Jums būs jāveic autentifikācija, kad sākat vai atsākat + Atbloķēt + Pieslēgties, izmantojot akreditācijas datus + Ieslēgt SimpleX Bloķēšanu + Izslēgt SimpleX Bloķēšanu + Apstiprināt akreditācijas datus + Autentifikācija nav pieejama + Ierīces autentifikācija nav iespējota; to varat ieslēgt iestatījumos, kad tā būs iespējota. + Ierīces autentifikācija ir atspējota; izslēdzam. + Apturēt sarunu + Atvērt sarunu konsoli + Atvērt sarunu profilus + Ziņojumu arhīvs %dth + Ziņojumu arhīvs visi + Ziņojumu arhīvs + Ziņojumu arhīvs apraksts visi + Ziņojumu arhīvs man + Ziņojumu arhīvs visiem moderātoriem + Ci cita kļūda + Sūtīšanas autentifikācijas kļūda + Sūtīšanas kvotas kļūda + Sūtīšanas derīguma termiņš beidzies + Sūtīšanas pārsūtīšanas kļūda + Sūtīšanas starpniekservera kļūda + Sūtīšanas starpniekservera pārsūtīšanas kļūda + Servera hosta kļūda + Servera versijas kļūda + Faila autentifikācijas kļūda + Faila bloķēšanas kļūda + Faila nav + Faila pārsūtīšanas kļūda + Atbildēt + Kopīgot + Kopēt + Saglabāt + Rediģēt + Informācijas izvēlne + Meklēt + Arhivēt + Arhivēt ziņojumu + Arhivēt ziņojumus + Dzēst ziņojumu + Nosūtīta ziņa + Saņemta ziņa + Rediģēšanas vēsture + Nav vēstures + Atbilde uz + Saglabāts + Pārsūtīts + Saglabāts no + Pārsūtīts no + Saņēmēji nevar redzēt, no kura ir ziņa. + Piegāde + Nav piegādes informācijas + Dzēst + Atklāt + Paslēpt + Atļaut + Moderēt + Ziņot + Izvēlēties + Paplašināt + Dzēst ziņu? + Dzēst ziņas? + Šo darbību nevar atcelt. + Šo darbību nevar atcelt. + Ziņas dzēšanas atzīme dzēsta + Ziņu dzēšanas atzīme dzēsta + Dzēst? + Dzēst dalībniekus? + Moderētā ziņa tiks dzēsta + Moderētās ziņas tiks dzēstas + Moderētā ziņa tiks atzīmēta + Moderētās ziņas tiks atzīmētas + Tikai man + Visiem + Apturēt pārsūtīšanu + Apturēt faila sūtīšanu + Vai vēlaties apturēt šī faila sūtīšanu? + Apturēt faila saņemšanu + Vai vēlaties apturēt šī faila saņemšanu? + Apturēt + Atcelt failu + Atcelt failu + Vai vēlaties atcelt piekļuvi šim failam? + Atcelt + Pārsūtīt + Lejupielādēt failu + Saraksta izvēlne + Ziņa pārsūtīta + Šī ziņa tika pārsūtīta no citas sarunas. + Dalībnieks neaktīvs + Dalībnieks ir neaktīvs + Rediģēts + Ziņa nosūtīta + Ziņa nosūtīta bez atļaujas + Ziņas nosūtīšana neizdevās + Saņemtā ziņa nav izlasīta + Laipni lūdzam + Laipni lūdzam + Šis teksts ir pieejams iestatījumos + Jūsu sarunas + Rīkjoslas iestatījumi + Kontakta savienojums gaida apstiprinājumu + Dalībnieka kontakts nosūtīt tiešo ziņu + Grupas priekšskatījums ir atvērts pievienošanai + Grupas priekšskatījums, jūs esat aicināts + Grupas priekšskatījums, pievienojieties kā + Grupas priekšskatījums noraidīts + Grupas savienojums gaida apstiprinājumu + Noklikšķiniet, lai uzsāktu jaunu sarunu + Sarunājieties ar izstrādātājiem + Jums nav nevienas sarunas + Ielādēju sarunas… + Nav sarunu, kas atbilst filtram + Sarunu sarakstā nav + Nav neizlasītu sarunu + Nav sarunu + Nav atrastas sarunas + Kontakts, noklikšķiniet, lai savienotos + Atvērts savienojumam + Atvērts, lai izmantotu robotu + Atvērts, lai pieņemtu + Kontaktam jāpieņem + Savienoties ar kontaktu %s? + Meklējiet vai ielīmējiet simplex saiti + Adreses izveides instrukcija + Nav izvēlēta saruna + Izvēlēto sarunu vienības nav izvēlētas + Izvēlēto sarunu vienības izvēlētas %d + Pārsūtīt ziņas + Nav ko pārsūtīt + Video tiks saņemts, kad kontakts pabeigs augšupielādi. + Video tiks saņemts, kad kontakts būs tiešsaistē. + Fails + Liels fails + Kontakts nosūtīja lielu failu + Maksimālais atbalstītais faila izmērs + Gaidām failu + Fails tiks saņemts, kad kontakts pabeigs augšupielādi. + Fails tiks saņemts, kad kontakts būs tiešsaistē. + Fails saglabāts + Fails nav atrasts + Kļūda, saglabājot failu + Attālinātā faila ielāde + Attālinātā faila ielāde. + Faila kļūda + Pagaidu faila kļūda + Atvērt ar lietotni + Balss ziņa + Balss ziņa ar ilgumu + Nosūtīt + Paziņojumi + Atspējot automātisko dzēšanu? + Mainīt automātisko dzēšanu? + Atspējot automātisko dzēšanu + Mainīt automātisko sarunu dzēšanu + Atspējot automātisko dzēšanu + Sarunu laika ierobežojuma opciju apakšdaļa + Skatīt savienojumu + Skatīt atvērt + Skatīt + Skatīt zvanu + Skatīt meklēšanu + Skatīt video + Dzēst kontaktu? + Visas ziņas tiks dzēstas. To nevar atcelt. + Šo darbību nevar atcelt. + Saglabāt sarunu + Tikai dzēst sarunu + Apstiprināt kontakta dzēšanu? + Dzēst un paziņot kontaktam + Dzēst bez paziņojuma + Dzēst kontaktu + Saruna dzēsta + Jūs joprojām varat sūtīt ziņas kontaktam + Kontakts dzēsts + Jūs joprojām varat skatīt sarunu ar kontaktu + Ievadiet kontakta vārdu + Ievadiet čata nosaukumu + Serveris ir savienots + Serveris nav savienots + Servera kļūda + Serveris gaida + Vai vēlaties mainīt saņemšanas adresi? + Mainīt saņemšanas adresi + Pārtraukt saņemšanas adreses maiņu + Vai vēlaties piespiedu sinhronizāciju? + Piespiedu sinhronizācija + Apstiprināt piespiedu sinhronizāciju + Vai vēlaties sinhronizēt savienojumu? + Sinhronizēt savienojumu + Apstiprināt savienojuma sinhronizāciju + Šifrēšanas pārrunāšana notiek + Skatīt drošības kodu + Verificēt drošības kodu + Sūtīt ziņu + Ierakstīt balss ziņu + Vai vēlaties atļaut balss ziņas? + Jums jāatļauj balss ziņas, lai tās sūtītu. + Balss ziņas šajā čatā ir aizliegtas. + Lūdziet kontaktam iespējot balss ziņas + Tikai grupas īpašnieki var iespējot balss ziņas + Sūtīt tiešo ziņu + Izbeidzoša ziņa + Sūtīt izbeidzošu ziņu + Pielāgots laiks + Sūtīt + Tiešā ziņa + Sūtīt tiešo ziņu + Sūtīt + Atcelt tiešo ziņu + Atpakaļ + Atcelt + Apstiprināt + Atjaunot + Labi + Nav detaļu + Pievienot kontaktu + Kopēts + Pievienot kontaktu vai izveidot grupu + Kopīgot vienreizēju saiti + Savienot, izmantojot saiti vai QR + Nolasīt QR kodu + Izveidot grupu + Lai kopīgotu ar savu kontaktu + Savienot, izmantojot saiti vai QR no starpliktuves vai klātienē + Tikai saglabāts dalībnieku ierīcēs + Iespējot kameras piekļuvi + Noklikšķiniet, lai nolasītu + Kamera nav pieejama + Atļauja noraidīta + Augstāk minētais, tad prievārds turpinājums + Pievienot kontaktu, lai izveidotu saiti vai savienotu, izmantojot saiti + Izveidot grupu, lai izveidotu jaunu grupu + Lai savienotu, izmantojot saiti + Ja esat saņēmis simplex ielūguma saiti, varat to atvērt pārlūkā + Datorā nolasīt QR kodu no lietotnes, izmantojot QR koda nolasīšanu + Mobilajā ierīcē noklikšķiniet uz atvērt mobilajā lietotnē, tad noklikšķiniet uz savienot lietotnē + Pieņemt savienojuma pieprasījumu? + Ja izvēlēsieties noraidīt, sūtītājs netiks informēts + Pieņemt kontaktu + Pieņemt kontaktu inkognito + Noraidīt kontaktu + Pieņemt kontaktu pieprasījumu + Noraidīt kontaktu pieprasījumu + Sūtītājs netiks informēts + Dalībnieks ir izdzēsts, nevar pieņemt pieprasījumu + Notīrīt sarunu? + Notīrīt piezīmju mapi? + Notīrīt sarunu + Notīrīt piezīmju mapi + Notīrīt + Notīrīt sarunu + Notīrīt sarunas darbība + Dzēst kontaktu darbība + Dzēst grupu darbība + Atzīmēt kā izlasītu + Atzīmēt kā neizlasītu + Iestatīt kontakta vārdu + Atskaņot sarunu + Atskaņot visas sarunas + Atjaunot sarunu + Atzīmēt kā iecienītu + Noņemt no iecienītajiem + Neizlasītie minējumi + Izveidot sarakstu + Pievienot sarakstam + Mainīt sarakstu + Saglabāt sarakstu + Saraksta nosaukums + Saraksts ar šo nosaukumu jau pastāv + Dzēst sarakstu + Dzēst sarakstu? + Šo darbību nevar atcelt. + Rediģēt sarakstu + Mainīt secību + Jūs esat aicinājis kontaktu + Jūs esat pieņēmis savienojumu + Dzēst gaidošo? + Kontakts, ar kuru jūs dalījāties ar saiti, nevarēs izveidot savienojumu + Savienojums, ko jūs esat pieņēmis, tiks atcelts + Kontakta savienojums gaida + Savienojums gaida, viņiem jābūt tiešsaistē, varat dzēst un mēģināt vēlreiz + Kontakts vēlas izveidot savienojumu ar jums + Profila attēla vietturis + Profila attēls + Aizvērt + Saites priekšskatījums + Atcelt saites priekšskatījumu + Iestatījumi + QR kods + Adrese + Palīdzība + Simplex komanda + SimpleX logo + E-pasts + Vairāk + Rādīt QR kodu + Nederīgs QR kods + Šis QR kods nav saite + Nederīga kontaktu saite + Šī saite nav derīga savienojuma saite + Savienojuma pieprasījums nosūtīts + Jūs tiksiet savienots, kad grupas saimnieka ierīce būs tiešsaistē + Jūs tiksiet savienots, kad jūsu savienojuma pieprasījums tiks pieņemts + Jūs tiksiet savienots, kad jūsu kontaktu ierīce būs tiešsaistē + Ja jūs nevarat tikties klātienē, rādiet QR videozvanā vai caur citu kanālu + Jūsu čata profils tiks nosūtīts jūsu kontaktam + Ja jūs nevarat tikties klātienē, skenējiet QR videozvanā vai lūdziet ielūguma saiti + Kopīgot ielūguma saiti + Ielīmējiet saiti, ko saņēmāt, lai savienotos ar savu kontaktu + Uzzināt vairāk + Uzzināt vairāk par adresi + Savienojiet, tiks kopīgots jauns nejaušs profils + Savienojiet, jūsu profils tiks kopīgots + Skenējiet QR, lai savienotos ar kontaktu + Ja jūs nevarat tikties klātienē + Kopīgot adresi publiski + Kopīgot simplex adresi sociālajos tīklos + Jūs varat kopīgot savu adresi + Jūs nezaudēsiet savus kontaktus, ja izdzēsīsiet adresi + Kopīgot vienreizēju saiti ar draugu + Vienreizēju saiti var izmantot tikai ar vienu kontaktu + Jūs varat iestatīt savienojuma nosaukumu, lai atcerētos + Savienojuma drošība + Simplex adrese un vienreizējās saites ir drošas kopīgošanai + Lai pasargātu no jūsu saites aizvietošanas, salīdziniet kodus + Jūs varat pieņemt vai noraidīt savienojumu + Lasiet vairāk lietotāja rokasgrāmatā ar saiti + Adrese vai vienreizēja saite + Savienoties caur saiti + Savienoties + Ielīmēt + Šī virkne nav savienojuma saite + Jūs varat arī savienoties, noklikšķinot uz saites + Jauna saruna + Jauns + Pievienot kontaktu cilni + Skatīt ielīmēto saiti + Ielīmēt saiti + Vienreizēja saite + Vienreizēja saite īsi + Simplex adrese + Vai arī parādiet šo QR kodu + Pilna saite + Īsa saite + Jauna saruna dalīties profilā + Izvēlēties sarunas profilu + Profila maiņas kļūda + Profila maiņas kļūda + Vai arī skenējiet QR kodu + Tīkls atspējot SOCKS + Tīkls atspējot SOCKS + Tīkls izmantot sīpolu viesus + Tīkls izmantot sīpolu viesus priekšroka + Tīkls izmantot sīpolu viesus nē + Tīkls izmantot sīpolu viesus nepieciešams + Dodiet priekšroku sīpolu viesiem tīklā. + Sīpolu viesi netiks izmantoti tīklā. + Sīpolu viesi ir obligāti tīklā. + Tīkla sesijas režīms transporta izolācija + Tīkla sesijas režīms lietotājs + Tīkla sesijas režīms sesija + Tīkla sesijas režīms serveris + Tīkla sesijas režīms entitāte + Tīkla sesijas režīms lietotājs. + Tīkla sesijas režīms sesija. + Tīkla sesijas režīms serveris. + Tīkla sesijas režīms entitāte. + Atjaunināt tīkla sesijas režīmu? + Atspējot sīpolu viesus, ja nav atbalsta + Socks proxy iestatījumu ierobežojumi + Tīkla smp proxy režīms privātā maršrutēšana + Tīkla smp proxy režīms vienmēr + Tīkla smp proxy režīms nezināms + Tīkla smp proxy režīms neaizsargāts + Tīkla smp proxy režīms nekad + Tīkla smp proxy režīms vienmēr + Tīkla smp proxy režīms nezināms + Tīkla smp proxy režīms neaizsargāts + Tīkla smp proxy režīms nekad + Atjaunināt tīkla smp proxy režīmu? + Tīkla smp proxy rezerves atļaut samazināšanu + Tīkla smp proxy rezerves atļaut + Tīkla smp proxy rezerves atļaut aizsargātu + Tīkla smp proxy rezerves aizliegt + Tīkla smp proxy rezerves atļaut + Tīkla smp proxy rezerves atļaut aizsargātu + Tīkla smp proxy rezerves aizliegt + Atjaunināt tīkla smp proxy rezerves? + Privātā maršrutēšana rādīt + Privātā maršrutēšana skaidrojums + Tīkla smp tīmekļa ports + Tīkla smp tīmekļa porta slēdzis + Tīkla smp tīmekļa porta kājenes + Tīkla smp tīmekļa porta iepriekš iestatītā kājenes + Tīkla smp tīmekļa ports viss + Tīkla smp tīmekļa porta iepriekš iestatījums + Tīkla smp tīmekļa ports izslēgts + Izskata iestatījumi + Pielāgot tēmu + Tēmas krāsas + Lietotnes versija + Lietotnes versijas nosaukums + Lietotnes versijas kods + Pamatversija + Pamat simplexmq versija + Pārbaudīt atjauninājumus + Lietotnes atjauninājumu pārbaude atspējota + Lietotnes atjauninājumu pārbaude stabila + Lietotnes atjauninājumu pārbaude beta + Ir pieejams atjauninājums + Lejupielādēt + Izlaist + Lejupielāde uzsākta + Lejupielāde pabeigta + Atvērt + Instalēt + Veiksmīgi instalēts + Atjauninājums veiksmīgi instalēts. + Lejupielāde atcelta + Atgādināt vēlāk + Paziņojums par atjauninājumu + Saņemiet paziņojumus par pieejamiem atjauninājumiem. + Atspējot paziņojumus par atjauninājumiem + Rādīt izstrādātāja opcijas + Paslēpt izstrādātāja opcijas + Rādīt izstrādātāja opcijas + Kļūdu žurnāli + Izstrādātāja opcijas + Izstrādātāja opcijas + Novecojušas opcijas + Rādīt iekšējās kļūdas + Rādīt lēnus API izsaukumus + Izslēgt? + Izslēgšana + Kļūda saglabājot iestatījumus + Izveidot adresi + Dzēst adresi? + Jūsu kontakti paliks savienoti. + Visi jūsu kontakti paliks savienoti. + Visi jūsu kontakti paliks savienoti, atjauninājums nosūtīts. + Kopīgot saiti + Pievienot adresi savai profilam + Izveidot adresi un ļaut cilvēkiem savienoties + Izveidot simplex adresi + Kopīgot ar kontaktiem + Kopīgot adresi ar kontaktiem? + Profila atjauninājums tiks nosūtīts kontaktiem. + Pārtraukt adreses kopīgošanu + Pārtraukt kopīgošanu + Automātiski pieņemt kontaktus + Nosūtīts jūsu kontaktam pēc savienojuma izveides + Sveiciena ziņa + Ievadiet sveiciena ziņu (pēc izvēles) + Saglabāt iestatījumus? + Saglabāt automātiskā pieņemšanas iestatījumus + Dzēst adresi + Aicināt draugus + E-pasta aicinājuma temats + E-pasta aicinājuma saturs + Sociālajiem tīkliem + Vai arī, lai dalītos privāti + Simplex adrese vai vienreizējs saite + Izveidot vienreizēju saiti + Adreses iestatījumi + Uzņēmuma adrese + Pievienojiet savus komandas locekļus sarunām + Pievienot īsu saiti + Dalīties ar profilu, izmantojot saiti + Dalīties ar profilu, izmantojot saiti (teksts) + Dalīties + Uzlabot grupas saiti + Dalīties ar grupas profilu, izmantojot saiti + Dalīties ar grupas profilu, izmantojot saiti (teksts) + Dalīties ar veco adresi + Dalīties ar veco saiti + Turpināt uz nākamo soli + Nekādā gadījumā neveidot adresi + Jūs varat to izveidot vēlāk + Jūs varat padarīt adresi redzamu caur iestatījumiem + Aicināt draugus (īsi) + Rādāmais vārds + Pilns vārds + Īsa apraksts + Biogrāfija ir pārāk liela + Jūsu pašreizējais profils + Jūsu profils tiek glabāts ierīcē un tiek dalīts tikai ar kontaktiem, Simplex to neredz + Rediģēt attēlu + Dzēst attēlu + Saglabāt uzņemšanu? + Vai vēlaties saglabāt preferences? + Saglabāt un paziņot kontaktam + Saglabāt un paziņot kontaktiem + Saglabāt un paziņot grupas dalībniekiem + Iziet bez saglabāšanas + Paslēpt profilu + Parole, lai parādītu + Saglabāt profila paroli + Paslēptā profila parole + Apstiprināt paroli + Lai atklātu profilu, ievadiet paroli + Kļūda, saglabājot lietotāja paroli + Jūs kontrolējat savu sarunu + Ziņojumu un lietotņu platforma, kas aizsargā jūsu privātumu un drošību + Mēs nesaglabājam kontaktus vai ziņas serveros + Izveidot profilu + Jūsu profils tiek saglabāts jūsu ierīcē + Profils tiek koplietots tikai ar jūsu kontaktiem + Parādāmā vārda laukā nedrīkst būt atstarpes + Parādāmais vārds + Īss + Izveidot profilu + Izveidot citu profilu + Izveidot adresi + Nederīgs vārds + Labot vārdu uz + Par SimpleX + Kā izmantot Markdown + Jūs varat izmantot Markdown, lai formatētu ziņas + Trekns teksts + Zvana statuss beidzies + Zvana statuss kļūda + Zvana stāvoklis sākas + Zvana stāvoklis gaida atbildi + Zvana stāvoklis gaida apstiprinājumu + Zvana stāvoklis saņēmis atbildi + Zvana stāvoklis saņēmis apstiprinājumu + Zvana stāvoklis savienojas + Zvana stāvoklis savienots + Zvana stāvoklis beidzies + Nevar atvērt pārlūkprogrammu + Nevar atvērt pārlūkprogrammu + Nepieciešamas atļaujas + Atļaujas audio ierakstīšanai + Atļaujas kamerai + Atļaujas kamerai un audio ierakstīšanai + Piešķirt atļaujas + Piešķirt atļaujas iestatījumos + Atrast iestatījumos un piešķirt atļaujas + Atvērt iestatījumus + Audio ierīce - austiņas + Audio ierīce - skaļrunis + Audio ierīce - vadu austiņas + Audio ierīce - Bluetooth + Kļūda, inicializējot tīmekļa skatu + WebView nav atbalstīts šajā ierīces arhitektūrā. + Nākamā paaudze privātajai ziņošanai + Privātums pārdefinēts + Pirmā platforma bez lietotāju ID + Imūna pret surogātpastu un ļaunprātīgu izmantošanu + Cilvēki var savienoties tikai caur saites, ko jūs kopīgojat + Decentralizēts + Atvērtā koda protokols un kods, ko ikviens var palaist serveros + Izveidot savu profilu + Izveidot privātu savienojumu + Migrēt no citas ierīces + Kā tas darbojas + Kā darbojas SimpleX + Lai aizsargātu privātumu, SimpleX izmanto ID rindām + Tikai klientu ierīces glabā kontaktu grupas un e2e šifrētas ziņas + Visas ziņas un faili ir e2e šifrēti + Lasiet vairāk GitHub krātuvē. + Izmantot čatu + Ievada paziņojumu režīms + Ievada paziņojumu režīma apakšvirsraksts + Ievada paziņojumu režīms izslēgts + Ievada paziņojumu režīms periodisks + Ievada paziņojumu režīms pakalpojums + Ievada paziņojumu režīms izslēgts + Ievada paziņojumu režīms izslēgts, īss apraksts + Ievada paziņojumu režīms periodisks + Ievada paziņojumu režīms periodisks apraksts īsi + Ievada paziņojumu režīms pakalpojums + Ievada paziņojumu režīms pakalpojuma apraksts īsi + Ievada paziņojumu režīms akumulators + Iestatīt datu bāzes paroli + Jūs varat to mainīt vēlāk + Izmantot nejaušu paroli + Ievada nosacījumi privātās sarunas nav pieejamas + Ievada nosacījumi, izmantojot jūs piekrītat + Ievada nosacījumi privātuma politika un lietošanas noteikumi + Ievada nosacījumi pieņemt + Ievada nosacījumi konfigurēt servera operatorus + Ievada izvēlēties servera operatorus + Ievada tīkla operatori + Ievada tīkla operatori simplex flux vienošanās + Ievada tīkla operatori lietotne izmantos citus operatorus + Ievada tīkla operatori nevar redzēt, kas ar ko runā + Ievada tīkla operatori lietotne izmantos maršrutēšanai + Ievada tīkls par operatoriem + Ievada izvēlēties tīkla operatorus, ko izmantot + Kā tas palīdz privātumam + Ievada tīkla operatori konfigurēt caur iestatījumiem + Ievada tīkla operatori nosacījumi tiks pieņemti + Ievada tīkla operatori nosacījumi, ko jūs varat konfigurēt + Ievada tīkla operatori pārskatīt vēlāk + Ievada tīkla operatori atjaunināt + Ievada tīkla operatori turpināt + Ienākošais video zvans + Ienākošais audio zvans + Čeki + Čeku apraksts 1 + Čeku kontakti + Čeku kontakti iespējot + Čeku kontakti atspējot + Čeku kontakti pārsniegšana iespējota + Čeku kontakti pārsniegšana atspējota + Čeku kontakti iespējot saglabāt pārsniegumus + Čeku kontakti atspējot saglabāt pārsniegumus + Čeku kontakti iespējot visiem + Rēķinu kontaktu atslēgšana visiem + Rēķinu grupas + Rēķinu grupu aktivizēšana + Rēķinu grupu atslēgšana + Rēķinu grupu pārsniegšana aktivizēta + Rēķinu grupu pārsniegšana atslēgta + Rēķinu grupu aktivizēšana ar saglabātām pārsniegšanām + Rēķinu grupu atslēgšana ar saglabātām pārsniegšanām + Rēķinu grupu aktivizēšana visiem + Rēķinu grupu atslēgšana visiem + Privātuma mediju izplūšanas rādiuss + Privātuma mediju izplūšanas rādiuss izslēgts + Privātuma mediju izplūšanas rādiuss mīksts + Privātuma mediju izplūšanas rādiuss vidējs + Privātuma mediju izplūšanas rādiuss spēcīgs + Privātuma čata saraksta atvērtie saites + Privātuma čata saraksta atvērtie saites jā + Privātuma čata saraksta atvērtie saites nē + Privātuma čata saraksta atvērtie saites jautāt + Vai vēlaties atvērt tīmekļa saiti? + Privātuma čata saraksta atvērt tīmekļa saiti + Privātuma čata saraksta atvērt pilnu tīmekļa saiti + Privātuma čata saraksta atvērt tīru tīmekļa saiti + Iestatījumi jūs + Iestatījumi + Iestatījumi čata datubāze + Iestatījumi palīdzība + Iestatījumi atbalsts + Iestatījumi lietotne + Iestatījumi ierīce + Iestatījumi čati + Iestatījumi faili + Iestatījumi piegādes rēķini + Iestatījumi kontaktu pieprasījumi no grupām + Iestatījumi restartēt lietotni + Iestatījumi izslēgt + Iestatījumi izstrādātāja rīki + Iestatījumi eksperimentālās funkcijas + Iestatījumi zeķes + Iestatījumi + Tēmas + Profila attēli + Ziņu forma + Ziņu formas stūris + Ziņu formas aste + Sarunu tēmas iestatījumi + Lietotāja tēmas iestatījumi + Sarunu krāsu iestatījumi + Ziņu iestatījumi + Privāto ziņu maršrutēšanas iestatījumi + Zvanīšanas iestatījumi + Tīkla savienojuma iestatījumi + Incognito iestatījumi + Eksperimentālie iestatījumi + Izmantot no darbvirsmas + Jūsu sarunu datubāze + Palaist sarunu + Attālie hosti + Saruna notiek + Saruna ir apstājusies + Sarunu datubāze + Datubāzes parolfrāze + Eksportēt datubāzi + Importēt datubāzi + Jauns datubāzes arhīvs + Vecs datubāzes arhīvs + Atvērt datubāzes mapi + Dzēst datubāzi + Kļūda, sākot sarunu + Apstāt sarunu? + Apstāt sarunu, lai eksportētu, importētu vai dzēstu sarunu datubāzi + Apstiprināt sarunas apstāšanu + Iestatīt paroli eksportēšanai + Iestatiet paroli, lai eksportētu + Kļūda, apstādot sarunu + Kļūda, eksportējot sarunu datubāzi + Importēt datubāzi? + Jūsu pašreizējā sarunu datubāze tiks dzēsta un aizvietota ar importēto + Apstiprināt datubāzes importēšanu + Kļūda, dzēšot datubāzi + Kļūda, importējot datu bāzi + Sarunu datu bāze importēta + Restartējiet lietotni, lai izmantotu importēto sarunu datu bāzi + Notikušas nenozīmīgas kļūdas importēšanas laikā + Vai vēlaties dzēst sarunu? + Sarunu dzēšanas darbību nevar atcelt + Sarunu datu bāze dzēsta + Restartējiet lietotni, lai izveidotu jaunu sarunu profilu + Jums jāizmanto jaunākā datu bāzes versija + Faili un mediji + Dzēst failus un medijus visiem lietotājiem + Dzēst visus failus un medijus + Vai vēlaties dzēst failus un medijus? + Dzēst failus un medijus + Nav saņemtu lietotnes failu + Kopējais failu skaits un izmērs + Sarunu vienības derīguma termiņš nav + Sarunu vienības derīguma termiņš sekundēs + Sarunu vienības derīguma termiņš pēc noklusējuma + Ziņas + Ziņas + Dzēst ziņas pēc + Vai vēlaties iespējot automātisko dzēšanu? + Iespējot automātisko dzēšanu + Dzēst ziņas + Kļūda, mainot dzēšanu + Sarunu datu bāze eksportēta + Sarunu datu bāze eksportēta un saglabāta + Sarunu datu bāze eksportēta un migrēta + Sarunu datu bāze eksportēta, ne visi faili + Sarunu datu bāze eksportēta, turpināt + Kļūda, saglabājot datu bāzi + Saglabāt paroli atslēgu glabātājā + Saglabāt paroli iestatījumos + Datu bāze ir šifrēta + Kļūda, šifrējot datu bāzi + Noņemt paroli no atslēgu glabātāja + Noņemt paroli no iestatījumiem + Paziņojumi tiks slēpti + Noņemt paroli + Šifrēt datubāzi + Atjaunot datubāzi + Pašreizējā frāze + Jaunā frāze + Apstiprināt jauno frāzi + Atjaunot datubāzes frāzi + Iestatīt datubāzes frāzi + Iestatīt frāzi + Ievadiet pareizo pašreizējo frāzi + Datubāze nav šifrēta + Atslēgu glabātuve tiek droši glabāta + Iestatījumi tiek glabāti parastā tekstā + Šifrēts ar nejaušu frāzi + Nav iespējams atgūt frāzi + Atslēgu glabātuve ļauj saņemt ntfs + Frāze tiks saglabāta iestatījumos + Jums katru reizi jāievada frāze + Šifrēt datubāzi? + Mainīt datubāzes frāzi? + Datubāze tiks šifrēta + Datubāze tiks šifrēta un frāze tiks saglabāta + Datubāze tiks šifrēta un frāze tiks saglabāta iestatījumos + Datubāzes šifrēšana tiks atjaunināta + Datubāzes šifrēšana tiks atjaunināta iestatījumos + Datubāzes frāze tiks atjaunināta + Droši glabāt frāzi + Droši glabāt frāzi bez atgūšanas + Nepareiza frāze + Kļūda, lasot frāzi + Šifrēta datubāze + Datubāzes kļūda + Atslēgu glabātuves kļūda + Frāze ir atšķirīga + Fails ar ceļu + Nepieciešama datubāzes frāze + Kļūda ar + Nav iespējams piekļūt atslēgu glabātuvei + Nezināma datubāzes kļūda ar + Nepareiza frāze + Ievadiet pareizo frāzi + Nezināma kļūda + Ievadiet atslēgvārdu + Saglabāt atslēgvārdu un atvērt sarunu + Atvērt sarunu + Datu bāzes dublējumu var atjaunot. + Atjaunot datu bāzi + Atjaunot datu bāzi + Vai tiešām vēlaties atjaunot datu bāzi? + Apstiprināt datu bāzes atjaunošanu + Datu bāzes atjaunošanas kļūda + Atslēgvārds nav atrasts + Atslēgvārdu nevar nolasīt + Atslēgvārdu nevar nolasīt, lūdzu, ievadiet to manuāli + Datu bāzes jaunināšana + Datu bāzes samazināšana + Nesaderīga datu bāzes versija + Apstiprināt datu bāzes jauninājumus + Vienas rokas saskarne + Sarunu apakšējā josla + Vienas rokas saskarnes karte + Vienas rokas saskarnes maiņas instrukcija + Terminālis vienmēr redzams + Sarunu saraksts vienmēr redzams + Nederīga migrācijas apstiprināšana + Jaunināt un atvērt sarunu + Samazināt un atvērt sarunu + Mtr kļūda: nav lejupvērstas migrācijas + Mtr kļūda: atšķirīgs + Datu bāzes migrācijas + Datu bāzes samazināšana + Saruna ir apturēta + Jūs varat uzsākt sarunu, izmantojot iestatījumus vai restartējot lietotni + Sākt sarunu? + Saruna ir apturēta, jums jāveic datu bāzes pārsūtīšana + Grupas ielūguma vienums + Pievienoties grupai? + Jūs esat aicināts pievienoties grupai, lai sazinātos ar grupas dalībniekiem + Pievienoties grupai + Pievienoties grupai incognito + Pievienojos grupai + Jūs esat pieņēmuši grupas ielūgumu, savienojoties ar grupas dalībnieku, kurš jūs aicināja. + Atstāt grupu + Vai vēlaties atstāt grupu? + Vai vēlaties atstāt čatu? + Jūs pārtrauksiet saņemt ziņas no šīs grupas, bet sarunu vēsture tiks saglabāta. + Jūs pārtrauksiet saņemt ziņas no šī čata, bet sarunu vēsture tiks saglabāta. + Pievienot dalībniekus + Grupa ir neaktīva + Grupas ielūgums ir beidzies + Grupas ielūgums ir beidzies + Nav grupas + Nav grupas + Nav iespējams aicināt kontaktus + Nav iespējams aicināt kontaktus, jo nav pieejamu kontaktu. + Jūs nosūtījāt grupas ielūgumu + Jūs esat aicināts uz grupu + Grupas ielūgums - pieskarieties, lai pievienotos + Grupas ielūgums - pieskarieties, lai pievienotos incognito + Jūs pievienojāties šai grupai + Jūs noraidījāt grupas ielūgumu + Grupas ielūgums ir beidzies + Saņemts tiešais notikums: kontakts izdzēsts + Saņemts tiešais notikums: grupas ielūguma saite saņemta + Saņemts grupas notikums: dalībnieks pievienots + Saņemts grupas notikums: dalībnieks savienots + Saņemts grupas notikums: dalībnieks pieņēmis + Saņemts grupas notikums: lietotājs pieņēmis + Saņemts grupas notikums: dalībnieks atstājis + Saņemts grupas notikums: dalībnieka loma mainīta + Saņemts grupas notikums: dalībnieks bloķēts + Saņemts grupas notikums: dalībnieks atbloķēts + Saņemts grupas notikums: jūsu loma mainīta + Saņemts grupas notikums: dalībnieks izdzēsts + Saņemts grupas notikums: lietotājs izdzēsts + Saņemts grupas notikums: grupa izdzēsta + Saņemts grupas notikums: grupas profils atjaunināts + Saņemts grupas notikums: aicināts caur jūsu grupas saiti + Saņemts grupas notikums: dalībnieks izveidojis kontaktu + Saņemts grupas notikums: jauns dalībnieks gaida apstiprinājumu + Nosūtīts grupas notikums: dalībnieka loma mainīta + Grupas notikums mainījis lomu jums + Grupas notikums: dalībnieks bloķēts + Grupas notikums: dalībnieks atbloķēts + Grupas notikums: dalībnieks dzēsts + Grupas notikums: lietotājs pametis + Grupas notikums: grupas profils atjaunināts + Grupas notikums: dalībnieks pieņemts + Grupas notikums: lietotājs gaida pārskatīšanu + Profila atjauninājuma notikums: attēls noņemts + Profila atjauninājuma notikums: jauns attēls iestatīts + Profila atjauninājuma notikums: adrese noņemta + Profila atjauninājuma notikums: jauna adrese iestatīta + Profila atjauninājuma notikums: profils atjaunināts + Profila atjauninājuma notikums: dalībnieka vārds mainīts + Saņemšanas savienojuma notikums: maiņas rinda fāze pabeigta + Saņemšanas savienojuma notikums: maiņas rinda fāze mainās + Sūtīšanas savienojuma notikums: maiņas rinda fāze pabeigta dalībniekam + Sūtīšanas savienojuma notikums: maiņas rinda fāze mainās dalībniekam + Sūtīt kvītis + Kvīšu sūtīšana atspējota + Kvīšu sūtīšana atspējota + Kvīšu sūtīšana ir atspējota + Pievienot dalībniekus + Atbalsta čats + Konsolei + Rindas vietējais nosaukums + Rindas datu bāzes ID + Rindas debug piegāde + Rindas atjaunināts + Rindas ziņas statuss + Rindas faila statuss + Rindas nosūtīts + Rindas izveidots + Rindas saņemts + Rindas dzēsts + Rindas moderēts + Rindas pazūd + Kopīgojiet teksta datu bāzes ID + Dalībnieks tiks noņemts no grupas, šo darbību nevar atcelt + Dalībnieki tiks noņemti no grupas, šo darbību nevar atcelt + Dalībnieks tiks noņemts no sarunas, šo darbību nevar atcelt. + Dalībnieki tiks noņemti no sarunas, šo darbību nevar atcelt. + Apstiprināt dalībnieka noņemšanu + Noņemt dalībnieku + Bloķēt dalībnieku? + Bloķēt dalībnieku + Apstiprināt dalībnieka bloķēšanu + Bloķēt visiem? + Bloķēt dalībniekus visiem? + Bloķēt visiem + Bloķēt dalībnieku + Bloķēt dalībniekus + Atbloķēt dalībnieku? + Atbloķēt dalībnieku + Apstiprināt dalībnieka atbloķēšanu + Atbloķēt visiem? + Atbloķēt dalībniekus visiem? + Atbloķēt visiem + Atbloķēt dalībnieku + Atbloķēt dalībniekus + Dalībnieks ir bloķēts no administratora puses + Dalībnieks ir bloķēts + Dalībnieks ir atspējots + Dalībnieks ir neaktīvs + Dalībnieks + Loma grupā + Mainīt lomu + Mainīt + Pārslēgt + Mainīt dalībnieka lomu? + Dalībnieka loma tiks mainīta ar paziņojumu + Dalībnieka loma tiks mainīta ar paziņojumu sarunā + Dalībnieka loma tiks mainīta ar ielūgumu + Savienot caur dalībnieka adresi + Savienot caur dalībnieka adresi + Kļūda, noņemot dalībnieku + Kļūda, mainot lomu + Kļūda, bloķējot dalībnieku visiem + Rinda grupā + Rinda sarunā + Savienojuma rinda + Tiešais savienojuma līmenis + Netiešais savienojuma līmenis + Rinda + Nav rindas + Rindas serveris + Nevar zvanīt kontaktam + Nevar zvanīt kontaktam, lūdzu, gaidiet savienojumu. + Nevar zvanīt kontaktam, jo tas ir dzēsts. + Atļaut zvanus? + Jums jāatļauj zvanīt. + Zvanīšana aizliegta + Zvanīšana ir aizliegta, lūdzu, atļaujiet zvanus. + Nevar zvanīt dalībniekam + Nevar zvanīt dalībniekam, lūdzu, nosūtiet ziņu. + Nevar nosūtīt dalībniekam + Savienojums nav gatavs + Laipni lūdzam ziņa + Saglabāt laipni lūdzam? + Laipni lūdzam ziņa ir pārāk gara + Saglabāt un atjaunināt grupas profilu + Grupas laipni lūdzam priekšskatījums + Ievadiet laipni lūdzam ziņu + Pārāk liels + Savienojuma statistika serveriem + Saņemšana caur + Sūtīšana caur + Tīkla statuss + Mainīt saņemšanas adresi + Labot savienojumu + Labot savienojumu? + Apstiprināt savienojuma labošanu + Savienojuma labošana nav atbalstīta no kontakta puses + Savienojuma labošana nav atbalstīta no grupas dalībnieka puses + Pārrunāt šifrēšanu + Izveidot slepenu grupu + Grupa ir decentralizēta + Grupas redzamā nosaukuma lauks + Grupas pilnā nosaukuma lauks + Grupas īsā apraksta lauks + Grupa ir pārāk liela + Grupas galvenais profils nosūtīts + Sarunas galvenais profils nosūtīts + Izveidot grupu + Grupas profils tiek glabāts dalībnieku ierīcēs. + Saglabāt grupas profilu + Kļūda, saglabājot grupas profilu + Tīkla iepriekš iestatītie serveri + Operatora pārskata nosacījumi + Operatora nosacījumi pieņemti + Operatora nosacījumi pieņemti aktivizētiem operatoriem + Jūsu serveri + Operatoru nosacījumi pieņemti + Operatoru nosacījumi tiks pieņemti + Operators + Operatora serveri + Operators + Operatora mājaslapa + Operatora nosacījumi pieņemti + Operatora nosacījumi tiks pieņemti + Operatora izmantošanas slēdzis + Izmantot operatora x serverus + Operatora nosacījumi neizdevās ielādēt + Operatora nosacījumi pieņemti dažiem + Operatora tie paši nosacījumi tiks piemēroti + Operatora tie paši nosacījumi tiks piemēroti operatoriem + Operatora nosacījumi tiks piemēroti + Operatora nosacījumi tiks pieņemti dažiem + Operatoru nosacījumi arī tiks piemēroti + Skatīt nosacījumus + Pieņemt nosacījumus + Operatora lietošanas nosacījumi + Operatora atjaunotie nosacījumi + Operatora, lai izmantotu, pieņemiet nosacījumus + Operatora izmantošana ziņām + Operatora izmantošana ziņu saņemšanai + Operatora izmantošana ziņu privātai maršrutēšanai + Operatora pievienotie serveri + Operatora izmantošana failiem + Operatora izmantošana nosūtīšanai + Xftp serveri uz lietotāju + Operatora pievienotie xftp serveri + Operatora atvērtie nosacījumi + Operatora atvērtās izmaiņas + Kļūda servera atjaunināšanā + Kļūda servera protokola maiņā + Kļūda servera operatora maiņā + Operatora serveris + Serveris pievienots operatora nosaukumam + Kļūda servera pievienošanā + Tīkla opcija TCP savienojums + Tīkla opcijas atiestatītas uz noklusējumu + Tīkla opcija sekundes + Tīkla opcija TCP savienojuma laika limits + Tīkla opcija TCP savienojuma laika limits fons + Tīkla opcija protokola laika limits + Tīkla opcija protokola laika limits fons + Tīkla opcija protokola laika limits uz kb + Tīkla opcija RCV vienlaicība + Tīkla opcija ping intervāls + Tīkla opcija ping skaits + Tīkla opcija iespējot TCP keep alive + Tīkla opcijas saglabāt + Tīkla opcijas saglabāt un atkārtoti savienot + Atjaunināt tīkla iestatījumus? + Iestatījumu atjaunināšana atkārtoti savienos klientu ar visiem serveriem + Atjaunināt iestatījumus? + Pievienot lietotājus + Dzēst lietotājus? + Lietotāji dzēš visas sarunas + Lietotāji dzēš profilu priekš + Lietotāji dzēš ar savienojumiem + Lietotāji dzēš tikai datus + Paslēpt lietotāju + Atklāt lietotāju + Noklusināt lietotāju + Atcelt lietotāja noklusināšanu + Ievadiet paroli, lai parādītu + Noklikšķiniet, lai aktivizētu profilu + Padarīt profilu privātu + Jūs varat paslēpt vai izslēgt lietotāja profilu + Nerādīt atkal + Izslēgts, kad neaktīvs + Jūs joprojām saņemsiet zvanus un paziņojumus + Dzēst profilu + Dzēst sarunas profilu + Atvērt profilu + Atvērt sarunas profilu + Profila parole + Incognito + Incognito nejaušs profils + Incognito aizsargā + Incognito ļauj + Incognito kopīgo + Krāsu režīms: sistēmas + Krāsu režīms: gaišs + Krāsu režīms: tumšs + Tēmas režīms: sistēmas + Tikai jūs varat sūtīt balsi + Tikai jūsu kontakts var sūtīt balsi + Balsi aizliegts šajā sarunā + Gan jūs, gan jūsu kontakts var sūtīt failus + Tikai jūs varat sūtīt failus + Tikai jūsu kontakts var sūtīt failus + Faili aizliegti šajā sarunā + Gan jūs, gan jūsu kontakts var pievienot reakcijas + Tikai jūs varat pievienot reakcijas + Tikai jūsu kontakts var pievienot reakcijas + Reakcijas aizliegtas šajā sarunā + Gan jūs, gan jūsu kontakts var veikt zvanus + Tikai jūs varat veikt zvanus + Tikai jūsu kontakts var veikt zvanus + Zvanus aizliegts ar šo kontaktu + Atļaut sūtīt iznīkstošas ziņas + Aizliegt sūtīt iznīkstošas ziņas + Atļaut tiešās ziņas + Aizliegt tiešās ziņas + Atļaut dzēst ziņas + Atspējot neseno vēstures sūtīšanu + Iespējot dalībnieku ziņojumu sūtīšanu + Aizliegt locekļu ziņojumu sūtīšanu + Grupas locekļi var sūtīt iznīkstošas ziņas + Iznīkstošas ziņas ir aizliegtas + Grupas locekļi var sūtīt tiešās ziņas + Tiešās ziņas ir aizliegtas + Tiešās ziņas grupā ir aizliegtas + Tiešās ziņas čatā ir aizliegtas + Grupas locekļi var dzēst + Dzēšana čatā ir aizliegta + Grupas locekļi var sūtīt balss ziņas + Balss ziņas ir aizliegtas + Grupas locekļi var pievienot reakcijas + Reakcijas ir aizliegtas + Grupas locekļi var sūtīt failus + Faili grupā ir aizliegti + Grupas locekļi var sūtīt simplex saites + Simplex saites grupā ir aizliegtas + Jauniem locekļiem tiek nosūtīta nesenā vēsture + Jauniem locekļiem netiek nosūtīta nesenā vēsture + Grupas locekļi var sūtīt ziņojumus + Dalībnieku ziņojumi ir aizliegti + Dzēst pēc + sekundes + s + minūtes + mēnesis + mēneši + m + mth + stunda + stundas + h + diena + dienas + d + nedēļa + nedēļas + w + Piedāvātā funkcija + Piedāvātā funkcija ar parametru + Funkcija atcelta + Funkcijas lomas visiem dalībniekiem + Funkcijas lomas moderatoriem + Funkcijas lomas administratoriem + Funkcijas lomas īpašniekiem + Funkcija iespējota + Dalībnieku uzņemšana + Uzņemšanas posma pārskats + Pārskats par uzņemšanas posmu. + Dalībnieku kritēriji izslēgti + Dalībnieku kritēriji visi + Dalībnieku atbalsts + Nav atbalsta sarunu + Dzēst dalībnieku atbalsta sarunu + Dzēst dalībnieku atbalsta sarunu + Atbalsta saruna + Noraidīt gaidošo dalībnieku + Noraidīt gaidošo dalībnieku + Pieņemt gaidošo dalībnieku + Pieņemt gaidošo dalībnieku + Vai pieņemt gaidošo dalībnieku? + Apstiprinājums par gaidošā dalībnieka pieņemšanu kā dalībniekam + Apstiprinājums par gaidošā dalībnieka pieņemšanu kā novērotājam + Kas jauns + Jaunumi šajā versijā + Lasiet vairāk par jaunumiem + Drošības novērtējums + Drošības novērtējums. + Grupu saites + Grupu saites. + Automātiski pieņemt kontaktu pieprasījumus + Automātiski pieņemt kontaktu pieprasījumus. + Balss ziņas + Balss ziņas. + Neatgriezeniska dzēšana + Neatgriezeniska ziņu dzēšana. + Uzlabota servera konfigurācija + Uzlabota servera konfigurācija. + Uzlabota privātums un drošība + Uzlabota privātums un drošība. + Izbeigušās ziņas + Izbeigušās ziņas, kas pazūd pēc noteikta laika. + Tiešraides ziņas + Ziņas, kas tiek nosūtītas un saņemtas reālajā laikā. + Pārbaudīt savienojuma drošību + Pārbaudiet, vai jūsu savienojums ir drošs. + Franču saskarne + Izvēlieties franču valodu kā saskarnes valodu. + Vairāki čata profili + Izveidojiet un pārvaldiet vairākus čata profilus. + Melnraksts + Saglabājiet ziņu kā melnrakstu, lai to vēlāk pabeigtu. + Transporta izolācija + Izolējiet transporta slāni, lai uzlabotu drošību. + Privāti failu nosaukumi + Izmantojiet privātus failu nosaukumus, lai aizsargātu jūsu datus. + Samazināta akumulatora lietošana + Uzlabota akumulatora efektivitāte, lai pagarinātu lietošanas laiku. + Itāļu saskarne + Izvēlieties itāļu valodu kā saskarnes valodu. + Slēptie čata profili + Pārvaldiet slēptos čata profilus, kas nav redzami citiem. + Audio un video zvanīšana + Veiciet audio un video zvanus ar citiem lietotājiem. + Grupas moderēšana + Moderējiet grupas sarunas un saturu. + Grupas sveiciena ziņa + Sveiciena ziņa, kas tiek nosūtīta jaunajiem grupas dalībniekiem. + Samazināta akumulatora lietošana + Uzlabota akumulatora efektivitāte, lai pagarinātu lietošanas laiku. + Ķīniešu un spāņu saskarne + Izvēlieties ķīniešu vai spāņu valodu kā saskarnes valodu. + Lielu failu atbalsts + Atbalstiet lielu failu nosūtīšanu un saņemšanu. + Lietotnes piekļuves kods + Iestatiet piekļuves kodu, lai aizsargātu lietotni. + Poļu saskarne + Izvēlieties poļu valodu kā saskarnes valodu. + Ziņu reakcijas + Izteikiet savas reakcijas uz ziņām. + Pašiznīcinošs piekļuves kods + Piekļuves kods, kas nodrošina pašiznīcināšanos. + Pielāgotas tēmas + Izvēlieties un pielāgojiet tēmas pēc savas gaumes. + Uzlabotas ziņas + Saņemiet labākas un skaidrākas ziņas. + Japāņu-portugāļu saskarne + Jaunumi, pateicoties lietotāju ieguldījumam Weblate. + Ziņu piegādes apstiprinājumi + Saņemiet apstiprinājumus par ziņu piegādi. + Iemīļoto filtrs + Filtrējiet savas iecienītākās ziņas. + Šifrēšanas labojums + Uzlabojiet šifrēšanas drošību. + Izzust viena ziņa + Ziņa izzudīs pēc noteikta laika. + Vairāk iespēju + Atklājiet vēl vairāk funkciju. + Jauna darbvirsmas lietotne + Izmantojiet jauno un uzlaboto darbvirsmas lietotni. + Šifrēt vietējās failus + Aizsargājiet savus failus ar šifrēšanu. + Atklājiet grupas + Pievienojieties interesantām grupām. + Vienkāršāks inkognito režīms + Izmantojiet inkognito režīmu vieglāk. + Jaunas saskarnes valodas + Saistīt mobilo un darbvirsmas lietotni + Savienojiet mobilo un darbvirsmas lietotni. + Uzlabotas grupas + Izveidojiet un pārvaldiet grupas efektīvāk. + Inkognito grupas + Izveidojiet grupas, kas ir privātas un anonīmas. + Bloķēt grupas dalībniekus + Bloķējiet nevēlamus grupas dalībniekus. + Atklājiet vēl vairāk iespēju. + Privātas piezīmes + Saglabājiet savas piezīmes drošībā. + Vienkāršāka savienojuma saskarne + Izmantojiet savienojuma saskarni vieglāk. + Pievienoties grupas sarunai + Pievienojieties grupas sarunai. + Piegāde + Ziņu piegāde. + Jaunas saskarnes valodas + Kvantumam izturīga šifrēšana + Kvantumam izturīga šifrēšana. + Lietotnes datu migrācija + Lietotnes datu migrācija. + Attēls attēlā zvani + Attēls attēlā zvani. + Drošākas grupas + Drošākas grupas. + Kvantumam izturīga šifrēšana. + Pārsūtīt + Pārsūtīt. + Zvana skaņas + Zvana skaņas. + Profila attēlu forma + Profila attēlu forma. + Tīkls + Tīkls. + Jaunas saskarnes valodas + Privāta maršrutēšana + Privāta maršrutēšana. + Sarunu tēmas + Sarunu tēmas. + Droši faili + Droši faili. + Piegāde + Ziņu piegāde. + Persiešu saskarne + Jauna sarunu pieredze + Jaunas mediju iespējas + Privāta maršrutēšana. + Jūsu kontakti. + Pieejamā sarunu rīkjosla + Pieejamā sarunu rīkjosla. + Savienojieties ātrāk. + Dzēst daudz ziņu. + Sarunu saraksta multivide + Privātuma izplūšana + Palielināt fonta izmēru + Atjaunināt lietotni + Atjauniniet lietotni, lai iegūtu jaunākās funkcijas un uzlabojumus. + Savienojuma serveri + Pārbaudiet savienojuma serveru statusu. + Labāka drošība + Uzlabota drošība jūsu datiem. + Labāki zvani + Uzlabota zvanu kvalitāte. + Labāka lietotāja pieredze + Mainiet sarunu profilu. + Pielāgojamas ziņas + Ziņu datumi + Pārsūtīt vairākas ziņas + Dzēst vairākas ziņas + Tīkla decentralizācija + Decentralizējiet tīklu, lai uzlabotu drošību. + Tīkla decentralizācija, iespējot plūsmu + Tīkla decentralizācija, iespējot plūsmu iemesls + Uzlabota sarunu navigācija + Vieglāka navigācija sarunās. + Uzņēmumu sarunas + Sarunas uzņēmumiem. + Atsauces + Atsauces uz jums sarunās. + Ziņojumi + Attālinātā hosta kļūda: slikts stāvoklis + Attālinātā hosta kļūda: slikta versija + Attālinātā hosta kļūda: atslēgts + Attālinātā kontrole: neaktīva + Attālinātā kontrole: slikts stāvoklis + Attālinātā kontrole: aizņemta + Attālinātā kontrole: laika ierobežojums + Attālinātā kontrole: atslēgta + Attālinātā kontrole: slikta ielūgums + Attālinātā kontrole: slikta versija + Izstrādē + Šī funkcija ir izstrādē. + Savienojiet plānu, lai savienotos ar sevi + Šis ir jūsu personīgais vienreizējais saite + Jūs jau savienojaties ar %1$s + Jūs jau savienojaties + Jūs jau savienojaties, izmantojot šo vienreizējo saiti + Šis ir jūsu personīgais simplex adrese + Atkārtot savienojuma pieprasījumu + Jūs jau esat pieprasījis savienojumu, izmantojot šo adresi + Pievienojieties savai grupai + Šis ir jūsu saite grupai %1$s + Atkārtot pievienošanās pieprasījumu + Grupa jau pastāv + Čats jau pastāv + Jūs jau pievienojaties grupai %1$s + Jūs jau pievienojaties grupai + Jūs jau pievienojaties grupai, izmantojot šo saiti + Jūs jau esat grupā %1$s + Jūs jau esat savienots ar %1$s + Savienojiet, izmantojot saiti + Aģenta kritiska kļūda + Notikusi kritiska kļūda aģentā. + Aģenta iekšēja kļūda + Notikusi iekšēja kļūda aģentā. + Restartēt čatu + Migrēt uz ierīci + Vai nu ielīmējiet arhīva saiti + Ielīmējiet arhīva saiti + Nederīga faila saite + Čata arhīvs + Migrē uz ierīci + Migrē uz ierīci, datu bāzes inicializācija + Migrē uz ierīci, lejupielādējot detaļas + Migrē uz ierīci, lejupielādējot arhīvu + Migrē uz ierīci, lejupielādēti %d baiti + Migrē uz ierīci, lejupielāde neizdevās + Atkārtot lejupielādi + Mēģiniet vēlreiz + Migrē uz ierīci, importējot arhīvu + Migrēt no ierīces + Migrēt no ierīces uz citu ierīci + Kļūda, migrējot no ierīces, saglabājot iestatījumus + Migrēt no ierīces, eksportētā faila nav + Kļūda, migrējot no ierīces, eksportējot arhīvu + Migrēt no ierīces, datu bāzes inicializācija + Kļūda, migrējot no ierīces, augšupielādējot arhīvu + Kļūda, migrējot no ierīces, dzēšot datu bāzi + Migrēt no ierīces, apturot sarunu + Migrēt no ierīces, sarunai jābūt apturētai + Migrēt no ierīces, arhivēt un augšupielādēt + Migrēt no ierīces, apstiprināt augšupielādi + Migrēt no ierīces, visi dati tiks augšupielādēti + Migrēt no ierīces, arhivējot datu bāzi + Migrēt no ierīces, augšupielādētie biti + Migrēt no ierīces, augšupielādējot arhīvu + Migrēt no ierīces, augšupielāde neizdevās + Migrēt no ierīces, atkārtot augšupielādi + Migrēt no ierīces, mēģiniet vēlreiz + Migrēt no ierīces, veidojot arhīva saiti + Migrēt no ierīces, atcelt migrāciju + Migrēt no ierīces, pabeigt migrāciju + Migrēt no ierīces, vai dzēst arhīvu? + Migrēt no ierīces, augšupielādētais arhīvs tiks dzēsts + Migrēt no ierīces, izvēlieties migrēt no citas ierīces + Migrēt no ierīces, vai kopīgot šo faila saiti + Migrēt no ierīces, dzēst datu bāzi no ierīces + Migrēt no ierīces, sarunas uzsākšana vairākās ierīcēs nav atbalstīta + Migrēt no ierīces, uzsākt sarunu + Migrēt no ierīces, migrācija pabeigta + Migrēt no ierīces, nedrīkstat uzsākt datu bāzi divās ierīcēs + Migrēt no ierīces, izmantošana divās ierīcēs pārtrauc šifrēšanu + Migrēt no ierīces, pārbaudīt datu bāzes paroli + Migrēt no ierīces, pārbaudīt paroli + Migrēt no ierīces, apstipriniet, ka atceraties paroli + Migrēt no ierīces, pārbaudiet savienojumu un mēģiniet vēlreiz + Migrēt no ierīces, arhīvs tiks dzēsts + Kļūda, migrējot no ierīces, pārbaudot paroli + Tīkla veids: nav tīkla savienojuma + Tīkla veids: mobilais + Tīkla veids: Wi-Fi + Tīkla veids: Ethernet + Cita tīkla veida + Serveri + Serveru failu cilne + Trūkstošie serveri + Serveru mērķis + Visi lietotāji + Pašreizējais lietotājs + Serveru transporta sesiju virsraksts + Savienotās serveru sesijas + Savienojamās serveru sesijas + Serveru sesiju kļūdas + Serveru statistikas virsraksts + Nosūtītās ziņas no serveriem + Saņemtās ziņas no serveriem + Serveru detaļas + Serveru privāto datu atruna + Serveru abonementu virsraksts + Abonētās serveru savienojumu + Gaidošie serveru abonementu savienojumi + Kopējais serveru abonementu skaits + Savienoto serveru virsraksts + Iepriekš savienoto serveru virsraksts + Proksēto serveru virsraksts + Proksēto serveru kājenes + Pārsavienot serverus + Pārsavienot serverus + Pārsavienot serveri + Pārsavienot serveri + Kļūda pārsavienojot serverus + Kļūda pārsavienojot serveri + Serveru modalitātes kļūda + Pārsavienot visus serverus + Atjaunot serveru statistiku + Atjaunot serveru statistiku + Atjaunot serveru statistiku + Apstiprināt serveru statistikas atjaunošanu + Kļūda atjaunojot serveru statistiku + Augšupielādēti serveri + Lejupielādēti serveri + Detalizēta serveru statistika + Serveru detalizētā statistika par nosūtītajām ziņām + Serveru detalizētā statistika par kopējo nosūtīto ziņu skaitu + Serveru detalizētā statistika par saņemtajām ziņām + Serveru detalizētā statistika par kopējo saņemto ziņu skaitu + Serveru detalizētā statistika par saņemšanas kļūdām + Serveri sākot no + Smp serveris + Xftp serveris + Pārlādēt + Mēģinājumi + Nosūtīts tieši + Nosūtīts caur proxy + Proxy + Nosūtīšanas kļūdas + Beidzies + Citi + Dublikāti + Atšifrēšanas kļūdas + Citas kļūdas + Apstiprināts + Apstiprināšanas kļūdas + Savienojumi + Izveidots + Aizsargāts + Pabeigts + Izdzēsts + Izdzēšanas kļūdas + Abonēts + Abonēšanas rezultāti ignorēti + Abonēšanas kļūdas + Augšupielādētie faili + Izmērs + Augšupielādītie fragmenti + Augšupielādes kļūdas + Izdzēstie fragmenti + Lejupielādētie fragmenti + Lejupielādētie faili + Lejupielādes kļūdas + Servera adrese + Atvērt servera iestatījumus + Sasniegts maksimālais grupas pieminējumu skaits ziņā. + diff --git a/apps/multiplatform/common/src/commonMain/resources/MR/nb-rNO/strings.xml b/apps/multiplatform/common/src/commonMain/resources/MR/nb-rNO/strings.xml new file mode 100644 index 0000000000..a6385a5ce0 --- /dev/null +++ b/apps/multiplatform/common/src/commonMain/resources/MR/nb-rNO/strings.xml @@ -0,0 +1,220 @@ + + + 1 dag + 1 minutt + 1 måned + 1 rapport + Engangslenke + 1 uke + 1 år + 30 sekunder + 5 minutter + a + b + Avbryt + Avbryt adresseendring + Avbryt adresseendring? + Om operatører + Om SimpleX + Om SimpleX-adressen + Om SimpleX Chat + Aksentfarge + Aksepter + Aksepter + Aksepter + Aksepter + Aksepter + Aksepter + Aksepter som medlem + Aksepter som observatør + Aksepter vilkår + Aksepter tilkoblingsforespørsel? + Aksepter kontaktforespørsel + Aksepter kontaktforespørsel + Akseptert %1$s + Akseptert anrop + Akseptert vilkår + Akseptert invitasjon + Aksepterte deg + Aksepter inkognito + Aksepter medlem + Koble til servere via SOCKS proxy på port %d? Proxy må startes før du skrur på dette valget. + Bekreftelsesfeil + Aktive tilkoblinger + Legg til en adresse i profilen din slik at kontaktene dine kan dele denne med andre. Profiloppdateringen vil bli sendt til dine kontakter. + Legg til kontakt + Lagt til medie- og filservere + Meldingsservere er lagt til + Legg til venner + Legg til en liste + Legg til en melding + Legg til forhåndsvalgte servere + Legg til en profil + Adresse + Adresseendringen vil bli avbrutt. Den gamle mottakeradressen vil bli brukt. + Adresse eller engangslenke? + Adresseinnstillinger + Legg til en server + Legg til servere ved å skanne QR-koder. + Legg til teammedlemmer + Legg til en annen enhet + Legg til listen + Legg til velkomstmelding + Legg til dine teammedlemmer i samtalene. + administrator + administratorer + Administratorer kan blokkere ett medlem for alle. + Administratorer kan lage lenker for å bli med i grupper. + Avanserte nettverksinnstillinger + Avanserte innstillinger + Avanserte innstillinger + godkjenner krypteringen… + alle + Alle + All appdata er slettet. + Alle chatter og meldinger vil bli slettet - dette kan ikke angres! + Alle chatter vil bli fjernet fra listen %s, og listen vil bli slettet + Alle gruppemedlemmer vil forbli tilkoblet. + alle medlemmer + Alle meldinger vil bli slettet - dette kan ikke angres! + Alle meldinger vil bli slettet – dette kan ikke angres! Meldingene vil KUN bli slettet for deg. + Alle nye meldinger fra %s vil bli skjult! + Alle nye meldinger fra disse medlemmene vil bli skjult! + Tillat + Tillate + Tillat anrop? + Tillat samtaler kun vis kontakten din tillater dem. + Tillat forsvinnende meldinger kun vis kontakten din tillater dem. + Tillat nedgradering + Tillat filer og medier kun vis kontakten din tillater det. + Tillat irreversibel sletting av meldinger kun hvis kontakten din tillater det. (24 timer) + Tillat meldingsreaksjoner. + Tillat meldingsreaksjoner kun vis kontakten din tillater det. + Tillat direktemeldinger til medlemmer. + Tillat å slette sendte meldinger irreversibelt. (24 timer) + Tillat å rapportere meldinger til moderatorer. + Tillat å sende forsvinnende meldinger. + Tillat å sende filer og medier. + Tillat sending av SimpleX-lenker. + Tillat sending av talemeldinger. + Tillat talemeldinger? + Tillat talemeldinger kun vis kontakten din tillater det. + Tillat kontaktene dine å sende meldingsreaksjoner. + Tillat kontaktene dine å ringe deg. + Tillat kontaktene dine å irreversibelt slette sendte meldinger. (24 timer) + Tillat kontaktene dine å sende forsvinnende meldinger. + Tillat kontaktene dine å sende filer og medier. + Tillat kontaktene dine å sende talemeldinger. + Alle profiler + Alle rapporter vil bli arkivert for deg. + Alle servere + Alle dine kontakter, samtaler og filer vil bli kryptert og lastet opp i deler til konfigurerte XFTP-reléer. + Alle kontaktene dine vil forbli tilkoblet. + Alle kontaktene dine vil forbli tilkoblet. Profiloppdatering vil bli sendt til kontaktene dine. + Kobler allerede til! + alltid + Alltid + Alltid på + Bruk alltid privat ruting. + Bruk alltid relé + og %d andre hendelser + Android Keystore brukes til å lagre passord på en sikker måte – det gjør at varslingstjenesten fungerer. + Android Keystore brukes til å trygt lagre passordet ditt etter at du restarter appen eller bytter passord - det gjør at du kan motta varsler. + En tom chat-profil med navnet du har valgt vil bli laget, og appen åpnes som vanlig. + En ny tilfeldig profil vil bli delt. + En annen grunn + Svar anrop + Hvem som helst kan være vert for servere. + APP + Appen kjører alltid i bakgrunnen + App build: %s + Appen kan bare motta varsler når den er åpen, ingen bakgrunnstjeneste vil bli startet. + Backup av appdata + Migrering av appdata + Utseende + Appen krypterer nye lokale filer (unntatt videoer). + Appikon + Bruk + Bruk på + App-passord + App-passord + App-passordet byttes med det selvdestruerende passordet. + Appøkt + Apptema + App-verktøylinjer + Appoppdatering er lastet ned. + Appversjon + Appversjon: v%s + Arabisk, bulgarsk, finsk, hebraisk, thai og ukrainks - takk til brukerne og Weblate. + Arkiv + Arkiver alle rapporter? + Arkiver og last opp + Arkiver kontakter for å chatte senere. + Arkiverte kontakter + arkivert rapport + arkivert rapport av %s + Arkiver %d rapporter? + Arkiver rapport + Arkiver rapport? + Arkiver rapporter + Arkiverer database + Spør + Bedt om å motta bildet + Bedt om å motta videoen + Legg ved + forsøk + Lyd- og videosamtaler + lydanrop + Lydanrop + lydanrop (ikke E2E-kryptert) + Lyd av + Lyd på + Lyd- og videosamtaler + Lyd/videosamtaler + Lyd/videosamtaler er ikke tillatt. + Autentisering avbrutt + Autentisering mislyktes + Autentisering er ikke tilgjengelig + forfatter + Godta automatisk + Godta kontaktforespørsler automatisk + Godta bilder automatisk + \nTilgjengelig i v5.1 + Tilbake + Bakgrunn + Bakgrunnstjenesten kjører alltid - varsler vises så snart meldingene er tilgjengelige. + Batterioptimalisering er aktivert, og bakgrunnstjenesten og periodiske forespørsler om nye meldinger er slått av. Du kan aktivere det igjen i innstillingene. + Beta + Bedre anrop + Bedre grupper + Bedre gruppeytelse + Bedre meldingsdatoer. + Bedre meldinger + Bedre personvern og sikkerhet + Bedre sikkerhet ✅ + Bedre brukeropplevelse + Bio: + Bio er for stor + Svart + Blokker + blokkert + blokkert + blokkert av administrator + Blokkert av administrator + blokkert %s + Blokker for alle + Blokker gruppemedlemmer + Blokker medlem + Blokker medlem? + Blokker medlem for alle? + Blokker medlemmer for alle? + Bluetooth + fet + Bot + Både du og kontakten din kan legge til reaksjoner på meldinger. + Både du og kontakten din kan slette sendte meldinger irreversibelt. (24 timer) + Både du og kontakten din kan ringe. + Både du og kontakten din kan sende forsvinnende meldinger. + Både du og kontakten din kan sende filer og medier. + Både du og kontakten din kan sende talemeldinger. + Firmaadresse + diff --git a/apps/multiplatform/common/src/commonMain/resources/MR/ro/strings.xml b/apps/multiplatform/common/src/commonMain/resources/MR/ro/strings.xml index f51fb74d2a..2f19492237 100644 --- a/apps/multiplatform/common/src/commonMain/resources/MR/ro/strings.xml +++ b/apps/multiplatform/common/src/commonMain/resources/MR/ro/strings.xml @@ -1902,7 +1902,7 @@ Bun venit, %1$s! Atinge pentru a începe o conversație nouă Folosește acreditări proxy diferite pentru fiecare conexiune. - Adresă SimpleX sau link unic? + Adresă SimpleX sau link de unică folosință? Pentru a-ți proteja confidențialitatea, SimpleX folosește ID-uri separate pentru fiecare persoană de contact. Ai fost invitat în grup Pentru a primi @@ -1933,7 +1933,7 @@ necunoscut Poți ascunde sau dezactiva notificările unui profil de utilizator – ține apăsat pentru meniu. Ați permis - Partajează linkul unic cu un prieten + Partajează link de unică folosință cu un prieten Mesaje vocale Mesaj vocal… Setări proxy SOCKS @@ -1946,7 +1946,7 @@ Mesajele vocale sunt interzise! Ați acceptat conexiunea Partajează adresa public - Partajează acest link de invitație unic + Partajează acest link de invitație de unică folosință Pentru a verifica criptarea end-to-end, compară (sau scanează) codul de pe dispozitivele voastre cu persoana de contact. Utilizare pentru conexiuni noi Utilizați proxy SOCKS @@ -1989,7 +1989,7 @@ Videoclipuri și fișiere de până la 1 GB Comută modul incognito la conectare. Formă imagine de profil - Schimbă profilul de conversații pentru invitații unice. + Schimbă profilul de conversație pentru invitații de unică folosință. Puteți activa mai târziu prin Setări săptămâni Acesta este linkul tău unic, valabil o singură dată! @@ -2099,7 +2099,7 @@ (pentru a partaja cu persoana de contact) Pentru a începe o nouă conversație Video - Partajează link unic + Partajează link de unică folosință Acest link nu este un link de conectare valid! Acest cod QR nu este un link! Link scurt @@ -2174,7 +2174,7 @@ Partajează adresa SimpleX pe rețelele de socializare. Pentru a te conecta, persoana ta de contact poate scana codul QR sau poate folosi linkul din aplicație. Poți seta numele conexiunii, ca să-ți amintești cu cine ai partajat linkul. - Adresa SimpleX și linkurile unice pot fi partajate în siguranță prin orice aplicație de mesagerie. + Adresa SimpleX și linkurile de unică folosință pot fi partajate în siguranță prin orice aplicație de mesagerie. Codul scanat nu este un cod QR de tip link SimpleX. Server de testare Servere de testare @@ -2257,7 +2257,7 @@ Întreabă %s.]]> Schimbați ștergerea automată a mesajelor? - Adresă sau link unic? + Adresă sau link de unică folosință? Sesiune de aplicație Contactele tale Datele tale de conectare pot fi trimise necriptat. @@ -2270,7 +2270,7 @@ Contacte Conexiunea necesită renegocierea criptării. Adresa ta SimpleX - Creează link unic + Creează un link de unică folosință Profilul tău actual Aplicația rulează întotdeauna în fundal acceptat %1$s @@ -2388,7 +2388,7 @@ toți Afaceri Prin utilizarea SimpleX Chat ești de acord să:\n- trimiți doar conținut legal în grupurile publice.\n- respecți ceilalți utilizatori – fără spam. - doar cu un singur contact - partajează-l personal sau prin orice altă aplicație de mesagerie.]]> + doar cu un singur contact - partajează-l personal sau prin orice aplicație de mesagerie.]]> Nu trebuie să utilizați aceeași bază de date pe două dispozitive. arătați codul QR în apelul video sau distribuiți linkul.]]> Utilizare de pe desktop în aplicația mobilă și scanează codul QR.]]> diff --git a/apps/multiplatform/common/src/commonMain/resources/MR/ru/strings.xml b/apps/multiplatform/common/src/commonMain/resources/MR/ru/strings.xml index 7d7030fa42..95e5ed9409 100644 --- a/apps/multiplatform/common/src/commonMain/resources/MR/ru/strings.xml +++ b/apps/multiplatform/common/src/commonMain/resources/MR/ru/strings.xml @@ -42,7 +42,7 @@ SimpleX одноразовая ссылка SimpleX ссылка группы через %1$s - SimpleX ссылки + Ссылки SimpleX Описание Полная ссылка В браузере @@ -207,7 +207,7 @@ В настоящее время максимальный поддерживаемый размер файла составляет %1$s. Ожидается приём файла Файл будет принят, когда Ваш контакт будет в сети, подождите или проверьте позже! - Файл сохранен + Файл сохранён Файл не найден Ошибка сохранения файла @@ -379,12 +379,12 @@ Используются серверы предоставленные SimpleX Chat. Инфо Как использовать серверы - Сохраненные WebRTC ICE серверы будут удалены. - Ваши ICE серверы - Настройка ICE серверов - ICE серверы (один на строке) - Ошибка при сохранении ICE серверов - Пожалуйста, проверьте, что адреса WebRTC ICE серверов имеют правильный формат, каждый адрес на отдельной строке и не повторяется. + Сохранённые WebRTC ICE-серверы будут удалены. + Ваши ICE-серверы + Настройка ICE-серверов + ICE-серверы (один на строке) + Ошибка при сохранении ICE-серверов + Пожалуйста, проверьте, что адреса WebRTC ICE-серверов имеют правильный формат, каждый адрес на отдельной строке и не повторяется. Сохранить Сеть и серверы Настройки сети @@ -412,7 +412,7 @@ Имя профиля: Полное имя: Ваш активный профиль - Ваш профиль хранится на Вашем устройстве и отправляется только Вашим контактам. SimpleX серверы не могут получить доступ к Вашему профилю. + Ваш профиль хранится на Вашем устройстве и отправляется только Вашим контактам. Серверы SimpleX не могут получить доступ к Вашему профилю. Поменять аватар Удалить аватар Сохранить предпочтения? @@ -503,8 +503,8 @@ Принимать Показывать Выключить - Ваши ICE серверы - WebRTC ICE серверы + Ваши ICE-серверы + WebRTC ICE-серверы Relay-сервер защищает Ваш IP-адрес, но может отслеживать продолжительность звонка. Relay-сервер используется только при необходимости. Другая сторона может видеть Ваш IP-адрес. @@ -633,22 +633,22 @@ Android Keystore используется для безопасного хранения пароля - это позволяет стабильно получать уведомления в фоновом режиме. База данных зашифрована случайным паролем, Вы можете его поменять. Внимание: Вы не сможете восстановить или поменять пароль, если потеряете его.]]> - Пароль базы данных будет безопасно сохранен в Android Keystore после запуска чата или изменения пароля - это позволит стабильно получать уведомления. - Пароль не сохранен на устройстве — Вы будете должны ввести его при каждом запуске чата. + Пароль базы данных будет безопасно сохранён в Android Keystore после запуска чата или изменения пароля - это позволит стабильно получать уведомления. + Пароль не сохранён на устройстве — Вы будете должны ввести его при каждом запуске чата. Зашифровать базу данных? Поменять пароль базы данных? База данных будет зашифрована. - База данных будет зашифрована и пароль сохранен в Keystore. - Пароль базы данных будет изменен и сохранен в Keystore. + База данных будет зашифрована и пароль сохранён в Keystore. + Пароль базы данных будет изменён и сохранён в Keystore. Пароль базы данных будет изменен. - Пожалуйста, надежно сохраните пароль, Вы НЕ сможете его поменять, если потеряете. - Пожалуйста, надежно сохраните пароль, Вы НЕ сможете открыть чат, если потеряете его. + Пожалуйста, надёжно сохраните пароль, Вы НЕ сможете его поменять, если потеряете. + Пожалуйста, надёжно сохраните пароль, Вы НЕ сможете открыть чат, если потеряете его. Неправильный пароль базы данных База данных зашифрована Ошибка базы данных Ошибка Keystore - Пароль базы данных отличается от сохраненного в Keystore. + Пароль базы данных отличается от сохранённого в Keystore. Файл: %s Введите пароль базы данных, чтобы открыть чат. Ошибка: %s @@ -682,7 +682,7 @@ Выйти Выйти из группы Вы перестанете получать сообщения от этой группы. История чата будет сохранена. - Пригласить членов группы + Пригласить в группу Группа неактивна Приглашение истекло! Приглашение в группу больше не действительно, оно было удалено отправителем. @@ -752,7 +752,7 @@ Нельзя пригласить контакт! Вы пытаетесь пригласить контакт, который знает Ваш профиль инкогнито, в группу, где Вы используете основной профиль. - Пригласить членов группы + Пригласить в группу %1$s ЧЛЕНОВ ГРУППЫ Вы: %1$s Удалить группу @@ -1433,8 +1433,8 @@ Использовать активный профиль Использовать новый профиль инкогнито Расход батареи приложением / Без ограничений в настройках приложения.]]> - База данных будет зашифрована, и пароль сохранен в настройках. - Шифруйте сохраненные файлы и медиа + База данных будет зашифрована, и пароль сохранён в настройках. + Шифруйте сохранённые файлы и медиа Обратите внимание: соединение с серверами файлов и сообщений устанавливаются через SOCKS-прокси. Звонки и картинки ссылок используют прямое соединение.]]> Шифровать локальные файлы Приложение для компьютера! @@ -1496,7 +1496,7 @@ Вступление в группу уже начато! %1$d сообщений отмодерировано членом %2$s %s был отключен]]> - Быстрое вступление и надежная доставка сообщений. + Быстрое вступление и надёжная доставка сообщений. Соединиться с самим собой? Связанные мобильные Компьютер @@ -1739,7 +1739,7 @@ Остановка чата Архивировать и загрузить Подтвердить загрузку - Все ваши контакты, разговоры и файлы будут надежно зашифрованы и загружены на выбранные XFTP-серверы. + Все ваши контакты, разговоры и файлы будут надёжно зашифрованы и загружены на выбранные XFTP-серверы. Ошибка загрузки Повторить загрузку Вы можете попробовать ещё раз. @@ -1801,7 +1801,7 @@ Наушники Громкоговоритель Звуки во время звонков - Более надежное соединение с сетью. + Более надёжное соединение с сетью. Статус сети сохранено сохранено из %s @@ -1815,7 +1815,7 @@ Ссылки SimpleX Разрешить отправлять ссылки SimpleX. Запретить отправку ссылок SimpleX - Члены могут отправлять ссылки SimpleX + Члены могут отправлять SimpleX ссылки. админы все члены владельцы @@ -2000,7 +2000,7 @@ Блоков удалено Блоков принято Подписок игнорировано - Ошибка копирования + Скопировать ошибку видеозвонок Контакт будет удален — это нельзя отменить! Оставить разговор @@ -2464,7 +2464,7 @@ Частные разговоры, группы и Ваши контакты недоступны для операторов серверов. Настроить операторов серверов Политика конфиденциальности и условия использования. - все + всех Принять Член группы хочет присоединиться. Принять? группа удалена @@ -2492,7 +2492,7 @@ Одобрять членов группы Чаты с членами группы Приём членов в группу - Одобрять членов для вступления в группу. + Вручную одобрять членов для вступления в группу. Нет чатов с членами группы Принять как читателя Принять в группу @@ -2512,7 +2512,7 @@ Установить вступление в группу Удалить чат с членом группы? Удалить разговор - принят %1$s + принял %1$s Чат с админами Вы приняты 1 чат с членом группы diff --git a/apps/multiplatform/common/src/commonMain/resources/MR/uk/strings.xml b/apps/multiplatform/common/src/commonMain/resources/MR/uk/strings.xml index d2c1505759..6d498ef4ed 100644 --- a/apps/multiplatform/common/src/commonMain/resources/MR/uk/strings.xml +++ b/apps/multiplatform/common/src/commonMain/resources/MR/uk/strings.xml @@ -2512,4 +2512,23 @@ Ваш контакт Ваша група Ваш профіль + Дозволяйте файли та медіа лише за умови, що ваш контакт їх дозволяє. + Дозвольте своїм контактам надсилати файли та медіа. + Бот + Ви, і ваш контакт можете надсилати файли та медіа. + ЗАПИТИ НА ЗВ’ЯЗОК ВІД ГРУП + Застарілі опції + Помилка при відмітці як прочитане + Файли та медіа заборонені у цьому чаті. + Відбиток у адресі сервера переадресації не співпадає з сертифікатом: %1$s. + Відбиток у адресі сервера не співпадає з сертифікатом: %1$s. + Користувача видалено - не може прийняти запит. + Тільки ви можете надсилати файли та медіа. + Лише ваш контакт може надсилати файли та медіа. + Відкрити чисте посилання + Відкрити повне посилання + Відкрити для використання бота + Заборонити надсилання файлів і медіа. + Видалити відстеження посилань + запит на підключення до групи %1$s diff --git a/apps/multiplatform/common/src/commonMain/resources/MR/zh-rCN/strings.xml b/apps/multiplatform/common/src/commonMain/resources/MR/zh-rCN/strings.xml index 2091e7d25b..303f824999 100644 --- a/apps/multiplatform/common/src/commonMain/resources/MR/zh-rCN/strings.xml +++ b/apps/multiplatform/common/src/commonMain/resources/MR/zh-rCN/strings.xml @@ -575,7 +575,7 @@ 更新网络设置? 只有你可以不可逆地删除消息(你的联系人可以将它们标记为删除)。(24小时) 重新启动应用程序以创建新的聊天资料。 - 服务器需要授权才能创建队列,检查密码 + 服务器需要授权才能创建队列,检查密码。 测试在步骤 %s 失败。 你已经有一个显示名相同的聊天资料。请选择另一个名字。 已发送 @@ -609,7 +609,7 @@ 你当前的聊天数据库将被删除并替换为导入的数据库。 \n此操作无法撤消——你的个人资料、联系人、消息和文件将不可逆地丢失。 已邀请 %1$s 保存群资料 - 服务器地址中的证书指纹可能不正确 + 服务器地址指纹和证书不匹配。 请使用 %1$s 检查你的网络连接,然后重试。 多个聊天资料 数据库不能正常工作。点击了解更多 @@ -1004,7 +1004,7 @@ 视频已发送 要求接收视频 视频将在你的联系人完成上传后收到。 - 服务器需要授权来上传,检查密码 + 服务器需要授权来上传,检查密码。 上传文件 XFTP 服务器 你的 XFTP 服务器 @@ -2409,7 +2409,7 @@ 和一名成员的一个聊天 无法发送消息 你离开了 - 删除和成员的聊天出错 + 删除聊天出错 你无法发送消息! 禁用了联系人 群被删除了 @@ -2519,5 +2519,8 @@ 打开完整链接 删除链接跟踪 SimpleX 中继链接 - 将和成员的聊天标记为已读时出错 + 标记为已读时出错 + 目标服务器地址的指纹和证书不匹配:%1$s。 + 转发服务器地址的指纹和证书不匹配:%1$s。 + 服务器地址证书和证书不匹配:%1$s。 From 18864f1aca6feb3dfc1b4b2b18de08f50bdab947 Mon Sep 17 00:00:00 2001 From: Evgeny Poberezkin Date: Tue, 21 Oct 2025 11:59:53 +0100 Subject: [PATCH 31/38] website: additional translation strings --- website/langs/en.json | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/website/langs/en.json b/website/langs/en.json index b465718e0b..2a51ce4103 100644 --- a/website/langs/en.json +++ b/website/langs/en.json @@ -303,7 +303,13 @@ "how-secure-message-padding": "Message padding", "how-secure-repudiation-deniability": "Repudiation (deniability)", "how-secure-forward-secrecy": "Forward secrecy", - "how-secure-break-in-recovery": "Break-in recovery", + "how-secure-break-in-recovery": "Post-compromise security", "how-secure-two-factor-key-exchange": "2-factor key exchange", - "how-secure-post-quantum-hybrid-crypto": "Post-quantum hybrid crypto" + "how-secure-post-quantum-hybrid-crypto": "Post-quantum hybrid crypto", + "messengers-comparison-section-list-point-1": "Briar pads messages to the size rounded up to 1024 bytes, Signal - to 160 bytes", + "messengers-comparison-section-list-point-2": "Repudiation does not include client-server connection.", + "messengers-comparison-section-list-point-3": "It appears that the usage of cryptographic signatures compromises repudiation (deniability), but it needs to be clarified.", + "messengers-comparison-section-list-point-4": "Multi-device implementation compromises post-compromise security of Double Ratchet", + "messengers-comparison-section-list-point-5": "2-factor key exchange is optional via security code verification.", + "messengers-comparison-section-list-point-6": "Post-quantum key agreement is \"sparse\" — it protects only some of the ratchet steps." } \ No newline at end of file From a74e3031df048a5c3fb61b813a49492c7cfab81a Mon Sep 17 00:00:00 2001 From: Evgeny Date: Tue, 21 Oct 2025 14:23:42 +0100 Subject: [PATCH 32/38] website: update text (#6387) * website: update text * website: additional translation strings * comparison table * update colors * update glossary --- docs/GLOSSARY.md | 10 +- website/langs/en.json | 10 +- website/src/_data/glossary.json | 4 + website/src/_includes/footer.html | 2 +- website/src/_includes/sections/learn_more.md | 33 +++--- website/src/blog.html | 2 +- website/src/css/style.css | 54 ++++++++-- .../img/design_3/secure_messaging_dark.jpg | Bin 0 -> 77903 bytes .../img/design_3/secure_messaging_light.jpg | Bin 0 -> 72370 bytes website/src/messaging.html | 94 ++++++++++-------- website/tailwind.config.js | 2 +- 11 files changed, 134 insertions(+), 77 deletions(-) create mode 100644 website/src/img/design_3/secure_messaging_dark.jpg create mode 100644 website/src/img/design_3/secure_messaging_light.jpg diff --git a/docs/GLOSSARY.md b/docs/GLOSSARY.md index 0cb855d729..fe0bd107ed 100644 --- a/docs/GLOSSARY.md +++ b/docs/GLOSSARY.md @@ -4,6 +4,10 @@ Choosing a private messenger requires the understanding of many technical terms, While this glossary aims to be factual and objective, it is not completely unbiased. We designed SimpleX to be the most private, secure and resilient communication network, and some definitions reflect this view. +## 2-factor key exchange + +The ability of communication service to ensure the security of the [key agreement protocol](#key-agreement-protocol) against [man-in-the-middle](#man-in-the-middle-attack). + ## Address portability Similarly to [phone number portability](https://en.wikipedia.org/wiki/Local_number_portability) (the ability of the customer to transfer the service to another provider without changing the number), the address portability means the ability of a communication service customer to change the service provider without changing the service address. Many [federated networks](#federated-network) support SRV records to provide address portability, but allowing service users to set up their own domains for the addresses is not as commonly supported by the available server and client software as for email. @@ -89,7 +93,7 @@ Also known as perfect forward secrecy, it is a feature of a [key agreement proto ## Key agreement protocol -Also known as key exchange, it is a process of agreeing cryptographic keys between the sender and the recipient(s) of the message. It is required for [end-to-end encryption](#end-to-end-encryption) to work. +Also known as key exchange, it is a process of agreeing cryptographic keys between the sender and the recipient(s) of the message. It is required for [end-to-end encryption](#end-to-end-encryption) to work. Unless it is possible to secure the key exchange via [some second factor](#2-factor-key-exchange), e.g. security code verification, it can be vulnerable to [man-in-the-middle attack](#man-in-the-middle-attack). [Wikipedia](https://en.wikipedia.org/wiki/Key-agreement_protocol) @@ -169,11 +173,11 @@ The advantage is that the participants do not depend on any servers. There are [ ## Post-compromise security -Also known as break-in recovery, it is the quality of the end-to-end encryption scheme allowing to recover security against a passive attacker who observes encrypted messages after compromising one (or both) of the parties. Also known as recovery from compromise or break-in recovery. [Double-ratchet algorithm](#double-ratchet-algorithm) has this quality. +The quality of the end-to-end encryption scheme allowing to recover security against a passive attacker who observes encrypted messages after compromising one (or both) of the parties. Also known as recovery from compromise or break-in recovery. [Double-ratchet algorithm](#double-ratchet-algorithm) has this quality. ## Post-quantum cryptography -Any of the proposed cryptographic systems or algorithms that are thought to be secure against an attack by a quantum computer. It appears that as of 2023 there is no system or algorithm that is proven to be secure against such attacks, or even to be secure against attacks by massively parallel conventional computers, so a general recommendation is to use post-quantum cryptographic systems in combination with the traditional cryptographic systems. +Any of the proposed cryptographic systems or algorithms that are thought to be secure against an attack by a quantum computer. It appears that as of 2025 there is no system or algorithm that is *proven* to be secure against such attacks, or even to be secure against attacks by massively parallel conventional computers, so a general recommendation is to use post-quantum hybrid cryptography - combining post-quantum and traditional algorigthms. [Wikipedia](https://en.wikipedia.org/wiki/Post-quantum_cryptography) diff --git a/website/langs/en.json b/website/langs/en.json index b465718e0b..2a51ce4103 100644 --- a/website/langs/en.json +++ b/website/langs/en.json @@ -303,7 +303,13 @@ "how-secure-message-padding": "Message padding", "how-secure-repudiation-deniability": "Repudiation (deniability)", "how-secure-forward-secrecy": "Forward secrecy", - "how-secure-break-in-recovery": "Break-in recovery", + "how-secure-break-in-recovery": "Post-compromise security", "how-secure-two-factor-key-exchange": "2-factor key exchange", - "how-secure-post-quantum-hybrid-crypto": "Post-quantum hybrid crypto" + "how-secure-post-quantum-hybrid-crypto": "Post-quantum hybrid crypto", + "messengers-comparison-section-list-point-1": "Briar pads messages to the size rounded up to 1024 bytes, Signal - to 160 bytes", + "messengers-comparison-section-list-point-2": "Repudiation does not include client-server connection.", + "messengers-comparison-section-list-point-3": "It appears that the usage of cryptographic signatures compromises repudiation (deniability), but it needs to be clarified.", + "messengers-comparison-section-list-point-4": "Multi-device implementation compromises post-compromise security of Double Ratchet", + "messengers-comparison-section-list-point-5": "2-factor key exchange is optional via security code verification.", + "messengers-comparison-section-list-point-6": "Post-quantum key agreement is \"sparse\" — it protects only some of the ratchet steps." } \ No newline at end of file diff --git a/website/src/_data/glossary.json b/website/src/_data/glossary.json index a16c2b9541..155b732c52 100644 --- a/website/src/_data/glossary.json +++ b/website/src/_data/glossary.json @@ -103,6 +103,10 @@ "term": "Post-quantum cryptography", "definition": "Post-quantum cryptography" }, + { + "term": "Post-quantum hybrid crypto", + "definition": "Post-quantum cryptography" + }, { "term": "Proxied peer-to-peer", "definition": "Proxied peer-to-peer" diff --git a/website/src/_includes/footer.html b/website/src/_includes/footer.html index e3a8f48d8a..01b22d8b97 100644 --- a/website/src/_includes/footer.html +++ b/website/src/_includes/footer.html @@ -1,5 +1,5 @@ {% set lang = page.url | getlang %} -
@@ -253,61 +254,76 @@ templateEngineOverride: njk - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + +
Message padding{{ "how-secure-message-padding" | i18n({}, lang ) | safe }}
Repudiation (deniability){{ "how-secure-repudiation-deniability" | i18n({}, lang ) | safe }} 1
Forward secrecy{{ "how-secure-forward-secrecy" | i18n({}, lang ) | safe }}
Break-in recovery{{ "how-secure-break-in-recovery" | i18n({}, lang ) | safe }}
2-factor key exchange{{ "how-secure-two-factor-key-exchange" | i18n({}, lang ) | safe }}
Post-quantum hybrid crypto{{ "how-secure-post-quantum-hybrid-crypto" | i18n({}, lang ) | safe }} - simplex logo + simplex logo +

SimpleX

{{ "how-secure-message-padding" | i18n({}, lang ) | safe }}✔︎1✔︎✔︎1✔︎
{{ "how-secure-repudiation-deniability" | i18n({}, lang ) | safe }} 1✔︎2✔︎3✔︎
{{ "how-secure-forward-secrecy" | i18n({}, lang ) | safe }}✔︎✔︎✔︎✔︎✔︎
{{ "how-secure-break-in-recovery" | i18n({}, lang ) | safe }}✔︎4✔︎
{{ "how-secure-two-factor-key-exchange" | i18n({}, lang ) | safe }}✔︎✔︎5✔︎5✔︎✔︎5✔︎
{{ "how-secure-post-quantum-hybrid-crypto" | i18n({}, lang ) | safe }} 2✔︎6✔︎
+ +
+ +
+
+
    +
  1. {{ "messengers-comparison-section-list-point-1" | i18n({}, lang ) | safe }}
  2. +
  3. {{ "messengers-comparison-section-list-point-2" | i18n({}, lang ) | safe }}
  4. +
  5. {{ "messengers-comparison-section-list-point-3" | i18n({}, lang ) | safe }}
  6. +
  7. {{ "messengers-comparison-section-list-point-4" | i18n({}, lang ) | safe }} — {{ "see-here" | i18n({}, lang ) | safe }}.
  8. +
  9. {{ "messengers-comparison-section-list-point-5" | i18n({}, lang ) | safe }}
  10. +
  11. {{ "messengers-comparison-section-list-point-6" | i18n({}, lang ) | safe }}
  12. +
+
+
diff --git a/website/tailwind.config.js b/website/tailwind.config.js index 515e701796..cad129916d 100644 --- a/website/tailwind.config.js +++ b/website/tailwind.config.js @@ -26,7 +26,7 @@ module.exports = { // What makes SimpleX private 'card-bg-light': '#ffffff', - 'card-desc-bg-light': '#D9E7ED', + 'card-desc-bg-light': '#DBEEFF', 'card-bg-dark': '#17203D', 'card-desc-bg-dark': '#1B325C', } From 97eb32c80cdf74ef4eeb3f9e94b61fe5f065de47 Mon Sep 17 00:00:00 2001 From: Evgeny Poberezkin Date: Tue, 21 Oct 2025 22:50:56 +0100 Subject: [PATCH 33/38] website: change translation string --- website/langs/en.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/website/langs/en.json b/website/langs/en.json index 2a51ce4103..29d106d1b0 100644 --- a/website/langs/en.json +++ b/website/langs/en.json @@ -281,9 +281,9 @@ "index-nextweb-p1": "SimpleX is founded on the belief that you must own your identity, contacts and communities.", "index-nextweb-p2": "Open and decentralized network lets you connect with people and share ideas: be free and secure.", "index-token-h2": "Communities That Last", - "index-token-p1": "You will support your favorite groups with future Community vouchers.", + "index-token-p1": "You will support your favorite groups with future Community Vouchers.", "index-token-p2": "Vouchers will pay for servers, to let your communities stay free and independent.", - "index-token-cta": "Learn more about Community Vouchers", + "index-token-cta": "Learn more and get your free NFT
for 20% discount on SimpleX Token!", "index-roadmap-h2": "SimpleX Roadmap to Free Internet", "index-roadmap-2025": "2025", "index-roadmap-2025-title": "Scale to Large Communities", From 6fbdccaa852d8a4cbf51ed3861788441ea169737 Mon Sep 17 00:00:00 2001 From: "M. Sarmad Qadeer" Date: Wed, 22 Oct 2025 03:04:05 +0500 Subject: [PATCH 34/38] website: fix glossary capitalize issue (#6388) * fix glossary capitalize issue * fix gradient scroll issue * fix gradient scroll issue --- website/.eleventy.js | 5 ++- website/src/css/design3.css | 6 ++- website/src/index.html | 89 ++++++++++++++++++------------------- 3 files changed, 50 insertions(+), 50 deletions(-) diff --git a/website/.eleventy.js b/website/.eleventy.js index ce94b5ceee..48210956de 100644 --- a/website/.eleventy.js +++ b/website/.eleventy.js @@ -113,9 +113,10 @@ module.exports = function (ty) { allContentNodes.forEach((node) => { const regex = new RegExp(`(?${term.term}` const beforeContent = node.innerHTML - node.innerHTML = node.innerHTML.replace(regex, replacement) + node.innerHTML = node.innerHTML.replace(regex, (match) => { + return `${match}` + }) if (beforeContent !== node.innerHTML && !changeNoted) { changeNoted = true } diff --git a/website/src/css/design3.css b/website/src/css/design3.css index b24610054a..6d5fb5da2a 100644 --- a/website/src/css/design3.css +++ b/website/src/css/design3.css @@ -414,6 +414,10 @@ section.page .area { /* border: 2px solid red; */ } +#directory .area { + position: relative; +} + /* --- COVER --- */ section.cover { background-image: url("/img/design_3/cover-light.webp"); @@ -630,11 +634,9 @@ main .section-bg { top: 0; inset: 0; height: 100lvh; - /* fallback */ margin-bottom: -100lvh; /* cancel own layout height */ width: 100%; - background-image: var(--bg-grad); background-position: center; background-size: 102% 102%; diff --git a/website/src/index.html b/website/src/index.html index f527ab690c..358543a0d1 100644 --- a/website/src/index.html +++ b/website/src/index.html @@ -181,53 +181,50 @@ active_home: true
- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-

{{ "index-directory-h2" | i18n({}, lang) }}

-

{{ "index-directory-p1" | i18n({}, lang) }}

-

{{ "index-directory-p2" | i18n({}, lang) }}

- {{ "index-directory-cta" | i18n({}, lang) }} -
-
-
- - {% include "footer.html" %} -
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

{{ "index-directory-h2" | i18n({}, lang) }}

+

{{ "index-directory-p1" | i18n({}, lang) }}

+

{{ "index-directory-p2" | i18n({}, lang) }}

+ {{ "index-directory-cta" | i18n({}, lang) }} +
+
+
+ {% include "footer.html" %} From 44792f77b6f5368163a8e35b7925dbf50e9ca94f Mon Sep 17 00:00:00 2001 From: Evgeny Date: Tue, 21 Oct 2025 23:16:31 +0100 Subject: [PATCH 35/38] website: community vouchers and token (#6389) * website: community vouchers and token * website: change translation string * update name --- website/langs/en.json | 4 +- .../img/design_3/community_vouchers_dark.jpg | Bin 0 -> 68301 bytes .../img/design_3/community_vouchers_light.jpg | Bin 0 -> 69214 bytes website/src/img/design_3/simplex-nft.jpg | Bin 0 -> 105032 bytes website/src/img/design_3/simplex_nft_dark.png | Bin 0 -> 450257 bytes .../src/img/design_3/simplex_nft_light.png | Bin 0 -> 456364 bytes website/src/index.html | 4 +- website/src/token.md | 113 ++++++++++++++++-- 8 files changed, 104 insertions(+), 17 deletions(-) create mode 100644 website/src/img/design_3/community_vouchers_dark.jpg create mode 100644 website/src/img/design_3/community_vouchers_light.jpg create mode 100644 website/src/img/design_3/simplex-nft.jpg create mode 100644 website/src/img/design_3/simplex_nft_dark.png create mode 100644 website/src/img/design_3/simplex_nft_light.png diff --git a/website/langs/en.json b/website/langs/en.json index 2a51ce4103..29d106d1b0 100644 --- a/website/langs/en.json +++ b/website/langs/en.json @@ -281,9 +281,9 @@ "index-nextweb-p1": "SimpleX is founded on the belief that you must own your identity, contacts and communities.", "index-nextweb-p2": "Open and decentralized network lets you connect with people and share ideas: be free and secure.", "index-token-h2": "Communities That Last", - "index-token-p1": "You will support your favorite groups with future Community vouchers.", + "index-token-p1": "You will support your favorite groups with future Community Vouchers.", "index-token-p2": "Vouchers will pay for servers, to let your communities stay free and independent.", - "index-token-cta": "Learn more about Community Vouchers", + "index-token-cta": "Learn more and get your free NFT
for 20% discount on SimpleX Token!", "index-roadmap-h2": "SimpleX Roadmap to Free Internet", "index-roadmap-2025": "2025", "index-roadmap-2025-title": "Scale to Large Communities", diff --git a/website/src/img/design_3/community_vouchers_dark.jpg b/website/src/img/design_3/community_vouchers_dark.jpg new file mode 100644 index 0000000000000000000000000000000000000000..7b5cf61747d296f994209ecbf875993e7cb3a123 GIT binary patch literal 68301 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

PTzNz8jyRvNndY=PKwk}vYa1JjyPqtxp1Dh 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 B59a^? literal 0 HcmV?d00001 diff --git a/website/src/img/design_3/community_vouchers_light.jpg b/website/src/img/design_3/community_vouchers_light.jpg new file mode 100644 index 0000000000000000000000000000000000000000..1a44dc7500c1f3be57d7493f05e7fc6f85b6800f GIT binary patch literal 69214 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 z zQ=2?V04TY79;X7jJ@_@WJd&s?!mZD*5)v=EuxjRIDCz89&`0SwpjJjA(d%BJR^)$tqX? z?IW;?7QMKy#(I3bF^naU^4!yrMR8wB79Wa6#EzdhrA)sys3$EK&zsk zb54g$kSl#aff8c2Py3cdx5w&>;%l7~Ig!{67X+t1q-FnIzQ1~s7IXToV=prtC_%`} z)FDAhWCwR#P&rO`Tdf^Xxju0whS$Ww7tvkfbbP!-kx}KMYy>GI_j>y~B~o0Dd9S4p z@1z0OG3dT3uWMEHvZ^kFuQ~j2I#zRcN(BRs*kal;AV?$&n?u?Zp5RIvmYTc_-uKeP zWtrngjM>J=WjeARCQN+@dlC6mvnf+p^`70{LV}a_^y-pb2bj`(_2>hZsXf$RqQKkF z2*(-~M7)&7(lC0^^qhfWZ%I2y+Wa}!^_{tZ=jtk7r9YL?TZ-5(_YKt~uGywt!>liD zS{6uUT{m_!Z;%;Nu;FNM%dZo(t}~eZmf>;ML^rG()38^5ST!|43cic%-2If!0e6H? zdtp@CqnPmQonNrAZ7{Bo)?*V;Y(|S~iHaNItzlC3xNM-qo0p$nHBR_H<6ecwUse{~ z3&@-gAU~hI24I8sZvsu&UF0`; zz4IZGnN>Q^=5yf;vqmqT3ed2#FX<%6ZI2Ait$Pt!vdFWj9f2R-@|46$`VHiOnk=>X z-ku$OSgyjHrY?=DNE&js3S~{5qWR`T_s~c4rdf0)c?)|Es2U_*?Oj9@S^YYb;M)-d z4$`Rad`Q)cVZ?T^N^q5Dw6EQE!`k)mm^l*ysF5D7S%}#<3Ez;MmGpwS>zW2 z*jvy13>5>33N}>txV@ce)Sds#&3(wnu*{-`r6Kv|imFJC&S!7Tk`o440RMCjC<`HS z^)4VIPC?so1S!}^wD(OZhUW~1m=O(JT=uKpKlQ(=k0obmM%gB-Kl!=c*W>#IqGdgC z=Bd)=yKGMT$RJ!KyI{X%;|x7{YG0@jdly{i5|`ABu29)OIR{V!&r*R-;*+SO;^4uf z1Kb51DomQdVLd`Lj6^ab^VYYjH_Hs~`Uh8wWxl)&zxhq(L?hxRDHJBGFo>6${#o+G zTd@^<`mPe$gTg;zB3%MuxsJB*n+w|1r2d-T61?f+40~sQ55ILyQ}ZbAWkm8LJ<&?$ zXMGKxFL&h1pGybW;2svB9D6#m(zEPAn$H~Kcr3zIY z@0~R0mBM>>C~>sJKtJ|pNs3k18?3R7+JTR4VN18NjE-t$YCxB{%7&qa1;<){%1IO8Z+6g!VGNr7`$C-0CGOJB19f0Q}#bWjK=9?c;gn zuzBs`oSRbvUvHz{LJ>~cqs~+&aTQ$*KhwC1^c*!5dkvY3f_tmptv1Rh84Ti#BaOYs z0`t0uR3E+THeb&qBAUYT!ZWyU%Nmf_{Yc4t)36Mj^CBn$c8O?*SI0(MscQ$xJcO|} zL^6MVT^IEtY=3L$y~O7mbwP}e7~(c^QDO6Vnc&rJFjmKz7Km&!cOls+A?x7_U(%~r zx0bO*q>I})WGlQ9*`Z1K5;yqeaMn%NNE-2cZulIaS34?I>)-n=Xo8KPIT?F_X7<@U~dz#P8MV64U<{;qZ? ze4zwNewLne98HP0>0tsM8ca0b80{mYVn@|7*cmcjWG!;5?<@loBOk2!J+>eCXd0Zv zhXoIYgBf5q$a{eoM9M{Rz-*gWKK@SUh!*-!jZjaGmv3rQM^i;TZpEavq%ZZA8Ne6a zHjmW<b8Y?MdNr*(Z2Qe*(}JyW0Zy>$f`xyf8)Y z`KETQ>6x$kl?Y4VY$nGe

U?ipXF z!V^3L4#RW>-=;P!R#F)tDR1@i+nj~U^|!D07HU-a`d+g;T+wzo+2JZMrB57>P#q07 zw^uMw!^Jqm{NAR=cbm;~7L2y)m49)#2u|v^pTK`P5dmLq7+&;bLK=1L9`|pNtBV6=n#y4S@!cbKa?eQ@F-y#vK zK|9DR>Uqk{bhTHM-`9+1juSJ@4|H-G01VyA1qV<8^0OOv7cUi;K6R^*JCudg&|T zcU1nLcd!NWR2@#VI}1GrIQBpJiMmc=U$5cACYYOKPen{>mzP#fJvRd9O32|UH3ya9a*X*Hwh^@ec}TR� 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 z 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

1;|rgE-Ns2h>{M(C4ovC48cvztO2dy1MF9V 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

4v^l(qQk{b*L<( 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�4#G*DARYB0zc(8dn-yx>J6do^H-7A?>y^=E4I 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


-_%hM|}dY&9C>A)kk7+N;tAaQp&K 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 z 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"!gUdR+ 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

c#Pe2B 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

  • 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 TznX9({X0tU)#R#WOhf(;OYO0l literal 0 HcmV?d00001 diff --git a/website/src/index.html b/website/src/index.html index 358543a0d1..cdbe927d0e 100644 --- a/website/src/index.html +++ b/website/src/index.html @@ -42,7 +42,7 @@ active_home: true