fix: Overhaul envelope parsing to be spec compliant#439
Merged
Conversation
We got some parsing errors recently when using gib-potatoe as our testbed. Turns out our initial parser is a bit naive and cannot work with certain payloads. This PR rewrites the parser based on the spec at https://develop.sentry.dev/sdk/envelopes/#serialization-format It also adds new test cases where the old parser fails some of them. Hoping this parser to be a bit more efficient too.
|
The latest updates on your projects. Learn more about Vercel for Git ↗︎
|
jan-auer
reviewed
Jul 12, 2024
jan-auer
approved these changes
Jul 12, 2024
kensternberg-authentik
added a commit
to kensternberg-authentik/spotlight
that referenced
this pull request
Jul 15, 2024
…rybook-8-compatibility * origin/HEAD: fix: Overhaul envelope parsing to be spec compliant (getsentry#439) fix: Always trim befor trying to JSON.parse (getsentry#438) Highlighted active span and event (getsentry#437) ref: Use new event helpers (getsentry#433) fix: Remove forgotton console.log statement feat: POC for adding spotlight overlay for ssr-errors (getsentry#364) ref: More concise event helpers (getsentry#431) fix: Fix CI issues (getsentry#432) fix: Send something immediately to trigger open event (getsentry#429) ref: More robust client init code generation (getsentry#426) docs: Add note about Volta - pnpm support (getsentry#425) Added Search in Trace detail (getsentry#424) Added Trace Info (getsentry#423) chore(deps-dev): bump vite from 4.5.2 to 4.5.3 (getsentry#392) chore(deps): bump braces from 3.0.2 to 3.0.3 (getsentry#415) docs: Add build step to initial setup (getsentry#418)
BYK
pushed a commit
that referenced
this pull request
Jul 22, 2024
This PR was opened by the [Changesets release](https://github.com/changesets/action) GitHub action. When you're ready to do a release, you can merge this and publish to npm yourself or [setup this action to publish automatically](https://github.com/changesets/action#with-publishing). If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated. # Releases ## @spotlightjs/astro@2.1.0 ### Minor Changes - A new Vite plugin under the main `@spotlightjs/spotlight` package that automatically injects spotlight for dev mode. It ([#434](#434)) also replaces Vite's error page shown on compilation errors with Spotlight. - 1. Altered the ssr-page vite plugin in @spotlight/astro to run spotlight overlay in fullscreen mode in ssr-error page. ([#364](#364)) 2. Closed astro erro overlay. 3. Added a option in sentry integration to open first error encountered in spotlight automatically. ### Patch Changes - Updated dependencies \[[`a8c09cd8629677ab3eed4bf7000de4c7068538ee`](a8c09cd)]: - @spotlightjs/spotlight@2.1.0 ## @spotlightjs/overlay@2.1.0 ### Minor Changes - 1. Altered the ssr-page vite plugin in @spotlight/astro to run spotlight overlay in fullscreen mode in ssr-error page. ([#364](#364)) 2. Closed astro erro overlay. 3. Added a option in sentry integration to open first error encountered in spotlight automatically. ### Patch Changes - Added search bar in trace ([#424](#424)) - - Show active span item in trace when span info is opened. ([#437](#437)) - Show active event in DeveloperInfo tab when event is info is opened. - added traceInfo ([#423](#423)) - Overhaul envelope parsing to be spec compliant ([#439](#439)) ## @spotlightjs/sidecar@1.5.0 ### Minor Changes - A new Vite plugin under the main `@spotlightjs/spotlight` package that automatically injects spotlight for dev mode. It ([#434](#434)) also replaces Vite's error page shown on compilation errors with Spotlight. ## @spotlightjs/spotlight@2.1.0 ### Minor Changes - A new Vite plugin under the main `@spotlightjs/spotlight` package that automatically injects spotlight for dev mode. It ([#434](#434)) also replaces Vite's error page shown on compilation errors with Spotlight. ### Patch Changes - Updated dependencies \[[`01321f8824ae133dc02a1d829c25952c884bf631`](01321f8), [`a8c09cd8629677ab3eed4bf7000de4c7068538ee`](a8c09cd), [`3792a5e742b3888a980a0b865fd23be941809040`](3792a5e), [`b5249aa761c783739543dc7bf27cdd8d0fe8cebe`](b5249aa), [`1c7896e02a2b81715c4e5c47cbb2fd6145868ab1`](1c7896e), [`41d90455fa94df0a01e93fd90574974dfca96764`](41d9045)]: - @spotlightjs/overlay@2.1.0 - @spotlightjs/sidecar@1.5.0 ## @spotlightjs/electron@1.0.1 ### Patch Changes - Updated dependencies \[[`01321f8824ae133dc02a1d829c25952c884bf631`](01321f8), [`a8c09cd8629677ab3eed4bf7000de4c7068538ee`](a8c09cd), [`3792a5e742b3888a980a0b865fd23be941809040`](3792a5e), [`b5249aa761c783739543dc7bf27cdd8d0fe8cebe`](b5249aa), [`1c7896e02a2b81715c4e5c47cbb2fd6145868ab1`](1c7896e), [`41d90455fa94df0a01e93fd90574974dfca96764`](41d9045)]: - @spotlightjs/overlay@2.1.0 - @spotlightjs/sidecar@1.5.0 Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
dcramer
pushed a commit
that referenced
this pull request
Jun 3, 2025
We got some parsing errors recently when using gib-potatoe as our testbed. Turns out our initial parser is a bit naive and cannot work with certain payloads. This PR rewrites the parser based on the spec at https://develop.sentry.dev/sdk/envelopes/#serialization-format It also adds new test cases where the old parser fails some of them. Hoping this parser to be a bit more efficient too.
dcramer
pushed a commit
that referenced
this pull request
Jun 3, 2025
This PR was opened by the [Changesets release](https://github.com/changesets/action) GitHub action. When you're ready to do a release, you can merge this and publish to npm yourself or [setup this action to publish automatically](https://github.com/changesets/action#with-publishing). If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated. # Releases ## @spotlightjs/astro@2.1.0 ### Minor Changes - A new Vite plugin under the main `@spotlightjs/spotlight` package that automatically injects spotlight for dev mode. It ([#434](#434)) also replaces Vite's error page shown on compilation errors with Spotlight. - 1. Altered the ssr-page vite plugin in @spotlight/astro to run spotlight overlay in fullscreen mode in ssr-error page. ([#364](#364)) 2. Closed astro erro overlay. 3. Added a option in sentry integration to open first error encountered in spotlight automatically. ### Patch Changes - Updated dependencies \[[`a8c09cd8629677ab3eed4bf7000de4c7068538ee`](a8c09cd)]: - @spotlightjs/spotlight@2.1.0 ## @spotlightjs/overlay@2.1.0 ### Minor Changes - 1. Altered the ssr-page vite plugin in @spotlight/astro to run spotlight overlay in fullscreen mode in ssr-error page. ([#364](#364)) 2. Closed astro erro overlay. 3. Added a option in sentry integration to open first error encountered in spotlight automatically. ### Patch Changes - Added search bar in trace ([#424](#424)) - - Show active span item in trace when span info is opened. ([#437](#437)) - Show active event in DeveloperInfo tab when event is info is opened. - added traceInfo ([#423](#423)) - Overhaul envelope parsing to be spec compliant ([#439](#439)) ## @spotlightjs/sidecar@1.5.0 ### Minor Changes - A new Vite plugin under the main `@spotlightjs/spotlight` package that automatically injects spotlight for dev mode. It ([#434](#434)) also replaces Vite's error page shown on compilation errors with Spotlight. ## @spotlightjs/spotlight@2.1.0 ### Minor Changes - A new Vite plugin under the main `@spotlightjs/spotlight` package that automatically injects spotlight for dev mode. It ([#434](#434)) also replaces Vite's error page shown on compilation errors with Spotlight. ### Patch Changes - Updated dependencies \[[`01321f8824ae133dc02a1d829c25952c884bf631`](01321f8), [`a8c09cd8629677ab3eed4bf7000de4c7068538ee`](a8c09cd), [`3792a5e742b3888a980a0b865fd23be941809040`](3792a5e), [`b5249aa761c783739543dc7bf27cdd8d0fe8cebe`](b5249aa), [`1c7896e02a2b81715c4e5c47cbb2fd6145868ab1`](1c7896e), [`41d90455fa94df0a01e93fd90574974dfca96764`](41d9045)]: - @spotlightjs/overlay@2.1.0 - @spotlightjs/sidecar@1.5.0 ## @spotlightjs/electron@1.0.1 ### Patch Changes - Updated dependencies \[[`01321f8824ae133dc02a1d829c25952c884bf631`](01321f8), [`a8c09cd8629677ab3eed4bf7000de4c7068538ee`](a8c09cd), [`3792a5e742b3888a980a0b865fd23be941809040`](3792a5e), [`b5249aa761c783739543dc7bf27cdd8d0fe8cebe`](b5249aa), [`1c7896e02a2b81715c4e5c47cbb2fd6145868ab1`](1c7896e), [`41d90455fa94df0a01e93fd90574974dfca96764`](41d9045)]: - @spotlightjs/overlay@2.1.0 - @spotlightjs/sidecar@1.5.0 Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
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.
We got some parsing errors recently when using gib-potatoe as
our testbed. Turns out our initial parser is a bit naive and
cannot work with certain payloads.
This PR rewrites the parser based on the spec at
https://develop.sentry.dev/sdk/envelopes/#serialization-format
It also adds new test cases where the old parser fails some of
them.
Hoping this parser to be a bit more efficient too.