POC: Add --all-snapshot and --all-thin flags#1765
Draft
yahanxing-stripe wants to merge 3 commits into
Draft
Conversation
This is a v2 breaking change that removes the separate --thin-events, --forward-thin-to, and --forward-thin-connect-to flags. Instead, the unified --events flag accepts both snapshot event types (e.g. charge.captured) and thin event types (e.g. v1.billing.meter.no_meter_found), auto-detecting the payload style from the event name pattern (v[0-9]+. prefix). The --forward-to flag now forwards both snapshot and thin events to the same destination. Internally, events are still split into two channels (webhooks + v2_events) for the proxy layer. Key behavior changes: - `stripe listen` with default --events "*" now opens BOTH websocket channels (snapshot + thin) - `--forward-to` forwards both payload styles to the same URL - `--forward-connect-to` forwards both payload styles for connect events Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> Committed-By-Agent: claude
Adds --events-from <self|accounts|all> to separate the "where events come from" concern from "where events go". This replaces the pattern of using --forward-connect-to as the only way to receive connect events. Examples: stripe listen --events-from accounts --forward-to localhost:4242/webhook stripe listen --events-from self -e charge.captured --forward-to ... stripe listen --events-from all --forward-to ... (default) --forward-connect-to is kept as syntactic sugar for routing connect events to a different URL than direct events. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> Committed-By-Agent: claude
Adds explicit flags to subscribe to all events of a given payload style, solving the ambiguity of what "*" means when both channels exist. - --all-snapshot: subscribe to all snapshot events - --all-thin: subscribe to all thin events - --events default changes from ["*"] to [] (empty) - Bare "stripe listen" with no flags opens both channels (firehose) Examples: stripe listen --all-thin --forward-to localhost:4242/webhook stripe listen --all-snapshot --events-from accounts --forward-to ... Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> Committed-By-Agent: claude
f44a9dc to
f95f465
Compare
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.
Summary
Builds on #1764. Adds
--all-snapshotand--all-thinflags to explicitly subscribe to all events of a given payload style, replacing the ambiguous--events "*"wildcard.--eventsdefault changes from["*"]to[](no implicit subscription)stripe listenwith no flags opens both channels (firehose mode)--all-snapshot --forward-to ...replaces old--events "*" --forward-to ...--all-thin --forward-to ...replaces old--thin-events "*" --forward-thin-to ...🤖 Generated with Claude Code