* Refuse to run as root without explicit ignore
* Apply feedback
* Detect docker a bit better
* Guard more OS parts behind ifdefs
* Fix warnings
* Further fixes
* Add warnings about password security
* Warn about weak steam passwords even if they are encrypted
* Apply feedback
* Apply feedback
* Simplify code
* Move return criteria up a bit for increased performance
* Choose more fitting strings for localization
* Extract const value
* Fix incorrect null reference warning
* Switch prefix operator for postfix one
Co-authored-by: Łukasz Domeradzki <JustArchi@JustArchi.net>
* Add tests
* Disable CA1724
The type name Utilities conflicts in whole or in part with the namespace name 'Microsoft.VisualStudio.TestPlatform.Common.ExtensionFramework.Utilities'.
* Tell users why their password is considered weak
* Apply feedback
* Merge resource comments
* Misc.
* Use library for password testing and Run testing in background
* Clean up
* OncSeparate forbidden phrases forfor IPC passwords (once again)
* Additionally check encryption key
* Add comment about {0}
Co-authored-by: Łukasz Domeradzki <JustArchi@JustArchi.net>
OnHeartBeat() is the least important function that is called every minute if required, not being able to enter the semaphore means some other action is already in progress, and while it makes sense for stuff like OnPersonaState() to wait for it, because it requires that, heartbeat can totally miss being executed, especially if the previous call didn't manage to finish yet.
It's not destructive as it is right now because tasks would be cancelled eventually when the server starts responding (due to if being removed right now), but it's entirely unnecessary burden.