You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
src/services/config-schema.tsdefaultConfig has several feature .enabled: true defaults. With #438 ("setup wizard starts blank"), the wizard no longer pre-checks these — but the underlying runtime defaults still mean a fresh bot starts with several features active before the operator has run the wizard.
Some defaults are sensible (e.g., quotes.header_pin_enabled is moot unless quotes.enabled — which defaults false — is also flipped). Others might surprise a fresh-install operator.
Proposed change
Audit every enabled: true default in defaultConfig.
For each: decide whether a fresh bot should ship with it on or off, given that the operator hasn't yet run the wizard.
Default principle: if the parent feature defaults to false, sub-feature defaults can stay true (they're gated and inert). If a feature is independently runtime-active when true, default to false — opt-in is consistent with WebUI: setup wizard should start with no features pre-selected #438.
Apply changes; add a short comment in defaultConfig documenting the principle so future additions stay consistent.
Acceptance
Audit summary in PR body or docs/ note.
defaultConfig updated per decisions.
Test asserts the matrix (every .enabled boolean default, expected value).
Problem
src/services/config-schema.tsdefaultConfighas several feature.enabled: truedefaults. With #438 ("setup wizard starts blank"), the wizard no longer pre-checks these — but the underlying runtime defaults still mean a fresh bot starts with several features active before the operator has run the wizard.Examples observed in the audit:
voicechannels.controlpanel.enabled: truequotes.header_enabled: true,quotes.header_pin_enabled: trueachievements.announcements.enabled: true,achievements.dm_notifications.enabled: truenotices.header_enabled: true,notices.header_pin_enabled: trueSome defaults are sensible (e.g.,
quotes.header_pin_enabledis moot unlessquotes.enabled— which defaultsfalse— is also flipped). Others might surprise a fresh-install operator.Proposed change
enabled: truedefault indefaultConfig.false, sub-feature defaults can staytrue(they're gated and inert). If a feature is independently runtime-active whentrue, default tofalse— opt-in is consistent with WebUI: setup wizard should start with no features pre-selected #438.defaultConfigdocumenting the principle so future additions stay consistent.Acceptance
docs/note.defaultConfigupdated per decisions..enabledboolean default, expected value).Notes