Follow-up to #54. Add an opt-in check that fails specs when the browser logs unexpected console.error / pageerror / failed requests during a flow.
This plugin runs inside Nextcloud and alongside other apps, so the browser console carries a mix of our output and theirs. Watching it during the E2E flows is a cheap way to catch real integration regressions (our own errors, broken requests) that don't otherwise fail an assertion — as long as we deliberately ignore the noise that other software produces.
The guard therefore needs a maintained allowlist. A concrete entry to seed it with: Nextcloud's Text-app RichWorkspace logs a Tiptap unmount error on every Files page load (see #72), entirely unrelated to this app — that belongs on the ignore list from day one.
Scope
- A fixture that attaches
page.on('console') / page.on('pageerror') / failed-response listeners and asserts against an allowlist at test end.
- Allowlist seeded with the known upstream entries (Tiptap RichWorkspace, etc.).
- Opt-in per spec (or a global wrapper) so existing specs aren't destabilised.
Follow-up to #54. Add an opt-in check that fails specs when the browser logs unexpected
console.error/pageerror/ failed requests during a flow.This plugin runs inside Nextcloud and alongside other apps, so the browser console carries a mix of our output and theirs. Watching it during the E2E flows is a cheap way to catch real integration regressions (our own errors, broken requests) that don't otherwise fail an assertion — as long as we deliberately ignore the noise that other software produces.
The guard therefore needs a maintained allowlist. A concrete entry to seed it with: Nextcloud's Text-app RichWorkspace logs a Tiptap unmount error on every Files page load (see #72), entirely unrelated to this app — that belongs on the ignore list from day one.
Scope
page.on('console')/page.on('pageerror')/ failed-response listeners and asserts against an allowlist at test end.