core: update simplexmq (not to fail batch subscriptions), terminal: log contact errors with -c option (#1890)
This commit is contained in:
parent
3c493db613
commit
49b6979ff0
@ -7,7 +7,7 @@ constraints: zip +disable-bzip2 +disable-zstd
|
|||||||
source-repository-package
|
source-repository-package
|
||||||
type: git
|
type: git
|
||||||
location: https://github.com/simplex-chat/simplexmq.git
|
location: https://github.com/simplex-chat/simplexmq.git
|
||||||
tag: 3be0008c5a371508a5bf1375cbb68ad470589644
|
tag: cfe995325a8468d69ad29e8974240244d27396ea
|
||||||
|
|
||||||
source-repository-package
|
source-repository-package
|
||||||
type: git
|
type: git
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"https://github.com/simplex-chat/simplexmq.git"."3be0008c5a371508a5bf1375cbb68ad470589644" = "1yr8w9w7gc3vs9jlpqi63xhd7sajh8w3gbbpvm4jfcs53v4ri85c";
|
"https://github.com/simplex-chat/simplexmq.git"."cfe995325a8468d69ad29e8974240244d27396ea" = "1sr3wx9s94mglq37qidkqly0h0jny883k0y0ziib9kk9xld7n2sy";
|
||||||
"https://github.com/simplex-chat/hs-socks.git"."a30cc7a79a08d8108316094f8f2f82a0c5e1ac51" = "0yasvnr7g91k76mjkamvzab2kvlb1g5pspjyjn2fr6v83swjhj38";
|
"https://github.com/simplex-chat/hs-socks.git"."a30cc7a79a08d8108316094f8f2f82a0c5e1ac51" = "0yasvnr7g91k76mjkamvzab2kvlb1g5pspjyjn2fr6v83swjhj38";
|
||||||
"https://github.com/simplex-chat/direct-sqlcipher.git"."34309410eb2069b029b8fc1872deb1e0db123294" = "0kwkmhyfsn2lixdlgl15smgr1h5gjk7fky6abzh8rng2h5ymnffd";
|
"https://github.com/simplex-chat/direct-sqlcipher.git"."34309410eb2069b029b8fc1872deb1e0db123294" = "0kwkmhyfsn2lixdlgl15smgr1h5gjk7fky6abzh8rng2h5ymnffd";
|
||||||
"https://github.com/simplex-chat/sqlcipher-simple.git"."5e154a2aeccc33ead6c243ec07195ab673137221" = "1d1gc5wax4vqg0801ajsmx1sbwvd9y7p7b8mmskvqsmpbwgbh0m0";
|
"https://github.com/simplex-chat/sqlcipher-simple.git"."5e154a2aeccc33ead6c243ec07195ab673137221" = "1d1gc5wax4vqg0801ajsmx1sbwvd9y7p7b8mmskvqsmpbwgbh0m0";
|
||||||
|
@ -1314,7 +1314,7 @@ processChatCommand = \case
|
|||||||
updateGroupProfileByName gName $ \p ->
|
updateGroupProfileByName gName $ \p ->
|
||||||
p {groupPreferences = Just . setGroupPreference' SGFTimedMessages pref $ groupPreferences p}
|
p {groupPreferences = Just . setGroupPreference' SGFTimedMessages pref $ groupPreferences p}
|
||||||
QuitChat -> liftIO exitSuccess
|
QuitChat -> liftIO exitSuccess
|
||||||
ShowVersion -> pure $ CRVersionInfo $ coreVersionInfo $(buildTimestampQ) $(simplexmqCommitQ)
|
ShowVersion -> pure $ CRVersionInfo $ coreVersionInfo $(buildTimestampQ) "" -- $(simplexmqCommitQ)
|
||||||
DebugLocks -> do
|
DebugLocks -> do
|
||||||
chatLockName <- atomically . tryReadTMVar =<< asks chatLock
|
chatLockName <- atomically . tryReadTMVar =<< asks chatLock
|
||||||
agentLocks <- withAgent debugAgentLocks
|
agentLocks <- withAgent debugAgentLocks
|
||||||
@ -1823,7 +1823,7 @@ subscribeUserConnections agentBatchSubscribe user = do
|
|||||||
-- subscribe using batched commands
|
-- subscribe using batched commands
|
||||||
rs <- withAgent (`agentBatchSubscribe` concat [ctConns, ucConns, mConns, sftConns, rftConns, pcConns])
|
rs <- withAgent (`agentBatchSubscribe` concat [ctConns, ucConns, mConns, sftConns, rftConns, pcConns])
|
||||||
-- send connection events to view
|
-- send connection events to view
|
||||||
contactSubsToView rs cts
|
contactSubsToView rs cts ce
|
||||||
contactLinkSubsToView rs ucs
|
contactLinkSubsToView rs ucs
|
||||||
groupSubsToView rs gs ms ce
|
groupSubsToView rs gs ms ce
|
||||||
sndFileSubsToView rs sfts
|
sndFileSubsToView rs sfts
|
||||||
@ -1860,8 +1860,13 @@ subscribeUserConnections agentBatchSubscribe user = do
|
|||||||
pcs <- withStore_ getPendingContactConnections
|
pcs <- withStore_ getPendingContactConnections
|
||||||
let connIds = map aConnId' pcs
|
let connIds = map aConnId' pcs
|
||||||
pure (connIds, M.fromList $ zip connIds pcs)
|
pure (connIds, M.fromList $ zip connIds pcs)
|
||||||
contactSubsToView :: Map ConnId (Either AgentErrorType ()) -> Map ConnId Contact -> m ()
|
contactSubsToView :: Map ConnId (Either AgentErrorType ()) -> Map ConnId Contact -> Bool -> m ()
|
||||||
contactSubsToView rs = toView . CRContactSubSummary user . map (uncurry ContactSubStatus) . resultsFor rs
|
contactSubsToView rs cts ce = do
|
||||||
|
toView . CRContactSubSummary user $ map (uncurry ContactSubStatus) cRs
|
||||||
|
when ce $ mapM_ (toView . uncurry (CRContactSubError user)) cErrors
|
||||||
|
where
|
||||||
|
cRs = resultsFor rs cts
|
||||||
|
cErrors = sortOn (\(Contact {localDisplayName = n}, _) -> n) $ filterErrors cRs
|
||||||
contactLinkSubsToView :: Map ConnId (Either AgentErrorType ()) -> Map ConnId UserContact -> m ()
|
contactLinkSubsToView :: Map ConnId (Either AgentErrorType ()) -> Map ConnId UserContact -> m ()
|
||||||
contactLinkSubsToView rs = toView . CRUserContactSubSummary user . map (uncurry UserContactSubStatus) . resultsFor rs
|
contactLinkSubsToView rs = toView . CRUserContactSubSummary user . map (uncurry UserContactSubStatus) . resultsFor rs
|
||||||
groupSubsToView :: Map ConnId (Either AgentErrorType ()) -> [Group] -> Map ConnId GroupMember -> Bool -> m ()
|
groupSubsToView :: Map ConnId (Either AgentErrorType ()) -> [Group] -> Map ConnId GroupMember -> Bool -> m ()
|
||||||
|
@ -430,7 +430,7 @@ data ChatResponse
|
|||||||
| CRSubscriptionEnd {user :: User, connectionEntity :: ConnectionEntity}
|
| CRSubscriptionEnd {user :: User, connectionEntity :: ConnectionEntity}
|
||||||
| CRContactsDisconnected {server :: SMPServer, contactRefs :: [ContactRef]}
|
| CRContactsDisconnected {server :: SMPServer, contactRefs :: [ContactRef]}
|
||||||
| CRContactsSubscribed {server :: SMPServer, contactRefs :: [ContactRef]}
|
| CRContactsSubscribed {server :: SMPServer, contactRefs :: [ContactRef]}
|
||||||
| CRContactSubError {contact :: Contact, chatError :: ChatError} -- TODO delete
|
| CRContactSubError {user :: User, contact :: Contact, chatError :: ChatError}
|
||||||
| CRContactSubSummary {user :: User, contactSubscriptions :: [ContactSubStatus]}
|
| CRContactSubSummary {user :: User, contactSubscriptions :: [ContactSubStatus]}
|
||||||
| CRUserContactSubSummary {user :: User, userContactSubscriptions :: [UserContactSubStatus]}
|
| CRUserContactSubSummary {user :: User, userContactSubscriptions :: [UserContactSubStatus]}
|
||||||
| CRHostConnected {protocol :: AProtocolType, transportHost :: TransportHost}
|
| CRHostConnected {protocol :: AProtocolType, transportHost :: TransportHost}
|
||||||
|
@ -154,7 +154,7 @@ responseToView user_ ChatConfig {logLevel, testView} liveItems ts = \case
|
|||||||
CRSubscriptionEnd u acEntity -> ttyUser u [sShow (connId (entityConnection acEntity :: Connection)) <> ": END"]
|
CRSubscriptionEnd u acEntity -> ttyUser u [sShow (connId (entityConnection acEntity :: Connection)) <> ": END"]
|
||||||
CRContactsDisconnected srv cs -> [plain $ "server disconnected " <> showSMPServer srv <> " (" <> contactList cs <> ")"]
|
CRContactsDisconnected srv cs -> [plain $ "server disconnected " <> showSMPServer srv <> " (" <> contactList cs <> ")"]
|
||||||
CRContactsSubscribed srv cs -> [plain $ "server connected " <> showSMPServer srv <> " (" <> contactList cs <> ")"]
|
CRContactsSubscribed srv cs -> [plain $ "server connected " <> showSMPServer srv <> " (" <> contactList cs <> ")"]
|
||||||
CRContactSubError c e -> [ttyContact' c <> ": contact error " <> sShow e]
|
CRContactSubError u c e -> ttyUser u [ttyContact' c <> ": contact error " <> sShow e]
|
||||||
CRContactSubSummary u summary ->
|
CRContactSubSummary u summary ->
|
||||||
ttyUser u $ [sShow (length subscribed) <> " contacts connected (use " <> highlight' "/cs" <> " for the list)" | not (null subscribed)] <> viewErrorsSummary errors " contact errors"
|
ttyUser u $ [sShow (length subscribed) <> " contacts connected (use " <> highlight' "/cs" <> " for the list)" | not (null subscribed)] <> viewErrorsSummary errors " contact errors"
|
||||||
where
|
where
|
||||||
|
@ -49,7 +49,7 @@ extra-deps:
|
|||||||
# - simplexmq-1.0.0@sha256:34b2004728ae396e3ae449cd090ba7410781e2b3cefc59259915f4ca5daa9ea8,8561
|
# - simplexmq-1.0.0@sha256:34b2004728ae396e3ae449cd090ba7410781e2b3cefc59259915f4ca5daa9ea8,8561
|
||||||
# - ../simplexmq
|
# - ../simplexmq
|
||||||
- github: simplex-chat/simplexmq
|
- github: simplex-chat/simplexmq
|
||||||
commit: 3be0008c5a371508a5bf1375cbb68ad470589644
|
commit: cfe995325a8468d69ad29e8974240244d27396ea
|
||||||
# - ../direct-sqlcipher
|
# - ../direct-sqlcipher
|
||||||
- github: simplex-chat/direct-sqlcipher
|
- github: simplex-chat/direct-sqlcipher
|
||||||
commit: 34309410eb2069b029b8fc1872deb1e0db123294
|
commit: 34309410eb2069b029b8fc1872deb1e0db123294
|
||||||
|
@ -12,7 +12,6 @@ import Simplex.Chat.Controller (ChatConfig (..), InlineFilesConfig (..), default
|
|||||||
import Simplex.Chat.Options (ChatOpts (..))
|
import Simplex.Chat.Options (ChatOpts (..))
|
||||||
import Simplex.Messaging.Util (unlessM)
|
import Simplex.Messaging.Util (unlessM)
|
||||||
import System.Directory (copyFile, doesFileExist)
|
import System.Directory (copyFile, doesFileExist)
|
||||||
import System.FilePath ((</>))
|
|
||||||
import Test.Hspec
|
import Test.Hspec
|
||||||
|
|
||||||
chatFileTests :: SpecWith FilePath
|
chatFileTests :: SpecWith FilePath
|
||||||
|
Loading…
Reference in New Issue
Block a user