ci: test ep_font_color and ep_hash_auth in with-plugins matrix#7639
ci: test ep_font_color and ep_hash_auth in with-plugins matrix#7639JohnMcLear merged 2 commits intoether:developfrom
Conversation
These are the ether#12 and ether#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>
ⓘ You've reached your Qodo monthly free-tier limit. Reviews pause until next month — upgrade your plan to continue now, or link your paid account if you already have one. |
|
/review |
ⓘ You've reached your Qodo monthly free-tier limit. Reviews pause until next month — upgrade your plan to continue now, or link your paid account if you already have one. |
Code Review by Qodo
Context used 1. Duplicated plugin lists
|
Review Summary by QodoAdd ep_font_color and ep_hash_auth to plugin test matrix
WalkthroughsDescription• Adds ep_font_color and ep_hash_auth to plugin test matrix • Covers top-15 npm plugins previously untested in CI • Exercises aceEditorCSS and authentication hooks • Applied to all four plugin installation jobs Diagramflowchart LR
A["CI Workflow Jobs"] -->|Add plugins| B["backend-tests.yml"]
A -->|Add plugins| C["frontend-tests.yml"]
B -->|Install| D["ep_font_color<br/>ep_hash_auth"]
C -->|Install| D
D -->|Test coverage| E["aceEditorCSS hooks<br/>authenticate hooks"]
File Changes1. .github/workflows/backend-tests.yml
|
Code Review by Qodo
Context used 1. Unpinned CI plugin versions
|
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>
|
/review |
ⓘ You've reached your Qodo monthly free-tier limit. Reviews pause until next month — upgrade your plan to continue now, or link your paid account if you already have one. |
|
Persistent review updated to latest commit 5881167 |
Summary
ep_font_color(Not able to find the subvalue colorId in null #12 by npm last-30d downloads, ~16.3k) andep_hash_auth([WebSocket] SYNTAX_ERR: invalid url: wss://... #14, ~10.5k) to all four plugin install lists:withpluginsLinux/withpluginsWindowsin backend-tests, and both Playwright with-plugins jobs in frontend-tests.ep_webrtc, Support subfolders #13, is being stabilized separately and is intentionally excluded for now.)change_user_color.spec.ts("Own user color is shown when you enter a chat") that surfaced under the broader plugin matrix: the test left the#userspopup open, which overlapped#chaticonand madeshowChat()retry-click for the full 90s × 5 retries until the suite timed out. Now the popup is explicitly toggled closed before opening chat (matching the close pattern used ina11y_dialogs.spec.ts).Why these two
ep_font_colorexercisesaceEditorCSS/aceAttribsToClasses— same plugin family as the already-testedep_font_size,ep_align.ep_hash_authexercisesauthenticate/handleMessage, which no other plugin in the matrix touches. Itsauthenticatehook is a no-op unless aBasicheader is sent andsettings.users[user].hashexists, so it falls through cleanly under the default test settings — no test config changes needed.Semver
patch — CI-only change, no runtime/user-facing impact.
Test plan
withpluginsLinux(Node 22/24/25) greenwithpluginsWindows(Node 22/24/25) green🤖 Generated with Claude Code