fix: use pathToFileURL instead of regular URLs for cross-platform support #39
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.
https://nodejs.org/api/url.html#urlpathtofileurlpath-options
Least amount of changes to get bg images working on every platform.
I'm honestly not entirely sure what the point of
resource::getPath
is when we always seem to pass an absolute path to it anyway. But I guess now the point is to runpathToFileURL
on it which is only available in Node and not in the browser.I feel like we could just store these bg and media file URLs on the Song object instead, maybe even in place of the regular paths if we only use them as URLs anyway (I'm not entirely sure if this is the case). Seems a bit useless to have a round-trip for every song element just to convert its paths to file:// URLs (if that's all that's happening, maybe I'm missing something).
Doing this for Linux support for myself. Tested on macOS and Windows by @Tnixc, but you do have to clear your local app data for it if you still had it from before the db branch was merged.