fix: add semaphore unlock on updateMessageStatus failure

Change-Id: I891ef9df9a711959962c7821c13198b0464af127
Reviewed-by: Kateryna Kostiuk <kateryna.kostiuk@savoirfairelinux.com>
diff --git a/Ring/Ring/Services/ConversationsService.swift b/Ring/Ring/Services/ConversationsService.swift
index b134e95..b8a0959 100644
--- a/Ring/Ring/Services/ConversationsService.swift
+++ b/Ring/Ring/Services/ConversationsService.swift
@@ -299,12 +299,15 @@
                         event.addEventInput(.id, value: account.id)
                         event.addEventInput(.uri, value: uri)
                         self.responseStream.onNext(event)
-                    })
-                    .disposed(by: self.disposeBag)
+                    }) { _ in
+                        self.messagesSemaphore.signal()
+                    }.disposed(by: self.disposeBag)
             } else {
                 self.log.warning("messageStatusChanged: Message not found")
                 self.messagesSemaphore.signal()
             }
+        } else {
+            self.messagesSemaphore.signal()
         }
 
         log.debug("messageStatusChanged: \(status.rawValue) for: \(messageId) from: \(account.id) to: \(uri)")