chore(deps): bump @conduction/nextcloud-vue to 2.30.0 for the Reports page - #1731
Merged
Conversation
… page The four `tests/e2e/rapportage.spec.ts` failures on development are the last of that suite's red, and they are not a test problem: the Reports page has rendered EMPTY since #1691 shipped it. Root cause, in the library rather than here. `CnReportsPage` declared two props — `page` and `translate` — and read its cards from `this.page.config.cards`. `CnPageRenderer.resolvedProps()` returns `{ ...topLevel, ...normalizedConfig, ...params }`: it spreads the page's CONFIG KEYS as top-level props and never passes a `page` object. So `page` was always `{}`, `cards` was always `[]`, and the component rendered its empty state for every consumer. The contrast makes the contract obvious — CnIndexPage declares 96 props precisely because it reads the spread. Confirmed at runtime rather than inferred: the page MOUNTS (its `cn-reports-empty` marker is present) with zero `cn-report-card` elements, which is exactly the 0 CI reported against an expected 4. nextcloud-vue#920 fixed it by declaring `cards`, `categories`, `description`, `title` and the label props, with 82 lines of new unit tests, and 2.30.0 published it. This bump is all that is needed here. Verified against a build of this branch: /apps/pipelinq/reports renders 4 `cn-report-card` elements and the "Channel analytics" card is visible.⚠️ The rest of rapportage.spec.ts cannot be judged on this machine — every `page.goto` in it exceeds the spec's 30s budget because a page load takes ~13s against the shared dev container. In CI those same navigations complete and the failure was the card assertion, which is what this fixes. CI is the instrument for the remainder. eslint 0 errors, prettier --check on the FULL glob clean, 59 vitest tests pass.⚠️ Two corrections to earlier reports of mine, both from measuring the wrong world. The export-pages family was already fixed by #1706 and #1711 while I was working, so development's E2E is 4 failed / 328 passed rather than the 44 I quoted from a stale branch. And my first reading said the `reports` page type was unimplemented — that was a stale local node_modules (2.27.2 against a lockfile pinning 2.29.0) plus a bundle-override that did not match `?v=` query strings. Both instruments were wrong; the CI log settled it.
Contributor
Quality Report — ConductionNL/pipelinq @
|
| Check | PHP | Vue | Security | License | Tests |
|---|---|---|---|---|---|
| lint | ✅ | ||||
| phpcs | ✅ | ||||
| phpmd | ✅ | ||||
| psalm | ✅ | ||||
| phpstan | ✅ | ||||
| phpmetrics | ✅ | ||||
| eslint | ✅ | ||||
| stylelint | ✅ | ||||
| build | ✅ | ||||
| check-manifest | ✅ | ||||
| check-vue-demi | ✅ | ||||
| test-l10n | ✅ | ||||
| format | ✅ | ||||
| check-schema-l10n | ✅ | ||||
| check-l10n-js | ✅ | ||||
| composer | ✅ | ✅ 106/106 | |||
| npm | ✅ | ✅ 637/637 | |||
| app:check-code | ⏭️ | ||||
| info.xml | ✅ | ||||
| REUSE | ❌ | ||||
| PHPUnit | ✅ | ||||
| Newman | ✅ | ||||
| Playwright | ⏭️ deferred — runs on the promotion into beta/main, not on a pull request into development | ||||
| Hydra gates | ✅ |
Quality workflow — 2026-09-02 07:06 UTC
Download the full PDF report from the workflow artifacts.
…eeds
Follow-up in the same PR. The nc-vue 2.30.0 bump fixed the defect these four
tests were reporting, and it changed their failure MODE rather than clearing
them:
before the bump Error: toHaveCount failed — cn-report-card, expected 4,
received 0
after the bump Test timeout of 60000ms exceeded, with NO assertion error
at all
That second shape is the tell. No assertion failed, so the cards render now;
the tests simply ran out of budget. Each one calls openApp() — which boots
the shell and dismisses the walkthrough and support dialogs — then does a
full navigation, and `type:"reports"` is mapped through
defineAsyncComponent, so the first of them also pays for fetching that chunk.
A bare timeout reads as "the page is broken" when it means "this test is too
slow", which is exactly how the openregister route sweep misreported itself
earlier today.
180s, with the reasoning written where the next reader will hit it.
Also corrected two comments that survived #1684 and now say the opposite of
what the code does: both told the reader that a path-form goto boots the
shell at the Dashboard and the route must travel in the hash. The shell has
been on createWebHistory(routerBase()) since #1684, and the code beneath
those comments already uses paths.
⚠️ Verified in CI rather than locally, deliberately. Every `page.goto` in
this spec exceeds even the old 30s budget on this machine — a page load
against the shared dev container takes ~13s — and a full local run of the
file was OOM-killed. The targeted check that mattered did pass here:
/apps/pipelinq/reports renders 4 cn-report-card elements with 2.30.0 built
from this branch.
Contributor
Quality Report — ConductionNL/pipelinq @
|
| Check | PHP | Vue | Security | License | Tests |
|---|---|---|---|---|---|
| lint | ✅ | ||||
| phpcs | ✅ | ||||
| phpmd | ✅ | ||||
| psalm | ✅ | ||||
| phpstan | ✅ | ||||
| phpmetrics | ✅ | ||||
| eslint | ✅ | ||||
| stylelint | ✅ | ||||
| build | ✅ | ||||
| check-manifest | ✅ | ||||
| check-vue-demi | ✅ | ||||
| test-l10n | ✅ | ||||
| format | ✅ | ||||
| check-schema-l10n | ✅ | ||||
| check-l10n-js | ✅ | ||||
| composer | ✅ | ✅ 106/106 | |||
| npm | ✅ | ✅ 637/637 | |||
| app:check-code | ⏭️ | ||||
| info.xml | ✅ | ||||
| REUSE | ❌ | ||||
| PHPUnit | ✅ | ||||
| Newman | ✅ | ||||
| Playwright | ⏭️ deferred — runs on the promotion into beta/main, not on a pull request into development | ||||
| Hydra gates | ✅ |
Quality workflow — 2026-09-02 08:42 UTC
Download the full PDF report from the workflow artifacts.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
chore(deps): bump @conduction/nextcloud-vue to 2.30.0 for the Reports page
The four
tests/e2e/rapportage.spec.tsfailures on development are the lastof that suite's red, and they are not a test problem: the Reports page has
rendered EMPTY since #1691 shipped it.
Root cause, in the library rather than here.
CnReportsPagedeclared twoprops —
pageandtranslate— and read its cards fromthis.page.config.cards.CnPageRenderer.resolvedProps()returns{ ...topLevel, ...normalizedConfig, ...params }: it spreads the page'sCONFIG KEYS as top-level props and never passes a
pageobject. Sopagewas always
{},cardswas always[], and the component rendered itsempty state for every consumer. The contrast makes the contract obvious —
CnIndexPage declares 96 props precisely because it reads the spread.
Confirmed at runtime rather than inferred: the page MOUNTS (its
cn-reports-emptymarker is present) with zerocn-report-cardelements,which is exactly the 0 CI reported against an expected 4.
nextcloud-vue#920 fixed it by declaring
cards,categories,description,titleand the label props, with 82 lines of new unit tests,and 2.30.0 published it. This bump is all that is needed here.
Verified against a build of this branch: /apps/pipelinq/reports renders 4
cn-report-cardelements and the "Channel analytics" card is visible.page.gotoin it exceeds the spec's 30s budget because a page load takes~13s against the shared dev container. In CI those same navigations complete
and the failure was the card assertion, which is what this fixes. CI is the
instrument for the remainder.
eslint 0 errors, prettier --check on the FULL glob clean, 59 vitest tests
pass.
world. The export-pages family was already fixed by #1706 and #1711 while I
was working, so development's E2E is 4 failed / 328 passed rather than the
44 I quoted from a stale branch. And my first reading said the
reportspage type was unimplemented — that was a stale local node_modules (2.27.2
against a lockfile pinning 2.29.0) plus a bundle-override that did not match
?v=query strings. Both instruments were wrong; the CI log settled it.