Add background timeline rebuild task (mirroring stats cache pattern) that refreshes denormalized timeline event snapshots when entities are updated. Includes cascade logic so editing a roaster refreshes timeline events for its roasts, bags, brews, and cups. - Add update_by_entity/delete_by_entity/delete_all to TimelineEventRepository - Add TimelineInvalidator with debounced background rebuild task - Add invalidate() calls to all 7 entity update handlers - Add delete_by_entity cleanup to define_delete_handler! macro - Add gear_id filter to BrewFilter for cascade traversal - Add `brewlog timeline rebuild` CLI command for full rebuild - Add 5 integration tests for timeline sync behavior |
||
|---|---|---|
| .. | ||
| backup.rs | ||
| bags.rs | ||
| brews.rs | ||
| cafes.rs | ||
| cups.rs | ||
| gear.rs | ||
| macros.rs | ||
| mod.rs | ||
| roasters.rs | ||
| roasts.rs | ||
| timeline.rs | ||
| tokens.rs | ||