A Discord and SpaceBar :electron:-based client implemented without Discord API.
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 WebCordv4.4.2
. Seev4.4.2
release logs for more details about the recent changes.
WinStateKeeper
logic, so it now logs values that are stored in-memory and uses them when modifying the object.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
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 sincev4.4.0
. Givenv4.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.
--squirrel-*
flags are now illegal and will cause the application to close (to handle so called Squirrel hooks).--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.)process.argv[0]
from arguments.import()
calls instead of wrapped require()
into promises, allowing for partial ESM implementation.
socket.ts
to ESM to both showcase it works and actually make a use of ESM / async design.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.
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.Full Changelog: https://github.com/SpacingBat3/WebCord/compare/v4.4.1...v4.4.2
Important This release was mostly forced by security vulnerability in Electron. It still doesn't resolve #452, although it seems Electron devs are somewhat aware of it. Some people also suggest that it is reproducible in Electron 27 as well. Officially, I haven't been able to reproduce this on my desktop running X11 with AMD CPU (with
amd-ucode.img
loaded withinitrd=
) and NVIDIA GPU (both Nouveau and NVIDIA drivers). Electron devs also seemed to be unable to reproduce this in clean VM enviroment.
title=
element for labels
, as a way for additional description when labels
are not enough.
UtilityProcess
API.<kbd>
element (e.g. ALT) is animated when pressed (with mouse click) and scrollbar is larger by 1px.26.2.1
.
marked
to 9.0.0
.Full Changelog: https://github.com/SpacingBat3/WebCord/compare/v4.4.0...v4.4.1
Full Changelog: https://github.com/SpacingBat3/WebCord/compare/v4.3.0...v4.4.0
Note Most of these are effect of my recent work on my own AppImage maker,
@reforged/maker-appimage
. This means these changes are not limited to WebCord but any other Electron app using my maker can opt-in for these as well via Forge configuration.
type2-runtime
that while being experimental, doesn't require installing fuse2
package installed on modern distros/DEs (as most of them use fuse3
now) and since we use fuse2
builds, we still don't deprecate users with older software installed.
AppRun
to invoke the interpreter bundled in the AppImage. Bundling the whole libraries will most likely also drastically affect the resulting size of the AppImages.{{ name }}-flags.conf
files (#382).
.conf
files are quite specific thing to Arch and are quite non-standard on other distros.v25
.electron-fetch
and @pkgjs/parseargs
with their imports and use in code and simplifies code a bit, at cost of support for older Electron releases.marked
release and a bit simplifies the code around Markdown highlighting.Full Changelog: https://github.com/SpacingBat3/WebCord/compare/v4.2.0...v4.3.0
@reforged/maker-appimage
(fix #369).Config
writting synchronous again (fix #360).Full Changelog: https://github.com/SpacingBat3/WebCord/compare/v4.1.1...v4.2.0
@reforged/maker-appimage
version to fix .desktop
/ shell script syntax errors (#357).Full Changelog: https://github.com/SpacingBat3/WebCord/compare/v4.1.0...v4.1.1
desktopCapturer
that caused crashes/SIGSEV
on Wayland when trying to screen share (#328).
id
set to screen:1:0
.desktopCapturer.getSources()
, without that issue ticket #328 could be left opened for a bit longer.typeMerge
.
Full Changelog: https://github.com/SpacingBat3/WebCord/compare/v4.0.0...v4.1.0
These were also announced in v3.10.1
, but reverted in v3.10.2
.
20.x.y
.
3.10.2
for now if you need screen sharing and use Wayland.3.10.2
.13.x.y
, 14.x.y
, 15.x.y
and 16.x.y
.
Note | This release was mostly introduced as a reply to recent breakages introduced by Electron. I plan to release WebCord
v4.0.0
with Electron bump to22.x.y
as a breaking change to people's workflows. It is very likely it will deprecatev3
releases.
--verbose
flag implementation to also make Chromium engine log at verbose
as maximum LOG()
and VLOG()
level and actually enable logs.WinStateKeeper
logic about detecting if window is still maximized or not.Full Changelog: https://github.com/SpacingBat3/WebCord/compare/v3.10.1...v3.10.2