diff --git a/ts/services/MessageCache.ts b/ts/services/MessageCache.ts index 77c3249ecc..8a053a8367 100644 --- a/ts/services/MessageCache.ts +++ b/ts/services/MessageCache.ts @@ -47,7 +47,7 @@ export class MessageCache { const messageAttributes = this.accessAttributes(messageId); strictAssert( messageAttributes, - `MessageCache.accessAttributesOrThrow/${source}: no message` + `MessageCache.accessAttributesOrThrow/${source}: no message for id ${messageId}` ); return messageAttributes; } @@ -131,7 +131,7 @@ export class MessageCache { strictAssert( messageAttributesFromDatabase, - `MessageCache.resolveAttributes/${source}: no message` + `MessageCache.resolveAttributes/${source}: no message for id ${messageId}` ); return this.freezeAttributes(messageAttributesFromDatabase); diff --git a/ts/util/hydrateStoryContext.ts b/ts/util/hydrateStoryContext.ts index 74d6f5161d..b9b505cd67 100644 --- a/ts/util/hydrateStoryContext.ts +++ b/ts/util/hydrateStoryContext.ts @@ -18,10 +18,15 @@ export async function hydrateStoryContext( shouldSave?: boolean; } = {} ): Promise { - const messageAttributes = await window.MessageCache.resolveAttributes( - 'hydrateStoryContext', - messageId - ); + let messageAttributes: MessageAttributesType; + try { + messageAttributes = await window.MessageCache.resolveAttributes( + 'hydrateStoryContext', + messageId + ); + } catch { + return; + } const { storyId } = messageAttributes; if (!storyId) { @@ -34,13 +39,18 @@ export async function hydrateStoryContext( return; } - const storyMessage = - storyMessageParam === undefined - ? await window.MessageCache.resolveAttributes( - 'hydrateStoryContext/story', - storyId - ) - : window.MessageCache.toMessageAttributes(storyMessageParam); + let storyMessage: MessageAttributesType | undefined; + try { + storyMessage = + storyMessageParam === undefined + ? await window.MessageCache.resolveAttributes( + 'hydrateStoryContext/story', + storyId + ) + : window.MessageCache.toMessageAttributes(storyMessageParam); + } catch { + storyMessage = undefined; + } if (!storyMessage) { const conversation = window.ConversationController.get(