From 24f551a39eae849d891da26cc91f90d354e3a2db Mon Sep 17 00:00:00 2001
From: Ariver <shanghai3168@gmail.com>
Date: Sun, 12 Jul 2026 02:44:05 +0800
Subject: [PATCH] chore(mas): refresh codebase memory after split
---
C1.source/privatevoice.src/frontend/src/components/settings/PermissionsPage.svelte | 20 ++++++++++++++++++--
1 files changed, 18 insertions(+), 2 deletions(-)
diff --git a/C1.source/privatevoice.src/frontend/src/components/settings/PermissionsPage.svelte b/C1.source/privatevoice.src/frontend/src/components/settings/PermissionsPage.svelte
index e2b9d09..9466e90 100644
--- a/C1.source/privatevoice.src/frontend/src/components/settings/PermissionsPage.svelte
+++ b/C1.source/privatevoice.src/frontend/src/components/settings/PermissionsPage.svelte
@@ -1,6 +1,7 @@
<script lang="ts">
import { onMount } from 'svelte'
import { Call } from '@wailsio/runtime'
+ import TextOutputFallbackPanel from './TextOutputFallbackPanel.svelte'
import { t } from '../../lib/i18n'
interface PermissionStatus {
@@ -14,11 +15,18 @@
let statuses = $state<PermissionStatus[]>([])
let loading = $state(true)
+ let refreshTimeout: number | null = null
onMount(() => {
refresh()
const timer = window.setInterval(refresh, 2500)
- return () => window.clearInterval(timer)
+ return () => {
+ window.clearInterval(timer)
+ if (refreshTimeout !== null) {
+ window.clearTimeout(refreshTimeout)
+ refreshTimeout = null
+ }
+ }
})
async function refresh() {
@@ -40,7 +48,13 @@
await Call.ByName('voicesnap/services.PermissionService.OpenSettings', id)
} catch {}
}
- window.setTimeout(refresh, 800)
+ if (refreshTimeout !== null) {
+ window.clearTimeout(refreshTimeout)
+ }
+ refreshTimeout = window.setTimeout(() => {
+ refreshTimeout = null
+ refresh()
+ }, 800)
}
function sortStatuses(items: PermissionStatus[]) {
@@ -83,6 +97,8 @@
<button class="refresh-btn" onclick={refresh}>{t('permissions.refresh')}</button>
</div>
+ <TextOutputFallbackPanel />
+
<div class="permission-list">
{#each statuses as item}
<div class="permission-row">
--
Gitblit v1.9.3