Files
ECS-FullStack/CHANGELOG.md

52 lines
2.9 KiB
Markdown

# Changelog
All notable changes to this project are documented below. This file follows a lightweight "Keep a Changelog" style.
## 2025-10-05 — New features & changes
### Added
- Postgres persistence support for the backend (requires `DATABASE_URL`). Backend will auto-create `servers`, `invites`, and `users` tables on startup.
- `backend/pg.js` helper module to manage Postgres connection and CRUD helpers.
- `backend/.env.example` updated to show `DATABASE_URL` with a Tailscale IP example (100.111.50.59).
- Short-lived invite token flow (HMAC) for delete authorization (default, via `INVITE_TOKEN_SECRET`).
- Frontend invite UI fixes (copy/delete handlers, confirmation dialog) and various UI polish updates.
### Changed
- Backend now requires `DATABASE_URL` by default; no automatic fallback to encrypted `db.json` for persistence.
- `INVITE_API_KEY` static option deprecated in favor of short-lived invite tokens; token issuance endpoint remains unauthenticated (recommendation: restrict in production).
### Fixed
- Async/await handler fixes and small bug fixes across backend endpoints.
### Notes
- Existing encrypted `backend/db.json` is retained but no longer used by the running backend. A migration script to import old data into Postgres is planned but not yet implemented.
### Documentation
- README updated with setup steps, Postgres guidance, migration note, and expanded app description.
### Added
- Live Notifications: per-guild Twitch live notification settings (backend endpoints, frontend UI, and bot command to configure). Stored in server settings under `liveNotifications`.
## 2025-10-06 — Improvements & housekeeping
### Changed
- Backend now enforces `DATABASE_URL` as the primary persistence store. If `DATABASE_URL` is unset the server will refuse to start. This ensures all server settings and invites are stored in Postgres consistently.
- Server-Sent Events (SSE) endpoint `/api/events` added to allow the frontend to receive real-time updates (command toggles, twitch users updates, live-notifications updates) without refresh.
- `discord-bot/twitch-watcher.js` logging reduced to avoid per-guild spam; announcements are concise and errors still reported.
- Command deployment logs are aggregated (single summary line) to avoid flooding logs with per-guild messages.
### Added
- `/internal/test-live` dev endpoint (backend) & `announceLive` bot helper to force live announcements for debugging.
### Fixed
- Frontend `ServerSettings.js` now subscribes to SSE and updates commands, watched users and live settings in real-time when backend publishes events.
- Help command updated to produce a neat Embed and support `/help <command>` for detailed usage; help lists read from backend to remain future-proof.
## [Previous] - 2025-10-04
### Added
- Initial full-stack integration (React frontend, Express backend, Discord bot) and file-based encrypted persistence.
- Dashboard and server settings UI components.
- Invite creation, listing and deletion endpoints and UI.
---