mirror of
https://github.com/ether/etherpad-lite.git
synced 2026-07-18 09:04:54 +00:00
* feat(settings): enable Pad-wide Settings by default; fix misleading modal title The creator-owned Pad-wide Settings feature (#7545) shipped behind a flag that defaulted to false. With the flag off the modal still rendered an H1 of `pad.settings.padSettings` ("Pad-wide Settings") for *every* user, even though no pad-wide controls were ever shown. Two readers in different browsers both saw "Pad-wide Settings" as the modal title, which looked like a creator-gate regression but was just a copy bug. Two changes: 1. Flip the default of `enablePadWideSettings` to `true` (Settings.ts plus both settings templates). With the feature on, the creator (revision-0 author) gets a real "Pad-wide Settings" section gated by `clientVars.canEditPadSettings`, while every other user sees only "User Settings" — matching the design intent of #7545. This is a behavior change, so the settings comments are expanded to describe what the toggle now does. 2. Drop the conditional H1 in `src/templates/pad.html` and always use `pad.settings.title` ("Settings"). Operators who explicitly disable the feature shouldn't see a label that lies about a section that isn't rendered. Adds backend regression coverage in `tests/backend/specs/socketio.ts`: - Different browsers (different cookie jars => different authorIDs): only the first joiner gets `canEditPadSettings: true`. - Same browser, two tabs (shared HttpOnly token cookie => same authorID): both connections are the same identity, both correctly land on the creator path. * test(settings): regression coverage for the settings modal H1 Asserts the rendered `/p/<id>` HTML always uses `data-l10n-id="pad.settings.title"` for the modal heading, regardless of `enablePadWideSettings`. Catches a re-introduction of the old conditional that printed "Pad-wide Settings" for every user when the feature was off. Action of Qodo review feedback on PR #7679. |
||
|---|---|---|
| .. | ||
| AbsolutePaths.ts | ||
| anonymizeIp.ts | ||
| checkValidRev.ts | ||
| Cleanup.ts | ||
| Cli.ts | ||
| customError.ts | ||
| ensureAuthorTokenCookie.ts | ||
| ExportEtherpad.ts | ||
| ExportHelper.ts | ||
| ExportHtml.ts | ||
| ExportTxt.ts | ||
| ImportEtherpad.ts | ||
| ImportHtml.ts | ||
| LibreOffice.ts | ||
| Minify.ts | ||
| MinifyWorker.ts | ||
| NodeVersion.ts | ||
| padDiff.ts | ||
| path_exists.ts | ||
| promises.ts | ||
| randomstring.ts | ||
| run_cmd.ts | ||
| sanitizePathname.ts | ||
| Settings.ts | ||
| SettingsTree.ts | ||
| SkinColors.ts | ||
| socialMeta.ts | ||
| Stream.ts | ||
| tar.json | ||
| toolbar.ts | ||
| UpdateCheck.ts | ||