@@ -152,7 +152,7 @@ import { loadState } from '@nextcloud/initial-state'
152152import moment from ' @nextcloud/moment'
153153import { generateOcsUrl } from ' @nextcloud/router'
154154import { useIsMobile } from ' @nextcloud/vue'
155- import { computed , onMounted , onUnmounted , ref } from ' vue'
155+ import { computed , onMounted , onUnmounted , ref , watch } from ' vue'
156156import { useRoute , useRouter } from ' vue-router'
157157import NcAppContent from ' @nextcloud/vue/components/NcAppContent'
158158import NcAppNavigation from ' @nextcloud/vue/components/NcAppNavigation'
@@ -205,6 +205,7 @@ export default {
205205 const allSharedForms = ref ([])
206206 const showArchivedForms = ref (false )
207207 const canCreateForms = ref (loadState (appName, ' appConfig' ).canCreateForms )
208+ const deletedFormHash = ref (null )
208209
209210 const PERMISSION_TYPES = PermissionTypes .data ().PERMISSION_TYPES
210211
@@ -219,6 +220,11 @@ export default {
219220 return false
220221 }
221222
223+ // Don't try to fetch if this form was just deleted
224+ if (deletedFormHash .value === routeHash .value ) {
225+ return false
226+ }
227+
222228 const form = [... forms .value , ... allSharedForms .value ].find (
223229 (form ) => form .hash === routeHash .value ,
224230 )
@@ -435,12 +441,24 @@ export default {
435441 const deletedHash = forms .value [formIndex].hash
436442
437443 forms .value .splice (formIndex, 1 )
444+ deletedFormHash .value = deletedHash
438445
439446 if (deletedHash === routeHash .value && route .name !== ' root' ) {
440- router .push ({ name: ' root' })
447+ // Navigate to root without triggering route guards
448+ router .replace ({ name: ' root' })
441449 }
442450 }
443451
452+ // Reset deletedFormHash when navigating away from the deleted form
453+ watch (
454+ () => route .name ,
455+ (newRouteName ) => {
456+ if (newRouteName === ' root' ) {
457+ deletedFormHash .value = null
458+ }
459+ },
460+ )
461+
444462 const onLastUpdatedByEventBus = (id ) => {
445463 const formIndex = forms .value .findIndex ((form ) => form .id === id)
446464 if (formIndex !== - 1 ) {
0 commit comments