feat: professional repo cleanup + community infrastructure
- README: remove Recent Updates section, clean roadmap (pending only), replace Screenshots with demo link, add 6 new badges (stars, last commit, contributors, discussions, CI), invite GIF contributions - CHANGELOG: translate all Italian entries to English, add v1.7.13 (DB fresh-install crash fix) - database.php: add missing 'undone' column to transactions schema; wrap ALTER TABLE calls in try/catch to prevent race-condition errors on concurrent first requests - Wiki: Android-Kiosk v1.5.0 → v1.6.0, Step 5 rewritten (BLE scan, no external APK), removed gateway troubleshooting section - Wiki: Scale-Gateway promoted to deprecated with redirect banner - Wiki: Home What's New updated to v1.7.12 / v1.7.13 - Wiki: Features.md, kiosk README Italian UI strings translated - .github: add bug_report.yml, feature_request.yml issue templates, config.yml (blank issues off, links to FAQ/Discussions/Security), PULL_REQUEST_TEMPLATE.md with checklist - .github: FUNDING.yml (Ko-fi), dependabot.yml (monthly action updates) - .github/workflows/security.yml: Trivy docker + fs scan, SARIF upload - .github/workflows/build-scale-gateway.yml: disabled (deprecated) - SECURITY.md: responsible disclosure policy, supported versions, scope - CODE_OF_CONDUCT.md: Contributor Covenant 2.1 - Settings UI: About section with version display, Report Bug button, Changelog and GitHub links; reportBugManual() + _loadAboutSection() - Translations: added 'about' key group (9 keys × 3 languages)
This commit is contained in:
@@ -8,7 +8,7 @@ The EverShelf Kiosk app turns any Android tablet into a dedicated, locked-down k
|
||||
|
||||
**[⬇ Download latest APK](https://github.com/dadaloop82/EverShelf/releases/latest/download/evershelf-kiosk.apk)**
|
||||
|
||||
> Current version: **v1.5.0** — requires Android 7.0+
|
||||
> Current version: **v1.6.0** — requires Android 7.0+
|
||||
|
||||
---
|
||||
|
||||
@@ -16,7 +16,7 @@ The EverShelf Kiosk app turns any Android tablet into a dedicated, locked-down k
|
||||
|
||||
- Displays the EverShelf web app in a **full-screen WebView** (no browser chrome)
|
||||
- **Locks the screen** with Android's `startLockTask` — home, recents, and back buttons are blocked
|
||||
- Runs the **Scale Gateway** app in the background automatically on startup
|
||||
- Runs the **built-in BLE scale gateway** as an integrated foreground service — no external app required
|
||||
- Provides a **native TTS bridge** so Cooking Mode reads steps aloud via Android TextToSpeech
|
||||
- Auto-detects your EverShelf server on the LAN with a **smart discovery scanner**
|
||||
- Reports errors and install failures back to the developer automatically
|
||||
@@ -46,11 +46,13 @@ Enter your EverShelf server URL (e.g. `https://192.168.1.100/dispensa`).
|
||||
- Only scans your actual Wi-Fi/Ethernet subnet (VPN and cellular interfaces ignored)
|
||||
- Real-time feedback as hosts are tested
|
||||
|
||||
### Step 5 — Scale Gateway
|
||||
If you have a BLE smart scale, install and configure the Scale Gateway:
|
||||
1. Tap **"Installa Gateway"** — the APK is downloaded from GitHub and installed via `PackageInstaller`
|
||||
2. If installation fails, a diagnostic dialog shows: status code, error message, APK size, Android version, and device model — plus a "Riprova" button
|
||||
3. On success, the wizard automatically writes `scale_enabled=true` and `scale_gateway_url=ws://127.0.0.1:8765` to your EverShelf server
|
||||
### Step 5 — Smart Scale
|
||||
If you have a Bluetooth LE smart scale, configure it here:
|
||||
1. Tap **"Yes, I have a scale"** — the app scans for nearby BLE devices
|
||||
2. Tap your scale in the list (devices most likely to be scales are marked with ⭐)
|
||||
3. On selection, the app automatically writes `scale_enabled=true` and `scale_gateway_url=ws://127.0.0.1:8765` to your EverShelf server
|
||||
|
||||
The BLE gateway runs as a built-in foreground service — **no external APK needed**.
|
||||
|
||||
### Step 6 — Screensaver
|
||||
Choose whether the screen should go dark after inactivity.
|
||||
@@ -97,11 +99,6 @@ The WebView accepts self-signed certificates automatically. No configuration nee
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
### "Impossibile installare il gateway"
|
||||
- Make sure "Install from unknown sources" is enabled for the kiosk app in Android Settings → Apps → Special app access
|
||||
- Check that there is enough free storage (the APK is ~15 MB)
|
||||
- The diagnostic dialog shows the exact failure code — include it when opening an issue
|
||||
|
||||
### "Server non trovato" during auto-discovery
|
||||
- Make sure your tablet and server are on the same Wi-Fi network
|
||||
- Ensure the server is not on a VPN-only interface
|
||||
|
||||
@@ -73,7 +73,7 @@ Shown as an inline AI badge next to the expiry estimate. Does not block the form
|
||||
|
||||
### Recipe Generation
|
||||
|
||||
Tap **🍳 Ricette** → **Genera ricetta** to get a recipe using:
|
||||
Tap **🍳 Recipes** → **Generate Recipe** to get a recipe using:
|
||||
- Ingredients about to expire (prioritised)
|
||||
- What's currently in your pantry
|
||||
- Your language preference
|
||||
|
||||
+11
-11
@@ -46,18 +46,18 @@ All data stays on your server. No cloud, no subscriptions.
|
||||
|
||||
## 🆕 What's New
|
||||
|
||||
### v1.7.1 (2026-05-04)
|
||||
- Destructive actions ("Butta tutto", "Finisci tutto") now require a **5-second countdown confirmation** before executing
|
||||
- History undo button ↩ is now clearly visible (red tint, larger)
|
||||
- Undo confirmation uses the in-app modal instead of the native browser `confirm()`
|
||||
### v1.7.13 (2026-05-16)
|
||||
- **Critical fix:** Fresh-install crash resolved — `transactions` schema was missing the `undone` column, causing a database failure on every new installation
|
||||
- **Fix:** Race condition in DB migrations no longer causes `duplicate column name` errors on concurrent first requests
|
||||
|
||||
### v1.7.0 (2026-05-04)
|
||||
- Smart auto-discovery rewrite (kiosk)
|
||||
- Gateway auto-pre-configuration after install
|
||||
- ErrorReporter init at setup start
|
||||
- Graceful Bring! no-key state
|
||||
- Use-quantity guard with shake animation
|
||||
- Demo mode (`?demo=1`)
|
||||
### v1.7.12 (2026-05-13)
|
||||
- "Use first" banner now shows opening date and location instead of a confusing calculated expiry
|
||||
- "Use All / Done" in recipes no longer deletes the inventory row — uses exact quantity instead
|
||||
- Scan page fully redesigned: 2× zoom, torch, camera flip, 3 input tabs, AI Number OCR, recent products chips
|
||||
- Anomaly detection: false positives eliminated (untracked direction removed, minimum 5 txn + 7-day span)
|
||||
- AI price estimation for each Bring! shopping item with real-time dashboard total badge
|
||||
- Kiosk v1.6.0: BLE scale gateway is now built-in — no separate APK needed
|
||||
- Complete i18n: 934 keys per language
|
||||
|
||||
→ See the full [CHANGELOG](https://github.com/dadaloop82/EverShelf/blob/main/CHANGELOG.md)
|
||||
|
||||
|
||||
@@ -1,6 +1,15 @@
|
||||
# ⚖️ Scale Gateway
|
||||
# ⚠️ Scale Gateway — Deprecated
|
||||
|
||||
The EverShelf Scale Gateway is an Android app that bridges a Bluetooth LE smart scale to EverShelf, enabling automatic weight-based inventory tracking.
|
||||
> **As of EverShelf Kiosk v1.6.0, BLE scale support is fully integrated into the Kiosk app.**
|
||||
> You no longer need to install or configure this separate gateway.
|
||||
>
|
||||
> 📱 **Using the EverShelf Kiosk app?** → See [Android Kiosk](Android-Kiosk) — configure your scale in Step 5 of the setup wizard.
|
||||
>
|
||||
> 💻 **Not using the kiosk app?** The legacy gateway APK below still works for non-kiosk setups, but receives no new updates.
|
||||
|
||||
---
|
||||
|
||||
# Scale Gateway (legacy)
|
||||
|
||||
---
|
||||
|
||||
@@ -52,8 +61,6 @@ The Gateway runs a local WebSocket server on port **8765**. The EverShelf server
|
||||
|
||||
Download and install the APK. You may need to enable "Install from unknown sources" in Android Settings.
|
||||
|
||||
> **Kiosk users:** the Setup Wizard installs the gateway automatically in Step 5.
|
||||
|
||||
### 2. Launch the app
|
||||
|
||||
The gateway server starts immediately. Note the **Gateway URL** shown (e.g. `ws://192.168.1.100:8765`).
|
||||
|
||||
Reference in New Issue
Block a user