Merge pull request #93 from outis1one/claude/gifted-bohr-dfzdig
Claude/gifted bohr dfzdig
This commit is contained in:
@@ -1,6 +1,6 @@
|
|||||||
# Ubuntu Based Kiosk
|
# 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**
|
**Built with Claude Sonnet 4.6 AI assistance**
|
||||||
**License:** GPL v3 - Keep derivatives open source
|
**License:** GPL v3 - Keep derivatives open source
|
||||||
**Repository:** https://github.com/outis1one/ubuntu-based-kiosk/
|
**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
|
## 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
|
- **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
|
- **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
|
- **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*
|
*Last Updated: June 15, 2026*
|
||||||
*Version: 1.0.2*
|
*Version: 1.0.3*
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
#!/bin/bash
|
#!/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)
|
# - Authelia auto-login addon (Addons menu → 5)
|
||||||
# Password encrypted with AES-256-CBC keyed from /etc/machine-id
|
# Password encrypted with AES-256-CBC keyed from /etc/machine-id
|
||||||
# Authenticates via Authelia API on every startup before sites load
|
# Authenticates via Authelia API on every startup before sites load
|
||||||
@@ -68,7 +68,7 @@ set -euo pipefail
|
|||||||
### SECTION 1: CONSTANTS & GLOBALS
|
### SECTION 1: CONSTANTS & GLOBALS
|
||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
SCRIPT_VERSION="1.0.2"
|
SCRIPT_VERSION="1.0.3"
|
||||||
KIOSK_USER="kiosk"
|
KIOSK_USER="kiosk"
|
||||||
BUILD_USER="${SUDO_USER:-$(whoami)}"
|
BUILD_USER="${SUDO_USER:-$(whoami)}"
|
||||||
KIOSK_HOME="/home/${KIOSK_USER}"
|
KIOSK_HOME="/home/${KIOSK_USER}"
|
||||||
@@ -4058,7 +4058,7 @@ process.on('uncaughtException',(e)=>{
|
|||||||
});
|
});
|
||||||
|
|
||||||
const CONFIG_FILE=path.join(__dirname,'config.json');
|
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 mainWindow,views=[],hiddenViews=[],tabs=[],currentIndex=0,showingHidden=false;
|
||||||
let pinWindow=null,promptWindow=null,pauseWindow=null,htmlKeyboardWindow=null;
|
let pinWindow=null,promptWindow=null,pauseWindow=null,htmlKeyboardWindow=null;
|
||||||
@@ -7345,8 +7345,13 @@ for i in {1..10}; do
|
|||||||
sleep 1
|
sleep 1
|
||||||
done
|
done
|
||||||
|
|
||||||
# Enable Wacom touch gesture support so two-finger swipe works after reboot
|
# Enable multi-touch gesture support for any detected touch screen
|
||||||
xinput set-prop "Wacom HID 48E3 Finger touch" "Wacom Enable Touch Gesture" 1 2>/dev/null || true
|
# 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 . \
|
exec node_modules/electron/dist/electron . \
|
||||||
--no-sandbox --disable-gpu-sandbox --disable-dev-shm-usage \
|
--no-sandbox --disable-gpu-sandbox --disable-dev-shm-usage \
|
||||||
Reference in New Issue
Block a user