getsentry / sentry-cordova

The official Sentry SDK for Cordova
https://sentry.io/
MIT License
69 stars 53 forks source link

Set correct path for the Sourcemap #136

Closed Sampath-Lokuge closed 5 years ago

Sampath-Lokuge commented 5 years ago

Hi,

Can you tell me why it takes/set sorcemaps from C:/Program Files/Git/5.js (sourcemap at 5.js.map)? I cannot see any files under this folder C:/Program Files/Git/ on pc.

This is what I have done so far,

This is an Ionic 3 project:

./node_modules/.bin/sentry-cli releases -o moes -p reno new 1.0.2

./node_modules/.bin/sentry-cli releases -o moes -p reno files 1.0.2 upload-sourcemaps --url-prefix / .sourcemaps www/build --rewrite

./node_modules/.bin/sentry-cli releases -o moes -p reno finalize 1.0.2

This is the output of above commands:

Sampath@DESKTOP-U6BSQ2K MINGW64 /d/Clients/Siva/renoTracker (master) $ ./node_modules/.bin/sentry-cli releases -o hines -p eno new 1.0.2 Created release 1.0.2.

  • Closing connection 0
  • schannel: shutting down SSL/TLS connection with sentry.io port 443

Sampath@DESKTOP-U6BSQ2K MINGW64 /d/Clients/Siva/renoTracker (master) $ ./node_modules/.bin/sentry-cli releases -o nes -p reno files 1.0.2 upload-sourcemaps --url-prefix / .sourcemaps www/build --rewrite

Analyzing 80 sources Rewriting sources Adding source map references Uploading source maps for release 1.0.2

Source Map Upload Report Scripts C:/Program Files/Git/main.css.map Minified Scripts C:/Program Files/Git/0.js (sourcemap at 0.js.map) C:/Program Files/Git/1.js (sourcemap at 1.js.map) C:/Program Files/Git/10.js (sourcemap at 10.js.map) C:/Program Files/Git/11.js (sourcemap at 11.js.map) C:/Program Files/Git/12.js (sourcemap at 12.js.map) C:/Program Files/Git/13.js (sourcemap at 13.js.map) C:/Program Files/Git/14.js (sourcemap at 14.js.map) C:/Program Files/Git/15.js (sourcemap at 15.js.map) C:/Program Files/Git/16.js (sourcemap at 16.js.map) C:/Program Files/Git/17.js (sourcemap at 17.js.map) C:/Program Files/Git/18.js (sourcemap at 18.js.map) C:/Program Files/Git/19.js (sourcemap at 19.js.map) C:/Program Files/Git/2.js (sourcemap at 2.js.map) C:/Program Files/Git/20.js (sourcemap at 20.js.map) C:/Program Files/Git/21.js (sourcemap at 21.js.map) C:/Program Files/Git/22.js (sourcemap at 22.js.map) C:/Program Files/Git/23.js (sourcemap at 23.js.map) C:/Program Files/Git/3.js (sourcemap at 3.js.map) C:/Program Files/Git/4.js (sourcemap at 4.js.map) C:/Program Files/Git/5.js (sourcemap at 5.js.map) C:/Program Files/Git/6.js (sourcemap at 6.js.map) C:/Program Files/Git/7.js (sourcemap at 7.js.map) C:/Program Files/Git/8.js (sourcemap at 8.js.map) C:/Program Files/Git/9.js (sourcemap at 9.js.map) C:/Program Files/Git/main.js (sourcemap at main.js.map) C:/Program Files/Git/polyfills.js (no sourcemap ref)

  • warning: could not determine a source map reference (Could not auto-detect referenced sourcemap for C:/Program Files/Git/polyfills.js.) C:/Program Files/Git/sw-toolbox.js (sourcemap at sw-toolbox.js.map)
  • warning: could not determine a source map reference (Could not auto-detect referenced sourcemap for C:/Program Files/Git/sw-toolbox.js.) C:/Program Files/Git/vendor.js (sourcemap at vendor.js.map) Source Maps C:/Program Files/Git/0.js.map C:/Program Files/Git/1.js.map C:/Program Files/Git/10.js.map C:/Program Files/Git/11.js.map C:/Program Files/Git/12.js.map C:/Program Files/Git/13.js.map C:/Program Files/Git/14.js.map C:/Program Files/Git/15.js.map C:/Program Files/Git/16.js.map C:/Program Files/Git/17.js.map C:/Program Files/Git/18.js.map C:/Program Files/Git/19.js.map C:/Program Files/Git/2.js.map C:/Program Files/Git/20.js.map C:/Program Files/Git/21.js.map C:/Program Files/Git/22.js.map C:/Program Files/Git/23.js.map C:/Program Files/Git/3.js.map C:/Program Files/Git/4.js.map C:/Program Files/Git/5.js.map C:/Program Files/Git/6.js.map C:/Program Files/Git/7.js.map C:/Program Files/Git/8.js.map C:/Program Files/Git/9.js.map C:/Program Files/Git/main.js.map C:/Program Files/Git/vendor.js.map
    • Closing connection 0
    • schannel: shutting down SSL/TLS connection with sentry.io port 443
    • Closing connection 0
    • schannel: shutting down SSL/TLS connection with sentry.io port 443
    • Closing connection 0
    • schannel: shutting down SSL/TLS connection with sentry.io port 443
    • Closing connection 0
    • schannel: shutting down SSL/TLS connection with sentry.io port 443
    • Closing connection 0
    • schannel: shutting down SSL/TLS connection with sentry.io port 443
    • Closing connection 0
    • schannel: shutting down SSL/TLS connection with sentry.io port 443
    • Closing connection 0
    • schannel: shutting down SSL/TLS connection with sentry.io port 443
    • Closing connection 0
    • schannel: shutting down SSL/TLS connection with sentry.io port 443

Sampath@DESKTOP-U6BSQ2K MINGW64 /d/Clients/Siva/renoTracker (master) $ ./node_modules/.bin/sentry-cli releases -o nes -p reno finalize 1.0.2 Finalized release 1.0.2.

  • Closing connection 0
  • schannel: shutting down SSL/TLS connection with sentry.io port 443

package.json

{
    "name": "Reno",
    "version": "0.0.1",
    "author": "Ionic Framework",
    "homepage": "http://ionicframework.com/",
    "private": true,
    "scripts": {
        "clean": "ionic-app-scripts clean",
        "build": "ionic-app-scripts build",
        "lint": "ionic-app-scripts lint",
        "ionic:build": "ionic-app-scripts build",
        "ionic:serve": "ionic-app-scripts serve"
    },
    "config": {
        "ionic_source_map_type": "source-map",
        "ionic_generate_source_map": true,
        "ionic_move_source_maps": true
    },
    "dependencies": {
        "@angular/common": "5.0.0",
        "@angular/compiler": "5.0.0",
        "@angular/compiler-cli": "5.0.0",
        "@angular/core": "5.0.0",
        "@angular/forms": "5.0.0",
        "@angular/http": "5.0.0",
        "@angular/platform-browser": "5.0.0",
        "@angular/platform-browser-dynamic": "5.0.0",
        "@ionic-native/app-rate": "4.5.3",
        "@ionic-native/call-number": "4.3.3",
        "@ionic-native/camera": "4.3.2",
        "@ionic-native/contacts": "4.3.3",
        "@ionic-native/core": "4.3.3",
        "@ionic-native/facebook": "4.5.3",
        "@ionic-native/file": "4.5.3",
        "@ionic-native/file-opener": "4.5.3",
        "@ionic-native/firebase": "4.5.3",
        "@ionic-native/globalization": "4.5.3",
        "@ionic-native/google-plus": "4.5.3",
        "@ionic-native/in-app-browser": "4.6.0",
        "@ionic-native/local-notifications": "4.5.3",
        "@ionic-native/network": "4.5.3",
        "@ionic-native/screen-orientation": "4.4.2",
        "@ionic-native/social-sharing": "4.3.3",
        "@ionic-native/splash-screen": "4.3.2",
        "@ionic-native/status-bar": "4.3.2",
        "@ionic/storage": "2.1.3",
        "@sentry/cli": "^1.44.1",
        "@types/papaparse": "4.1.33",
        "angular2-text-mask": "8.0.2",
        "angularfire2": "5.0.0-rc.6",
        "call-number": "^1.0.1",
        "cordova-android": "6.4.0",
        "cordova-android-support-gradle-release": "2.0.1",
        "cordova-ios": "4.5.5",
        "cordova-plugin-apprate": "1.4.0",
        "cordova-plugin-badge": "0.8.8",
        "cordova-plugin-camera": "2.4.1",
        "cordova-plugin-compat": "1.2.0",
        "cordova-plugin-contacts": "2.3.1",
        "cordova-plugin-device": "1.1.7",
        "cordova-plugin-dialogs": "2.0.1",
        "cordova-plugin-facebook4": "1.9.1",
        "cordova-plugin-file": "4.3.3",
        "cordova-plugin-file-opener2": "2.0.19",
        "cordova-plugin-firebase": "0.1.25",
        "cordova-plugin-globalization": "1.0.9",
        "cordova-plugin-googleplus": "5.2.1",
        "cordova-plugin-inappbrowser": "1.7.2",
        "cordova-plugin-ionic-webview": "1.1.16",
        "cordova-plugin-local-notification": "0.9.0-beta.2",
        "cordova-plugin-nativestorage": "2.3.2",
        "cordova-plugin-network-information": "2.0.1",
        "cordova-plugin-screen-orientation": "2.0.2",
        "cordova-plugin-splashscreen": "4.1.0",
        "cordova-plugin-statusbar": "2.3.0",
        "cordova-plugin-whitelist": "1.3.3",
        "cordova-plugin-x-socialsharing": "5.2.1",
        "cordova-sqlite-storage": "2.1.2",
        "es6-promise-plugin": "4.2.2",
        "firebase": "4.8.2",
        "highcharts": "6.0.2",
        "highcharts-more": "0.1.2",
        "ionic-angular": "3.9.2",
        "ionic-img-viewer": "2.7.3",
        "ionic-plugin-keyboard": "2.2.1",
        "ionic2-rating": "1.2.2",
        "ionicons": "3.0.0",
        "lodash": "4.17.11",
        "moment": "2.19.3",
        "mx.ferreyra.callnumber": "0.0.2",
        "ng2-truncate": "1.3.11",
        "papaparse": "4.3.7",
        "rxjs": "5.5.4",
        "sentry-cordova": "^0.15.0",
        "sw-toolbox": "3.6.0",
        "text-mask-addons": "3.6.0",
        "zone.js": "0.8.18"
    },
    "devDependencies": {
        "@ionic/app-scripts": "3.2.4",
        "typescript": "2.4.2"
    },
    "description": "An Ionic project",
    "cordova": {
        "plugins": {
            "cordova-plugin-device": {},
            "cordova-plugin-splashscreen": {},
            "cordova-plugin-statusbar": {},
            "cordova-plugin-whitelist": {},
            "ionic-plugin-keyboard": {},
            "cordova-sqlite-storage": {},
            "cordova-plugin-ionic-webview": {},
            "cordova-plugin-camera": {
                "CAMERA_USAGE_DESCRIPTION": " ",
                "PHOTOLIBRARY_USAGE_DESCRIPTION": " "
            },
            "cordova-plugin-contacts": {
                "CONTACTS_USAGE_DESCRIPTION": " "
            },
            "cordova-plugin-x-socialsharing": {},
            "mx.ferreyra.callnumber": {},
            "call-number": {},
            "cordova-plugin-screen-orientation": {},
            "cordova-plugin-inappbrowser": {},
            "cordova-plugin-firebase": {},
            "cordova-plugin-apprate": {},
            "cordova-plugin-file": {},
            "cordova-plugin-file-opener2": {},
            "cordova-plugin-local-notification": {},
            "cordova-plugin-globalization": {},
            "cordova-plugin-compat": {},
            "cordova-plugin-network-information": {},
            "cordova-android-support-gradle-release": {
                "ANDROID_SUPPORT_VERSION": "27.+"
            },
            "sentry-cordova": {}
        },
        "platforms": [
            "ios",
            "android"
        ]
    }
}

config.xml

<?xml version='1.0' encoding='utf-8'?>
<widget id="reno" version="1.1.5" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
    <name>Budge</name>
    <description>Renor</description>
    <author email="hi@ionicframework" href="http://ionicframework.com/">Ionic Framework Team</author>
    <content src="index.html" />
    <access origin="*" />
    <access origin="sentry.io" />
    <allow-navigation href="http://ionic.local/*" />
    <allow-intent href="http://*/*" />
    <allow-intent href="https://*/*" />
    <allow-intent href="tel:*" />
    <allow-intent href="sms:*" />
    <allow-intent href="mailto:*" />
    <allow-intent href="geo:*" />
    <preference name="webviewbounce" value="false" />
    <preference name="UIWebViewBounce" value="false" />
    <preference name="DisallowOverscroll" value="true" />
    <preference name="android-minSdkVersion" value="16" />
    <preference name="BackupWebStorage" value="none" />
    <preference name="SplashMaintainAspectRatio" value="true" />
    <preference name="SplashScreenDelay" value="30000" />
    <preference name="FadeSplashScreenDuration" value="1000" />
    <preference name="SplashShowOnlyFirstTime" value="false" />
    <preference name="SplashScreen" value="screen" />
    <preference name="ShowSplashScreenSpinner" value="true" />
    <platform name="android">
        <allow-intent href="market:*" />
        <icon density="ldpi" src="resources/android/icon/drawable-ldpi-icon.png" />
        <icon density="mdpi" src="resources/android/icon/drawable-mdpi-icon.png" />
        <icon density="hdpi" src="resources/android/icon/drawable-hdpi-icon.png" />
        <icon density="xhdpi" src="resources/android/icon/drawable-xhdpi-icon.png" />
        <icon density="xxhdpi" src="resources/android/icon/drawable-xxhdpi-icon.png" />
        <icon density="xxxhdpi" src="resources/android/icon/drawable-xxxhdpi-icon.png" />
        <splash density="land-ldpi" src="resources/android/splash/drawable-land-ldpi-screen.png" />
        <splash density="land-mdpi" src="resources/android/splash/drawable-land-mdpi-screen.png" />
        <splash density="land-hdpi" src="resources/android/splash/drawable-land-hdpi-screen.png" />
        <splash density="land-xhdpi" src="resources/android/splash/drawable-land-xhdpi-screen.png" />
        <splash density="land-xxhdpi" src="resources/android/splash/drawable-land-xxhdpi-screen.png" />
        <splash density="land-xxxhdpi" src="resources/android/splash/drawable-land-xxxhdpi-screen.png" />
        <splash density="port-ldpi" src="resources/android/splash/drawable-port-ldpi-screen.png" />
        <splash density="port-mdpi" src="resources/android/splash/drawable-port-mdpi-screen.png" />
        <splash density="port-hdpi" src="resources/android/splash/drawable-port-hdpi-screen.png" />
        <splash density="port-xhdpi" src="resources/android/splash/drawable-port-xhdpi-screen.png" />
        <splash density="port-xxhdpi" src="resources/android/splash/drawable-port-xxhdpi-screen.png" />
        <splash density="port-xxxhdpi" src="resources/android/splash/drawable-port-xxxhdpi-screen.png" />
    </platform>
    <platform name="ios">
        <allow-intent href="itms:*" />
        <allow-intent href="itms-apps:*" />
        <icon height="57" src="resources/ios/icon/icon.png" width="57" />
        <icon height="114" src="resources/ios/icon/icon@2x.png" width="114" />
        <icon height="40" src="resources/ios/icon/icon-40.png" width="40" />
        <icon height="80" src="resources/ios/icon/icon-40@2x.png" width="80" />
        <icon height="120" src="resources/ios/icon/icon-40@3x.png" width="120" />
        <icon height="50" src="resources/ios/icon/icon-50.png" width="50" />
        <icon height="100" src="resources/ios/icon/icon-50@2x.png" width="100" />
        <icon height="60" src="resources/ios/icon/icon-60.png" width="60" />
        <icon height="120" src="resources/ios/icon/icon-60@2x.png" width="120" />
        <icon height="180" src="resources/ios/icon/icon-60@3x.png" width="180" />
        <icon height="72" src="resources/ios/icon/icon-72.png" width="72" />
        <icon height="144" src="resources/ios/icon/icon-72@2x.png" width="144" />
        <icon height="76" src="resources/ios/icon/icon-76.png" width="76" />
        <icon height="152" src="resources/ios/icon/icon-76@2x.png" width="152" />
        <icon height="167" src="resources/ios/icon/icon-83.5@2x.png" width="167" />
        <icon height="29" src="resources/ios/icon/icon-small.png" width="29" />
        <icon height="58" src="resources/ios/icon/icon-small@2x.png" width="58" />
        <icon height="87" src="resources/ios/icon/icon-small@3x.png" width="87" />
        <splash height="1136" src="resources/ios/splash/Default-568h@2x~iphone.png" width="640" />
        <splash height="1334" src="resources/ios/splash/Default-667h.png" width="750" />
        <splash height="2208" src="resources/ios/splash/Default-736h.png" width="1242" />
        <splash height="1242" src="resources/ios/splash/Default-Landscape-736h.png" width="2208" />
        <splash height="1536" src="resources/ios/splash/Default-Landscape@2x~ipad.png" width="2048" />
        <splash height="2048" src="resources/ios/splash/Default-Landscape@~ipadpro.png" width="2732" />
        <splash height="768" src="resources/ios/splash/Default-Landscape~ipad.png" width="1024" />
        <splash height="2048" src="resources/ios/splash/Default-Portrait@2x~ipad.png" width="1536" />
        <splash height="2732" src="resources/ios/splash/Default-Portrait@~ipadpro.png" width="2048" />
        <splash height="1024" src="resources/ios/splash/Default-Portrait~ipad.png" width="768" />
        <splash height="960" src="resources/ios/splash/Default@2x~iphone.png" width="640" />
        <splash height="480" src="resources/ios/splash/Default~iphone.png" width="320" />
        <icon height="1024" src="resources/ios/icon/icon-1024.png" width="1024" />
        <splash height="2732" src="resources/ios/splash/Default@2x~universal~anyany.png" width="2732" />
    </platform>
    <allow-navigation href="http://192.168.1.2:8101" />
    <allow-navigation href="http://192.168.1.2:8102" />
    <allow-navigation href="http://192.168.1.2:8103" />
    <allow-navigation href="http://192.168.1.2:8100" />
    <allow-navigation href="http://192.168.1.3:8100" />
    <allow-navigation href="http://192.168.1.3:8101" />
    <allow-navigation href="http://103.246.99.71:8100" />
    <allow-navigation href="http://103.246.99.71:8101" />
    <edit-config file="*-Info.plist" mode="merge" target="NSContactsUsageDescription">
        <string>need contacts access to search friends</string>
    </edit-config>
    <edit-config file="*-Info.plist" mode="merge" target="NSCameraUsageDescription">
        <string>need camera access to take pictures</string>
    </edit-config>
    <edit-config file="*-Info.plist" mode="merge" target="NSPhotoLibraryUsageDescription">
        <string>need photo library access to get pictures from there</string>
    </edit-config>
    <edit-config file="*-Info.plist" mode="merge" target="NSPhotoLibraryAddUsageDescription">
        <string>need photo library access to save pictures there</string>
    </edit-config>
    <plugin name="call-number" spec="^1.0.1" />
    <plugin name="cordova-plugin-apprate" spec="1.3.0" />
    <plugin name="cordova-plugin-camera" spec="2.4.1">
        <variable name="CAMERA_USAGE_DESCRIPTION" value=" " />
        <variable name="PHOTOLIBRARY_USAGE_DESCRIPTION" value=" " />
    </plugin>
    <plugin name="cordova-plugin-contacts" spec="2.3.1">
        <variable name="CONTACTS_USAGE_DESCRIPTION" value=" " />
    </plugin>
    <plugin name="cordova-plugin-device" spec="1.1.7" />
    <plugin name="cordova-plugin-file" spec="4.3.3" />
    <plugin name="cordova-plugin-file-opener2" spec="2.0.19" />
    <plugin name="cordova-plugin-firebase" spec="0.1.25" />
    <plugin name="cordova-plugin-globalization" spec="1.0.9" />
    <plugin name="cordova-plugin-inappbrowser" spec="1.7.2" />
    <plugin name="cordova-plugin-ionic-webview" spec="1.1.16" />
    <plugin name="cordova-plugin-local-notification" spec="0.9.0-beta.2" />
    <plugin name="cordova-plugin-network-information" spec="2.0.1" />
    <plugin name="cordova-plugin-screen-orientation" spec="2.0.2" />
    <plugin name="cordova-plugin-splashscreen" spec="4.1.0" />
    <plugin name="cordova-plugin-statusbar" spec="2.3.0" />
    <plugin name="cordova-plugin-whitelist" spec="1.3.3" />
    <plugin name="cordova-plugin-x-socialsharing" spec="5.2.1" />
    <plugin name="cordova-sqlite-storage" spec="2.1.2" />
    <plugin name="ionic-plugin-keyboard" spec="2.2.1" />
    <plugin name="mx.ferreyra.callnumber" spec="0.0.2" />
    <plugin name="cordova-plugin-compat" spec="1.2.0" />
    <plugin name="cordova-android-support-gradle-release" spec="^2.0.1">
        <variable name="ANDROID_SUPPORT_VERSION" value="27.+" />
    </plugin>
    <plugin name="sentry-cordova" spec="^0.15.0" />
    <engine name="ios" spec="4.5.5" />
    <engine name="android" spec="6.4.0" />
</widget>

Sentry dashbord shows below error

Alt Text

I don't know why this path?

Alt Text

I cannot see ts file error on dashboard?

HazAT commented 5 years ago

We are looking into this, could be a bug in sentry-cli on windows. Just to double check, what is the folder you are executing sentry-cli in?

Sampath-Lokuge commented 5 years ago

Hi @HazAT

Yes, I use Win 10 Pro.

I have used these ./node_modules/.bin/sentry-cli releases -o moes -p reno new 1.0.2 kinds of CLI within Ionic 3 app root folder like so.

If you need anything else please let me know.

jan-auer commented 5 years ago

Hi there. The cause of this issue is cygwin or the mingw git shell that you're running in. At some point, ~either sentry-cli or presumably rather~ the cygwin layer performs path expansion of the URL prefix that you're specifying in the command:

sentry-cli releases files upload-sourcemaps --url-prefix / ...

The root path / in this case maps to C:\Program Files\Git\. You can reproduce this by running:

cygpath -w /

~Anyway, I suggest to just set the url-prefix to app:/// or ~/ and you should be good.~ I'll try to figure out if it's sentry-cli that is resolving this path, but in this case I'm expecting that cygwin is messing with the terminal input.

Update: Did some more digging into this. You have two options:

  1. Omit --url-prefix / entirely. This will prefix all your paths with ~/ which is exactly what you want.
  2. If you do care about the leading slash, pass --url-prefix //, which stops windows path expansion in cygwin.
Sampath-Lokuge commented 5 years ago

Hi @jan-auer

Thanks a lot. It works now.

I have done this.

SENTRY_SKIP_AUTO_RELEASE=true ionic cordova build android --prod

./node_modules/.bin/sentry-cli releases -o machines -p reno new 1.0.8

./node_modules/.bin/sentry-cli releases -o machines -p reno files 1.0.8 upload-sourcemaps www/build --rewrite

./node_modules/.bin/sentry-cli releases -o machines -p reno finalize 1.0.8