Skip to content

fix(sidebar): render the flow sidebar once, not twice - #3109

Merged
rubenvdlinde merged 1 commit into
developmentfrom
fix/one-flow-sidebar-not-two
Aug 30, 2026
Merged

fix(sidebar): render the flow sidebar once, not twice#3109
rubenvdlinde merged 1 commit into
developmentfrom
fix/one-flow-sidebar-not-two

Conversation

@rubenvdlinde

Copy link
Copy Markdown
Contributor

E2E went red on development:

1) [chromium] › tests/e2e/ci/flow-controls.spec.ts:181:5
   Error: the flow sidebar did not render — the controls are unreachable again
   Error: strict mode violation: locator('.cn-flow-sidebar') resolved to 2 elements

This deletes a workaround, not a fix

#3103 fixed the real problem. CnAppRoot only offered the manifest's sidebarComponent as the default content of its #sidebar slot, and this app fills that slot — so by Vue's ordinary slot mechanic the consumer won and the manifest key was live config that rendered nothing. #3103 passes the component through as a slot prop so App.vue can render it.

What it did not do is remove the workaround that existed because the manifest key rendered nothing: a hardcoded <FlowDetailSidebar> in SideBars.vue, whose own comment says exactly that —

"These are declared on the manifest page as sidebarComponent: FlowDetailSidebar … It could never render here, though … The manifest key was live config that rendered nothing."

With the manifest route working, both rendered. The E2E caught it precisely as it should.

So the workaround goes, and the comment left in its place records that the manifest is now the single source of truth — because adding a route back here for a page that declares sidebarComponent will duplicate it again.

The unused import and components entry go with it: a registration left behind after its template use is removed is the next reader's puzzle.

src/App.vue is Prettier-formatted here too — the same one-file fix is in #3107, and whichever lands first makes the other a no-op.

Verification

eslint            exit 0
webpack build     compiled (warnings only, no errors)
npm run format    exit 0

E2E went red on development with

  strict mode violation: locator('.cn-flow-sidebar') resolved to 2 elements
  Error: the flow sidebar did not render — the controls are unreachable again

#3103 fixed the real problem: CnAppRoot only offered the manifest's
`sidebarComponent` as the DEFAULT content of its #sidebar slot, and this
app fills that slot, so the manifest key was live config that rendered
nothing. #3103 passes the component through as a slot prop instead, so
App.vue can render it.

What it did not do is remove the workaround that existed BECAUSE the
manifest key rendered nothing — a hardcoded <FlowDetailSidebar> in
SideBars.vue, whose own comment explains it was there for exactly that
reason. With the manifest route working, both rendered.

So this deletes the workaround, not the fix. The manifest is now the
single source of truth for a page's sidebar, and the comment left behind
says so, because adding a route here for a page that declares
`sidebarComponent` will duplicate it again.

The unused import and components entry go with it — a registration left
behind after its template use is removed is the next reader's puzzle.

src/App.vue is Prettier-formatted here too; the same one-file fix is in
#3107, and whichever lands first makes the other a no-op.

Verified: eslint exits 0, webpack build compiles, npm run format exits 0.
@github-actions

Copy link
Copy Markdown
Contributor

Quality Report — ConductionNL/openregister @ 8e86bb0

Check PHP Vue Security License Tests
lint
phpcs
phpmd
psalm
phpstan
phpmetrics
eslint
stylelint
build
check-specs
test-l10n
test-l10n-parity
format
check-schema-l10n
check-l10n-js
composer ✅ 174/174
npm ✅ 547/547
app:check-code ⏭️
info.xml
REUSE
PHPUnit
Newman
Playwright 🚨 NO VERDICT — enabled but never ran
Hydra gates

Quality workflow — 2026-08-30 13:19 UTC

Download the full PDF report from the workflow artifacts.

@rubenvdlinde
rubenvdlinde merged commit a3dc97c into development Aug 30, 2026
47 checks passed
@rubenvdlinde
rubenvdlinde deleted the fix/one-flow-sidebar-not-two branch August 30, 2026 13:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant