MayaTheShy
b49574f39b
fix: SQLite readonly error in Docker container
...
- Add entrypoint script that ensures /data is owned by node user
before dropping privileges with su-exec
- Remove USER node from Dockerfile (entrypoint handles it)
- Change client depends_on to service_healthy so nginx waits for
the server to pass its healthcheck before starting
2026-03-22 19:15:04 -04:00
MayaTheShy
40df13e756
Refactor database test setup to use DB_PATH from vitest.config.js
2026-03-22 11:54:57 -04:00
MayaTheShy
f2634328ec
Add Vitest configuration for testing environment setup
2026-03-22 11:54:51 -04:00
MayaTheShy
53863657d7
Refactor code structure for improved readability and maintainability
2026-03-22 11:54:07 -04:00
MayaTheShy
ba0cbfbbb6
Add unit tests for server logic including rate limiter, normalization helpers, and input validation
2026-03-22 11:52:33 -04:00
MayaTheShy
a8513b339c
Add comprehensive tests for the database layer in db.test.js
2026-03-22 11:51:47 -04:00
MayaTheShy
21f12501ca
Add testing scripts and update devDependencies in package.json
2026-03-22 11:46:57 -04:00
MayaTheShy
026d0c8d6b
Add Cross-Project Integration API for RemoteTurtle system
2026-03-22 04:10:11 -04:00
MayaTheShy
33845c70d7
Add cross-link to Turtle Dashboard in App component
2026-03-22 04:10:06 -04:00
MayaTheShy
fa18c72cf7
Add styles for cross-link button in App.css
2026-03-22 04:10:02 -04:00
MayaTheShy
c5aa4b5332
Add TURTLE_SERVER_URL environment variable to server configuration
2026-03-22 04:09:56 -04:00
MayaTheShy
6adbd88b22
Add remote reboot functionality to SettingsPanel
2026-03-22 03:16:24 -04:00
MayaTheShy
c65fd67b8e
Add styles for remote reboot section in SettingsPanel
2026-03-22 03:16:20 -04:00
MayaTheShy
01ca8ca127
Add rebootComputers function to initiate remote reboot via API
2026-03-22 03:15:42 -04:00
MayaTheShy
2ac11350e6
Add API endpoint for remote reboot of CC:Tweaked computers
2026-03-22 03:15:36 -04:00
MayaTheShy
479e1918f5
Implement rate limiting and enhance input validation for API endpoints
2026-03-22 02:57:21 -04:00
MayaTheShy
9d5fceee5c
Enhance Dockerfile to create SQLite data directory with proper ownership
2026-03-22 02:57:18 -04:00
MayaTheShy
efc3a88052
Add security headers to nginx configuration for enhanced protection
2026-03-22 02:57:13 -04:00
MayaTheShy
48d34a5eeb
Refactor nginx configuration to remove duplicate texture proxy cache zone definition
2026-03-22 02:42:12 -04:00
MayaTheShy
78674714b1
Enhance WebSocket keep-alive mechanism to include bridge connections and handle stale connections
2026-03-22 02:41:52 -04:00
MayaTheShy
1a6d32c16b
Add texture proxy cache configuration to nginx
2026-03-22 02:41:45 -04:00
MayaTheShy
8c02dc15c0
Fix lastUpdate assignment to handle null values in _applyStateData function
2026-03-22 02:38:40 -04:00
MayaTheShy
4045def0a7
Add reconnectDelay variable for WebSocket reconnection logic
2026-03-22 02:38:35 -04:00
MayaTheShy
460cf34252
Enhance WebSocket error handling and implement command idempotency for dropper nickname and recipe management endpoints
2026-03-22 02:38:30 -04:00
MayaTheShy
ea75c1eabc
Implement exponential backoff for WebSocket reconnection and enhance error handling in recipe management functions
2026-03-22 02:38:21 -04:00
MayaTheShy
0fb57d7c94
Ensure database is only closed if it is open in closeDb function
2026-03-22 02:38:17 -04:00
MayaTheShy
edcc19e5a4
Add command ID to dropper nickname request for idempotency
2026-03-22 02:38:12 -04:00
MayaTheShy
5162a71be4
Add support for API key at build time in Dockerfile for Vite
2026-03-22 02:15:13 -04:00
MayaTheShy
0d3de9dc48
Refactor docker-compose to include API key in environment variables for server and client
2026-03-22 02:15:08 -04:00
MayaTheShy
10dc27a2c4
Enhance API request handling with authentication headers and API key support
2026-03-22 02:14:15 -04:00
MayaTheShy
465efbeb0e
Implement API key authentication for secure access to mutating endpoints and WebSocket connections
2026-03-22 02:13:24 -04:00
MayaTheShy
bbae2740a7
Implement idempotent command tracking with cleanup and caching for improved request handling
2026-03-22 02:12:18 -04:00
MayaTheShy
224738f2e7
Add commandId generation for idempotent requests in API calls
2026-03-22 02:12:13 -04:00
MayaTheShy
a5e6be7f4b
Enhance command handling: implement monotonic ID for deduplication and improve acknowledgment process
2026-03-22 01:29:16 -04:00
MayaTheShy
bee1019fd6
Add dropper nickname management: implement get and set endpoints
2026-03-21 20:55:01 -04:00
MayaTheShy
12c17d3bfd
Add functionality to manage dropper nicknames: implement set and fetch methods
2026-03-21 20:54:57 -04:00
MayaTheShy
846f3e8b80
Add SettingsPanel component for managing dropper nicknames
2026-03-21 20:54:55 -04:00
MayaTheShy
6e2c17de29
Add settings panel CSS styles for overlay modal and dropper nickname list
2026-03-21 20:54:52 -04:00
MayaTheShy
580b53ed6b
Update dropper selection display: include nicknames for better identification
2026-03-21 20:54:49 -04:00
MayaTheShy
862002c0cf
Add settings panel functionality: include toggle button and overlay for settings
2026-03-21 20:54:45 -04:00
MayaTheShy
b454fd5516
Update dropper selection display: include client ID in dropdown options for better identification
2026-03-21 20:37:20 -04:00
MayaTheShy
98f415d7d4
Refactor InventoryGrid styles: update category tab and item grid appearance for improved layout and visual consistency
2026-03-21 20:17:13 -04:00
MayaTheShy
993b5ac55a
Update dropper selection condition: allow selection when one or more droppers are available
2026-03-21 20:12:58 -04:00
MayaTheShy
5416f18f4b
Add droppers to full state load: include droppers array from inventory metadata for comprehensive state management
2026-03-21 20:12:54 -04:00
MayaTheShy
c3ee7d0d42
Refactor selected item handling: update state management to derive selected item from name and ensure real-time inventory count
2026-03-21 20:10:57 -04:00
MayaTheShy
9f75866ce7
Notify web clients on bridge connection status: broadcast updates when the bridge connects or disconnects
2026-03-21 20:05:45 -04:00
MayaTheShy
79eca14f4c
Add dropper location selector: discover available droppers on network, pass through server, and add dropdown in order panel for location-based dispensing
2026-03-21 19:57:13 -04:00
MayaTheShy
fcfef379be
Add droppers array to state update: ensure droppers data is handled correctly in the state from bridge
2026-03-21 19:41:56 -04:00
MayaTheShy
05291c9373
Implement multi-line scrollable chart with tooltip support: enhance data visualization and user interaction
2026-03-21 19:40:33 -04:00
MayaTheShy
73fbe98d86
Add multi-line scrollable chart and tooltip styles: enhance user interaction and visual feedback
2026-03-21 19:40:04 -04:00