fix: restore permission modal reactivity by replacing array mutation with new array creation
Security Scan and Upload / Security & DefectDojo Upload (pull_request) Successful in 1m6s
CI / Lint & Test (pull_request) Successful in 16m21s
CI / Build Linux (pull_request) Successful in 20m11s
CI / Build Windows (cross-compile) (pull_request) Successful in 30m24s

Previously, pendingPermissions was mutated in-place via .push(), causing
Svelte's reactivity chain to potentially receive the same array reference
and skip re-rendering the PermissionModal. Switching to spread syntax
guarantees a new reference on every update.

Also removed $state() from PermissionModal's local variables to match
the Svelte 4 reactive pattern used by other working components (Terminal),
avoiding rune-mode signal equality short-circuits.
This commit is contained in:
2026-02-26 22:39:15 -08:00
committed by Naomi Carrigan
parent feba03155c
commit aa40d09b29
3 changed files with 53 additions and 7 deletions
+3 -3
View File
@@ -9,10 +9,10 @@
import { conversationsStore } from "$lib/stores/conversations";
import { configStore } from "$lib/stores/config";
let permissions: PermissionRequest[] = $state([]);
let permissions: PermissionRequest[] = [];
let selectedPermissions = new SvelteSet<string>();
let grantedToolsList: string[] = $state([]);
let workingDirectory = $state("");
let grantedToolsList: string[] = [];
let workingDirectory = "";
conversationsStore.pendingPermissions.subscribe((perms) => {
permissions = perms;