diff --git a/lib/units/device/plugins/browser.js b/lib/units/device/plugins/browser.js index a20e5953..c781d74f 100644 --- a/lib/units/device/plugins/browser.js +++ b/lib/units/device/plugins/browser.js @@ -31,21 +31,24 @@ module.exports = syrup.serial() return component.split('/', 1)[0] } - function processApp(app) { + function appReducer(acc, app) { var packageName = pkg(app.component) var browserId = mapping[packageName] if (!browserId) { - throw new Error(util.format('Unmapped browser "%s"', packageName)) + log.warn('Unmapped browser "%s"', packageName) + return acc } - return { + acc.push({ id: app.component , type: browserId , name: browsers[browserId].name , selected: app.selected , system: app.system - } + }) + + return acc } function updateBrowsers(data) { @@ -55,9 +58,7 @@ module.exports = syrup.serial() , wireutil.envelope(new wire.DeviceBrowserMessage( options.serial , data.selected - , data.apps.map(function(app) { - return new wire.DeviceBrowserAppMessage(processApp(app)) - }) + , data.apps.reduce(appReducer, []) )) ]) }