Skip to content

Config: re-evaluate defaultConfig enabled: true defaults for fresh deployments #445

@lonix

Description

@lonix

Problem

src/services/config-schema.ts defaultConfig 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.

Examples observed in the audit:

  • voicechannels.controlpanel.enabled: true
  • quotes.header_enabled: true, quotes.header_pin_enabled: true
  • achievements.announcements.enabled: true, achievements.dm_notifications.enabled: true
  • notices.header_enabled: true, notices.header_pin_enabled: true

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).

Notes

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions