fix: TTS test ask user if heard + PHP 8 end() ref bug + DB migration guard for fresh volumes
- app.js: TTS kiosk timeout 4s → 10s; fires interactive 'Hai sentito?' YES/NO prompt instead of showing error (TTS can take 6-8s; UtteranceProgressListener may not fire on all firmware); YES → success, NO → troubleshooting steps - translations: add heard_question/heard_yes/heard_no/test_ok_kiosk/test_fail_steps to all 5 languages (it/en/de/fr/es) under settings.tts - api/index.php: fix end() PHP 8.0+ reference error in _offFetchProduct() (categories_hierarchy stored in temp var before calling end()) (fixes #130) - api/database.php: migrateDB() now checks sqlite_master for 'products' table; if missing, calls initializeDB() and returns — no ALTER on nonexistent table (fixes #133, covers #131) - api/index.php: health_check db_row_count query guarded against missing inventory table (fixes #131)
This commit is contained in:
@@ -126,6 +126,16 @@ function initializeDB(PDO $db): void {
|
||||
}
|
||||
|
||||
function migrateDB(PDO $db): void {
|
||||
// Guard: if core tables don't exist yet (e.g. DB file present but empty / partial init),
|
||||
// run initializeDB first so all tables are created, then return — no ALTER TABLE needed.
|
||||
$productsExists = $db->query(
|
||||
"SELECT name FROM sqlite_master WHERE type='table' AND name='products'"
|
||||
)->fetchColumn();
|
||||
if (!$productsExists) {
|
||||
initializeDB($db);
|
||||
return;
|
||||
}
|
||||
|
||||
// Add package_unit column if missing
|
||||
$cols = $db->query("PRAGMA table_info(products)")->fetchAll();
|
||||
$colNames = array_column($cols, 'name');
|
||||
|
||||
Reference in New Issue
Block a user