ci: test ep_font_color and ep_hash_auth in with-plugins matrix (#7639)

* 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) <noreply@anthropic.com>

* test(change_user_color): close users popup before opening chat

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) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
John McLear 2026-05-01 16:07:24 +08:00 committed by GitHub
parent 1bbdc8fb9b
commit 4704d80e82
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 13 additions and 0 deletions

View File

@ -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

View File

@ -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

View File

@ -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');