Skip to content

fix(deps): pin @nextcloud/vue below the NcSelect rework - #438

Merged
rubenvdlinde merged 1 commit into
developmentfrom
fix/pin-nextcloud-vue-before-ncselect-rework
Aug 30, 2026
Merged

fix(deps): pin @nextcloud/vue below the NcSelect rework#438
rubenvdlinde merged 1 commit into
developmentfrom
fix/pin-nextcloud-vue-before-ncselect-rework

Conversation

@rubenvdlinde

Copy link
Copy Markdown
Contributor

E2E went from 127 passed / 0 failed to 127 passed / 11 failed between two runs 36 minutes apart:

10:45  4d3819d5   @nextcloud/vue 9.9.0    E2E success
11:21  b0a322a6   @nextcloud/vue 9.11.0   E2E failure

Nothing about the tests changed — both failing specs (conditional-visibility-editor, dashboard-sharing) were last touched on 2026-08-13. What changed is the lockfile. package.json asked for ^9.5.0, so regenerating the lockfile for an unrelated stylelint PR silently moved @nextcloud/vue two minor versions.

9.10.0 reworked NcSelect:

fix(NcSelect): floating label design using NcTextField      #8570
fix(NcSelect): truncate long selected labels ...            #8829

The failure signature says "unstable", not "missing"

All 11 share it, and that is what points at the component rather than the app:

- waiting for locator('.vs__dropdown-option').nth(2)
locator resolved to <li role="option" class="vs__dropdown-option">…
attempting click action        → Timeout 10000ms exceeded
  waiting for element to be visible, enabled and stable

The option exists and Playwright reaches the click — it just never settles. An element that never stops moving is what a re-laying-out floating label produces.

This is a pin, not a fix

~9.9.0 holds the last version whose NcSelect these tests were written against. Adapting the specs to the new NcSelect is real work and deserves to be its own change — made against the new component on purpose, rather than inherited as a side effect of a lockfile regeneration in a stylelint PR.

Verification

@nextcloud/vue    9.9.0 installed
vitest            682 passed (682)
npm run format    exit 0

The E2E only runs in CI, and that is the check this PR is aimed at.

E2E went from 127 passed / 0 failed to 127 passed / 11 failed between two
runs 36 minutes apart:

  10:45  4d3819d  @nextcloud/vue 9.9.0    E2E success
  11:21  b0a322a  @nextcloud/vue 9.11.0   E2E failure

Nothing about the tests changed -- both failing specs
(conditional-visibility-editor, dashboard-sharing) were last touched on
2026-08-13. What changed is the lockfile. package.json asked for ^9.5.0,
so regenerating the lockfile for an unrelated stylelint PR silently moved
@nextcloud/vue two minor versions.

9.10.0 reworked NcSelect:

  fix(NcSelect): floating label design using NcTextField      #8570
  fix(NcSelect): truncate long selected labels ...            #8829

All 11 failures share one signature, and it is not 'element missing'. The
locator RESOLVES, Playwright logs 'attempting click action', and then
times out on 'waiting for element to be visible, enabled and stable':

  - waiting for locator('.vs__dropdown-option').nth(2)
  locator resolved to <li role="option" class="vs__dropdown-option">...
  attempting click action    -> Timeout 10000ms exceeded

An option that exists but never settles is what a re-laying-out floating
label produces.

~9.9.0 holds the last version whose NcSelect these tests were written
against. This is deliberately a PIN, not a fix: adapting the specs to the
new NcSelect is real work and should be its own change, made against the
new component on purpose rather than as a side effect of a lockfile
regeneration.

Verified locally: 9.9.0 installed, 682 unit tests pass, format exits 0.
The E2E itself only runs in CI, and that is the check this is aimed at.
@github-actions

Copy link
Copy Markdown
Contributor

Quality Report — ConductionNL/launchpad @ baba5cd

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

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

Download the full PDF report from the workflow artifacts.

@rubenvdlinde
rubenvdlinde merged commit d158755 into development Aug 30, 2026
43 checks passed
@rubenvdlinde
rubenvdlinde deleted the fix/pin-nextcloud-vue-before-ncselect-rework branch August 30, 2026 13:52
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