fix(ios): report script source urls using full file: uris #12725
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
JIRA: https://jira.appcelerator.org/browse/TIMOB-28422
Description:
When we evaluate JS files we tell the JS engine the source URL for the script. We used to report
file://
with the full path on device (or to the simulator app files). SDK 10.0.0 changed the internals of require and we ended up reporting invalid URIs with thefile://
scheme but whose path was actually relative to the app root. That was intentional internally forrequire
, but not for the debugger as it causes breakage in Studio. Specifically, Studio uses a regexp to set breakpoints for scripts in many cases and used the.app/
prefix to avoid the regex matching files deeper in the app source file tree.So to give some examples, in SDK 9.3.2 we'd report:
Prior to this PR, we'd report:
(Note that ti.kernel.js was using the right path because it's the first file we run and doesn't go through the new require code that aligns with Android)