Skip to content

feat: v2.7.0 - notification bell filtering - #247

Merged
wmantly merged 1 commit into
masterfrom
chore/notify-filters-0.5.0
Sep 17, 2026
Merged

wmantly merged 1 commit into
masterfrom
chore/notify-filters-0.5.0

Conversation

@wmantly

@wmantly wmantly commented Sep 17, 2026

Copy link
Copy Markdown
Collaborator

Picks up @simpleworkjs/frontend 0.5.0. No application code changed here.

Why

The notification feed subscribed to every model event the socket delivered and showed all of them. Right for a change log, wrong for a person: most of the volume is routine churn, and the events worth seeing were buried in it.

0.5.0 adds muting, in three key shapes:

key meaning
Resource:update one model, one action
Resource one model, every action
*:update one action, every model — the "hide updates" button

A mute is a view, not a filter on what is recorded — unmuting shows the history you had been ignoring rather than a gap. Preferences persist per-app in localStorage.

views/top.ejs gains the #notify-filters container the controls render into. Without it muting still works through config, it just has no UI — and a filter nobody can reach is not a filter.

Also fixed upstream

A burst of events raised a burst of toasts: the feed called collapse([event]) on an array of exactly one event — a no-op wrapper — so every arriving event popped its own toast and desktop notification, while the bell list collapsed correctly. Popups now buffer briefly and collapse the same way the list does.

Note on the range

^0.4.3 does not admit 0.5.0 — caret on 0.x pins the minor — so this is an explicit bump rather than something a lockfile refresh would have picked up.

🤖 Generated with Claude Code

https://claude.ai/code/session_01TnJ9iEHU6m7kYxD5fXPfts


Drive-by: root package.json read 2.6.0 on a tree released as v2.6.2. Nothing consumes that field, which is exactly why it keeps drifting; both manifests now agree at 2.7.0.

The feed subscribed to every model event the socket delivered and showed all
of them -- right for a change log, wrong for a person. 0.5.0 adds muting
("Resource:update", "Resource", "*:update"), persisted per-app, and a filter
UI built from the models actually present in the feed. views/top.ejs gains
the #notify-filters container those controls render into; without it muting
still works via config, it just has no UI, and a filter nobody can reach is
not a filter.

Also fixes a burst of events raising a burst of toasts: the feed popped one
toast and one desktop notification per arriving event while its own list
collapsed correctly, so a sweep producing one tidy "42 resources updated" row
also stacked 42 toasts beside it.

^0.4.3 does not admit 0.5.0 -- caret on 0.x pins the minor -- so this is an
explicit bump.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TnJ9iEHU6m7kYxD5fXPfts
@wmantly
wmantly merged commit c4d6e85 into master Sep 17, 2026
13 checks passed
@wmantly
wmantly deleted the chore/notify-filters-0.5.0 branch September 17, 2026 01:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant