feat: Gruppen-Sichtbarkeit in Einstellungen + "Mit dir geteilt"-Sektion + Import-Fehler
- Einstellungen: neuer "Kalender"-Abschnitt – Radio-Auswahl, welcher eigene Kalender fuer Gruppenmitglieder sichtbar ist (group_visible_calendar_id). - Sidebar: geteilte Kalender in eigener Sektion "Mit dir geteilt" (mit Besitzername) statt inline bei "Meine Kalender"; Gruppenkalender dort ausgeblendet (erscheinen unter Gruppen). - Lokale Checkbox tolerant: geteilte/Gruppen-Kalender werden client-seitig ein-/ausgeblendet (kein 404-PUT als Nicht-Besitzer). - Import-Fehler: zeigt HTTP-Status / "Datei zu gross" statt "unbekannter Fehler" (z.B. nginx 413). Version v26. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -50,8 +50,13 @@ async function uploadRequest(path, formData) {
|
||||
return null;
|
||||
}
|
||||
if (!res.ok) {
|
||||
const err = await res.json().catch(() => ({ detail: t('unknown_error') }));
|
||||
throw new Error(err.detail || `HTTP ${res.status}`);
|
||||
// Upload errors may be non-JSON (e.g. an nginx 413/502 HTML page); fall back
|
||||
// to the HTTP status so the message is diagnostic, not "unknown error".
|
||||
const err = await res.json().catch(() => null);
|
||||
const detail = (err && err.detail)
|
||||
? err.detail
|
||||
: (res.status === 413 ? t('upload_too_large') : `HTTP ${res.status} ${res.statusText || ''}`.trim());
|
||||
throw new Error(detail);
|
||||
}
|
||||
if (res.status === 204) return null;
|
||||
return res.json();
|
||||
|
||||
Reference in New Issue
Block a user