48 lines
No EOL
2.6 KiB
Markdown
48 lines
No EOL
2.6 KiB
Markdown
# Planned Fixes and Enhancements
|
||
|
||
_This document captures the next set of improvements and fixes for Dereth Tracker._
|
||
|
||
## 1. Chat Window Styling and Format
|
||
- **Terminal-style chat interface**
|
||
- Redesign the chat window to mimic Asheron’s Call in-game chat: monospaced font, dark semi-transparent background, and text entry at the bottom.
|
||
- Implement timestamped message prefixes (e.g., `[12:34] character: message`).
|
||
- Support command- and system-level styling (e.g., whispers, party chat) with distinct color cues.
|
||
|
||
## 2. Incoming Message Parsing
|
||
- **Strip protocol overhead**
|
||
- Remove JSON envelope artifacts (e.g., remove quotes, braces) so only raw message text appears.
|
||
- Validate and sanitize incoming payloads (e.g., escape HTML, truncate length).
|
||
- Optionally support rich-text / emotes by parsing simple markup (e.g., `*bold*`, `/me action`).
|
||
|
||
## 3. Message Color Scheme
|
||
- **Per-character consistent colors**
|
||
- Map each character name to a unique, but legible, pastel or muted color.
|
||
- Ensure sufficient contrast with the chat background (WCAG AA compliance).
|
||
- Provide user override settings for theme (light/dark) and custom palettes.
|
||
|
||
## 4. Command Prompt Integration
|
||
- **Client-side command entry**
|
||
- Allow slash-commands in chat input (e.g., `/kick PlayerName`, `/whisper PlayerName Hello`).
|
||
- Validate commands before sending to `/ws/live` and route to the correct plugin WebSocket.
|
||
- Show feedback on command success/failure in the chat window.
|
||
|
||
## 5. Security Hardening
|
||
- **Authentication & Authorization**
|
||
- Enforce TLS (HTTPS/WSS) for all HTTP and WebSocket connections.
|
||
- Protect `/ws/position` with rotating shared secrets or token-based auth (e.g., JWT).
|
||
- Rate-limit incoming telemetry and chat messages to prevent flooding.
|
||
- Sanitize all inputs to guard against injection (SQL, XSS) and implement strict CSP headers.
|
||
|
||
## 6. Performance and Scalability
|
||
- **Throttling and Load Handling**
|
||
- Batch updates during high-frequency telemetry bursts to reduce WebSocket churn.
|
||
- Cache recent `/live` and `/trails` responses in-memory to relieve SQLite under load.
|
||
- Plan for horizontal scaling: stateless FastAPI behind a load balancer with shared database or in-memory pub/sub.
|
||
|
||
## 7. Testing and Quality Assurance
|
||
- **Automated Tests**
|
||
- Unit tests for `db.save_snapshot`, HTTP endpoints, and WebSocket handlers.
|
||
- E2E tests for the frontend UI (using Puppeteer or Playwright) to verify chat and map functionality.
|
||
- Security regression tests for input sanitization and auth enforcement.
|
||
|
||
_Refer to this list when planning next development sprints. Each item should be broken down into individual tickets or pull requests._ |