Repository navigation
Correct the streaming limit docs and stale SDK and proto comments - #898
Merged
Merged
Conversation
bkeroack
force-pushed
the
docs/streaming-doc-mismatches
branch
from
October 5, 2026 20:34
a395ff0 to
532f6f4
Compare
- eventsgrpcmaxsubscriptions was described as the watch-set size per gRPC stream. It caps concurrent Subscribe and Watch streams across all connections, and eventsgrpcmaxconns caps connections, not streams. The config reference and the GrpcLimits doc comments named only Subscribe. - Both SDKs said the server silently drops an over-rate SetCursor. Since #441 it answers in-band with CursorRejected RATE_LIMITED. - Two proto comments still said silent-payment matching and BlockTweaks emit "land in a later change"; both shipped. The Go bindings are regenerated for the comment change. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
bkeroack
force-pushed
the
docs/streaming-doc-mismatches
branch
from
October 6, 2026 13:54
532f6f4 to
72ea01a
Compare
bkeroack
added a commit
that referenced
this pull request
Oct 6, 2026
- eventsgrpcmaxsubscriptions was described as the watch-set size per gRPC stream. It caps concurrent Subscribe and Watch streams across all connections, and eventsgrpcmaxconns caps connections, not streams. The config reference and the GrpcLimits doc comments named only Subscribe. - Both SDKs said the server silently drops an over-rate SetCursor. Since #441 it answers in-band with CursorRejected RATE_LIMITED. - Two proto comments still said silent-payment matching and BlockTweaks emit "land in a later change"; both shipped. The Go bindings are regenerated for the comment change. Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com> (cherry picked from commit e019c7d)
This was referenced Oct 6, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
Some streaming-API docs and comments describe behaviour the server does not have.
docs/api/streaming.md§12 and the manual describeeventsgrpcmaxsubscriptionsas the "watch-set size per gRPC stream". It caps concurrentSubscribeandWatchstreams across all connections (events/src/grpc.rs, sharedactive_subscounter). The gRPC carrier has no general per-stream entry cap, only the per-connection silent-payment and descriptor caps. The same tables calleventsgrpcmaxconns"concurrent gRPC streams"; it caps TCP connections. The config reference and theGrpcLimitsdoc comments named onlySubscribe.RateLimitederror kind say the server silently drops an over-rateSetCursor. Since feat(events): deterministic mid-stream SetCursor re-anchor ack/reject (#439) #441 it answers in-band withCursorRejected(RATE_LIMITED).events.protostill say silent-payment matching (AddSilentPayments) andBlockTweaksemit and replay "land in a later change". Both have shipped.The docs also promise that an over-quota watch add is rejected with
RESOURCE_EXHAUSTED/429, while the server drops it without a signal. That one is fixed in the node by #899, which makes the server report the rejection in-band, so this PR leaves that text alone.Fix
Documentation and comments only; no behaviour changes.
docs/api/streaming.md§12,docs/manual/src/streaming.md,config-reference.md: correct the two limit rows.events/src/grpc.rs: the cap's doc comments nameWatchas well asSubscribe.satd-events-client/src/error.rs(RateLimited) andclients/go/errors.go(KindRateLimited): say how the server reports an over-rateSetCursor.events.proto: drop the two placeholder sentences.clients/go/eventspbis regenerated withclients/go/gen.sh; the only diff is those two comments.Ran locally:
clients/go/lint.sh(gofmt, vet, staticcheck, errcheck),clients/go/gen.sh(bindings match the proto),mdbook build docs/manual, andRUSTDOCFLAGS=-D warnings cargo doc -p satd-events-client --no-deps. The new intra-doc links resolve. That command still fails on 8 unresolved links and 1 private-item link that are already on the base branch, inevent.rs,lib.rsandresilient_watch.rs; CI does not run it.Notes
release/0.6, for 0.6.1, with Report a refused watch add in-band (WatchAddRejected) #899, so 0.6.1 ships the corrected docs and comments. It was first opened against master; the commit forked at therelease/0.6cut and replays with the same patch. A forward-port to master follows once it merges; the published manual builds from master, so its fix goes live then.🤖 Generated with Claude Code