Major Fixes:
1. FIXED: Pause button visibility logic completely rewritten
- Pause button now properly hidden on duration=0 sites
- Shows ONLY on user interaction (mousedown/touchstart/keydown)
- Main process sends pause-button-visibility on tab switch
- Preload receives visibility state and enforces it
- Button hidden immediately when switching to manual sites
2. FIXED: Pause dialog window conflict resolved
- Created separate pauseWindow variable (was reusing promptWindow)
- Pause dialog no longer disappears immediately
- Prevents conflicts with inactivity prompt window
- Each dialog has its own window lifecycle
3. FIXED: Mixed header characters now uniform
- All =--- and =-- patterns replaced with ---
- Consistent use of dashes throughout script
- Better terminal display compatibility
4. FIXED: Manual Electron update detection improved
- Three-method detection strategy:
* Method 1: Check /home/kiosk/kiosk-app
* Method 2: Search all /home/*/kiosk-app with main.js verification
* Method 3: Check current directory for kiosk-app
- Added debug output showing search paths and current context
- More robust detection across different installation scenarios
Implementation Details:
- pauseButtonShouldShow tracks if button is allowed on current site
- pauseButtonShown tracks if button is currently displayed
- User interaction only shows button if pauseButtonShouldShow is true
- attachView() sends visibility message on every tab switch
- Throttled user interaction handling (100ms) prevents spam
Critical Fixes:
- FIXED: npm installation verification added
* Now explicitly checks if npm is installed after nodejs
* Falls back to installing npm separately if missing
* Displays npm version after installation
* Prevents "npm: command not found" error during Electron install
- FIXED: Pause button now appears only on user interaction
* Hidden by default (display:none)
* Shows on mousedown/touchstart/keydown events
* Similar behavior to keyboard icon
* Throttled to check every 5 seconds
* Better UX - less visual clutter
- FIXED: Pause button hidden on manual sites (duration=0)
* Main process checks site duration when visibility requested
* Sends pause-button-visibility message to views
* attachView() function controls visibility on tab switch
* Prevents confusion on sites where return-to-home popup appears
Implementation:
- Added 'request-pause-button-visibility' IPC message
- Main process responds with 'pause-button-visibility' based on duration
- Pause button automatically hidden/shown when switching tabs
- User interaction triggers visibility check
Key Changes:
- FIXED: All box drawing characters replaced with consistent standard chars
* Changed === to --- for better terminal compatibility
* Removed all special Unicode box drawing symbols
- FIXED: Pause button time options now match return-to-home dialog
* Changed from 5/15/30/60 to 15/30/60/120 minutes
* Consistent user experience across both dialogs
* Icons match the inactivity prompt style
- FIXED: Site rotation now respects user interaction
* Rotation pauses for 1 minute after last user activity
* Prevents sites from rotating while user is actively using them
* Similar to keyboard auto-close behavior (30 sec inactivity)
* Provides better UX - no interruptions during use
- FIXED: Manual Electron update directory detection
* Now dynamically searches for kiosk installation
* Checks /home/kiosk/kiosk-app first
* Falls back to searching all /home/*/kiosk-app directories
* Displays detected user and directory path
* Fixes "directory not found" error
Implementation Details:
- Pause button works on all pages including home URL
- Rotation logic: respects both pause extension AND user activity
- Electron update creates backup before updating
- Verifies update completion and offers rollback if needed
Version 0.9.0:
- Renamed from v09.9.1_4 to use cleaner version numbering (0.9.0)
- Updated all internal version references
Version 0.9.1 - New Features and Fixes:
- NEW: Pause button feature (bottom-left, orange button)
* Allows users to pause rotation and inactivity timers
* Time extension options: 5, 15, 30, or 60 minutes
* After extension expires, normal rotation/home logic resumes
* Provides better user control without complex automation
- FIXED: Site rotation timing now more consistent
* Rotation now happens on schedule regardless of user interaction
* User activity only blocks return-to-home, not site rotation
* Sites will display for their configured duration more reliably
* Added logging to show rotation timing
- FIXED: Manual Electron update feature completely rewritten
* Added comprehensive error checking at each step
* Creates backup before updating
* Verifies update after completion
* Provides rollback instructions if update fails
* Shows current and new versions
* Logs update process to /tmp/electron-update.log
- IMPROVED: Removed all box drawing characters (╔╗╝╚) from output
* Replaced with standard characters for better compatibility
- IMPROVED: Code cleanup and better comments throughout