• v0.5.2 770c198ac3

    Notify Bridge 0.5.2
    Release / release (push) Successful in 1m48s
    Stable

    alexei.dolgolyov released this 2026-04-24 21:58:40 +03:00 | 61 commits to master since this release

    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 TrackingConfig now apply consistently across watcher events, inbound webhooks, scheduled / periodic / memory cron fires, and manual test dispatch (ab621b6):
      • favorites_only drops events with no favorited new assets, or filters added_assets down to favorites only
      • assets_order_by / assets_order sort the rendered list (date / name / rating / random / none)
      • max_assets_to_show caps rendered + attached media (default raised from 5 → 10)
      • include_tags strips people from event extras and tags from each asset when disabled
      • include_asset_details strips city / country / state / lat / lon / is_favorite / rating / description when disabled — load-bearing fields (thumbhash, file_size, playback_size, cache keys) are preserved either way
      • New apply_tracking_display_filters helper in dispatch_helpers is the single source of truth
      • Targets sharing a TrackingConfig are dispatched together; targets with different configs each see their own shaped event
    • Per-tracker adaptive polling — replaces the global-feeling NotificationTracker.batch_duration with adaptive_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-N after 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_durationadaptive_max_skip on NotificationTracker. 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_show is 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

    Changelog

    770c198 chore: release v0.5.2
    ab621b6 feat: wire tracking-config display filters + per-tracker adaptive polling

    Downloads