diff --git a/dashboard/src/components/app/Display.vue b/dashboard/src/components/app/Display.vue
new file mode 100644
index 000000000..ebe2e9385
--- /dev/null
+++ b/dashboard/src/components/app/Display.vue
@@ -0,0 +1,164 @@
+
+
+
+
+
+
+
+
+
diff --git a/dashboard/src/models/AppsModel.js b/dashboard/src/models/AppsModel.js
index 6f3bd2878..77691053f 100644
--- a/dashboard/src/models/AppsModel.js
+++ b/dashboard/src/models/AppsModel.js
@@ -137,6 +137,7 @@ function create() {
for (const app of result.body.apps) {
app.ssoAuth = app.sso && (app.manifest.addons['ldap'] || app.manifest.addons['oidc'] || app.manifest.addons['proxyAuth']); // checking app.sso first ensures app.manifest.addons is not null
app.type = app.manifest.id === PROXY_APP_ID ? APP_TYPES.PROXIED : APP_TYPES.APP;
+ app.iconUrl = app.iconUrl ? (origin + app.iconUrl + '?ts=' + (new Date(app.ts).getTime())) : null; // calculate full icon url with cache busting
// only fetch if we have permissions and a taskId is set/active
if (!app.taskId || (app.accessLevel !== 'operator' && app.accessLevel !== 'admin')) {
@@ -174,6 +175,7 @@ function create() {
app.ssoAuth = app.sso && (app.manifest.addons['ldap'] || app.manifest.addons['oidc'] || app.manifest.addons['proxyAuth']); // checking app.sso first ensures app.manifest.addons is not null
app.type = app.manifest.id === PROXY_APP_ID ? APP_TYPES.PROXIED : APP_TYPES.APP;
+ app.iconUrl = app.iconUrl ? (origin + app.iconUrl + '?ts=' + (new Date(app.ts).getTime())) : null; // calculate full icon url with cache busting
// only fetch if we have permissions and a taskId is set/active
if (!app.taskId || (app.accessLevel !== 'operator' && app.accessLevel !== 'admin')) {
diff --git a/dashboard/src/views/AppConfigureView.vue b/dashboard/src/views/AppConfigureView.vue
index 4866517f7..a7f6aee43 100644
--- a/dashboard/src/views/AppConfigureView.vue
+++ b/dashboard/src/views/AppConfigureView.vue
@@ -9,6 +9,7 @@ const t = i18n.t;
import { ref, onMounted, onBeforeUnmount, computed } from 'vue';
import { Button, ButtonGroup } from 'pankow';
import Info from '../components/app/Info.vue';
+import Display from '../components/app/Display.vue';
import Security from '../components/app/Security.vue';
import Cron from '../components/app/Cron.vue';
import Resources from '../components/app/Resources.vue';
@@ -140,7 +141,7 @@ onBeforeUnmount(() => {