feat(colors): add padOptions.fadeInactiveAuthorColors toggle#7554
feat(colors): add padOptions.fadeInactiveAuthorColors toggle#7554JohnMcLear wants to merge 2 commits intoether:developfrom
Conversation
Adds a new pad option fadeInactiveAuthorColors (default true). When false, each author's background color stays at their chosen value instead of fading toward white as the author goes inactive. Settable server-side via settings.json / settings.json.docker and per-pad via the ?fadeInactiveAuthorColors=false URL parameter. Motivation (from issue): a user who picks a light color can become visually indistinguishable after the fade, and switching machines multiplies the effective color count because each session fades its own near-white variant. Default is unchanged (true) so existing deployments keep legacy behavior. Closes ether#7138 Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>
Review Summary by QodoAdd fadeInactiveAuthorColors option to control inactive author color fading
WalkthroughsDescription• Add padOptions.fadeInactiveAuthorColors toggle to control author color fade behavior • Default true preserves existing fade-on-inactive behavior for backward compatibility • Configurable via settings.json, Docker env var, and URL parameter • Solves issue where light colors become indistinguishable after fade Diagramflowchart LR
A["Settings Configuration"] -->|"padOptions.fadeInactiveAuthorColors"| B["Backend Settings"]
C["Docker Environment"] -->|"PAD_OPTIONS_FADE_INACTIVE_AUTHOR_COLORS"| B
D["URL Parameter"] -->|"?fadeInactiveAuthorColors=false"| E["Client Variables"]
B -->|"clientVars.padOptions"| E
E -->|"Controls fade logic"| F["Ace2Inner Color Rendering"]
F -->|"Applies or skips fade"| G["Author Background Color"]
File Changes1. src/node/utils/Settings.ts
|
Code Review by Qodo
1. https:// URL in comment
|
Addresses Qodo review feedback on ether#7554: 1. doc/docker.md's Pad Options env-var table was missing PAD_OPTIONS_FADE_INACTIVE_AUTHOR_COLORS. Users following the docs had no way to discover the new toggle — add the entry with its description and default. 2. The Playwright spec's `browser.newContext() + clearCookies()` pattern was ineffective — tests navigate with the `page` fixture from the default context, so clearing cookies on a separate context is a no-op and the context leaks. Replace with `page.context().clearCookies()`. Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>
Summary
Adds a new pad option
fadeInactiveAuthorColors(defaulttrue). Whenfalse, each author's background color stays at their chosen value instead of fading toward white as they go inactive.Configurable via:
settings.json→padOptions.fadeInactiveAuthorColorsPAD_OPTIONS_FADE_INACTIVE_AUTHOR_COLORS?fadeInactiveAuthorColors=falseMotivation (from issue): a user who picks a light color becomes visually indistinguishable after the fade, and switching machines multiplies the effective color count because each session fades its own near-white variant — "Zeno's white".
Default is
trueso existing deployments are unchanged.Closes #7138
Test plan
padOptions.fadeInactiveAuthorColorsdefault istrue(new test insrc/tests/backend/specs/settings.ts)clientVars.padOptions.fadeInactiveAuthorColorsdefaults totrue?fadeInactiveAuthorColors=falseflipsclientVars.padOptions.fadeInactiveAuthorColorstofalsepnpm run ts-checkclean locally🤖 Generated with Claude Code