From efd6c78a154964fedbd043e3a8c519df3c6f63bb Mon Sep 17 00:00:00 2001 From: curo1305 Date: Tue, 16 Jun 2026 10:16:28 +0200 Subject: [PATCH] fix(10): resolve CR-01 prop mutation + CR-02 double-shortcut on modal open CR-01: DocumentCard.vue `@unshared="doc.is_shared = false"` mutated a defineProps prop (readonly in Vue 3). Replace with a local `isShared` ref watched against prop changes so the Shared pill hides correctly after revoke. CR-02: App.vue keyboard handler fired U/N/Escape shortcuts even when a modal was open (no input focused). Add `role="dialog"` guard so all shortcuts are suppressed while any dialog is in the DOM. Co-Authored-By: Claude Sonnet 4.6 --- frontend/src/App.vue | 1 + frontend/src/components/documents/DocumentCard.vue | 9 ++++++--- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/frontend/src/App.vue b/frontend/src/App.vue index 1d77e58..05aa9e1 100644 --- a/frontend/src/App.vue +++ b/frontend/src/App.vue @@ -30,6 +30,7 @@ function onOsFilesDropped(files) { function onKeydown(e) { const tag = document.activeElement?.tagName if (['INPUT', 'TEXTAREA', 'SELECT'].includes(tag) || document.activeElement?.isContentEditable) return + if (document.querySelector('[role="dialog"]')) return if (e.key === '/' && !e.ctrlKey && !e.metaKey) { e.preventDefault() diff --git a/frontend/src/components/documents/DocumentCard.vue b/frontend/src/components/documents/DocumentCard.vue index 9dbae41..5e6f54f 100644 --- a/frontend/src/components/documents/DocumentCard.vue +++ b/frontend/src/components/documents/DocumentCard.vue @@ -36,7 +36,7 @@ -
+
Shared
@@ -83,7 +83,7 @@ v-if="showShareModal" :doc="doc" @close="showShareModal = false" - @unshared="doc.is_shared = false" + @unshared="isShared = false" />
@@ -113,7 +113,7 @@