Commit Graph
7 Commits
Author SHA1 Message Date
Claude 234dd900f6 Integrate Easy Asterisk Intercom into v0.9.8 installer
Added to install_kiosk_v0.9.8.sh:
- SECTION 14.5: Easy Asterisk Intercom addon functions
- get_latest_easy_asterisk_version() - Fetches latest version from GitHub API
- get_installed_easy_asterisk_version() - Checks installed version
- backup_easy_asterisk_configs() - Backs up configs before updates
- restore_easy_asterisk_configs() - Restores configs after install
- download_and_install_easy_asterisk() - Downloads and runs installer
- addon_easy_asterisk_intercom() - Main menu function with update logic

- Added option 4 "Easy Asterisk Intercom" to Addons menu
- Updated show_addon_status() to display Intercom installation status
- Integration uses stable v0.9.8 as base (v0.9.9 was broken)

README updates:
- Fixed all references from v0.9.9 to v0.9.8
- Updated menu paths (2) Addons → (4) Easy Asterisk Intercom
- Corrected version number throughout
- Updated Quick Install section

Features:
- Downloads latest easy-asterisk-v*.sh from GitHub repo
- Automatic version detection and update checking
- Configuration preservation during updates/reruns
- Safe to run multiple times
- User prompts for install/update/rerun decisions
2025-12-10 22:32:22 +00:00
outis1one 85d8396aed Rename install_kiosk_0.9.8.sh to install_kiosk_v0.9.8.sh 2025-12-06 18:39:06 -05:00
Claude 6a285cc5a5 Fix v0.9.9: Menu reorganization and inactivity popup fixes
Major improvements:
- Moved Session Lockout configuration from Sites menu to Core Settings menu
  - Now accessible as option 7 in Core Settings for easier access
  - Removed from Sites menu to reduce clutter

- Fixed critical inactivity popup bug on rotation sites
  - Popup now appears on ALL sites where user has interacted
  - Previously only worked on manual (0-timed) sites
  - Inactivity check now happens BEFORE rotation check
  - Prevents sites from rotating away before popup can appear
  - Rotation pauses while inactivity prompt is displayed

Version bump: v0.9.8 → v0.9.9
2025-11-17 00:01:47 +00:00
Claude 57ad896a27 Fix v0.9.8 UI improvements and bug fixes
This commit addresses multiple user-reported issues:

1. UI Improvements:
   - Replace box-drawing characters (╔ ╗) with simple equals signs (=)
   - Updated addon status display header
   - Updated timer logging format
   - Updated Squeezelite audio fix header

2. Performance Optimization:
   - Removed redundant systemctl calls from show_addon_status()
   - Addon status now uses fast file-based checks only
   - Eliminates slow service status queries that delayed menu display

3. Password Lock Feature Visibility:
   - Added session lockout configuration to initial setup flow
   - Users can now set password protection during first-time configuration
   - Previously only available in edit menu after setup

4. Return to Rotation (RTR) Popup Fix:
   - Fixed RTR popup not appearing on rotation sites
   - Removed requirement for Home URL to be configured
   - Inactivity prompt now works with or without Home URL
   - When typing on rotation site, popup appears after inactivity timeout
   - "Return to Rotation" works correctly in both configurations

Bug fixes ensure expected behavior across all use cases.
2025-11-16 22:54:01 +00:00
Claude 4cc1646738 Implement consistent Return to Rotation UX across all sites
This update provides a unified, predictable inactivity prompt behavior
regardless of how the user navigated to a page.

Changes:
- Added userInteractedWithCurrentSite flag to track user touch on each site
- Modified markActivity() to set flag when user interacts (tap, swipe, scroll)
- Modified attachView() to clear flag when site changes
- Updated inactivity check to use interaction flag instead of navigation mode

New Behavior (Consistent UX):

 Scenario A: Auto-rotation to recipe → user taps → prompt after timeout
   - Site auto-rotates to recipe page
   - User taps screen to scroll/interact
   - userInteractedWithCurrentSite = true
   - After 2 min idle → prompt appears
   - User can extend time or return to rotation

 Scenario B: User swiping through photos every 30 seconds
   - Each swipe resets inactivity timer via markActivity()
   - No prompt appears (user is actively interacting)
   - Prompt only appears after they stop swiping for timeout period

 Scenario C: Sites auto-rotating with no user interaction
   - userInteractedWithCurrentSite = false on each site
   - No prompt appears
   - Rotation continues normally

Technical Details:
- Single-finger swipes (in-page content): Reset timer via markActivity()
- Two-finger swipes (tab navigation): Also sets manualNavigationMode
- Both types of interaction trigger the flag
- Flag cleared on every site change (auto or manual)
- If manual swipe, markActivity() re-sets it immediately

Use Cases:
- Recipe viewing: User can interact with page, get timeout prompt, extend time
- Photo browsing: Continuous swiping prevents timeout
- Digital signage: No interaction = no prompt = smooth rotation
- MagicMirror modules: Single-finger swipes keep resetting timer

This provides the consistent UX requested where ANY user interaction
on ANY site enables the inactivity prompt logic.
2025-11-16 21:44:36 +00:00
Claude 785c74b0d1 Update v0.9.8: Rename "Return to Home" to "Return to Rotation"
Changed the inactivity prompt behavior based on user feedback:

Changes:
- Renamed button from "🏠 Return to home now" to "🔄 Return to rotation"
- Reverted inactivity check to work on ALL pages (including home screen)
- Updated returnToHome() function comments to clarify rotation behavior

Behavior:
- Inactivity prompt now appears on home screen AND other pages
- If user is viewing a recipe (or any page), they can extend time
- Clicking "Return to Rotation":
  * If NOT on home page: goes to home page first, then starts rotation
  * If on home page: just starts the rotation
- This allows users to get "30 extra minutes" before touching the screen
  with dirty hands (e.g., when following a recipe)

Use Case:
User navigates to a recipe on menu app, inactivity prompt appears,
they can click "30 more minutes" to read the recipe without any
further screen interaction needed.
2025-11-16 20:22:52 +00:00
Claude d586792108 Release v0.9.8 - Password Lock & Bug Fixes
This release adds password-protected session lockout and fixes several
reported bugs from v0.9.9.1 testing.

New Features:
- Password-protected session lockout
  * Configurable lockout password (separate from sudo user)
  * Auto-lock after configurable timeout (default 30 minutes)
  * Black lockout screen with password prompt
  * Session unlocks with correct password
  * New "Configure Session Lockout" menu option

Bug Fixes:
- Fixed return-to-home popup appearing on home screen
  * Popup now only appears on timed sites
  * Home screen no longer triggers inactivity prompt
  * Updated logic: only check inactivity when NOT on home page

- Fixed site edit menu flow
  * Edit site URL function now returns properly to menu
  * Added explicit return statement to prevent bail
  * Added blank line for better UX

Version Updates:
- Updated to semantic versioning: v0.9.8
- Updated all version references in header and script
- Updated changelog with new features and fixes

Technical Changes:
- Added LOCKOUT_ENABLED, LOCKOUT_PASSWORD, LOCKOUT_TIMEOUT config vars
- Created lockout.html template with black screen and password entry
- Added lockout state tracking in main.js
- Implemented showLockout() and hideLockout() functions
- Added unlock-session IPC handler
- Integrated lockout check into master timer
- Updated save_config() to persist lockout settings
- Updated loadConfig() to load lockout settings

Addresses user feedback from testing:
- Time extensions now work correctly
- Return to home popup fixed
- Site edit menu no longer bails
2025-11-16 18:56:07 +00:00