Skip to content
Merged
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
ccc20b6
Initial plan
Copilot Feb 19, 2026
ba08a17
Add Observer pattern attribute definitions and enums
Copilot Feb 19, 2026
e65fd7e
Add initial Observer generator structure and diagnostic tracking
Copilot Feb 19, 2026
6431f6a
Rewrite ObserverGenerator to support payload type extraction from att…
Copilot Feb 19, 2026
7d51442
Add payload type constructor to ObserverAttribute and fix thread safe…
Copilot Feb 19, 2026
ca8f6c8
Complete rewrite of ObserverGenerator with payload type support
Copilot Feb 19, 2026
1a04bcd
Fix dynamic cast issue in ObserverGenerator, 10/12 tests passing
Copilot Feb 19, 2026
9102caa
Add comprehensive Observer pattern documentation and examples
Copilot Feb 19, 2026
f10e2cc
Fix parameter naming convention in NotificationSystem example
Copilot Feb 19, 2026
6b8e698
Fix Observer generator: remove reflection, add nested/generic validat…
Copilot Feb 19, 2026
62d3e78
Update docs/examples/tests: fix diagnostics, cancellation demo, add m…
Copilot Feb 19, 2026
47f52c3
Fix review feedback: update struct support docs, remove AttributeTarg…
Copilot Feb 19, 2026
aafc0c0
Remove unused GenerateUnsubscribeMethod - disposal handled directly b…
Copilot Feb 19, 2026
65ce1ac
Fix review issues: add using System, accept ITypeSymbol for payloads,…
Copilot Mar 5, 2026
3771d75
Address review round 5: fix timing test, update diagnostic descriptio…
Copilot Mar 8, 2026
717eba0
Address review round 6: clarify hub not implemented, fix async fire-a…
Copilot Mar 12, 2026
12b25ac
Address review round 7: update struct docs, clarify async exception h…
Copilot Mar 17, 2026
6086bfe
Address review round 8: add threading policy tests, clarify OnSubscri…
Copilot Mar 19, 2026
01109d2
Address review round 9: fix IsPartial to use SyntaxKind, implement Co…
Copilot Mar 19, 2026
585554c
fix(observer): address PR review feedback
JerrettDavis Mar 20, 2026
0471aa9
fix(testing): resolve generator test package downgrade
JerrettDavis Mar 20, 2026
a7aad53
Merge branch 'main' into copilot/create-observer-pattern-generator
JerrettDavis Mar 20, 2026
6768ad8
refactor(observer): reduce fire-and-forget duplication
JerrettDavis Mar 20, 2026
91c5b4e
Merge branch 'main' of https://github.com/JerrettDavis/PatternKit int…
JerrettDavis Nov 6, 2026
bef0512
Merge remote-tracking branch 'origin/main' into copilot/create-observ…
JerrettDavis Nov 6, 2026
1bd22dd
fix(ci): bound test sessions with a per-session timeout
JerrettDavis Nov 6, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 16 additions & 8 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,8 @@ jobs:
--collect:"XPlat Code Coverage" \
--results-directory ./TestResults \
--logger "trx;LogFilePrefix=core-test-results" \
-- DataCollectionRunSettings.DataCollectors.DataCollector.Configuration.Format=cobertura
-- DataCollectionRunSettings.DataCollectors.DataCollector.Configuration.Format=cobertura \
-- RunConfiguration.TestSessionTimeout=300000
dotnet test test/PatternKit.Generators.Tests/PatternKit.Generators.Tests.csproj \
--configuration Release \
--framework net8.0 \
Expand All @@ -72,7 +73,8 @@ jobs:
--collect:"XPlat Code Coverage" \
--results-directory ./TestResults \
--logger "trx;LogFilePrefix=generators-test-results" \
-- DataCollectionRunSettings.DataCollectors.DataCollector.Configuration.Format=cobertura
-- DataCollectionRunSettings.DataCollectors.DataCollector.Configuration.Format=cobertura \
-- RunConfiguration.TestSessionTimeout=300000
dotnet test test/PatternKit.Hosting.Extensions.Tests/PatternKit.Hosting.Extensions.Tests.csproj \
--configuration Release \
--framework net8.0 \
Expand All @@ -81,7 +83,8 @@ jobs:
--collect:"XPlat Code Coverage" \
--results-directory ./TestResults \
--logger "trx;LogFilePrefix=hosting-test-results" \
-- DataCollectionRunSettings.DataCollectors.DataCollector.Configuration.Format=cobertura
-- DataCollectionRunSettings.DataCollectors.DataCollector.Configuration.Format=cobertura \
-- RunConfiguration.TestSessionTimeout=300000
dotnet test test/PatternKit.Examples.Tests/PatternKit.Examples.Tests.csproj \
--configuration Release \
--framework net8.0 \
Expand All @@ -90,7 +93,8 @@ jobs:
--collect:"XPlat Code Coverage" \
--results-directory ./TestResults \
--logger "trx;LogFilePrefix=examples-test-results" \
-- DataCollectionRunSettings.DataCollectors.DataCollector.Configuration.Format=cobertura
-- DataCollectionRunSettings.DataCollectors.DataCollector.Configuration.Format=cobertura \
-- RunConfiguration.TestSessionTimeout=300000

- name: Install ReportGenerator
run: dotnet tool update -g dotnet-reportgenerator-globaltool
Expand Down Expand Up @@ -210,7 +214,8 @@ jobs:
--collect:"XPlat Code Coverage" \
--results-directory ./TestResults \
--logger "trx;LogFilePrefix=core-test-results" \
-- DataCollectionRunSettings.DataCollectors.DataCollector.Configuration.Format=cobertura
-- DataCollectionRunSettings.DataCollectors.DataCollector.Configuration.Format=cobertura \
-- RunConfiguration.TestSessionTimeout=300000
dotnet test test/PatternKit.Generators.Tests/PatternKit.Generators.Tests.csproj \
--configuration Release \
--framework net8.0 \
Expand All @@ -219,7 +224,8 @@ jobs:
--collect:"XPlat Code Coverage" \
--results-directory ./TestResults \
--logger "trx;LogFilePrefix=generators-test-results" \
-- DataCollectionRunSettings.DataCollectors.DataCollector.Configuration.Format=cobertura
-- DataCollectionRunSettings.DataCollectors.DataCollector.Configuration.Format=cobertura \
-- RunConfiguration.TestSessionTimeout=300000
dotnet test test/PatternKit.Hosting.Extensions.Tests/PatternKit.Hosting.Extensions.Tests.csproj \
--configuration Release \
--framework net8.0 \
Expand All @@ -228,7 +234,8 @@ jobs:
--collect:"XPlat Code Coverage" \
--results-directory ./TestResults \
--logger "trx;LogFilePrefix=hosting-test-results" \
-- DataCollectionRunSettings.DataCollectors.DataCollector.Configuration.Format=cobertura
-- DataCollectionRunSettings.DataCollectors.DataCollector.Configuration.Format=cobertura \
-- RunConfiguration.TestSessionTimeout=300000
dotnet test test/PatternKit.Examples.Tests/PatternKit.Examples.Tests.csproj \
--configuration Release \
--framework net8.0 \
Expand All @@ -237,7 +244,8 @@ jobs:
--collect:"XPlat Code Coverage" \
--results-directory ./TestResults \
--logger "trx;LogFilePrefix=examples-test-results" \
-- DataCollectionRunSettings.DataCollectors.DataCollector.Configuration.Format=cobertura
-- DataCollectionRunSettings.DataCollectors.DataCollector.Configuration.Format=cobertura \
-- RunConfiguration.TestSessionTimeout=300000


- name: Pack (all packable projects)
Expand Down
Loading