UI: Don't load global plugins in portable mode; Minor portable mode fixes
Description
Consists of three small commits that all are related / kinda depend on each other. I'm all for atomic commits but don't think separate PR's are needed here. Feel free to disagree with me and let me know.
- Edit: Commit dropped. ~~Moves the checks for
disable_updateranddisable_missing_files_checkfiles out of theALLOW_PORTABLE_MODEifdef. They have nothing to do with portable mode and should work even if portable mode isn't supported by the system. Most likely this was an oversight in the first place.~~ - Nearly everything that involves portable mode is ifdef'ed, just not actually setting the variable. This would mean that if the
--portableargument was passed on unsupported systems, the log would show portable mode as enabled even though it's effectively no-op. This can lead to confusion and shouldn't be the case. - Portable mode is meant to be separated from the rest of the system, and as such it doesn't make sense to load globally installed plugins there. On Windows, there currently are only two major plugins that I'm aware of (StreamDeck and StreamFX) that install themselves there. Plugins installing themselves there is good, but it currently also means that even portable instances load them which can make testing and debugging in a clean environment annoying.
Motivation and Context
Read about the annoyance of global plugins loading in portable mode multiple times over the last few days. Noticed the other things while working on that.
How Has This Been Tested?
1 and 2 have been tested on my Mac (macOS 13.1).
3 was tested by Flaeri, who confirmed that the streamdeck plugin no longer loads.
Types of changes
- Bug fix (non-breaking change which fixes an issue)
- Breaking change (fix or feature that would cause existing functionality to change)
Checklist:
- [x] My code has been run through clang-format.
- [x] I have read the contributing document.
- [x] My code is not on the master branch.
- [x] The code has been tested.
- [x] All commit messages are properly formatted and commits squashed where appropriate.
- [x] I have included updates to all appropriate documentation.
Tested on windows 10 22H2. I have the streamdeck plugin installed in %programdata% as is per default. It would load on 29 release, but does not load with the code in this pr. I have not tested extensively, but the portable part seems to work as intended, and with a cursory glance, nothing has exploded, yet.
~~I would quite like at least 79bd265223db10c550a9267994ed426d4dcfe1b6 and 841a1e28f6fb5131b36639d8952faa8807ff217b to be picked to the release branch when merged.~~
I misunderstood the impact. Seems like we're actually fine 😅
Dropped the first commit as per off-thread discussion on Discord.
R1ch had no objections off-thread.