# Changelog - Remediation "Full Audit Fix"

## [Unreleased] - 2024-12-07

### Security
- **chat-server**: Implemented JWT Authentication Middleware for HTTP API.
  - Secured `/api/messages` (POST) and `/api/messages/{id}` (GET).
  - Enforced permission checks (`can_send_message`, `can_read_conversation`).
  - Patched `sender_id` spoofing vulnerability by enforcing User ID from Token Claims.
- **backend**: Resolved `veza_errors_total` metric collision preventing proper monitoring initialization.

### Fixed
- **backend**: Fixed `JobWorker` starvation issue by replacing blocking `time.Sleep` with non-blocking scheduler.
- **stream-server**: Improved task safety by replacing unsafe `abort()` with graceful `join/await` for monitoring tasks.
- **chat-server**: Fixed resource leak by implementing 60s WebSocket inactivity/heartbeat timeout.
- **chat-server**: Implemented Graceful Shutdown handling for OS signals (SIGTERM/SIGINT).
- **backend-tests**: Fixed `RoomHandler` unit tests.
  - Refactored `RoomHandler` to use `RoomServiceInterface` for dependency injection.
  - Updated `CreateRoom` tests to match actual Service signatures.
  - Fixed `bitrate_handler_test.go` compilation errors.
  - Resolved global metric registration panics during testing.

### Removed
- **backend**: Deleted legacy maintenance code (`migrations_legacy/` and `src/cmd/main.go.legacy`).

### Known Issues
- **backend**: Some unit tests (`metrics_test.go`, `profile_handler_test.go`, `system_metrics_test.go`) are disabled due to bitrot/missing dependencies.
- **stream-server**: Compilation requires active Database connection (sqlx compile-time verification) or `sqlx-data.json`.
