3.7 KiB
3.7 KiB
v0.5.2 (2026-04-24)
Two related improvements to the notification-tracker stack: the display-filter fields on TrackingConfig (favorites-only, sort, max-assets, strip-tags, strip-asset-details) are now actually honored by every dispatch path — they previously existed in the model but were silently ignored on watcher / webhook / scheduled / memory / test fires. And the fixed batch_duration knob on NotificationTracker is replaced by a per-tracker adaptive_max_skip, so quiet trackers can opt into back-off without affecting busy ones.
Features
- Tracking-config display filters wired into every dispatch path — the filter fields on Immich
TrackingConfignow apply consistently across watcher events, inbound webhooks, scheduled / periodic / memory cron fires, and manual test dispatch (ab621b6):favorites_onlydrops events with no favorited new assets, or filtersadded_assetsdown to favorites onlyassets_order_by/assets_ordersort the rendered list (date / name / rating / random / none)max_assets_to_showcaps rendered + attached media (default raised from 5 → 10)include_tagsstrips people from event extras and tags from each asset when disabledinclude_asset_detailsstripscity/country/state/lat/lon/is_favorite/rating/descriptionwhen disabled — load-bearing fields (thumbhash,file_size,playback_size, cache keys) are preserved either way- New
apply_tracking_display_filtershelper indispatch_helpersis the single source of truth - Targets sharing a
TrackingConfigare dispatched together; targets with different configs each see their own shaped event
- Per-tracker adaptive polling — replaces the global-feeling
NotificationTracker.batch_durationwithadaptive_max_skip, an opt-in cap on poll back-off (ab621b6):NULL/0→ disabled, every tick runs (previous default behavior preserved)- Positive
N→ caps the skip factor at(N-1)-in-Nafter a long idle stretch - Scheduler caches the cap in module state for the tick fast-path
- Migration adds the new column; API schemas / responses, frontend types, i18n, and the tracker form are all updated to match
Upgrade Notes
batch_duration→adaptive_max_skiponNotificationTracker. The migration runs automatically; existing trackers default to disabled (every tick polls), matching previous behavior. Set a positive value per-tracker if you want quiet trackers to back off.- Default
max_assets_to_showis now 10 (was 5). Existing tracking configs with a stored value are unaffected; only the default for newly created configs (or unset fields) changes. If you relied on the 5-asset implicit cap, set it explicitly. - Display filters now actually take effect. If you had configured
favorites_only,include_tags,include_asset_details, etc. previously and expected them to do something — they will now. Review your tracking configs after upgrade if you don't want the filtering applied.
All Commits
| Hash | Message | Author |
|---|---|---|
| ab621b6 | feat: wire tracking-config display filters + per-tracker adaptive polling | alexei.dolgolyov |