Commit Graph

157 Commits

Author SHA1 Message Date
MayaTheShy
2bcb907914 Enhance state management: implement version tracking and conditional broadcasting for configuration updates 2026-03-22 01:40:04 -04:00
MayaTheShy
b2c635b7ef Enhance configuration loading: implement file existence check and JSON parsing for dynamic settings 2026-03-22 01:38:51 -04:00
MayaTheShy
caf0ec85a1 Enhance configuration loading: implement file existence check and JSON parsing for dynamic channel settings 2026-03-22 01:38:47 -04:00
MayaTheShy
06dbaf5756 Enhance configuration loading: implement file check and JSON parsing for dynamic channel settings 2026-03-22 01:38:43 -04:00
MayaTheShy
bd3159cd39 Enhance peripheral handling: implement detach handler to invalidate cached handles 2026-03-22 01:37:22 -04:00
MayaTheShy
4637275529 Enhance peripheral handling: implement caching for peripheral wraps to improve performance 2026-03-22 01:36:45 -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
c47ec63e50 Enhance command polling: implement deduplication of processed commands and acknowledgment of command IDs 2026-03-22 01:29:05 -04:00
MayaTheShy
98f8157bea Enhance crafting functionality: implement modem communication for turtle crafting requests and responses 2026-03-22 01:28:50 -04:00
MayaTheShy
cc6b1e999a Add modem-based crafting functionality: implement command handling and inventory management 2026-03-22 01:28:46 -04:00
MayaTheShy
582c92f090 Update README.md: enhance documentation with architecture and component details 2026-03-22 00:53:21 -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
a2f7df448c Add client dropper registration and merging functionality 2026-03-21 20:36:58 -04:00
MayaTheShy
4fcec03a59 Add client dropper discovery and announcement functionality 2026-03-21 20:36:49 -04:00
MayaTheShy
a3d0a46b44 Enhance dropper detection logic: implement name-based matching for improved compatibility with CC:Tweaked versions 2026-03-21 20:31:24 -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
75f785d8da Add support for multiple droppers: discover and cache available dropper peripherals for location-based dispensing 2026-03-21 19:41:52 -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
MayaTheShy
898353e8c6 Refactor texture URL handling: replace CDN links with proxy-based URLs for mod and vanilla textures 2026-03-21 19:30:13 -04:00
MayaTheShy
ba8acc1c27 Enhance Analytics Panel styles: improve layout, spacing, and hover effects for better user experience 2026-03-21 19:30:10 -04:00
MayaTheShy
3884b850c8 Add caching for texture requests: implement proxy and cache settings for texture assets 2026-03-21 19:30:03 -04:00
MayaTheShy
05f5a3519e Add texture proxy and caching mechanism: implement upstream fetching and local caching for texture assets 2026-03-21 19:29:59 -04:00
MayaTheShy
b5ae28944d Enhance health check and inventory endpoints: include bridge connection status and web client count 2026-03-21 19:26:36 -04:00
MayaTheShy
d1c9256ed8 Implement WebSocket health checks and HTTP polling for improved connection reliability 2026-03-21 19:26:33 -04:00
MayaTheShy
854fcaf66f Enhance connection status display: add bridge connection status and last update time 2026-03-21 19:26:28 -04:00
MayaTheShy
62984b5d18 Add styling for last update text: adjust font size, color, and text shadow for better visibility 2026-03-21 19:26:26 -04:00
MayaTheShy
39a04cc5e9 Refactor category tabs and item grid styles: adjust padding, margins, and colors for improved UI consistency 2026-03-21 19:14:14 -04:00
MayaTheShy
29498a2f6a Major UI overhaul: bigger icons, creative inventory tabs, grouped smelting, alerts popup, analytics, mod icons
- Inventory: Bigger item icons (48px) filling their slots, MC-style hover tooltips
- Creative inventory category tabs (All/Blocks/Tools/Combat/Food/Redstone/Materials/Misc)
- Smelting recipes grouped by output item with collapsible sections
- Alerts moved from full tab to popup overlay triggered from header bell icon
- New Analytics tab with SVG charts (storage over time, top items, item trend lookup)
- Mod icon support for ComputerCraft (CC:Tweaked) via GitHub CDN fallback
- Server: new /api/history-summary endpoint for aggregate storage history
- Store: fetchHistorySummary and fetchItemHistory for analytics data
2026-03-21 19:07:17 -04:00
MayaTheShy
c25ef9f2cc Fix inventory disappearing: add WS keep-alive pings + HTTP API fallback
- Server pings web clients every 25s to keep connections alive through reverse proxies
- Client fetches /api/inventory on page load (doesn't depend solely on WebSocket)
- Prevent duplicate WebSocket connections on reconnect
- Deduplicate initial_state/state_update handlers
2026-03-21 18:35:17 -04:00
MayaTheShy
4af91235e1 Refactor furnace input, fuel, and output handling: stringify on save and parse on load 2026-03-21 18:21:23 -04:00
MayaTheShy
80338d1973 Fix live updates: debounce DB writes, broadcast before saving, include smeltable/craftable in updates 2026-03-21 18:15:50 -04:00
MayaTheShy
aed7d1f735 Enhance database performance: add cache size and temp store settings; refactor alert clearing statement 2026-03-21 18:14:16 -04:00
MayaTheShy
9f322003db Add SQLite persistence + official Minecraft item icons
Database (better-sqlite3):
- Persist items, furnaces, alerts, recipes, settings to SQLite
- Auto-restore last known state when server restarts or bridge disconnects
- Item count history tracking (5-min snapshots, 7-day retention)
- /api/history/:itemName endpoint for item count history
- Docker volume for database file persistence
- Graceful shutdown with DB connection cleanup

Icons:
- Replace mc-heads.net with official Minecraft game textures via CDN
- Cascading fallback: item texture -> block texture -> emoji
- In-memory URL cache to avoid redundant network requests
- Block texture suffix mapping (furnace_front, barrel_top, etc.)
- Crisp pixel-art rendering with image-rendering: pixelated
2026-03-21 18:10:44 -04:00
MayaTheShy
bbc44c3d97 Fix healthcheck: use node instead of wget, relax client dependency to service_started 2026-03-21 18:03:22 -04:00
MayaTheShy
d4d6e5e480 Fix healthcheck: use wget -qO instead of --spider (BusyBox compat) 2026-03-21 17:57:25 -04:00
MayaTheShy
fe6ac23329 Harden components: add ErrorBoundary, null-safe rendering 2026-03-21 17:51:07 -04:00
MayaTheShy
0ce63bacd7 Normalize inventory and alerts data structure in updateStateFromBridge function 2026-03-21 17:42:49 -04:00