Skip to content

Add full settings management with validation and secrets boundaries #35

@Lakes41

Description

@Lakes41

Summary

Build out the settings page so guild and integration configuration can be viewed and updated safely without exposing secrets.

Current Behaviour

The settings route exists as a dashboard section, but the current implementation appears to be minimal and mock-data driven. There is no clear settings model, validation, or separation between public settings and secret values.

Expected Behaviour

Admins should be able to manage safe public settings while secret values remain write-only, redacted, and server-side.

Suggested Implementation

Define settings models for guild display settings, integration mode, webhook configuration, API endpoints, and notification preferences. Add forms with validation and split secret fields into write-only update flows.

Files or Areas Likely Affected

  • apps/dashboard/app/settings/page.tsx
  • apps/dashboard/lib/settings/
  • apps/dashboard/app/api/settings/
  • apps/dashboard/lib/env.ts
  • apps/dashboard/components/
  • README.md

Acceptance Criteria

  • Settings are grouped into clear sections
  • Public settings can be viewed and updated
  • Secrets are never rendered back to the client after save
  • Invalid URLs, empty names, and malformed webhook settings are rejected
  • Save success and failure states are visible
  • Settings behaviour is documented for local and live modes

Additional Notes

Assumption: secret persistence requires server-side storage or backend support. If unavailable, implement the UI and API contract first.

Metadata

Metadata

Assignees

No one assigned

    Labels

    GrantFox OSSIssue tracked in GrantFox OSSMaybe RewardedIssue may be eligible for a GrantFox rewardOfficial CampaignCampaign: Official Campaign

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions