Skip to content

Dashboard: config editor (form + raw JSON) #67

@matt-bedda

Description

@matt-bedda

Overview

Add a Config page to view and edit the familiar config.json from the dashboard.

Two Modes

  1. Form mode: Renders config sections as form fields (telegram, claude, sessions, webhooks, etc.)
  2. Raw JSON mode: Full JSON editor with syntax highlighting

API

Already exists: GET /api/config (returns sanitized config with masked tokens)

Need to add:

  • PUT /api/config - update config (merge with existing, validate, write to disk)
  • Config validation before writing (check required fields, valid cron expressions, etc.)

Security

  • Mask sensitive fields in form mode (show **** with reveal toggle)
  • PUT endpoint should NOT allow changing telegram.botToken or webhooks.token (security risk)
  • Show "restart required" warning when changing cron/webhook settings

Dashboard UI

  • Toggle between Form/JSON mode
  • Form mode: collapsible sections matching config structure
  • JSON mode: textarea with monospace font, format/validate buttons
  • Save button with confirmation
  • Dirty state indicator
  • Undo (revert to saved)

Priority: P3

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions