Installer
Installer copied to clipboard
Convert from Electron to Wails
This is part of the effort to convert from an Electron-based application to a Wails-based application. It would reduce the number of issues on Windows with the weird electron-forge zip-wrapping, and massively reduce both the filesize and runtime overhead. This can lay the groundwork to share common code between this and our CLI. As a bonus, if we ever decide to go forward with the "bd manager" app idea, this would pave the way there as well.
Important things to do before merging:
- [x] Add update check
- [ ] Adjust GitHub workflow to properly build this
- [x] Include the linux love and care changes by working with @samfundev
- [x] Expose flatpak to global BetterDiscord folder and make BD use
HOST_XDG_CONFIG_HOME - [x] Install locally for snap installs
- [x] Expose flatpak to global BetterDiscord folder and make BD use
- [x] General code cleanup
- [x] Separate the non-common action code into postfixed files like
actions_windows.go
- [x] Separate the non-common action code into postfixed files like
- [x] Bug testing with beta users
- [x] Testing general cases
- [ ] Testing edge cases
- [ ] Unit tests
- [x] Update dependencies like svelte to v5 (it has been a long time since I worked on this)
- [x] Add build script to build for all of our intended os/arch combos
- [ ] Make
Entersubmit the page
Moved out to a later date (likely when this becomes a manager):
- [ ] Add more options to repair (#202)
- [ ] Built in CLI (#357)
- [ ] Code signing on windows and notarization on mac (#390, #126)
- [ ] Move to wails v3
- [ ] Add system tray
- [ ] Add start at login
- [ ] Add automatic reinjection
- [ ] Check for addon updates
- [ ] Translations (#16)
- [ ] BetterDiscord gets setup on Crowdin starting on client
- [ ] Determine whether to do joint i18n across process or pass the buck to one side
- [ ] Move strings to Crowdin
This PR affect the following issues:
- Fixes #385 by properly supporting flatpak
- Fixes #377 by doing proper folder checks with fallback
- Fixes #375
- Fixes #379 by no longer using that library
- Fixes #380 because cross compilation with Go is dead simple
- Fixes #367 by adjusting keyboard nav
- Hopefully fixes #366 by using native methods
- Fixes #365 by properly supporting flatpak
- Hopefully fixes #362 by using native methods
- Fixes #359 and fixes #36 with the new architecture
- Hopefully fixes #226 by using native methods
- Closes #157 by properly supporting both