From 369582339ae3890386b7bd8328989b5408b69255 Mon Sep 17 00:00:00 2001 From: Jason Volk Date: Tue, 8 May 2018 19:01:11 -0700 Subject: [PATCH] modules/client/rooms/receipt: Handle all errors; fixes missing event exceptions. --- modules/client/rooms/receipt.cc | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/modules/client/rooms/receipt.cc b/modules/client/rooms/receipt.cc index f7a747d5e..c297abb93 100644 --- a/modules/client/rooms/receipt.cc +++ b/modules/client/rooms/receipt.cc @@ -129,6 +129,7 @@ bool fresher__m_receipt_m_read(const m::room::id &room_id, const m::user::id &user_id, const m::event::id &event_id) +try { const m::user::room user_room { @@ -136,7 +137,7 @@ fresher__m_receipt_m_read(const m::room::id &room_id, }; bool ret{true}; - user_room.get(std::nothrow, "ircd.read", room_id, [&ret, &event_id] + user_room.get("ircd.read", room_id, [&ret, &event_id] (const m::event &event) { const auto &content @@ -170,6 +171,19 @@ fresher__m_receipt_m_read(const m::room::id &room_id, return ret; } +catch(const std::exception &e) +{ + log::derror + { + m::log, "Freshness of receipt in %s from %s for %s :%s", + string_view{room_id}, + string_view{user_id}, + string_view{event_id}, + e.what() + }; + + return true; +} bool exists__m_receipt_m_read(const m::room::id &room_id,