fix: dispensa.db auto-delete, zerowaste save, vacuum expiry, DB retention

- api/index.php: auto-delete legacy dispensa.db when evershelf.db exists
  and dispensa.db is empty (<1KB); vacuum-sealed items only show as
  expired after VACUUM_EXPIRY_EXTENSION_DAYS (default 30) past printed
  date; add dbCleanup() function; add recipe/tx/vacuum params to
  getServerSettings + saveSettings intMap; add 'db_cleanup' action
- api/cron_smart_shopping.php: run dbCleanup() each cron cycle
- app.js: add zerowaste_tips_enabled + screensaver_timeout + retention
  days to saveSettings POST payload (were missing, causing reset on sync);
  asset version bumped to v=20260518b
- .env: added ZEROWASTE_TIPS_ENABLED, RECIPE_RETENTION_DAYS=7,
  TRANSACTION_RETENTION_DAYS=7, VACUUM_EXPIRY_EXTENSION_DAYS=30
This commit is contained in:
dadaloop82
2026-05-18 07:16:26 +00:00
parent c9a859463c
commit bd5d4bcac6
4 changed files with 67 additions and 9 deletions
+5
View File
@@ -3116,6 +3116,8 @@ async function saveSettings() {
scale_gateway_url: s.scale_gateway_url,
meal_plan_enabled: s.meal_plan_enabled,
screensaver_enabled: s.screensaver_enabled,
screensaver_timeout: s.screensaver_timeout || 5,
zerowaste_tips_enabled: s.zerowaste_tips_enabled,
tts_enabled: s.tts_enabled,
tts_url: s.tts_url,
tts_token: s.tts_token,
@@ -3133,6 +3135,9 @@ async function saveSettings() {
price_country: s.price_country,
price_currency: s.price_currency,
price_update_months: s.price_update_months,
recipe_retention_days: s.recipe_retention_days || 7,
transaction_retention_days: s.transaction_retention_days || 7,
vacuum_expiry_extension_days: s.vacuum_expiry_extension_days || 30,
}, tokenHeader);
const statusEl = document.getElementById('settings-status');
if (result.success) {