ed447d5811
## v1.7.6 - DB: fix shopping_name Pi→Piadina, Grana→Formaggio, Prosciutto cotto→Affettato, Panna acida→Panna - DB: composite indexes idx_transactions_type_date + idx_transactions_pid_type_undone (+ migration) - PHP: daily_rate uses first_in→last_activity window (not first_in→now) - PHP: anomaly dismiss key uses product_id+direction (stable, not product_id+round(expected)) - PHP: smart shopping — products exhausted within 14 days bypass token/family suppression - PHP: chat pruning — DELETE messages beyond 200 after each chatSave() - PHP: getStats() — 5 queries → 1 consolidated query with subselects - PHP: bringCleanupObsolete — 300ms delay between bulk removals - PHP: CSRF guard — POST write actions require X-EverShelf-Request:1 or Content-Type:application/json - JS: api() — sends X-EverShelf-Request:1 on all POST requests - JS: _opLog — prunes entries older than 30 days in addition to 200-entry cap
19 lines
483 B
JSON
19 lines
483 B
JSON
{
|
|
"name": "EverShelf",
|
|
"short_name": "EverShelf",
|
|
"description": "Gestione completa della dispensa di casa con scansione barcode",
|
|
"version": "1.7.6",
|
|
"start_url": "/evershelf/",
|
|
"display": "standalone",
|
|
"background_color": "#f0f4e8",
|
|
"theme_color": "#2d5016",
|
|
"orientation": "portrait",
|
|
"icons": [
|
|
{
|
|
"src": "assets/img/logo/logo_icon.png",
|
|
"sizes": "any",
|
|
"type": "image/svg+xml"
|
|
}
|
|
]
|
|
}
|