diff --git a/ui/app.js b/ui/app.js
index ae99a62..776a22c 100644
--- a/ui/app.js
+++ b/ui/app.js
@@ -42,6 +42,8 @@ const backendQueryRetryDelay = 2000;
const maxTimeDiff = 30000;
+const updateIndicatorMaxDisplayTime = 3000;
+
const mainTemplate = `
+ @navigate-to="changeURLHash"
+ @tab-opened="tabOpened"
+ @tab-closed="tabClosed"
+ @tab-updated="tabUpdated"
+>
{
+ this.updateTabTitleInfo(tabs, false);
+ }, updateIndicatorMaxDisplayTime);
}
}
});
diff --git a/ui/home.vue b/ui/home.vue
index efe5687..d768044 100644
--- a/ui/home.vue
+++ b/ui/home.vue
@@ -440,6 +440,8 @@ export default {
this.windows.connect = false;
this.addToTab(data);
+
+ this.$emit("tab-opened", this.tab.tabs);
},
async addToTab(data) {
await this.switchTab(
@@ -498,6 +500,8 @@ export default {
}
this.removeFromTab(index);
+
+ this.$emit("tab-closed", this.tab.tabs);
},
tabStopped(index, reason) {
if (reason === null) {
@@ -507,7 +511,9 @@ export default {
}
},
tabUpdated(index) {
- this.tab.tabs[index].indicator.updated = this.tab.current !== index;
+ this.$emit("tab-updated", this.tab.tabs);
+
+ this.tab.tabs[index].indicator.updated = index !== this.tab.current;
}
}
};
diff --git a/ui/widgets/tab_list.vue b/ui/widgets/tab_list.vue
index 8918412..822be9c 100644
--- a/ui/widgets/tab_list.vue
+++ b/ui/widgets/tab_list.vue
@@ -25,7 +25,7 @@
:class="{
active: tab === idx,
error: tabInfo.indicator.error.length > 0,
- updated: tabInfo.indicator.updated
+ updated: tabInfo.indicator.updated && tab !== idx
}"
:style="
'background: ' +