symbolic icon indicating copy to clipboard operation
symbolic copied to clipboard

Symbolicate runtime types for Flutter web events

Open marandaneto opened this issue 1 year ago • 3 comments

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.

marandaneto avatar Jul 24 '23 13:07 marandaneto

This would require a number of changes in our stack.

  • rust-sourcemap needs to support a custom sourcemap extension.
  • symbolic needs to support this extension.
  • Symbolicator needs to know about the exception type when symbolicating. I.e. the structure of what gets sent to Symbolicator must change.

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

loewenheim avatar Jul 27 '23 09:07 loewenheim

any update on this?

Fraa-124 avatar Mar 31 '24 19:03 Fraa-124

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

loewenheim avatar Apr 03 '24 08:04 loewenheim