From 4651cbc2eba2ddbcba5934bc82d493610415907c Mon Sep 17 00:00:00 2001 From: Daniel Gasienica Date: Wed, 21 Mar 2018 19:47:38 -0400 Subject: [PATCH] Improve ``Message.upgradeSchema` preconditions --- js/background.js | 2 +- js/modules/types/message.js | 9 +++++++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/js/background.js b/js/background.js index c48c3bcc3..d4cbb8a2b 100644 --- a/js/background.js +++ b/js/background.js @@ -14,7 +14,7 @@ ;(function() { 'use strict'; - const { IdleDetector } = Signal; + const { IdleDetector, MessageMigration } = Signal; const { Errors, Message } = window.Signal.Types; const { upgradeMessageSchema } = window.Signal.Migrations; diff --git a/js/modules/types/message.js b/js/modules/types/message.js index b4680818f..a43e9c664 100644 --- a/js/modules/types/message.js +++ b/js/modules/types/message.js @@ -166,8 +166,13 @@ const toVersion3 = exports._withSchemaVersion( ); // UpgradeStep -exports.upgradeSchema = async (message, { writeAttachmentData } = {}) => - toVersion3( +exports.upgradeSchema = async (message, { writeAttachmentData } = {}) => { + if (!isFunction(writeAttachmentData)) { + throw new TypeError('`context.writeAttachmentData` is required'); + } + + return toVersion3( await toVersion2(await toVersion1(await toVersion0(message))), { writeAttachmentData } ); +};