[WIP] Electron 10 and other goodies
jostrander opened this issue ยท 8 comments
I'm using this as a status tracker for my progress in upgrading the app to electron 10. I have a bit of work to do still, but currently it loads the respective player interfaces and a good majority of stuff works on Ubuntu. This list is not exhaustive and I may update it as more issues arise. I will publish a branch as soon as I fix a few more smaller issues.
To Do:
- Refactor translation provider to use
customElement
sinceregisterElement
is obsolete. - Get electron-rebuild working in electron 10
- Figure out all of the "global" stuff like Settings / TranslationProvider / Emitters
- Upgrade build tooling / gulp so we can use node 12+
Upgraded to gulp 4, node 12/14 works. Removed all the release code in favor of electron forge.
- Remove obsolete settings that no longer apply
- Test chrome flags for compatibility with newer version of electron such as hardware acceleration / 5.1 audio, etc.
- Retool release packagers / tooling
Upgraded to electron-forge. I don't have signing keys so that is untested. If the documentation is correct it should work.
- Linux
- Windows
- macOS
- Ensure all tests still work with any modifications
- Ensure all security related dependencies are up to date
- Set YouTube music to the primary or only player (if GPM goes EOL before this is done)
- Test Windows / Mac / Linux for native module support.
- Upgrade mouse-forward-back to work with newer versions of electron and Context Switching
- Sound appears to not work intermittently, need to do root-cause analysis.
- Settings save, but don't update the UI live currently, seems like a react issue.
- Convert ll-keyboard-hook-win to NAPI for compatibility with electron 10. MarshallOfSound/node-lowlevel-keyboard-hook-win#3
Being that this is going to be a slightly large over-haul, maybe we should upgrade to v5? I'll leave that open for discussion.
๐ Is there anything Simple on your To do List which might be worth attempting to do?
Additionally is there any testing ETC needed done.
I'm interested in getting this project started back up, but don't know if I'm biting to much than I can chew.
Removing GPM would probably be an easier one considering it's just removing a bunch of code, if you want to fork my repository and make a PR there so this can remain as one PR that would work.
Additionally are you looking to update to NodeJS 12?
As for Win10 the Optional Dependencies for for the nodert-win10 collection of packages, ALL still required NodeJS 6->10 due to the warning C4996: '{TYPE OF SOME FORM}': was declared deprecated
Otherwise I'll look to stripping the features of only GPM as that'll probably be a good start to this ๐
There are a ton of issues in Mac / Windows that I haven't gotten to yet. I run primarily Linux so that's what I tackled first.
Thank you for working on this!
I am hopeful to see an update to GPMDP. Love to use it for my workdays full of background music.
Thank you ๐ธ.
The work has stopped apparently, unfortunately. And I know it's out of topic, but YTM isn't as nice as GPM was. So motivation to work on such software maybe less than it used to be.
I wish someone would fork this and continue the work. This repository is basically abandoned.
But I agree YTM isn't as nice and maybe people jump ship to Spotify.