diff --git a/Readme.md b/Readme.md index 45a1d1c..e64c767 100644 --- a/Readme.md +++ b/Readme.md @@ -1,6 +1,6 @@ # Ubuntu Based Kiosk -**Current Version:** 1.0.2 (check script header for latest version) +**Current Version:** 1.0.3 (check script header for latest version) **Built with Claude Sonnet 4.6 AI assistance** **License:** GPL v3 - Keep derivatives open source **Repository:** https://github.com/outis1one/ubuntu-based-kiosk/ @@ -1084,9 +1084,17 @@ See the LICENSE file in the repository for full terms. ## Project Status & Future Plans -**Current Version:** 1.0.2 +**Current Version:** 1.0.3 -**Recent Updates (v1.0.2):** +**Recent Updates (v1.0.3):** +- **Touch screen detection:** startup now auto-detects any touch screen (Wacom, ELAN, eGalax, Goodix, etc.) instead of requiring a hardcoded device name +- **Upgrade reliability:** `start.sh` is now refreshed on every upgrade alongside `main.js` and `preload.js` +- **Upgrade fix:** node_modules no longer wiped during upgrade — preserves the ~120MB Electron binary so upgrades don't fail on slow/unreliable connections +- **Authelia fix:** 10-second timeout on Authelia login fetch prevents white screen when Authelia is slow to respond +- **Authelia config:** clearer YAML merge instructions with before/after examples to prevent duplicate `access_control:` block mistake +- **Upgrade fix:** config backup cleanup now uses `sudo rm` to avoid "Operation not permitted" error + +**Previous (v1.0.2):** - **Authelia Auto-Login addon** (`Addons → 5`) — authenticates with Authelia SSO on every startup; password stored encrypted (AES-256 keyed from machine ID, not plain text); prints full Dockerized Authelia server-side setup after configuration - **Bug fix:** PipeWire config dirs were created as root at step [5.5/27], causing "Permission denied" on fresh installs - **README:** install commands no longer hardcode version numbers — always fetch latest from GitHub @@ -1151,4 +1159,4 @@ Special thanks to the maintainers of all upstream projects that make Ubuntu Base --- *Last Updated: June 15, 2026* -*Version: 1.0.2* +*Version: 1.0.3* diff --git a/ubuntu-based-kiosk-v1.0.2.sh b/ubuntu-based-kiosk-v1.0.3.sh similarity index 99% rename from ubuntu-based-kiosk-v1.0.2.sh rename to ubuntu-based-kiosk-v1.0.3.sh index 95a8355..a94355b 100644 --- a/ubuntu-based-kiosk-v1.0.2.sh +++ b/ubuntu-based-kiosk-v1.0.3.sh @@ -1,9 +1,9 @@ #!/bin/bash ################################################################################ -### Ubuntu Based Kiosk v1.0.2 ### +### Ubuntu Based Kiosk v1.0.3 ### ################################################################################ # -# RELEASE v1.0.2 - Authelia Auto-Login & Bug Fixes +# RELEASE v1.0.3 - Touch Screen Detection & Upgrade Reliability # - Authelia auto-login addon (Addons menu → 5) # Password encrypted with AES-256-CBC keyed from /etc/machine-id # Authenticates via Authelia API on every startup before sites load @@ -68,7 +68,7 @@ set -euo pipefail ### SECTION 1: CONSTANTS & GLOBALS ################################################################################ -SCRIPT_VERSION="1.0.2" +SCRIPT_VERSION="1.0.3" KIOSK_USER="kiosk" BUILD_USER="${SUDO_USER:-$(whoami)}" KIOSK_HOME="/home/${KIOSK_USER}" @@ -4058,7 +4058,7 @@ process.on('uncaughtException',(e)=>{ }); const CONFIG_FILE=path.join(__dirname,'config.json'); -const VERSION='1.0.2'; +const VERSION='1.0.3'; let mainWindow,views=[],hiddenViews=[],tabs=[],currentIndex=0,showingHidden=false; let pinWindow=null,promptWindow=null,pauseWindow=null,htmlKeyboardWindow=null; @@ -7345,8 +7345,13 @@ for i in {1..10}; do sleep 1 done -# Enable Wacom touch gesture support so two-finger swipe works after reboot -xinput set-prop "Wacom HID 48E3 Finger touch" "Wacom Enable Touch Gesture" 1 2>/dev/null || true +# Enable multi-touch gesture support for any detected touch screen +# Wacom devices require "Wacom Enable Touch Gesture" to be set (defaults to 0). +# The set-prop call is silently ignored for non-Wacom devices that don't have this property. +# Excludes touchpads — only targets touch screens and finger-touch digitizers. +while IFS= read -r dev; do + xinput set-prop "$dev" "Wacom Enable Touch Gesture" 1 2>/dev/null || true +done < <(xinput list --name-only 2>/dev/null | grep -i "touch\|finger" | grep -iv "touchpad\|trackpad") exec node_modules/electron/dist/electron . \ --no-sandbox --disable-gpu-sandbox --disable-dev-shm-usage \