Table of Contents

Namespace The.Web.Search

Classes

ReminderMenu
ReminderService

Multiplexes reminder subscriptions for one circuit, delivering batched updates to interested links or menus. General reminders are registered app-wide; their cached counts are pushed by the IReminderSource where a server-side job runs, and polled by this service under the current user's session in WebAssembly, where it does not. Personal reminders are materialised once per authenticated principal from the factory registered by AddPersonalReminders(IServiceCollection, Func<IServices, Task<IEnumerable<IReminder>>>) and refreshed by this service, uncached, as the current user.

The save-driven and periodic refresh mirrors the WPF RemindersController: counts are queried through IReminderStore (which resolves to a local or remote/RPC implementation) rather than by subscribing to the ORM query cache, so one batched read per refresh serves both 1-tier and 2-tier frontend (including WebAssembly).

ReminderServiceCollectionExtensions
ReminderUpdateCache

Per-store-instance cache of general reminder counts. Misses are evaluated as the system, in the host's configured timezone, so entries are identical for every caller; callers are responsible for checking that a requester may read an entry before returning it.

ReminderUpdateJob
ReminderUpdateOptions

Structs

KeyValueAccumulator

Optimised string -> string[] multimap

NoReminderSource

Interfaces

IAmReminded
IReminderSource

A reminder source polls (or otherwise retrieves) reminder counts and notifies subscribers.