Commit Graph
119 Commits
Author SHA1 Message Date
Stevan Freeborn 29b96eaae3 feat: wip on allow bot to respond to tagged messages 2026-03-13 07:40:29 -05:00
Stevan Freeborn e0716e8bdd Merge pull request #14 from StevanFreeborn/stevanfreeborn/feat/13-upgrade-to-dotnet-10
build: upgrade to .NET 10 and update dependencies
2026-01-11 18:54:14 -06:00
Stevan Freeborn cd805bdecb ci: update workflows and environments to .NET 10
- Update GitHub Actions to latest versions (checkout@v6, setup-dotnet@v5, upload-artifact@v6)
- Update CI/CD workflows to use .NET 10.0.x SDK
- Bump base and runtime images to .NET 10.0 in Dockerfiles
- Update README documentation and prerequisites to reflect .NET 10 migration
2026-01-11 18:52:19 -06:00
Stevan Freeborn a6a6cf49c7 build: upgrade to .NET 10 and update dependencies
- Bump TargetFramework to net10.0 in Directory.Build.props
- Update Microsoft.Extensions and OpenTelemetry packages to latest versions
- Update test SDK and xunit runner
- Refactor TestWebSocketServer to use HostBuilder and ConfigureWebHost
  to respond to deprecation notice
- Pin FluentAssertions version to [7.2.0]
- Remove redundant Microsoft.Extensions.Http reference in StevesBot.Webhook
2026-01-11 18:43:51 -06:00
Stevan Freeborn e6e8b6be2d Merge pull request #12 from StevanFreeborn/stevanfreeborn/fix/11-avoid-duplicate-stream-notifications
feat(youtube): multiple stream notifications
2026-01-11 10:36:30 -06:00
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 07660a0440 Merge pull request #10 from StevanFreeborn/stevanfreeborn/fix/8-add-retry-logic
fix: make initial connection more resilient with retry logic
2025-09-11 14:47:18 -05:00
Stevan Freeborn e427c5936f chore: run dotnet format 2025-09-11 10:39:44 -05:00
Stevan Freeborn 96ba7e5fe7 fix: implement retry logic for establishing initial websocket connection with an expontential backoff 2025-09-10 16:44:46 -05:00
Stevan Freeborn 46d4cdf313 feat: WIP on retry logic 2025-09-09 15:12:59 -05:00
Stevan Freeborn e48c6da3f1 Merge pull request #7 from StevanFreeborn/stevanfreeborn/fix/remove-string-builder
fix: remove unnecessary string builder
2025-06-16 19:55:14 -07:00
Stevan Freeborn b6914f8414 fix: remove unnecessary string builder 2025-06-16 21:46:51 -05:00
Stevan Freeborn f08772d4fd Merge pull request #6 from StevanFreeborn/stevanfreeborn/chore/modify-logging
chore: log warning instead of error and log additional details if web socket exception occurred
2025-06-16 09:03:15 -07:00
Stevan Freeborn ad3cda2b77 chore: log warning instead of error and log additional details if web socket exception occurred 2025-06-16 11:01:59 -05:00
Stevan Freeborn fc73614c7c Merge pull request #5 from StevanFreeborn/stevanfreeborn/fix/remove-double-quotes-from-message-format-when-present
fix: remove double quotes from start and end of message format"
2025-06-15 09:18:28 -07: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 e82b16454e chore: update workflow 2025-06-12 00:12:07 -05:00
Stevan Freeborn 666deb1c53 Merge pull request #4 from StevanFreeborn/stevanfreeborn/fix/infinite-loop-when-checking-to-renew-subscription
fix: stop requeuing immediately inside loop that just continually dequeues item
2025-06-05 23:19:26 -05:00
Stevan Freeborn 1afaa2bd42 fix: stop requeuing immediately inside loop that just continually dequeues item 2025-06-05 23:17:47 -05:00
Stevan Freeborn 5ec185ca84 chore: put containers in same network as seq container 2025-06-04 19:38:51 -05:00
Stevan Freeborn 6da43d1277 chore: put compose file back 2025-06-04 18:49:12 -05:00
Stevan Freeborn 0a3963f47f chore: try modifying workflow 2025-06-04 18:44:03 -05:00
Stevan Freeborn 7c4eca240a fix: modify program.cs 2025-06-04 18:35:05 -05:00
Stevan Freeborn 4889402568 chore: write variables to file properly 2025-06-04 18:14:07 -05:00
Stevan Freeborn 885895e993 chore: fix compose env variables 2025-06-04 18:10:46 -05:00
Stevan Freeborn 2007c62bcd chore: strip leading directory path from source 2025-06-04 18:04:44 -05:00
Stevan Freeborn 721d4e2769 Merge pull request #3 from StevanFreeborn/stevanfreeborn/feat/add-stream-notification
feat: add stream notification
2025-06-04 17:58:06 -05:00
Stevan Freeborn 770995f22e chore: fix bad file rename 2025-06-04 15:48:54 -05:00
Stevan Freeborn 9d8f5269b8 chore: rename file 2025-06-04 15:43:11 -05:00
Stevan Freeborn 3fa6195e18 chore: run dotnet format 2025-06-04 15:34:35 -05:00
Stevan Freeborn 17b5bdea73 docs: update README.md 2025-06-04 15:33:50 -05:00
Stevan Freeborn 8c800ce658 chore: working on preparations for deployment 2025-06-04 10:46:21 -05:00
Stevan Freeborn 8e0ec2d3d5 refactor: moving telemetry wip 2025-06-03 16:31:09 -05:00
Stevan Freeborn 852f27c7b5 chore: rework dockerfiles to account for multi project solution with centralized package+build prop management 2025-06-03 13:35:04 -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 a9fe97b411 Merge branch 'stevanfreeborn/feat/add-stream-notification' of github.com:StevanFreeborn/steves-bot into stevanfreeborn/feat/add-stream-notification 2025-05-31 21:58:25 -05:00
Stevan Freeborn 390b6f56c5 tests: add tests for data client 2025-05-31 21:58:18 -05:00
Stevan Freeborn 5399372c05 fix: don't make rest api client dependent on instrumentation 2025-05-30 20:52:33 -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 0d31f12012 tests: add tests for library 2025-05-29 22:41:53 -05:00
Stevan Freeborn ce45893caa refactor: extract tests to library test project 2025-05-29 00:09:19 -05:00
Stevan Freeborn 6479531126 refactor: create interface for store 2025-05-28 21:59:50 -05:00
Stevan Freeborn 887b95f798 fix: prevent duplicate stream notifications
- add store that is singleton
  to keep track of last posted
  stream and prevent
  posting twice for same stream
2025-05-28 21:43:57 -05:00
Stevan Freeborn 21adfcd3bb tests: begin moving tests to lib test project 2025-05-28 17:15:38 -05:00
Stevan Freeborn 113cdf7a82 refactor: clean up usings 2025-05-28 17:15:26 -05:00