diff --git a/CHANGELOG.md b/CHANGELOG.md index caf28478e..aa1341647 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +# 6.1.3 + +SMP server: fix restoring notification credentials. + # 6.1.2 Servers: more reliable restoring of state. diff --git a/package.yaml b/package.yaml index 491c103f4..f4efaf5bc 100644 --- a/package.yaml +++ b/package.yaml @@ -1,5 +1,5 @@ name: simplexmq -version: 6.1.2.0 +version: 6.1.3.0 synopsis: SimpleXMQ message broker description: | This package includes <./docs/Simplex-Messaging-Server.html server>, diff --git a/simplexmq.cabal b/simplexmq.cabal index 0c7c21459..9d85fa9af 100644 --- a/simplexmq.cabal +++ b/simplexmq.cabal @@ -5,7 +5,7 @@ cabal-version: 1.12 -- see: https://github.com/sol/hpack name: simplexmq -version: 6.1.2.0 +version: 6.1.3.0 synopsis: SimpleXMQ message broker description: This package includes <./docs/Simplex-Messaging-Server.html server>, <./docs/Simplex-Messaging-Client.html client> and diff --git a/src/Simplex/Messaging/Server/QueueStore/STM.hs b/src/Simplex/Messaging/Server/QueueStore/STM.hs index 6f0fd80b5..4cd499430 100644 --- a/src/Simplex/Messaging/Server/QueueStore/STM.hs +++ b/src/Simplex/Messaging/Server/QueueStore/STM.hs @@ -47,10 +47,11 @@ newQueueStore = do pure QueueStore {queues, senders, notifiers} addQueue :: QueueStore -> QueueRec -> IO (Either ErrorType ()) -addQueue QueueStore {queues, senders} q@QueueRec {recipientId = rId, senderId = sId} = atomically $ do +addQueue QueueStore {queues, senders, notifiers} q@QueueRec {recipientId = rId, senderId = sId, notifier} = atomically $ do ifM hasId (pure $ Left DUPLICATE_) $ do TM.insertM rId (newTVar q) queues TM.insert sId rId senders + forM_ notifier $ \NtfCreds {notifierId} -> TM.insert notifierId rId notifiers pure $ Right () where hasId = (||) <$> TM.member rId queues <*> TM.member sId senders