fix: Error Handling in Backend und Frontend verbessern (Phase 5, Schritt 31)

- Backend: JSON-Parse-Error + Payload-Too-Large Middleware in index.js
- Backend: Dashboard äußerer try/catch für db.get()-Fehler
- Backend: contacts/meta Route mit try/catch
- Frontend: try/catch + Toast-Fallback in loadMonth (budget), loadRange (calendar),
  loadWeek (meals), loadLists/switchList (shopping), initiales Laden (notes)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
ulsklyc
2026-03-26 00:35:16 +01:00
parent e068a14819
commit 2e3e67baeb
8 changed files with 75 additions and 19 deletions
+8 -2
View File
@@ -124,8 +124,14 @@ function eventsOnDay(dateStr) {
// --------------------------------------------------------
async function loadRange(from, to) {
const res = await api.get(`/calendar?from=${from}&to=${to}`);
state.events = res.data;
try {
const res = await api.get(`/calendar?from=${from}&to=${to}`);
state.events = res.data;
} catch (err) {
console.error('[Calendar] loadRange Fehler:', err);
state.events = [];
window.oikos?.showToast('Termine konnten nicht geladen werden.', 'danger');
}
state.rangeFrom = from;
state.rangeTo = to;
}