fix(e2e): make the admin a returning user so the support dialog stops swallowing clicks - #536
Merged
Merged
Conversation
… 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.
Contributor
Quality Report — ConductionNL/planninq @
|
| 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.
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.
due-date-reminder-settings.spec.tsfails with a 60s click timeout on the Planninq settings button.The button was never the problem. The call log says so plainly:
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:
bash -nScope
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 Reportis a downstream aggregator and goes green when the jobs above it do.