From 47ef8e296073da2dcf7deddcaad08eef80d722e0 Mon Sep 17 00:00:00 2001 From: John McLear Date: Fri, 1 May 2026 08:25:49 +0100 Subject: [PATCH 1/2] ci: add ep_font_color and ep_hash_auth to plugin test matrix These are the #12 and #14 most-installed Etherpad plugins on npm (last 30d) and were the only top-15 plugins not exercised by the withpluginsLinux / withpluginsWindows / Playwright with-plugins jobs. Adding them broadens coverage of the plugin loader against two real-world hooks: aceEditorCSS / aceAttribsToClasses (ep_font_color) and authenticate / handleMessage (ep_hash_auth). ep_hash_auth's authenticate hook is a no-op unless a Basic auth header is sent and a matching settings.users[user].hash exists, so it falls through cleanly with the default test settings. Co-Authored-By: Claude Opus 4.7 (1M context) --- .github/workflows/backend-tests.yml | 4 ++++ .github/workflows/frontend-tests.yml | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/.github/workflows/backend-tests.yml b/.github/workflows/backend-tests.yml index 7a16142ca07..e5d3818eab1 100644 --- a/.github/workflows/backend-tests.yml +++ b/.github/workflows/backend-tests.yml @@ -126,7 +126,9 @@ jobs: ep_align ep_author_hover ep_cursortrace + ep_font_color ep_font_size + ep_hash_auth ep_headings2 ep_markdown ep_readonly_guest @@ -238,7 +240,9 @@ jobs: ep_align ep_author_hover ep_cursortrace + ep_font_color ep_font_size + ep_hash_auth ep_headings2 ep_markdown ep_readonly_guest diff --git a/.github/workflows/frontend-tests.yml b/.github/workflows/frontend-tests.yml index 78ddc6ec3b6..f8a7ff504f4 100644 --- a/.github/workflows/frontend-tests.yml +++ b/.github/workflows/frontend-tests.yml @@ -217,7 +217,9 @@ jobs: pnpm add -w ep_align ep_author_hover + ep_font_color ep_font_size + ep_hash_auth ep_headings2 ep_markdown ep_readonly_guest @@ -305,7 +307,9 @@ jobs: pnpm add -w ep_align ep_author_hover + ep_font_color ep_font_size + ep_hash_auth ep_headings2 ep_markdown ep_readonly_guest From 58811673597994307f0f5bbe0626eabca436394d Mon Sep 17 00:00:00 2001 From: John McLear Date: Fri, 1 May 2026 09:02:18 +0100 Subject: [PATCH 2/2] test(change_user_color): close users popup before opening chat MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The "Own user color is shown when you enter a chat" spec leaves the users popup open after picking a color, then calls showChat(). In the with-plugins matrix the popup overlaps #chaticon and intercepts pointer events, so the click in showChat() is retried until the 90s timeout (× 5 retries ≈ 7m), failing both Firefox and Chrome with-plugins jobs. Toggle the users button off and wait for popup-show to drop before clicking the chat icon, matching the close pattern used in a11y_dialogs.spec.ts. Co-Authored-By: Claude Opus 4.7 (1M context) --- src/tests/frontend-new/specs/change_user_color.spec.ts | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/tests/frontend-new/specs/change_user_color.spec.ts b/src/tests/frontend-new/specs/change_user_color.spec.ts index 336d3157c1a..153104eb396 100644 --- a/src/tests/frontend-new/specs/change_user_color.spec.ts +++ b/src/tests/frontend-new/specs/change_user_color.spec.ts @@ -84,6 +84,11 @@ test.describe('change user color', function () { await $colorPickerSave.click(); + // Close the users popup so it stops intercepting pointer events on #chaticon. + // Without this, in the with-plugins matrix the popup overlaps the chat icon + // and showChat() retries clicks until it times out. + await $userButton.click(); + await expect(page.locator('#users')).not.toHaveClass(/popup-show/); // click on the chat button to make chat visible await showChat(page) await sendChatMessage(page, 'O hi');