- added `Patch.getPatchInfo()` now caches its data
- increased `Game.getLatestData()` method caching time to 6 hours
From other commits:
- improved dropdown item contrast (!18)
- fixed DXVK applying
- fixed `Cache.set()` work
- added log files auto-saving
- fixed `Domain.getInfo()` work with different system languages
- added debug logs printing in console
- added proper launched game closing handling
- added `patch` property to `Patch.install()` method to optimize it a bit
- added `button-blue` and `aria-label` thingies removing after test patch applying
- added some visual tweaks during patch applying
- updated logo
- updated discord rpc structure, settings menu and so on
- (probably) fixed .tmp files deletion
- decreased `Game.getLatestData()` caching period
- fixed discord-rpc binary execution
- made preparations to make discord rpc settings
- fixed game updating mechanism
- fixed `Patch.getPatchInfo()` method work
- added proper design for patch-related launcher states
- fixed progress bar displaying issues during pre-downloaded game unpacking
- added remained .tmp files removing before launcher closes
- improved `Process.run()`, fixed its work with AppImages
also now it finds the real process id by the `pgrep -P` command
which is a lot faster and better
- made Discord RPC preparations
made `discord-rpc` cli utility
made `DiscordRPC` class to manage it
- changed `'` to `"` in every command execution
- `Voice.current` field changed to `Voice.installed`
- `Voice.selected` field now returns list of selected voice packages
- added `Voice.delete()` method to delete voice package
- `Voice.isUpdatePredownloaded()` method now can check list of voice packages
- fixed ProgressBar's `showTotals` property work
- decreased maximal wine prefix creation log size in progress bar
- improved `Process.run` command which now finds correct process id
- made DropdownCheckboxes component
- made voice packages selection system