fix: live SSH update log re-renders in modal (v0.5.7)
Remove cached openLogs computed that blocked Vue updates to output/loading; preserve log tail on empty poll; auto-scroll log panel.
This commit is contained in:
@@ -1,18 +1,19 @@
|
||||
<template>
|
||||
<div v-if="openLogs.length" class="host-action-log-stack" aria-live="polite">
|
||||
<HostActionLogModal
|
||||
v-for="entry in openLogs"
|
||||
:key="entry.id"
|
||||
:open="true"
|
||||
:title="entry.title"
|
||||
:loading="entry.loading"
|
||||
:ok="entry.ok"
|
||||
:message="entry.message"
|
||||
:output="entry.output"
|
||||
:log-visible="entry.logVisible"
|
||||
@close="closeHostRemoteActionLog(entry.id)"
|
||||
@toggle-log="toggleHostRemoteActionLog(entry.id)"
|
||||
/>
|
||||
<div v-if="hasOpenLogs" class="host-action-log-stack" aria-live="polite">
|
||||
<template v-for="entry in hostRemoteActionLogs" :key="entry.id">
|
||||
<HostActionLogModal
|
||||
v-if="entry.open"
|
||||
:open="true"
|
||||
:title="entry.title"
|
||||
:loading="entry.loading"
|
||||
:ok="entry.ok"
|
||||
:message="entry.message"
|
||||
:output="entry.output"
|
||||
:log-visible="entry.logVisible"
|
||||
@close="closeHostRemoteActionLog(entry.id)"
|
||||
@toggle-log="toggleHostRemoteActionLog(entry.id)"
|
||||
/>
|
||||
</template>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -25,7 +26,7 @@ import {
|
||||
toggleHostRemoteActionLog,
|
||||
} from "../composables/useHostRemoteAction";
|
||||
|
||||
const openLogs = computed(() => hostRemoteActionLogs.filter((e) => e.open));
|
||||
const hasOpenLogs = computed(() => hostRemoteActionLogs.some((e) => e.open));
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
Reference in New Issue
Block a user