Repository navigation
Benachrichtigungen: „Anderswo gelesen“ statt „Gelesen“, Wegwischen gleicht nicht mehr ab - #461
Merged
Merged
Conversation
…eicht nicht mehr ab Im Zustellprotokoll stand bei einem ausgeschalteten Gerät „Gelesen“, wenn die Person die Mitteilung auf einem anderen Gerät gelesen oder dort nur weggewischt hatte – und es zählte als „zugestellt“. - Neue Spalte notification_deliveries.read_via (Migration 144): self, device, portal; bestehende gelesene Zeilen ohne delivered_at werden „elsewhere“, alle anderen gelesenen „self“. - Nur ein echtes „read“ markiert die anderen Geräte der Person als gelesen (read_via device); „dismissed“ (weggewischt) gilt nur für das eigene Gerät. Portal „Gelesen“/„Alle als gelesen“ wirkt weiter auf alle Geräte (read_via portal). - Jede Bestätigung eines Geräts setzt delivered_at, auch auf einer schon anderswo gelesenen Zeile; öffnet das Gerät sie selbst, gilt sie als eigenes Lesen. - Admin: „zugestellt“ zählt nur Zeilen mit delivered_at, „gelesen“ und read_24h nur Lesen auf dem Gerät selbst; anderswo gelesene, nie zugestellte Zeilen fehlen nicht (Status ok, „1/2 · 1 anderswo gelesen“). „Bestätigt“ im Reiter Geräte nur aus eigenen Bestätigungen. - Zustellprotokoll: „Anderswo gelesen“ (neutral), darunter „nicht zugestellt · auf anderem Gerät gelesen …“ bzw. „… im Portal gelesen …“; Ablauf-Eintrag „Anderswo gelesen: N Geräte als gelesen markiert“. - Geräte-APIs unverändert: eine abgeglichene Zeile bleibt „read“. 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.
Problem
Ein seit Tagen ausgeschalteter Laptop („FEC Laptop“) stand im Zustellprotokoll bei mehreren Mitteilungen auf „Gelesen“ – und zählte als „2/2 zugestellt“. Ursache: der Gelesen-Abgleich. Hat die Person eine Mitteilung auf dem Handy gelesen oder nur weggewischt, wurden alle anderen Geräte als gelesen markiert, auch wenn sie die Mitteilung nie bekommen hatten.
Änderungen
1. „Anderswo gelesen“ im Admin
notification_deliveries.read_via(Migration 144notify_read_via):self(das Gerät selbst),device(auf einem anderen Gerät der Person gelesen),portal(im Portal gelesen),elsewhere(Altbestand, Herkunft unbekannt).statsFor, Übersicht, Verlauf, Ablauf) zählt nur Zeilen mitdelivered_at. Eine anderswo gelesene, nie zugestellte Zeile gilt aber nicht als fehlend: Status „ok“, im Verlauf „1/2 · 1 anderswo gelesen“, nicht im Filter „Nicht zugestellt“.read_24h) nur eigenes Lesen.deliveries[].read_via,elsewherein Verlauf/Übersicht (docs/feature-notification-center.mdergänzt).2. Wegwischen gleicht nicht mehr ab
read(geöffnet, angetippt, Knopf, „Gelesen“) markiert die Mitteilung auf den anderen Geräten der Person als gelesen und schicktevent: read.dismissed(weggewischt) gilt nur für die eigene Zeile; die anderen Geräte behalten die Mitteilung als ungelesen und bekommen sie beim nächsten Verbinden.Kleinigkeiten dazu
delivered_at, auch auf einer schon anderswo gelesenen Zeile (vorher ging ein spätes „delivered“ verloren). Öffnet das Gerät die Mitteilung danach selbst, gilt sie als eigenes Lesen.Bestehende Daten (Migration 144)
Die Herkunft wurde bisher nicht gespeichert. Eine eigene Bestätigung setzte immer
delivered_at, der Abgleich nie. Daher: gelesene Zeilen ohnedelivered_at→elsewhere(„Anderswo gelesen“), alle anderen gelesenen →self. Eine Zeile, die das Gerät erhalten hatte und die danach anderswo gelesen wurde, ist nachträglich nicht erkennbar und bleibt „Gelesen“.Kompatibilität
Android- und Windows-Apps unverändert: eine abgeglichene Zeile steht im Posteingang weiter als
read, zählt nicht als ungelesen und wird nicht erneut zugestellt.event: readkommt nur noch bei echtem Lesen. Der Portal-Posteingang zählt eine Mitteilung weiterhin als erledigt, sobald sie auf irgendeinem Gerät gelesen oder weggewischt wurde (unverändert).Tests
tests/notify_read_elsewhere.test.js(Wegwischen ohne Abgleich, Lesen mitread_via device, Portalread_via portal, spätes „delivered“, eigenes Öffnen danach,statsFor/Status/Verlauf/Übersicht, „Bestätigt“, Detail-API und Ablauf, Seiten-Helfer, Migration auf Altdaten).tests/notify_admin_api.test.js: Antwortformen umelsewhere/read_viaergänzt.Generated by Claude Code