mirror of
https://github.com/ether/etherpad-lite.git
synced 2026-07-17 16:47:05 +00:00
feat(settings): default settings.enablePluginPadOptions to true (#7841)
This flag gates the ep_* passthrough on padoptions that shipped in 3.0.0 (PR #7698). It was introduced as opt-in, but the intent in shipping it was to let plugins like ep_plugin_helpers' padToggle / padSelect ride the existing broadcast/persist rail out of the box — flipping the default closes the gap. Why now - ep_comments_page#422 (and sibling per-plugin reports discussed on Discord): stock 3.x deployments console.warn on every pad load because the helper detects clientVars.enablePluginPadOptions === false and tells the admin to flip it. With the flag default-true, the warning stops firing on fresh installs while still surfacing for operators who have explicitly opted out. - Plugins that already depend on ep_plugin_helpers >= 0.6 expect the pad-wide path to work; the default-false gate silently no-op'd pad.changePadOption('ep_*', …) and made the helper UI inert. Scope - Settings.ts default flipped to true; comment rewritten to describe the new "operator opt-out" model rather than the old AGENTS.MD §52 opt-in framing (that policy still applies to *new* features; this one has shipped and proven safe). - settings.json.template env-var substitution default flipped to true so docker / supervisor configs without an explicit value get the new behavior. - doc/plugins.md updated to match (default true, opt-out via settings.json) and the PluginCapabilities source comment. - Backend test describe-blocks relabeled — "true" is now "(default)", "false" is now "(operator opt-out)". Both branches still cover the same matrix so the size-cap / namespace-validation paths stay exercised. Compat - Existing deployments with an explicit `"enablePluginPadOptions": false` in settings.json keep that value — no migration needed. - Older clients only read clientVars.enablePluginPadOptions; the protocol shape is unchanged. Closes ep_comments_page#422 (helper warning suppression for stock deployments). Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
29ee19bd8a
commit
79e3d46127
5 changed files with 17 additions and 16 deletions
|
|
@ -267,15 +267,16 @@ below.
|
|||
### Runtime flag
|
||||
|
||||
The passthrough is gated by `settings.enablePluginPadOptions`, default
|
||||
`false`. Operators must opt in via `settings.json`:
|
||||
`true`. Operators who want to lock plugins out of pad-wide state can flip
|
||||
it in `settings.json`:
|
||||
|
||||
```json
|
||||
{
|
||||
"enablePluginPadOptions": true
|
||||
"enablePluginPadOptions": false
|
||||
}
|
||||
```
|
||||
|
||||
When enabled, the server reflects the value to every client via
|
||||
When enabled (the default), the server reflects the value to every client via
|
||||
`clientVars.enablePluginPadOptions` so plugins can detect both *capable*
|
||||
(static) and *active* (per-pad request) at the same point.
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue