From e7403332b9984752a43ddd4615c1dae2a45ea625 Mon Sep 17 00:00:00 2001 From: Ruben van der Linde Date: Sun, 30 Aug 2026 13:13:20 +0200 Subject: [PATCH 1/3] fix(sidebar): render the manifest page's sidebar alongside our own (#3103) * fix(sidebar): render the manifest page's sidebar alongside our own This app fills CnAppRoot's `#sidebar` slot, and Vue only renders a slot's fallback when the slot is ABSENT. So filling it suppressed `pages[].sidebarComponent` silently: no warning, no error, no sidebar. The ADR-110 flow sidebar was declared in the manifest, registered in registry.js and present in the bundle, and still never rendered. Nine apps in the fleet fill this slot and all nine were affected. The five that do not fill it rendered the flow sidebar correctly, which is what identified the cause. CnAppRoot now passes the resolved component to the slot (nextcloud-vue#857), so this renders both: our own rail, and whatever the routed manifest page asks for. Verified: npm run build exits 0. * chore(deps): @conduction/nextcloud-vue 2.24.3, which carries the sidebar slot prop 2.24.3 is the release that passes the resolved `pages[].sidebarComponent` into CnAppRoot's `#sidebar` slot. Without it the App.vue change in this branch is a no-op, because the slot prop it reads does not exist yet. Verified on filinq in the browser against the dev instance: the flow rail (Flow, Steps, Runs, Version, Publish, the trigger list) now renders next to the canvas, and the app's own sidebar still mounts alongside it. --- package-lock.json | 8 ++++---- package.json | 2 +- src/App.vue | 8 +++++++- 3 files changed, 12 insertions(+), 6 deletions(-) diff --git a/package-lock.json b/package-lock.json index d1bbcd38d9..39ca5aaadd 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,7 +10,7 @@ "license": "EUPL-1.2", "dependencies": { "@codemirror/lang-json": "^6.0.1", - "@conduction/nextcloud-vue": "^2.24.2", + "@conduction/nextcloud-vue": "^2.24.3", "@nextcloud/auth": "^2.6.0", "@nextcloud/axios": "^2.6.0", "@nextcloud/capabilities": "^1.2.1", @@ -2173,9 +2173,9 @@ } }, "node_modules/@conduction/nextcloud-vue": { - "version": "2.24.2", - "resolved": "https://registry.npmjs.org/@conduction/nextcloud-vue/-/nextcloud-vue-2.24.2.tgz", - "integrity": "sha512-BGvyJpRhzvLraZuyRB3ETJ6IESV27XZvL5vdvLd5kEvettFo+QWIo6JcHJhQk9np8QYGHBQ9gRHCp3v6y7Y2gw==", + "version": "2.24.3", + "resolved": "https://registry.npmjs.org/@conduction/nextcloud-vue/-/nextcloud-vue-2.24.3.tgz", + "integrity": "sha512-Hflys+AxGNNSkDxuMf04RdFzijhWDKtcRJAHtmtYLj6ntwoIT51k0rfRju6S5GuTNF+daJDUv9tHDVVXb9ZIWw==", "license": "EUPL-1.2", "dependencies": { "@ckpack/vue-color": "^1.6.0", diff --git a/package.json b/package.json index 5212a456ed..71ed5a18e2 100644 --- a/package.json +++ b/package.json @@ -64,7 +64,7 @@ }, "dependencies": { "@codemirror/lang-json": "^6.0.1", - "@conduction/nextcloud-vue": "^2.24.2", + "@conduction/nextcloud-vue": "^2.24.3", "@nextcloud/auth": "^2.6.0", "@nextcloud/axios": "^2.6.0", "@nextcloud/capabilities": "^1.2.1", diff --git a/src/App.vue b/src/App.vue index 7b81c44693..01e02dd3ed 100644 --- a/src/App.vue +++ b/src/App.vue @@ -25,7 +25,7 @@ path: it reads OCA.OpenRegister.integrations and renders one inner tab per provider (built-ins + xwiki + the bespoke leaves). See ADR-019. --> -