diff --git a/dashboard/src/views/apps.js b/dashboard/src/views/apps.js index 34c74e1c7..2ede21032 100644 --- a/dashboard/src/views/apps.js +++ b/dashboard/src/views/apps.js @@ -187,21 +187,19 @@ angular.module('Application').controller('AppsController', ['$scope', '$translat accessRestriction.groups = $scope.applinksEdit.accessRestriction.groups.map(function (g) { return g.id; }); } - var icon; - if ($scope.applinksEdit.icon.data === '__original__') { // user reset the icon - icon = ''; - } else if ($scope.applinksEdit.icon.data) { // user loaded custom icon - icon = $scope.applinksEdit.icon.data.replace(/^data:image\/[a-z]+;base64,/, ''); - } - var data = { upstreamUri: $scope.applinksEdit.upstreamUri, label: $scope.applinksEdit.label, accessRestriction: accessRestriction, - icon: icon, tags: $scope.applinksEdit.tags.split(' ').map(function (t) { return t.trim(); }).filter(function (t) { return !!t; }) }; + if ($scope.applinksEdit.icon.data === '__original__') { // user reset the icon + data.icon = ''; + } else if ($scope.applinksEdit.icon.data) { // user loaded custom icon + data.icon = $scope.applinksEdit.icon.data.replace(/^data:image\/[a-z]+;base64,/, ''); + } + Client.updateApplink($scope.applinksEdit.id, data, function (error) { $scope.applinksEdit.busyEdit = false; diff --git a/src/applinks.js b/src/applinks.js index d29660de7..0c4ba2c01 100644 --- a/src/applinks.js +++ b/src/applinks.js @@ -185,6 +185,13 @@ async function update(applinkId, applink) { if (applink.icon) { if (!validator.isBase64(applink.icon)) throw new BoxError(BoxError.BAD_FIELD, 'icon is not base64'); applink.icon = Buffer.from(applink.icon, 'base64'); + } else if (applink.icon === '') { + // empty string means we autodetect in detectMetaInfo + applink.icon = ''; + } else { + // nothing changed reuse old + const result = await get(applinkId); + applink.icon = result.icon; } await detectMetaInfo(applink);