Skip to content

Source Maps for Flutter Web are not used in dashboard issues #1679

@mkukharev

Description

@mkukharev

Platform

Flutter Web

Obfuscation

Enabled

Debug Info

Disabled

Doctor

Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 3.13.7, on macOS 14.0 23A344 darwin-arm64, locale en-NZ)
[!] Android toolchain - develop for Android devices (Android SDK version 33.0.1)
✗ cmdline-tools component is missing
Run path/to/sdkmanager --install "cmdline-tools;latest"
See https://developer.android.com/studio/command-line for more details.
✗ Android license status unknown.
Run flutter doctor --android-licenses to accept the SDK licenses.
See https://flutter.dev/docs/get-started/install/macos#android-setup for more details.
[!] Xcode - develop for iOS and macOS (Xcode 15.0)
✗ Unable to get list of installed Simulator runtimes.
[✓] Chrome - develop for the web
[✓] Android Studio (version 2021.3)
[✓] IntelliJ IDEA Ultimate Edition (version 2023.2.1)
[✓] VS Code (version 1.83.0)
[✓] Connected device (2 available)
[✓] Network resources

Version

7.10.1

Steps to Reproduce

After going through the docs and StackOverflow posts, I ended up with the following setup.

In the main.dart file I have the following code

void main() async {
  runZonedGuarded(() async {
    await LocalStorage.initData();
    await dotenv.load();
    var appProviderWrapper = const ReceptionerAppProviderWrapper();
    await SentryFlutter.init(
      (options) {
        options.dsn =
            'https://${dotenv.env['SENTRY_PROJECT_KEY']!}@o1329392.ingest.sentry.io/${dotenv.env['SENTRY_PROJECT_SUFFIX']!}';
        // Set tracesSampleRate to 1.0 to capture 100% of transactions for performance monitoring.
        // We recommend adjusting this value in production.
        options.tracesSampleRate = 1.0;
        options.attachScreenshot = true;
        options.screenshotQuality = SentryScreenshotQuality.low;
        options.sampleRate = 1.0;
        options.release = '[email protected]';
        options.environment = 'production';
        options.dist = 'rprod';
      },
    );
    runApp(
      SentryScreenshotWidget(
        child: appProviderWrapper,
      ),
    );
  }, (exception, stackTrace) async {
    await Sentry.captureException(exception, stackTrace: stackTrace);
  });
}

This code is built in AWS Amplify using a custom docker image (with flutter preinstalled). Then using sentry-cli the source maps are uploaded into Sentry using the following command

sentry-cli releases files [email protected] upload-sourcemaps ./build/web/ --rewrite --org=redium --project=$SENTRY_PROJECT --auth-token=$SENTRY_API_KEY --dist=rprod 

The release makes it to sentry with files attached to it
image
image
image
image
image

On the last screenshot, the labels on the issue match the values that I used in the Flutter code (release and environment). The "dist" value is the same in the code and in the sentry-cli command and can be seen on the screenshot of the bundle for the release.

Expected Result

I should be able to see a source code lines where the exception happened

Actual Result

Despite everything seems to be connected and set up, I still see this in every issue in the Sentry Dashboard

image image

Are you willing to submit a PR?

None

Metadata

Metadata

Assignees

Labels

Projects

Status

Done

Status

Waiting for: Community

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions