fix(robustheit+ux): atomares Speichern, Offline-Härtung, Einsatz-Beenden, Audit raus
Robustheit / Datensicherheit: - Features-PUT in prisma.$transaction (delete+create atomar) — verhindert Totalverlust bei Abbruch zwischen Löschen und Neuanlegen - localStorage-Features pro Projekt (lageplan-features-<id>) statt globalem Key — verhindert Datenübertrag zwischen Projekten - Sync-Queue verwirft dauerhafte 4xx-Fehler statt Endlos-Retry - beforeunload persistiert auch leere Feature-Listen (Löschungen gehen nicht verloren) UX: - Leitungsrechner-Dropdown: Popover z-[2000] (lag hinter dem Panel), Label gekürzt - Neuer "Einsatz beenden"-Button (speichert, löst Lock, schliesst Einsatz) - Audit-Trail-Einstiege entfernt (Toolbar-Button + Menü-Eintrag) Version 1.4.10 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -58,8 +58,12 @@ export async function flushSyncQueue(): Promise<{ success: number; failed: numbe
|
||||
})
|
||||
if (res.ok) {
|
||||
success++
|
||||
} else if (res.status >= 400 && res.status < 500) {
|
||||
// Client-Fehler (403/404/...) = dauerhaft. Retry bringt nichts → verwerfen,
|
||||
// damit die Queue nicht verstopft und nicht ewig "Sync-Fehler" meldet.
|
||||
failed++
|
||||
} else {
|
||||
// Server error — keep in queue for retry
|
||||
// Server-Fehler (5xx) — später erneut versuchen
|
||||
remaining.push(item)
|
||||
failed++
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user