diff --git a/zerver/lib/unminify.py b/zerver/lib/unminify.py index 182b1c736c..1a99cd56b9 100644 --- a/zerver/lib/unminify.py +++ b/zerver/lib/unminify.py @@ -29,22 +29,23 @@ class SourceMap: out = '' # type: str for ln in stacktrace.splitlines(): out += ln + '\n' - match = re.search(r'/static/webpack-bundles/(.+)(\.[\.0-9a-f]+\.js):(\d+):(\d+)', ln) + match = re.search(r'/static/webpack-bundles/([^:]+):(\d+):(\d+)', ln) if match: # Get the appropriate source map for the minified file. - minified_src = match.groups()[0] + match.groups()[1] + minified_src = match.groups()[0] index = self._index_for(minified_src) - gen_line, gen_col = list(map(int, match.groups()[2:4])) + gen_line, gen_col = list(map(int, match.groups()[1:3])) # The sourcemap lib is 0-based, so subtract 1 from line and col. try: result = index.lookup(line=gen_line-1, column=gen_col-1) display_src = result.src - webpack_prefix = "webpack:///" - if display_src.startswith(webpack_prefix): - display_src = display_src[len(webpack_prefix):] - out += (' = %s line %d column %d\n' % - (display_src, result.src_line+1, result.src_col+1)) + if display_src is not None: + webpack_prefix = "webpack:///" + if display_src.startswith(webpack_prefix): + display_src = display_src[len(webpack_prefix):] + out += (' = %s line %d column %d\n' % + (display_src, result.src_line+1, result.src_col+1)) except IndexError: out += ' [Unable to look up in source map]\n'