in src/logic/LocalMessageCache.tsx [198:223]
static push(
slotName: MessageSlotName,
message: MessageWithId,
errorHandler: ErrorHandler,
): boolean {
const queue = getQueue(slotName, errorHandler);
if (queue.length < MAX_QUEUE_SIZE) {
const expires = Date.now() + millisecondsBeforeExpiry;
const messageToCache: CachedMessage = {
// Casting here as the Message will become a MessageData as part
// of the JSON serialization proccess
message: message as { id: string; message: MessageData },
expires,
};
queue.push(messageToCache);
setQueue(slotName, queue);
return true;
}
errorHandler(new Error('Failed to add message to queue - queue full'), 'LocalMessageCache');
return false;
}