fix: name the actual cause when pad-wide is off (Etherpad version + runtime flag)#19
Merged
Merged
Conversation
thm reported this on a fresh Etherpad 3.1.0 deployment:
[ep_plugin_helpers.padToggle ep_markdown] pad-wide settings
unavailable — server lacks ep_* passthrough patch
(Etherpad < 2.7.4). Per-user cookie toggle still works.
Two things wrong with that line:
1. The passthrough patch shipped in Etherpad 3.0.0 (PR #7698), not
2.7.4. The "< 2.7.4" reference was wrong copy from when the
feature was scoped against a possible 2.x backport that never
landed.
2. `padWideSupported` is `patchPresent && runtimeEnabled`, but the
warning only mentions one of the two — so on a v3.1.0 container
where the patch IS present but settings.enablePluginPadOptions is
still the default `false`, the message points the admin at an
upgrade they don't need instead of at the settings flag they do.
Server: expose `patchPresent` and `runtimeEnabled` as separate
clientVars flags alongside the existing `padWideSupported`. No
protocol break — older clients only read padWideSupported and keep
working.
Client (pad-toggle.js, pad-select.js): use the granular flags to
pick the actual cause —
- patch missing → "Etherpad < 3.0.0"
- flag false → "settings.enablePluginPadOptions is false — set
to true in settings.json"
Falls back to a generic line if the server is too old to emit the
new fields, so the warning still says something sensible against
mixed-version deployments.
Also fix the "2.7.4" reference in README and the source-level
comments that documented the wrong version gate.
Test plan
- 104 tests passing locally (mocha)
- New spec: padToggle clientVars exposes patchPresent +
runtimeEnabled with the right values for each loadSettings input
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Qodo reviews are paused for this user.Troubleshooting steps vary by plan Learn more → On a Teams plan? Using GitHub Enterprise Server, GitLab Self-Managed, or Bitbucket Data Center? |
This was referenced May 17, 2026
JohnMcLear
added a commit
to ether/ep_align
that referenced
this pull request
May 17, 2026
* chore(deps): bump ep_plugin_helpers to ^0.6.0 0.6.x is the current line on npm (latest = 0.6.2) and ^0.5.x doesn't resolve to it under caret semver for pre-1.0. Without this bump, fresh installs of this plugin pull ep_plugin_helpers@0.5.3 and miss bug fixes shipped in 0.6.x — including ether/ep_plugin_helpers#19 which corrected the misleading "Etherpad < 2.7.4" degradation warning. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * chore(deps): regenerate pnpm-lock.yaml for ep_plugin_helpers bump Required so the release workflow's `pnpm i --frozen-lockfile` step doesn't fail with ERR_PNPM_OUTDATED_LOCKFILE after merge. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
JohnMcLear
added a commit
to ether/ep_cursortrace
that referenced
this pull request
May 17, 2026
* chore(deps): bump ep_plugin_helpers to ^0.6.0 0.6.x is the current line on npm (latest = 0.6.2) and ^0.5.x doesn't resolve to it under caret semver for pre-1.0. Without this bump, fresh installs of this plugin pull ep_plugin_helpers@0.5.3 and miss bug fixes shipped in 0.6.x — including ether/ep_plugin_helpers#19 which corrected the misleading "Etherpad < 2.7.4" degradation warning. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * chore(deps): regenerate pnpm-lock.yaml for ep_plugin_helpers bump Required so the release workflow's `pnpm i --frozen-lockfile` step doesn't fail with ERR_PNPM_OUTDATED_LOCKFILE after merge. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
JohnMcLear
added a commit
to ether/ep_font_family
that referenced
this pull request
May 17, 2026
* chore(deps): bump ep_plugin_helpers to ^0.6.0 0.6.x is the current line on npm (latest = 0.6.2) and the prior range doesn't resolve to it under caret semver for pre-1.0. Without this bump, fresh installs of this plugin pull a stale ep_plugin_helpers and miss fixes shipped in 0.6.x — including ether/ep_plugin_helpers#19 which corrected the misleading "Etherpad < 2.7.4" degradation warning. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * chore(deps): regenerate pnpm-lock.yaml for ep_plugin_helpers bump Required so the release workflow's `pnpm i --frozen-lockfile` step doesn't fail with ERR_PNPM_OUTDATED_LOCKFILE after merge. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
JohnMcLear
added a commit
to ether/ep_markdown
that referenced
this pull request
May 17, 2026
* chore(deps): bump ep_plugin_helpers to ^0.6.0 0.6.x is the current line on npm (latest = 0.6.2) and ^0.5.x doesn't resolve to it under caret semver for pre-1.0. Without this bump, fresh installs of this plugin pull ep_plugin_helpers@0.5.3 and miss fixes shipped in 0.6.x — including ether/ep_plugin_helpers#19 which corrected the misleading "Etherpad < 2.7.4" degradation warning. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * chore(deps): regenerate pnpm-lock.yaml for ep_plugin_helpers bump Required so the release workflow's `pnpm i --frozen-lockfile` step doesn't fail with ERR_PNPM_OUTDATED_LOCKFILE after merge. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
JohnMcLear
added a commit
to ether/ep_mediawiki
that referenced
this pull request
May 17, 2026
* chore(deps): bump ep_plugin_helpers to ^0.6.0 0.6.x is the current line on npm (latest = 0.6.2) and ^0.5.x doesn't resolve to it under caret semver for pre-1.0. Without this bump, fresh installs of this plugin pull ep_plugin_helpers@0.5.3 and miss fixes shipped in 0.6.x — including ether/ep_plugin_helpers#19 which corrected the misleading "Etherpad < 2.7.4" degradation warning. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * chore(deps): regenerate pnpm-lock.yaml for ep_plugin_helpers bump Required so the release workflow's `pnpm i --frozen-lockfile` step doesn't fail with ERR_PNPM_OUTDATED_LOCKFILE after merge. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
JohnMcLear
added a commit
to ether/ep_set_title_on_pad
that referenced
this pull request
May 17, 2026
* chore(deps): bump ep_plugin_helpers to ^0.6.0 0.6.x is the current line on npm (latest = 0.6.2) and ^0.5.x doesn't resolve to it under caret semver for pre-1.0. Without this bump, fresh installs of this plugin pull ep_plugin_helpers@0.5.3 and miss fixes shipped in 0.6.x — including ether/ep_plugin_helpers#19 which corrected the misleading "Etherpad < 2.7.4" degradation warning. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * chore(deps): regenerate pnpm-lock.yaml for ep_plugin_helpers bump Required so the release workflow's `pnpm i --frozen-lockfile` step doesn't fail with ERR_PNPM_OUTDATED_LOCKFILE after merge. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
JohnMcLear
added a commit
to ether/ep_hljs
that referenced
this pull request
May 17, 2026
* chore(deps): bump ep_plugin_helpers to ^0.6.0 0.6.x is the current line on npm (latest = 0.6.2) and the prior range doesn't resolve to it under caret semver for pre-1.0. Without this bump, fresh installs of this plugin pull a stale ep_plugin_helpers and miss fixes shipped in 0.6.x — including ether/ep_plugin_helpers#19 which corrected the misleading "Etherpad < 2.7.4" degradation warning. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * chore(deps): regenerate pnpm-lock.yaml for ep_plugin_helpers bump Required so the release workflow's `pnpm i --frozen-lockfile` step doesn't fail with ERR_PNPM_OUTDATED_LOCKFILE after merge. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
JohnMcLear
added a commit
to ether/ep_subscript_and_superscript
that referenced
this pull request
May 17, 2026
* chore(deps): bump ep_plugin_helpers to ^0.6.0 0.6.x is the current line on npm (latest = 0.6.2) and ^0.5.x doesn't resolve to it under caret semver for pre-1.0. Without this bump, fresh installs of this plugin pull ep_plugin_helpers@0.5.3 and miss fixes shipped in 0.6.x — including ether/ep_plugin_helpers#19 which corrected the misleading "Etherpad < 2.7.4" degradation warning. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * chore(deps): regenerate pnpm-lock.yaml for ep_plugin_helpers bump Required so the release workflow's `pnpm i --frozen-lockfile` step doesn't fail with ERR_PNPM_OUTDATED_LOCKFILE after merge. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
JohnMcLear
added a commit
to ether/ep_table_of_contents
that referenced
this pull request
May 17, 2026
* chore(deps): bump ep_plugin_helpers to ^0.6.0 0.6.x is the current line on npm (latest = 0.6.2) and ^0.5.x doesn't resolve to it under caret semver for pre-1.0. Without this bump, fresh installs of this plugin pull ep_plugin_helpers@0.5.3 and miss fixes shipped in 0.6.x — including ether/ep_plugin_helpers#19 which corrected the misleading "Etherpad < 2.7.4" degradation warning. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * chore(deps): regenerate pnpm-lock.yaml for ep_plugin_helpers bump Required so the release workflow's `pnpm i --frozen-lockfile` step doesn't fail with ERR_PNPM_OUTDATED_LOCKFILE after merge. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
JohnMcLear
added a commit
to ether/ep_comments_page
that referenced
this pull request
May 17, 2026
* chore(deps): bump ep_plugin_helpers to ^0.6.0 0.6.x is the current line on npm (latest = 0.6.2) and ^0.5.x doesn't resolve to it under caret semver for pre-1.0. Without this bump, fresh installs of this plugin pull ep_plugin_helpers@0.5.3 and miss bug fixes shipped in 0.6.x — including ether/ep_plugin_helpers#19 which corrected the misleading "Etherpad < 2.7.4" degradation warning. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * chore(deps): regenerate pnpm-lock.yaml for ep_plugin_helpers bump Required so the release workflow's `pnpm i --frozen-lockfile` step doesn't fail with ERR_PNPM_OUTDATED_LOCKFILE after merge. 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 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.
Summary
thm reported this on a fresh Etherpad 3.1.0 deployment:
Two things wrong with that line:
padWideSupported = patchPresent && runtimeEnabled. On a v3.1.0 container the patch IS present butsettings.enablePluginPadOptionsis still the defaultfalse— so the warning was pointing the admin at an upgrade they don't need instead of at the settings flag they do.Fix
patchPresentandruntimeEnabledas separate clientVars flags alongside the existingpadWideSupported. No protocol break — older clients only readpadWideSupportedand keep working.Etherpad < 3.0.0settings.enablePluginPadOptions is false — set to true in settings.json2.7.4references inREADME.mdand source comments that documented the wrong version gate.Test plan
pnpm test— 104 passing locallypadToggle clientVars exposes patchPresent + runtimeEnabled— locks in that the server publishes both flags with the right values for eachloadSettingsinput🤖 Generated with Claude Code