Skip to content

4.985.0

Choose a tag to compare

@github-actions github-actions released this 07 Nov 23:50
· 25 commits to master since this release
9786f4d

Summary

Implements the v4 user badge-count reporting service through a new Counts/GetBadgeCounts API endpoint. The service calculates only requested counts that the authenticated user is authorized to view, omits counts disabled by permissions, modules, feature flags, or plan limits, and isolates provider failures so one failed count does not affect the others.

Supported badge counts

  • Active calls visible to the member
  • Calls directly dispatched to the member
  • Unread inbox messages
  • Unread chat messages, including active-unit channels when applicable
  • Active Extreme and Severe weather alerts, with severity breakdowns
  • Certifications that are expired or nearing expiration
  • Open deployments on the member’s roster
  • Due checklists for the member or active unit
  • Shift days scheduled for the current department-local day
  • Open shift trade requests, with awaiting-member and member-owned breakdowns
  • Open work orders assigned to the member or their personnel roles

Functional and performance improvements

  • Added provider-based badge-count architecture with stable keys, policy checks, module/feature gating, optional breakdowns, and deterministic response ordering.
  • Added department-local date and cached module-setting lookups to the badge-count request context.
  • Added count-oriented repository and service methods that use aggregate queries instead of loading full lists.
  • Added fresh chat message-sequence reads so unread counts reflect messages sent after cached channel data was loaded.
  • Added short-lived caching for calls, weather, check-in, chat availability, and other applicable counts.
  • Added cache invalidation when calls are saved, deleted, reopened, or changed, and when weather alerts are ingested, updated, expired, or removed.
  • Added SQL Server and PostgreSQL query/configuration support for active-call, dispatched-call, weather-severity, certification, deployment, checklist, shift, trade, and work-order counts.
  • Added migration M0312 indexes to support unread message, weather alert, shift, and trade-count queries on both database platforms.
  • Registered the badge-count service and all providers through dependency injection.
  • Added coverage for provider authorization, filtering, feature/module gating, caching behavior, local-date handling, chat unread calculations, query generation, and the new controller response.