Convert from Electron to Wails - #381
Open
zerebos wants to merge 98 commits into
Open
Conversation
Update the frontend on the wails branch to use proper Sveltekit with Svelte5 and TypeScript
Refactor and add support for snap and flatpak on linux
This refactor makes the golang side of the wails app more like idiomatic go and adheres to a lot more of their conventions. It also reduces overall complexity by reducing unnecessary nesting of packages. It also breaks apart longer files into more consumable chunks that keep functionality grouped. Lastly, it better controls the public/private separation in the packages by using intentional wrappers. Backend Changes: - Remove backend/ directory in favor of flat package structure - Move discord and betterdiscord packages to root level - Create new types package for shared types - Consolidate frontend bindings into api package - Move app-level functionality to root app.go - Improve separation of concerns in discord package - Add proper error handling and type safety Frontend Changes: - Extract CSS variables to theme.css - Move global styles to separate files This refactoring improves: - Code organization - Type safety - Package boundaries - Maintainability - IDE support - Testing capabilities
Refactor installer once again
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
Pull Request Overview
This PR converts the installer from Electron to Wails while refactoring the BetterDiscord installation and repair workflows. Key changes include adding new Go packages and methods for the Wails-based implementation, updating platform‐specific build files (NSIS, manifest, plist), and rewriting the task build configuration.
Reviewed Changes
Copilot reviewed 128 out of 128 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| discord/* | Refactored Discord installation and injection logic for Wails |
| build/* | Updated build scripts and configuration files for Windows, macOS, and Linux |
| betterdiscord/* | Redesigned BetterDiscord installation, download, and repair functions |
| app.go, api/controller.go | Reworked update and runtime interactions for the new installer design |
| Taskfile.yml, other config files | Updated task and lint configurations |
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Rework injection to shadow Discord's `app.asar`
doggybootsy
approved these changes
Jul 25, 2026
doggybootsy
left a comment
Member
There was a problem hiding this comment.
From my understanding of the code, it looks good to me
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Overview
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:
HOST_XDG_CONFIG_HOMEactions_windows.goEntersubmit the pageCan be done later after merging:
These have been decided against for this project:
Add automatic reinjectionCheck for addon updatesAdd system trayAdd start at loginBuilt in CLI (Manual launch #357)BD now has a comprehensive but separate cliThis PR affect the following issues:
Preview of the new configs
msrdc_ffrD1NpUGX.mp4
This has been updated to include checkboxes for accessibility: