Skip to content

Conversation

smeubank
Copy link
Contributor

@smeubank smeubank commented Mar 24, 2025

Description

The source maps wizard is designed for JavaScript projects. it cannot help developers working with react-native

  • extends the logic to detect if it is a react-native project and remove the wizard on that condition.
  • update copy in the modal for react-native projects for different states where we could not find the proper files with debugIds or debugIds were not properly injected
  • added a generated link to the project's uploaded source maps, based on the given debugId
    • source maps page empty state to handle telling developers what they should to remedy that
    • configre their react-native project and importantly run scripts for iOS and Android builds

Updated the Source Maps Uploaded page:

  • react-native project empty state directs users to trigger proper builds to upload source maps, and link to docs
  • react-native project empty search state directs users to check for uploads of iOS and android bundles and links to docs

Screenshots

updated modal:

image

empty state:

image

empty search state:

image

The source maps wizard is designed for JavaScript projects. it cannot help developers working with react-native

This PR extends the logic to detect if it is a react-native project and rmeove the wizard on that condition.

We should improve the modal to better handle projects but that is another issue.
@smeubank smeubank requested a review from a team as a code owner March 24, 2025 10:30
@github-actions github-actions bot added the Scope: Frontend Automatically applied to PRs that change frontend components label Mar 24, 2025
priscilawebdev
priscilawebdev previously approved these changes Mar 24, 2025
remove some repetitive text,  add link to RN source maps docs to top. Since it's kinda hidden below.
next we should add context to that page, especially for the empty state, which is most likely for users in this flow
Copy link

codecov bot commented Mar 24, 2025

❌ 1 Tests Failed:

Tests completed Failed Passed Skipped
10041 1 10040 11
View the top 1 failed test(s) by shortest run time
SourceMapsDebuggerModal renders proper message when active tab is 'release', release has some
    artifact and release name fetching was unsuccessful
Stack Traces | 0.252s run time
TestingLibraryElementError: Unable to find an element with the text: /This stack frame doesn't have a path/. This could be because the text is broken up by multiple elements. In this case, you can provide a function for your text matcher to make your matcher more flexible.

Ignored nodes: comments, script, style
...
    at Object.getElementError (.../sentry/sentry/node_modules/@.../dom/dist/config.js:37:19)
    at .../sentry/sentry/node_modules/@.../dom/dist/query-helpers.js:76:38
    at .../sentry/sentry/node_modules/@.../dom/dist/query-helpers.js:52:17
    at .../sentry/sentry/node_modules/@.../dom/dist/query-helpers.js:95:19
    at Object.<anonymous> (.../events/interfaces/sourceMapsDebuggerModal.spec.tsx:75:40)
    at runNextTicks (node:internal/process/task_queues:65:5)
    at processTimers (node:internal/timers:526:9)

To view more test analytics, go to the Test Analytics Dashboard
📋 Got 3 mins? Take this short survey to help us improve Test Analytics.

@priscilawebdev priscilawebdev dismissed their stale review March 25, 2025 07:06

there are new changes

added empty state and empty search state, which includes links to react-native source maps docs, and example scripts of what the developers need to do to ensure they're uploading source maps for Android and iOS builds
to={
projectSlug
? `/settings/projects/${projectSlug}/source-maps/?query=${debugId}`
: `/settings/projects/:projectId/source-maps/?query=${debugId}`
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

does this work? I have never written a link this way

Comment on lines +1262 to +1264
{tct('You did not upload any artifacts with debug IDs yet.', {
link: <ExternalLinkWithIcon href={sourceMapsDocLinks.sourcemaps} />,
})}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

same here. Also if we are going to repeat this multiple times, maybe it is worth creating a reusable component

{isReactNativeSDK({sdkName: sourceResolutionResults.sdkName}) && (
<p>
{tct(
'Check your [link:source maps uploads] for the missing source maps for debug ID: [debugId]. You should have source maps for both Android and iOS builds.',
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

should we always have Debug IDs capitalized?

@priscilawebdev
Copy link
Member

priscilawebdev commented Mar 28, 2025

Should we have a panel wrapping the empty state + a doc button as we have in relays? 🤔

image

@getsantry
Copy link
Contributor

getsantry bot commented Jun 6, 2025

This issue has gone three weeks without activity. In another week, I will close it.

But! If you comment or otherwise update it, I will reset the clock, and if you remove the label Waiting for: Community, I will leave it alone ... forever!


"A weed is but an unloved flower." ― Ella Wheeler Wilcox 🥀

@getsantry getsantry bot removed the Stale label Jun 7, 2025
@getsantry
Copy link
Contributor

getsantry bot commented Jun 29, 2025

This issue has gone three weeks without activity. In another week, I will close it.

But! If you comment or otherwise update it, I will reset the clock, and if you remove the label Waiting for: Community, I will leave it alone ... forever!


"A weed is but an unloved flower." ― Ella Wheeler Wilcox 🥀

@getsantry getsantry bot added Stale and removed Stale labels Jun 29, 2025
@krystofwoldrich
Copy link
Contributor

This is a great improvement of the UX when source maps are missing for RN project,

what is blocking the merge?

@priscilawebdev
Copy link
Member

@krystofwoldrich, this has already been implemented (see below), so this PR can likely be closed. However, I didn’t want to close it myself and was waiting for either Steven or the bot to take care of that

Screen.Recording.2025-07-04.at.07.40.30.mov

@krystofwoldrich
Copy link
Contributor

@priscilawebdev Thank you, I see.

@smeubank
Copy link
Contributor Author

oh i didn't realize those changes were shipped and correct 😅

i can't confirm the accuracy of the RN scrips but i will close

@smeubank smeubank closed this Jul 14, 2025
@github-actions github-actions bot locked and limited conversation to collaborators Jul 30, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Scope: Frontend Automatically applied to PRs that change frontend components
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants