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
Stevan Freeborn
2ddc472f46
feat: add Discord notification options and handlers for YouTube events
2025-05-28 17:14:55 -05:00