Skip to content

Ship 0.16.0 gRPC IStreamStoreConnectionV2 over KurrentDB.Client - #259

Merged
condron merged 1 commit into
masterfrom
chris/230-grpc-streamstore-wrapper
Jul 21, 2026
Merged

Ship 0.16.0 gRPC IStreamStoreConnectionV2 over KurrentDB.Client#259
condron merged 1 commit into
masterfrom
chris/230-grpc-streamstore-wrapper

Conversation

@condron

@condron condron commented Jul 20, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Add KurrentDBConnectionWrapper (IStreamStoreConnectionV2) adopted from StreamStore’s conformance-tested gRPC wrapper, with connection-scoped bearer/basic auth, partition interceptor, and optional TestServer handler factory.
  • Keep V1 IStreamStoreConnection $all defaults unchanged; filtered/domain-only $all is opt-in via SubscribeToAllFiltered + StreamStoreEventFilter. Carry RecordedEvent.Position (Expose the $all position on RecordedEvent #252) through TCP and gRPC mapping.
  • Bump to 0.16.0 (current nuspec packaging + KurrentDB.Client 1.2.0); add mapping/auth/interceptor/establish tests and storage-update docs/release notes.

Test plan

  • dotnet test src/ReactiveDomain.Testing.Tests (net8.0 + net10.0)
  • CI PR checks green
  • Smoke against a real KurrentDB node with basic auth (external)
  • Follow-up: StreamStore cutover to RD 0.16.0 package (separate)

@condron
condron requested a review from a team as a code owner July 20, 2026 22:48

@joshkempner joshkempner left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The public methods on the KurrentDBConnectionWrapper and other public classes should all include XML docs.

Comment thread src/build.props Outdated
Comment thread src/ReactiveDomain.Persistence/ReactiveDomain.Persistence.csproj Outdated
Comment thread src/ReactiveDomain.Persistence/EventStore/KurrentDBConnectionWrapper.cs Outdated
Comment thread src/ReactiveDomain.Persistence/EventStore/KurrentDBConnectionWrapper.cs Outdated
Comment thread src/ReactiveDomain.Persistence/EventStore/KurrentDBConnectionWrapper.cs Outdated
Comment thread src/ReactiveDomain.Persistence/EventStore/GrpcConnectionWrapper.cs Outdated
Comment thread src/ReactiveDomain.Persistence/EventStore/KurrentDBConnectionWrapper.cs Outdated
Comment thread src/ReactiveDomain.Persistence/EventStore/KurrentDBConnectionWrapper.cs Outdated
Comment thread src/ReactiveDomain.Persistence/IStreamStoreConnectionV2.cs Outdated
Comment thread src/ReactiveDomain.Persistence/StreamStoreEventFilter.cs Outdated
Adopt StreamStore's conformance-tested wrapper as KurrentDBConnectionWrapper while keeping V1 SubscribeToAll defaults stable, and carry RecordedEvent.Position (#252) so mapping is done once.

Co-authored-by: Cursor <cursoragent@cursor.com>
@condron
condron force-pushed the chris/230-grpc-streamstore-wrapper branch from fffbb68 to 2956400 Compare July 21, 2026 19:12
@condron
condron merged commit f62b721 into master Jul 21, 2026
4 checks passed
@condron
condron deleted the chris/230-grpc-streamstore-wrapper branch July 21, 2026 19:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants