Repository navigation
fix(notifications): tell unread from read and list only pushable notification types - #246
Merged
andrebrait merged 3 commits intoOct 10, 2026
Merged
Conversation
…ory gate and marker
andrebrait
added a commit
to andrebrait/ompweb
that referenced
this pull request
Oct 10, 2026
…nly pushable notification types Squashed from origin/feat/notification-read-state (9edf773) onto upstream/main. Integration fixup: drops kahme247#242's keepRead (update notices are no longer recorded), keeps kahme247#240/kahme247#242's onClick on history entries, and adapts toast.click.test.mjs to the history: true opt-in.
Resolve the overlap with kahme247#242: drop its keepRead (update notices are no longer recorded), keep onClick on history entries, and opt the click tests into history: true.
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.
Follow-up to #230.
Problem
notifycalls, so the notifications the user needs to act on were buried.Changes
--texttitle on the tinted row. Read rows have a--text-mutedregular-weight title and no tint. The description keeps--text-muted: in several themes--text-dimhas higher contrast than--text-muted, so it would not dim the text.toast.*records intotoastHistoryonly with the newhistory: trueoption.useNotificationssets it for session notifications (completed, input, error, model switch, theNOTIFICATION_TYPESthat can also be pushed), including the toast fallback when a system notification cannot be shown. Thenotifyhost tool no longer records into the history.recordused to keep the read state of a reused id so that update notices re-shown on every tab focus did not badge again. Update notices are no longer listed. Session notifications reuse<sessionId>:<type>as their id, so keeping the read state made a session's next notification of the same type arrive already read.Overlap: #240 and #242 touch
toastHistory.record. With this PR, #242'skeepReadoption is no longer needed, because the update notices are not recorded. Whichever PR lands second needs a small rebase.Verification
toast.test.mjs: plain toasts stay out of the history,history: truetoasts are listed, and a reused id is unread again.toast.click.test.mjs: a delivered session notification is listed with its<sessionId>:<type>id and is unread. The test fails ifhistory: trueis removed fromuseNotifications.NotificationList.test.mjs: only the unread row carries the unread marker.npm test1347 tests, 0 failures. Typecheck and eslint are clean.