WebCord Versions Save

A Discord and SpaceBar :electron:-based client implemented without Discord API.

v4.7.1

2 months ago

🔧️ Bug fixes

  • Fix issues with the font rendering on Windows (#512).
  • Implement handling of the circular references in CSS files that WebCord parses (it might be fun to try how this behaved before).
  • Switch to macOS ARM64 image in GitHub runners (and newer mac version) in order to try package ARM64 DMG that doesn't fail to launch without any additional steps made by the user (#173, this still hasn't been closed as it is unknown whenever this has been resolved).
  • Properly handle audio sharing; don't define the audio should be shared if the user doesn't want to to do so and allow sharing audio on all platforms only with Electron 29 and newer.

🧹️ Maintenance changes

  • Update markor to v12.
  • Bump Electron version in provided binaries to v28.2.1.

Full Changelog: https://github.com/SpacingBat3/WebCord/compare/v4.7.0...v4.7.1

v4.7.0

3 months ago
  • Forcing audio share support flag has been removed, since it is NO-OP with the new API used for providing a getDisplayMedia to Discord.
  • Update Electron version to v28.
  • Improve accuracy of user agent spoofing, allowing to replace more parts of it (CPU arch, current OS etc.) with the flags and to

Full Changelog: https://github.com/SpacingBat3/WebCord/compare/v4.6.1...v4.7.0

v4.6.1

4 months ago
  • Bump lockfile, update dependencies.
    • Update Electron to 28.1.0.
  • Remove (most) font modules that were bundled with WebCord, try using available system fonts instead.
  • Fix renderer crashes with About window (#497).

Full Changelog: https://github.com/SpacingBat3/WebCord/compare/v4.6.0...v4.6.1

v4.6.0

4 months ago
  • Update to Electron 28.
  • Strip tracking from Discord's CDN URLs when those are opened outside for WebCord.
  • Fix built-in CSP for new Soundcloud player (#495).
  • Re-approach move to Node16.
    • This time it should work thanks to Electron's 18 complete ESM support.
    • Possibly I'll approach moving fully to ESM, both in WebCord and my libraries.
  • macOS builds are back!

Full Changelog: https://github.com/SpacingBat3/WebCord/compare/v4.5.2...v4.6.0

v4.5.2

5 months ago
  • Improve the implementation of tray icon changing, so it relies now on Discord's title rather than favicon which seems to be more stable and could optimize the performance a bit (since there's no longer a need to cache, convert and hash favicons).
  • Display a number of mentions in the tray tooltip, if there are any.
  • Use a better compression in produced RPM packages, most likely improving the resulting size in compassion of previous builds.
  • Add an URL to icon in Squirrel makers, which will be added to the registry during installation.
  • Bump dependencies.
    • Bump lockfile.
    • Update marked to v10.
    • Update @electron-forge/* packages to ^7.1.0.

Full Changelog: https://github.com/SpacingBat3/WebCord/compare/v4.5.1...v4.5.2

⚠️
🚧️
👷️

Currently the macOS builds are failing in CI (at DMG creation step), so there are no builds for it either until this will be fixed in some way. I've also tried to investigate what change could break it and right now I'm clueless (runner seems to be the same as in runs that succeed, downgrading Node to the previous working version was not enough for it to install appdmg by itself and re-running CI on older commits, even with the lockfile and build config that worked before, also causes a build failure in macOS…). Also see electron/forge#3371 for upstream issue.

v4.5.1

6 months ago

Note This is a hotfix release made to 4.5.1, mostly fixing side bar hiding and other CSS tweaks applied by WebCord, e.g. to hide download button, fix rendering for mobile devices etc. No huge changes so far.

🧹 Maintenance changes

  • Fix some CSS tweaks in WebCord made to Discord (including #481).
  • Bump the lockfile.
    • Update Electron to 27.0.2.

Full Changelog: https://github.com/SpacingBat3/WebCord/compare/v4.5.0...v4.5.1

v4.5.0

6 months ago

🧹 Maintenance changes

  • Bump Electron to v27. This resolves regressions since Electron v26: #452.
  • Update various dependencies, such as marked and highlight.js.
  • Update implementation of source listing for screen share, this resolves #409 until some people are still going to be able to reproduce this.

Full Changelog: https://github.com/SpacingBat3/WebCord/compare/v4.4.3...v4.5.0

v4.4.3

6 months ago

Note This is a hotfix patch for WebCord v4.4.2, with only a few changes and fixes for bugs I found after I've published WebCord v4.4.2. See v4.4.2 release logs for more details about the recent changes.

🗺️ Localization changes (#468)

  • Update 🇷🇺 Russian localization files by @thejenja.
  • Update 🇪🇸 Spanish localization files by @gallegonovato.
  • Update 🇦🇪 Arabic localization files by @Ali-x98.
  • Initial translation to 🇳🇱 Dutch by @Jasper1467.

🧹 Maintenance changes

  • Multiple fixes to WinStateKeeper logic, so it now logs values that are stored in-memory and uses them when modifying the object.
  • Revert module resolution mechanism back to CommonJS-only (from Node16), dropping entirely support for EcmaScript Modules in code (:electron: Electron's partial implementation of ESM module resolution and loading is way more incomplete than I originally thought). This resolves #473.

Full Changelog: https://github.com/SpacingBat3/WebCord/compare/v4.4.2...v4.4.3

v4.4.2

6 months ago

Important This release was also forced by Electron/Chromium vulnerability, as in case of v4.4.1. There's still no fix (or viable workaround) for regression since v4.4.0. Given v4.4.1 has implemented the safe mode that should help with renderer crashes caused by issues specific to given GPU, I assume it's not a problem due to GPU. The newly announced refresh loop is not a bug and should not be reported as such, the app is actually expected to refresh the page after the renderer crash as a way to recover from it (which is useful when renderer doesn't crash constantly or at least much better that letting WebCord to display grey window instead).

Note Electron Forge going crazy once CI were publishing v4.4.2 distributables. Given there was large refactor of Forge configuration, especially with Squirrel makers and I've also updated Forge toolkit to the latest version, there's a chance I've been encountering some bug with it that didn't happen with the old design. Weirdly enough, WebCord did eventually build and published itself successfully, so the bug might not always happen and future releases may succeed after a few (more) CI retries. There's also a chance some distributables weren't made correctly, but that could also be a bug with Forge's implementation that makes use of the new config syntax.

🧹️ Bug fixes / Improvements

  • Fix / improve displaying long url in OS/native cross-origin dialog window – WebCord now adds newlines to it when link segments are too long and calculates the maximum lines / characters per line, based on primary screen dimensions.
  • Fix Squirrel installers launching WebCord for no reason, confusing a lot of users – on Windows, --squirrel-* flags are now illegal and will cause the application to close (to handle so called Squirrel hooks).
  • Update implementation of --add-css-theme, to make it display an OS/native file chooser dialog instead of reading the predefined path in cmdline, possibly making it to work better with sandboxing (Flatpaks, Snaps etc.)
  • Improve how safe mode is launched, removing redundant process.argv[0] from arguments.
  • Switch to Node16 module code, which makes WebCord to use an actual import() calls instead of wrapped require() into promises, allowing for partial ESM implementation.
    • I've also ported socket.ts to ESM to both showcase it works and actually make a use of ESM / async design.
  • Try to fix an ad-hoc signature for macOS with fuses, possibly making it able to run arm64 (Apple M1/M2) builds without any command-line tricks.

🧱️ Build / CI changes

  • Disable universal builds for macOS, they were failing in CI, most likely due to resetAdHocDarwinSignature: true in Electron Forge that were supposed to fix ARM64 builds.
    • Please choose now either ARM64 or X64 builds, based on whenever your CPU vendor is Apple (i.e. M1/M2 SoCs) or Intel/AMD.
  • Greatly modernize Electron Forge, by using the new fuses plugin and class-based syntax for makers/publishers/plugins, removing some hooks and type logic from code that is no longer necessary.
    • This could be the one of the reasons of causing some troubles with Squirrel makers, since Squirrel now emits both MSI and EXE binaries under different name. There's also no arch-specific RELEASES file nor nupkg files, I'll take a look if I'll be able to somehow improve how these files are emitted without the need for searching for specific distributable and patching its name.
  • Overall improve Squirrel configuration, to set icon for installer and emit MSI variant.

Full Changelog: https://github.com/SpacingBat3/WebCord/compare/v4.4.1...v4.4.2