Skip to content

fix(e2e): make the admin a returning user so the support dialog stops swallowing clicks - #536

Merged
rubenvdlinde merged 1 commit into
developmentfrom
fix/e2e-seed-support-dialog
Aug 31, 2026
Merged

fix(e2e): make the admin a returning user so the support dialog stops swallowing clicks#536
rubenvdlinde merged 1 commit into
developmentfrom
fix/e2e-seed-support-dialog

Conversation

@rubenvdlinde

Copy link
Copy Markdown
Contributor

due-date-reminder-settings.spec.ts fails with a 60s click timeout on the Planninq settings button.

The button was never the problem. The call log says so plainly:

- locator resolved to <button ... aria-controls="nc-vue-7">
- element is visible, enabled and stable
- <div role="dialog" ... data-testid-modal="cn-support-dialog">
  subtree intercepts pointer events

Found, visible, stable — and covered.

Why it happens every run

nc-vue opens the support dialog on first visit and records that the user has seen it in a per-user preference. Playwright starts from a fresh browser profile every run, but that preference lives on the server, so it is never there and the dialog mounts as a full modal mask over the app in every spec.

The seed now writes it once for the admin the suite runs as. buildiq's seed already does exactly this, for exactly this reason — this brings planninq in line rather than inventing an approach.

Verification

Measured against the dev instance rather than reasoned about:

step result
delete the preference pref present: 0
replay the exact call the seed makes HTTP 200
read it back pref present: 1
bash -n passes

Scope

This addresses the E2E job only. The app itself was never broken here — the settings dialog works, it was covered.

Together with #533 (manifest _note) and #535 (gate-102 / gate-60), this should clear the last of planninq's four red checks. Quality Report is a downstream aggregator and goes green when the jobs above it do.

… swallowing clicks

due-date-reminder-settings.spec.ts failed with a 60s click timeout on the
Planninq settings button. The button was never the problem. The call log reads:

  - locator resolved to <button ... aria-controls="nc-vue-7">
  - element is visible, enabled and stable
  - <div role="dialog" ... data-testid-modal="cn-support-dialog"> subtree
    intercepts pointer events

nc-vue opens the support dialog on first visit and records that the user has
seen it in a per-user preference. Playwright starts from a fresh browser
profile every run, but that preference lives on the SERVER, so it is never
there and the dialog mounts as a full modal mask over the app in every spec.

The seed now writes it once for the admin the suite runs as, which is what
buildiq's seed already does for the same reason.

Verified against the dev instance rather than assumed: deleting the preference
and replaying the exact call the seed makes returns HTTP 200 and the preference
reads back as present. bash -n passes.

This addresses the E2E job only. The app itself was never broken here: the
settings dialog works, it was covered.
@rubenvdlinde
rubenvdlinde merged commit 6f8f47d into development Aug 31, 2026
28 checks passed
@rubenvdlinde
rubenvdlinde deleted the fix/e2e-seed-support-dialog branch August 31, 2026 21:41
@github-actions

Copy link
Copy Markdown
Contributor

Quality Report — ConductionNL/planninq @ 0581ee8

Check PHP Vue Security License Tests
lint
phpcs
phpmd
psalm
phpstan
phpmetrics
eslint
stylelint
build
check-manifest
check-l10n-js
check-schema-l10n
composer ✅ 104/104
npm ✅ 536/536
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-08-31 22:01 UTC

Download the full PDF report from the workflow artifacts.

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