* Experiment with two windows
* Improve multi-instance behaviour
Previously, ArmCord would attempt to launch up a completely new
instance each time when multi-instances setting were enabled. This
doesn't work well as Electron doesn't support running multiple instances
of the same app pointing to the same user data directory
(which by default on GNU/Linux is `~/.config/ArmCord`). Doing so would
result in this error:
> Failed to open LevelDB database" "file currently in use"
It's possible to workaround this behaviour by passing in a parameter to
a different user data directory when launching subsequent instances of
armcord, like so:
```shell
$ armcord --user-data-directory=$HOME/.config/ArmCord-2
```
However, this method ends up taking disk storage in the multiples of the
number of armcord instances that are simultaneously running, which isn't
ideal.
Looking into this more, it looks like Electron can do multiple windows
fine with the same user data directory. I gave this a try and it seems
to be working nice. With this PR, running any subsequent instances of
armcord will open up a new window in the original armcord instance. This
should also help with better resource utilization when compared to
running multiple full blown instances of armcord.
* Fix lints
* Updates and Linting
* fix lint task
* [ImgBot] Optimize images
*Total -- 404.98kb -> 304.38kb (24.84%)
/assets/screenshot-1920x1080.png -- 205.00kb -> 123.21kb (39.9%)
/build/appx/Square150x150Logo.png -- 9.63kb -> 7.71kb (20%)
/assets/ac_icon.png -- 40.15kb -> 34.98kb (12.88%)
/assets/StoreLogo.png -- 40.15kb -> 34.98kb (12.88%)
/assets/Square150x150Logo.png -- 7.24kb -> 6.53kb (9.83%)
/assets/ac_icon_transparent.png -- 45.54kb -> 42.00kb (7.76%)
/assets/ac_plug_colored.png -- 17.98kb -> 16.72kb (7%)
/assets/ac_black_plug.png -- 8.49kb -> 8.06kb (5.06%)
/assets/ac_black_plug_hollow.png -- 10.30kb -> 9.95kb (3.4%)
/build/appx/Square44x44Logo.png -- 1.69kb -> 1.64kb (2.89%)
/assets/Square44x44Logo.png -- 1.90kb -> 1.85kb (2.83%)
/assets/Wide310x150Logo.png -- 4.21kb -> 4.17kb (0.97%)
/build/appx/Wide310x150Logo.png -- 4.21kb -> 4.17kb (0.97%)
/assets/ac_white_plug.png -- 8.49kb -> 8.42kb (0.83%)
Signed-off-by: ImgBotApp <ImgBotHelp@gmail.com>
* Asyncification!!!
Check `REVIEW` comments
* More async for `src/discord`
* update packages to latest minor version
* Void some promises
* Add some types - 93 problems left!
* make DeepScan Happy
* DeepScan part 2
* I am the Constant
* preload must be `.mts`
* Migrate electron context menu official package
* fix bad preload on setup window
* fix minor import oversights
* fix modloader
* Stop main window from continuing during setup
* update packages, slow dependabot
* Remove paste override, it seems to work without now
* IPC typing
* Package updates & a few more typings
* fix linting errors in screenshare
* use pnpm in actions
* fix dev releaser?
* update node build, fix dev one more time
* release action is broke
* Fix Release
* update actions
* actions are so finicky
* remove delete-tag-and-release
* add github token env
* Hopefully this fixes the release workflow
* [debug]
* this should actually fix it
* Fix typo in dev action
* put everything in a dir and then get it
* use a different releaser
* correct release file location
* action places it in a folder named x.zip, recurse into that and grab the actual files
* Cleanup actions a bit
* release is dependent on mac build
* remove mac build
* split linux arm and x86
* rely on linux arm
* remove deprecated action
* attempt to fix weird recursive zip
* fix env
* use pnpm in actions
fix dev releaser?
update node build, fix dev one more time
release action is broke
Fix Release
update actions
actions are so finicky
remove delete-tag-and-release
add github token env
Hopefully this fixes the release workflow
[debug]
this should actually fix it
Fix typo in dev action
put everything in a dir and then get it
use a different releaser
correct release file location
action places it in a folder named x.zip, recurse into that and grab the actual files
Cleanup actions a bit
release is dependent on mac build
remove mac build
split linux arm and x86
rely on linux arm
remove deprecated action
attempt to fix weird recursive zip
fix env
* don't globally install pnpm packages (I don't think the cache checks global)
* Type the armcord window
* Finalize typings
* fix deepscan issues
* fix screenshare preload
* fix app quitting
---------
Signed-off-by: ImgBotApp <ImgBotHelp@gmail.com>
Co-authored-by: ImgBotApp <ImgBotHelp@gmail.com>
Co-authored-by: smartfrigde <37928912+smartfrigde@users.noreply.github.com>
* Redo the Wayland checks for Linux
* Update the Wayland window decorations comments
* Nit: don't nest if checks, update some comments
* Nit: stricter env var checks
* toLowerCase() on Wayland/Linux string checks
* Use toLowerCase() properly
Co-authored-by: Ven <vendicated@riseup.net>
* Don't use toLowerCase() on XDG_SESSION_TYPE
* Null safety for XDG_SESSION_TYPE and toLowerCase
* Change how appendSwitch is used
* Forgot the quotes
* When the platform is Linux, it will always be lowercase
Co-authored-by: unlwly <x57luw@gmail.com>
* Comment out any Linux and Wayland checks
They were nonfunctioning anyways.
---------
Co-authored-by: Ven <vendicated@riseup.net>
Co-authored-by: unlwly <x57luw@gmail.com>
* Redo the Wayland checks for Linux
* Update the Wayland window decorations comments
* Nit: don't nest if checks, update some comments
* Nit: stricter env var checks
* toLowerCase() on Wayland/Linux string checks
* Use toLowerCase() properly
Co-authored-by: Ven <vendicated@riseup.net>
* Don't use toLowerCase() on XDG_SESSION_TYPE
* Null safety for XDG_SESSION_TYPE and toLowerCase
Co-authored-by: Ven <vendicated@riseup.net>
* fix first instance not showing when opening 2nd
* Avoid window creation/init if 2nd instance
* fix white flash on startup, add en-us transparent entry for future use
* fix white flash for settings window too
Co-authored-by: octopushugger <octopushugger@github.com>
* 2 new things (Read desc.)
- Cleaned up ASAR packaging, ignoring unneeded files for building
- Moved install location for Windows users ("AppData\Local\Programs" -> "AppData\Local"
* 3 things (Read desc.)
- Updated things related to Hummus (Hummus settings don't save nor load in it's respective settings window yet, idk why)
- Added check for package version (ArmCord's internal version)
- Made check for Kernel mod a bit cleaner, it still uses the same jank method
* 3 things
- Made macOS titlebar more accurate to Discord
- Added "unFocused" class when window isn't focused
- Added option to uninstall Husky hook for Windows users with reminder to run format script before committing
* Resolved a dumb issue
My dumbass not knowing the "echo" command existed smh
* Made "precommit-fix" warning more noticable
* Whoops
* Fixed a CSS bug
Discord updates are gonna hate us, huh?
* 4 things (Formatted)
- Updated coding for getting the current version
- Updated some context menu and tray stuff
- Added current version to the title of the settings window
- Added the ability to restart the app within the settings
* A few things
- Updated tray menu to include the tray icon infront of the ArmCord version
- Updated MacOS titlebar to not be broken in setup
- Polished settings menu a bit
- Polished the Discord tray icon
- Added the Classic Discord icon as tray icon option
* 2 new things (Read desc.)
- Cleaned up ASAR packaging, ignoring unneeded files for building
- Moved install location for Windows users ("AppData\Local\Programs" -> "AppData\Local"
* 3 things (Read desc.)
- Updated things related to Hummus (Hummus settings don't save nor load in it's respective settings window yet, idk why)
- Added check for package version (ArmCord's internal version)
- Made check for Kernel mod a bit cleaner, it still uses the same jank method
* 3 things
- Made macOS titlebar more accurate to Discord
- Added "unFocused" class when window isn't focused
- Added option to uninstall Husky hook for Windows users with reminder to run format script before committing
* Resolved a dumb issue
My dumbass not knowing the "echo" command existed smh
* Made "precommit-fix" warning more noticable
* Whoops
* Fixed a CSS bug
Discord updates are gonna hate us, huh?