Repository navigation
Mail: breite Mails passen, Bilder sofort, Ordner auf- und zuklappen, Unterhaltung, Absender - #161
Merged
Merged
Conversation
added 4 commits
October 30, 2026 22:01
…d 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
MailHtmlView (data:-Dokument) und MailHomeScreen (Menü-Abstände) aus #158 zusammen mit den Avataren und dem Neuladen der Bilder. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016xX1efcZF1f6G9rhmaJNLD
…ppen, 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 Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016xX1efcZF1f6G9rhmaJNLD
CallMeTechie
pushed a commit
that referenced
this pull request
Oct 31, 2026
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016xX1efcZF1f6G9rhmaJNLD
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Rückmeldungen des Nutzers zur Mail-Leseansicht. Baut auf #160 auf, main ist per Merge-Commit eingeführt.
Änderungen
MailLogic.page) hält Bilder, Tabellen, lange Links undpreim Bildschirm.computeHorizontalScrollRange), ohne Skript. Die Mail in#gc-fitwird dann per CSSzoomkleiner gesetzt (MailLogic.fitZoom, höchstens 3 Runden, nie unter 25 %).script-src 'none'.img/<token>drinstehen. Der Schlüssel der WebView (page to round) änderte sich deshalb nicht, und die Seite lud nicht neu.pictureRoundhoch.Cache-Control: no-store. Verweigerte Bilder werden nie zwischengespeichert.MailRepository.folds).GET threads/<id>), die älteste zuerst.mail/sender) mit Initialen, Name, Adresse, „Mail schreiben“ und „Adresse kopieren“.GET search?from=, Seiten über den Cursor).contacts?q=bei einem Treffer mitsource:'person'. Für die Daten des geplanten Kontakte-Plugins ist eine Stelle vorgesehen (SenderContact).Alle neuen Texte gibt es auf Deutsch und Englisch.
Tests
MailReaderUxTest: Seitenaufbau, Skalierung, Klappzustand, Unterhaltung, AbsenderMailReaderViewModelsTest: State nach „Bilder laden“, Laden der Unterhaltung, Absender-Mails mit Paging und KontaktnameMainTabsTest):app:testDebugUnitTest,:app:lintReleaseund:app:assembleDebuggrün (vor dem Merge von main). Nach dem Merge liefen die Mail-, Navigations- und Chat-Tests erneut grün.Generated by Claude Code