Commit Graph
14 Commits
Author SHA1 Message Date
Stevan Freeborn 7826e835ef feat(youtube): multiple stream notifications
Refactors the notification storage to support multiple stream IDs
using a ConcurrentDictionary. This ensures that the bot can track and
ignore duplicate notifications for multiple streams within a
rolling 24-hour window, rather than only tracking the single most
recent stream.

- Updated ILastPostedStreamStore to include RemoveValuesOlderThan24Hours.
- Switched LastPostedStreamStore to use ConcurrentDictionary with UTC timestamps.
- Injected TimeProvider to enable deterministic testing of time-based expiration.
- Added automatic cache pruning in NotificationHandler on every request.
- Renamed Unit/LastPostedStreamStore.cs to Unit/LastPostedStreamStoreTests.cs and expanded test coverage.
2026-01-11 10:32:57 -06:00
Stevan Freeborn 168d080e04 fix: trim double quotes from message format and cleanup usings in tests 2025-06-15 11:17:13 -05:00
Stevan Freeborn 8e0ec2d3d5 refactor: moving telemetry wip 2025-06-03 16:31:09 -05:00
Stevan Freeborn e616bdedda tests: finish adding tests for webhook 2025-06-03 12:44:02 -05:00
Stevan Freeborn 68ba283856 tests: more tests 2025-06-03 11:31:09 -05:00
Stevan Freeborn 3d0321bc42 tests: add test for notification handler 2025-06-02 11:11:36 -05:00
Stevan Freeborn 7f9404dff3 chore: stub out tests 2025-06-02 00:00:28 -05:00
Stevan Freeborn 390b6f56c5 tests: add tests for data client 2025-05-31 21:58:18 -05:00
Stevan Freeborn 7a12f2768d tests: add tests for page info 2025-05-30 17:27:23 -05:00
Stevan Freeborn cbf7598227 tests: WRITE TESTS FIRST...when will I learn 2025-05-30 15:46:20 -05:00
Stevan Freeborn c7d0df2fca tests: begin adding tests to webhook project 2025-05-29 23:01:00 -05:00
Stevan Freeborn 1afd17f2d1 feat: create discord message when stream goes live 2025-05-27 23:13:19 -05:00
Stevan Freeborn c544e33e28 feat: determine if notification is for stream or not 2025-05-27 16:48:57 -05:00
Stevan Freeborn a8de49cee3 refactor: reorganize solution for better multi-project support/management 2025-05-25 18:38:52 -05:00