diff --git a/assets/components/LogViewer/LogViewer.vue b/assets/components/LogViewer/LogViewer.vue
index ee9f6e81..42291668 100644
--- a/assets/components/LogViewer/LogViewer.vue
+++ b/assets/components/LogViewer/LogViewer.vue
@@ -15,7 +15,7 @@
>
-
+
@@ -32,7 +32,7 @@ const props = defineProps<{
const { container } = useContainerContext();
-let visibleKeys = persistentVisibleKeys(container);
+const visibleKeys = persistentVisibleKeys(container);
const { filteredPayload } = useVisibleFilter(visibleKeys);
const { filteredMessages, resetSearch, isSearching } = useSearchFilter();
diff --git a/assets/composable/storage.ts b/assets/composable/storage.ts
index a307687c..5399dc0e 100644
--- a/assets/composable/storage.ts
+++ b/assets/composable/storage.ts
@@ -8,7 +8,14 @@ if (config.hosts.length === 1 && !sessionHost.value) {
}
export function persistentVisibleKeys(container: Ref) {
- return computed(() => useStorage(container.value.storageKey, []));
+ const storage = useStorage<{ [key: string]: string[][] }>("DOZZLE_VISIBLE_KEYS", {});
+ return computed(() => {
+ if (!(container.value.storageKey in storage.value)) {
+ storage.value[container.value.storageKey] = [];
+ }
+
+ return storage.value[container.value.storageKey];
+ });
}
const DOZZLE_PINNED_CONTAINERS = "DOZZLE_PINNED_CONTAINERS";
diff --git a/assets/composable/visible.ts b/assets/composable/visible.ts
index 647bd7e0..14502d1f 100644
--- a/assets/composable/visible.ts
+++ b/assets/composable/visible.ts
@@ -1,12 +1,12 @@
import { ComplexLogEntry, type JSONObject, type LogEntry } from "@/models/LogEntry";
-import type { ComputedRef, Ref } from "vue";
+import type { Ref } from "vue";
-export function useVisibleFilter(visibleKeys: ComputedRef[>) {
+export function useVisibleFilter(visibleKeys: Ref) {
function filteredPayload(messages: Ref[]>) {
return computed(() => {
return messages.value.map((d) => {
if (d instanceof ComplexLogEntry) {
- return ComplexLogEntry.fromLogEvent(d, visibleKeys.value);
+ return ComplexLogEntry.fromLogEvent(d, visibleKeys);
} else {
return d;
}
]