You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit e015e09
Browse filesBrowse the repository at this point in the historyBrowse files
* feat(mail): Konten wie in der Outlook-App, später geladene Inhalte und Anhänge (Mail 1.1.2)
- Account.avatar { mediaId, mime } (nur Microsoft): MailAvatars lädt das
Bild über media/<mediaId>, hält es im Speicher und in der Offline-Kopie
an der mediaId
- MailAccountAvatar: Profilbild oder eigenes einfaches Anbieterzeichen
(„O“, vier Quadrate, „G“, „GMX“, „W“, „T“, sonst „@“ in Kontofarbe),
kleiner Punkt in Kontofarbe; im Seitenmenü mit Name und Adresse, in den
Mail-Einstellungen, auf der Kontoseite und bei der Absender-Auswahl
- Live-Ereignis mail mit messageId, threadId, attachmentId
- bodyMissing: „Der Inhalt wird noch vom Anbieter geladen …“ mit „Erneut
versuchen“ und der Vorschau; das Ereignis mit derselben messageId oder
threadId lädt die Mail neu; die Vorschau ersetzt keine volle Kopie
- 409 busy (loading) bei Anhängen: „Wird gerade geladen …“, Neuversuch nach
retryAfter (höchstens 3-mal) oder beim Ereignis mit attachmentId;
eingebettete Bilder laden danach neu
- Tests: MailJson (Avatar, Ereignis, busy), MailLogic (Zeichen, Ereignis,
Wartezeit, cid)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016xX1efcZF1f6G9rhmaJNLD
* feat(mail): breite Mails passen, Bilder sofort, Ordner auf- und zuklappen, Unterhaltung, Absender
- Breite Mails (Newsletter mit fester Tabellenbreite) passen in die Breite:
Bilder, Tabellen, lange Links und pre bleiben im Bildschirm; was danach
noch breiter ist, misst die WebView von außen (Inhaltsbreite, kein Skript)
und die Mail wird per CSS zoom kleiner gesetzt (MailLogic.fitZoom, höchstens
3 Runden, nie unter 25 %). Aufziehen zum Vergrößern bleibt möglich, die
Mail selbst bleibt ohne Skript (JavaScript aus, CSP script-src 'none')
- „Bilder laden“: das HTML bleibt dasselbe (img/<token>), daher lud die
WebView nicht neu. Jetzt übernimmt der State die zurückgegebene Mail und
zählt pictureRound hoch; Antworten der Seite gehen mit Cache-Control:
no-store, verweigerte Bilder werden nie gehalten
- Seitenmenü: ein Tipp auf die Kontozeile (mit Pfeil) klappt den Ordnerbaum
auf und zu, das Menü bleibt offen; „Posteingang“ steht immer im Baum, erst
die Wahl eines Ordners schließt das Menü. Der Klappzustand pro Konto bleibt
für die Sitzung (MailRepository.folds)
- Unterhaltung: „Unterhaltung · n Mails“ mit den Absendern; ein Tipp zeigt
alle Mails (GET threads/<id>), älteste zuerst, die geöffnete aufgeklappt,
die neueste unten; jede andere Mail mit Absender, Datum und Vorschau
aufklappbar, mit „Mail öffnen“
- Absender antippen: Absender-Seite mit Initialen, Name, Adresse, „Mail
schreiben“ und „Adresse kopieren“, darunter seine Mails im Konto
(GET search?from=, Seiten über den Cursor); Name aus contacts?q= bei
source 'person'; Platz für die Kontaktdaten des geplanten Kontakte-Plugins
- Tests: Seitenaufbau und Skalierung, Klappzustand, Unterhaltung, Absender
(MailLogic), State nach „Bilder laden“, Laden der Unterhaltung und der
Absender-Mails (ViewModels), Route der Absender-Seite
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016xX1efcZF1f6G9rhmaJNLD
---------
Co-authored-by: Claude <noreply@anthropic.com>
0 commit comments