You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The ":" (colon) character is supposed to resolve to the location of the RetroArch app bundle (typically /Applications/RetroArch.app, assuming the app is placed in the suggested directory and not renamed). However, any spaces in the path are interpreted as "%20", which causes the wrong directories to be loaded.
This behavior can be seen when using this Homebrew cask for the nightly build, which renames RetroArch.app to RetroArch Nightly.app to avoid conflicts with the stable build.
Expected behavior
The ":" (colon) expands to the location of the app bundle. (i.e. /Applications/RetroArch Nightly.app).
Actual behavior
The spaces (and possibly other characters) in the path to the app bundle are not escaped properly (i.e. /Applications/RetroArch%20Nightly.app).
Pure speculation, but this may be due to a conflict with other settings like core_updater_buildbot_assets_url, which expect an online URL rather than a local directory/file. Perhaps the presence of ":/" causes the string to be interpreted incorrectly?
Steps to reproduce the bug
Place RetroArch.app in /Applications and run it once to generate the default retroarch.cfg.
Rename RetroArch.app to RetroArch Nightly.app, which contains a space.
Observe the following behavior:
In Settings > Video > Video Filter, no video filters are listed.
In Settings > Audio > DSP Plugin, no audio filters are listed.
A "fake app" named RetroArch%20Nightly.app is created next to RetroArch Nightly.app. (macOS treats all files with the .app extension as launch-able apps, but attempting to do so only gives the OS-standard "damaged or incomplete" message.) It contains Contents/Resources/filters/audio and Contents/Resources/filters/video. This is where RetroArch is looking for audio and video filters. These directories will be created every time RetroArch is opened.
Interestingly, if RetroArch.app is renamed before it is ran for the first time, then the aforementioned values in the generated retroarch.cfg are edited to use the full app path rather than ":" expansion. (This means the assets are always able to be extracted on the first launch.) However, if the app is renamed after that, then a similar "fake app" issue will occur, since the old app path will no longer exist. Ideally, ":" expansion should still be used in these cases, but fixed so all characters are properly escaped.
Bisect Results
The same behavior appears to occur on every version since stable 1.9.0.
Version/Commit
You can find this information under Information/System Information
First and foremost consider this:
Description
On macOS, the default settings for
audio_filter_dir
,bundle_assets_src_path
, andvideo_filter_dir
are as follows:The ":" (colon) character is supposed to resolve to the location of the RetroArch app bundle (typically
/Applications/RetroArch.app
, assuming the app is placed in the suggested directory and not renamed). However, any spaces in the path are interpreted as "%20", which causes the wrong directories to be loaded.This behavior can be seen when using this Homebrew cask for the nightly build, which renames
RetroArch.app
toRetroArch Nightly.app
to avoid conflicts with the stable build.Expected behavior
The ":" (colon) expands to the location of the app bundle. (i.e.
/Applications/RetroArch Nightly.app
).Actual behavior
The spaces (and possibly other characters) in the path to the app bundle are not escaped properly (i.e.
/Applications/RetroArch%20Nightly.app
).Pure speculation, but this may be due to a conflict with other settings like
core_updater_buildbot_assets_url
, which expect an online URL rather than a local directory/file. Perhaps the presence of ":/" causes the string to be interpreted incorrectly?Steps to reproduce the bug
RetroArch.app
in/Applications
and run it once to generate the defaultretroarch.cfg
.RetroArch.app
toRetroArch Nightly.app
, which contains a space.RetroArch%20Nightly.app
is created next toRetroArch Nightly.app
. (macOS treats all files with the.app
extension as launch-able apps, but attempting to do so only gives the OS-standard "damaged or incomplete" message.) It containsContents/Resources/filters/audio
andContents/Resources/filters/video
. This is where RetroArch is looking for audio and video filters. These directories will be created every time RetroArch is opened.Interestingly, if
RetroArch.app
is renamed before it is ran for the first time, then the aforementioned values in the generatedretroarch.cfg
are edited to use the full app path rather than ":" expansion. (This means the assets are always able to be extracted on the first launch.) However, if the app is renamed after that, then a similar "fake app" issue will occur, since the old app path will no longer exist. Ideally, ":" expansion should still be used in these cases, but fixed so all characters are properly escaped.Bisect Results
The same behavior appears to occur on every version since stable 1.9.0.
Version/Commit
You can find this information under Information/System Information
Environment information
The text was updated successfully, but these errors were encountered: