getsentry / symbolic

Stack trace symbolication library written in Rust
https://github.com/getsentry/symbolic#readme
MIT License
436 stars 75 forks source link

Symbolicate runtime types for Flutter web events #807

Open marandaneto opened 11 months ago

marandaneto commented 11 months ago

Relates to https://github.com/dart-lang/sdk/issues/53027

The event.exceptions[x].type is minified and is used to create the Issue's titles on Sentry. Issue's title now looks like this: minified:rT instead of Exception which is the demangled version of rT.

Screenshot 2023-07-24 at 15 14 41

The Flutter web source maps contain extensions that allow the demangling of such runtime types.

https://github.com/dart-lang/sdk/blob/master/pkg/compiler/doc/sourcemap_extensions.md#minified-names-data

The goal of this issue would be to demangle also the exception types for better Issue titles.

This can also be used to demangle View hierarchy that heavily depends on the runtime types.

As you can see the note:

Deobfuscation for view hierarchies is fully supported for native SDKs, and React Native, but is currently not supported for Flutter.

Consider making it generic that the demangling of runtime types can be used for Errors but not only.

loewenheim commented 11 months ago

This would require a number of changes in our stack.

All of this is eminently doable, but it's no small effort and requires careful consideration.

Fraa-124 commented 3 months ago

any update on this?

loewenheim commented 3 months ago

Sorry, we haven't been working on this. It's still at the "maybe, at some point" stage.