bugsnag-js icon indicating copy to clipboard operation
bugsnag-js copied to clipboard

Stacktrace parsing removes parenthes from source maps when using NEXT.js Route Groups

Open adamstuller opened this issue 1 year ago • 4 comments

Describe the bug

When using route groups in NEXT.js, and submitting an error using @bugsnag/js notify method, stacktrace is incorrectly parsed (all parentheses are removed).

For example: file URL https://APP_URL/_next/static/chunks/app/(app)/layout-65e9281b65d94580.js is converted to https://APP_URL/_next/static/chunks/app/app/layout-65e9281b65d94580.js. This makes Bugsnag unable to find a matching uploaded source map.

This problem is caused by error-stack-parser library used for javascript error stacktrace parsing. There is a 2-year-old opened issue with a proposed solution https://github.com/stacktracejs/error-stack-parser/issues/62, but evidently, no one maintains the repo nowadays.

Context

Here parentheses are removed in the error-stack-parser library: https://github.com/stacktracejs/error-stack-parser/blob/master/error-stack-parser.js#L47 Here is the PR that should solve it but no one merges it: https://github.com/stacktracejs/error-stack-parser/pull/82 Here it is used in Bugsnag repository: https://github.com/bugsnag/bugsnag-js/blob/next/packages/core/event.js#L221

Proposed solution

As it is a core feature, it might make sense to fork the library and fix the issue.

adamstuller avatar Aug 27 '24 11:08 adamstuller