Add Docker support for client and server with Ubuntu-based images, build script, docker-compose, and comprehensive documentationSean Sube2025-06-18 21:43:34 -0500
Fix mobile layout: recent and frequent task groups now display correctly - Fixed isGroupWithTasks function to accept both string and number IDs - Virtual groups use negative number IDs (-1, -2) which were being rejected - Mobile layout now properly shows Recent Tasks and Frequent Tasks groupsSean Sube2025-06-17 20:41:02 -0500
Fix screensaver animation blinking issue - Remove frequent screen clearing that caused black frames every few seconds - Keep only the 3-minute clear cycle for burn-in protection - Ensure smooth animation loop by scheduling next frame before any clearing - Eliminate brief black flashes that occurred at animation cycle boundaries - Maintain continuous visual flow without interruptionSean Sube2025-06-17 20:36:41 -0500
Improve night fade to completely turn off display - Change from gradual fade to complete blackout (0 brightness) during night hours - 15-minute fade out from midnight to 12:15am - Complete blackout from 12:15am to 5:45am (5.5 hours) - 15-minute fade in from 5:45am to 6:00am - Maximizes energy savings and minimizes light pollution for wall-mounted displays - Provides smooth transitions to avoid jarring on/off behaviorSean Sube2025-06-17 20:34:20 -0500
Add night fade and 24-hour clock to screensaver - Implement fade to black feature for midnight to 6am hours - Gradual fade in from midnight to 3am, then fade out until 6am - Add 24-hour clock display in center of screen with current time and date - Clock shows HH:MM:SS format with full date below - Semi-transparent black background behind clock for readability - Clock updates in real-time during screensaver animation - Night fade applies overlay to reduce brightness during sleeping hoursSean Sube2025-06-17 20:31:32 -0500
Add screensaver feature for wall-mounted displays - Create Screensaver component with HTML5 Canvas animation - Implement gradient patterns, animated shapes, and line art using primary color and complementary colors - Add automatic screen clearing every 3 minutes (Windows 98 style) and every few seconds for variety - Create ScreensaverButton component positioned next to ColorPickerButton - Integrate screensaver into both DesktopLayout and MobileLayout - Screensaver closes on any user interaction (key press, mouse movement, click, touch) - Uses color palette from ColorPicker to select complementary colors automaticallySean Sube2025-06-17 20:23:29 -0500
Add color picker functionality with MUI theme integration - Create themeStore with Zustand for managing primary color state - Add ThemeProvider component to wrap MUI theme with dynamic primary color - Implement ColorPicker dialog with predefined colors (including 3 purple shades) and custom color option - Add ColorPickerButton component with visual indicator of current color - Integrate color picker into both DesktopLayout and MobileLayout - Update main.tsx to include ThemeProvider wrapper - Persist theme color preference using Zustand persist middlewareSean Sube2025-06-17 20:17:32 -0500
fix: restore mobile layout and step details view - Fix mobile layout CSS constraints - Add step details view to mobile layout - Add print and note functionality to mobile layoutSean Sube2025-06-14 19:49:16 -0500
feat(server): initial implementation with injectable database and testable server - Set up project structure, database schema, and GraphQL API. Implement injectable Knex database for clean testability. Add test printer, migrations, and unit tests. All server and test code is clean, modular, and ready for further development.Sean Sube2025-06-14 13:45:25 -0500