From b9843d626e7d5a97ec12566239170c118127c4bc Mon Sep 17 00:00:00 2001 From: Jan Michael Auer Date: Tue, 11 Dec 2018 14:43:02 -0800 Subject: [PATCH] fix: Support Windows UNC paths in debug images (#11010) --- src/sentry/lang/native/utils.py | 2 +- src/sentry/static/sentry/app/components/events/errorItem.jsx | 2 +- .../sentry/app/components/events/interfaces/debugmeta.jsx | 2 +- .../static/sentry/app/components/events/interfaces/frame.jsx | 2 +- .../app/views/settings/project/projectProcessingIssues.jsx | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/sentry/lang/native/utils.py b/src/sentry/lang/native/utils.py index 277d6c3a8f8f8..eaa8a61710d84 100644 --- a/src/sentry/lang/native/utils.py +++ b/src/sentry/lang/native/utils.py @@ -16,7 +16,7 @@ VERSION_RE = re.compile(r'(\d+\.\d+\.\d+)\s+(.*)') # Regular expression to guess whether we're dealing with Windows or Unix paths -WINDOWS_PATH_RE = re.compile(r'^[a-z]:\\', re.IGNORECASE) +WINDOWS_PATH_RE = re.compile(r'^([a-z]:\\|\\\\)', re.IGNORECASE) AppInfo = namedtuple('AppInfo', ['id', 'version', 'build', 'name']) diff --git a/src/sentry/static/sentry/app/components/events/errorItem.jsx b/src/sentry/static/sentry/app/components/events/errorItem.jsx index 3ab62dd33ed6b..9584a81c509a5 100644 --- a/src/sentry/static/sentry/app/components/events/errorItem.jsx +++ b/src/sentry/static/sentry/app/components/events/errorItem.jsx @@ -45,7 +45,7 @@ class EventErrorItem extends React.Component { if (typeof data.image_path === 'string') { // Separate the image name for readability - let separator = /^[a-z]:\\/i.test(data.image_path) ? '\\' : '/'; + let separator = /^([a-z]:\\|\\\\)/i.test(data.image_path) ? '\\' : '/'; let path = data.image_path.split(separator); data.image_name = path.splice(-1, 1)[0]; data.image_path = path.length ? path.join(separator) + separator : ''; diff --git a/src/sentry/static/sentry/app/components/events/interfaces/debugmeta.jsx b/src/sentry/static/sentry/app/components/events/interfaces/debugmeta.jsx index d4bdc845816ba..945a2b545ee5f 100644 --- a/src/sentry/static/sentry/app/components/events/interfaces/debugmeta.jsx +++ b/src/sentry/static/sentry/app/components/events/interfaces/debugmeta.jsx @@ -19,7 +19,7 @@ class DebugMetaInterface extends React.Component { return null; } - let name = img.name.split(/^[a-z]:\\/i.test(img.name) ? '\\' : '/').pop(); + let name = img.name.split(/^([a-z]:\\|\\\\)/i.test(img.name) ? '\\' : '/').pop(); if (name == 'dyld_sim') return null; // this is only for simulator builds let version = null; diff --git a/src/sentry/static/sentry/app/components/events/interfaces/frame.jsx b/src/sentry/static/sentry/app/components/events/interfaces/frame.jsx index c1b9d01ab02d3..17dcbf2d712bf 100644 --- a/src/sentry/static/sentry/app/components/events/interfaces/frame.jsx +++ b/src/sentry/static/sentry/app/components/events/interfaces/frame.jsx @@ -17,7 +17,7 @@ import Truncate from 'app/components/truncate'; import space from 'app/styles/space'; export function trimPackage(pkg) { - let pieces = pkg.split(/^[a-z]:\\/i.test(pkg) ? '\\' : '/'); + let pieces = pkg.split(/^([a-z]:\\|\\\\)/i.test(pkg) ? '\\' : '/'); let filename = pieces[pieces.length - 1] || pieces[pieces.length - 2] || pkg; return filename.replace(/\.(dylib|so|a|dll|exe)$/, ''); } diff --git a/src/sentry/static/sentry/app/views/settings/project/projectProcessingIssues.jsx b/src/sentry/static/sentry/app/views/settings/project/projectProcessingIssues.jsx index e66e555fc8930..e9161baeeaa82 100644 --- a/src/sentry/static/sentry/app/views/settings/project/projectProcessingIssues.jsx +++ b/src/sentry/static/sentry/app/views/settings/project/projectProcessingIssues.jsx @@ -230,7 +230,7 @@ const ProjectProcessingIssues = createReactClass({ }, getImageName(path) { - let pathSegments = path.split(/^[a-z]:\\/i.test(path) ? '\\' : '/'); + let pathSegments = path.split(/^([a-z]:\\|\\\\)/i.test(path) ? '\\' : '/'); return pathSegments[pathSegments.length - 1]; },