Skip to content

Releases: uowuo/abaddon

v0.2.1

06 Apr 03:28
Compare
Choose a tag to compare

Hotfix:

  • Fixed build number fetch
  • Reverted jitter buffer
  • Added workaround for curl bug in 8.7.0 and 8.7.1

v0.2.0

27 Mar 02:52
Compare
Choose a tag to compare

I figure now would be an okay time to bump up to 0.2.0. The big two are respecting the system GTK theme (mostly? it's much better now), and an alternative channel/server listing more reminiscent of Discord's. Next up is probably a real settings menu (about time) and voice stuff (namely, push-to-talk, stages, idk what else. push-to-talk will require me to write platform-specific code so people on Mac are out of luck (unless you wanna PR it (lol)))

Changes:

  • Use GTK theme. Abaddon should now look more like other GTK programs. Colors are also derived from the theme (except for NSFW channels) but can be configured in the .ini. I'm open to feedback on this in case things look bad and/or icky in general/on a particular theme. The "default" (what's included in the Windows build) is Material-Black-Cherry.
  • As a result of above: application-low-priority.css is no more, and main.css is heavily stripped down
  • Added alternate server/channel listing. You can use a more Discord-like sidebar for navigating between servers and channels. Also open to feedback on this.
  • Added really simple jitter buffer to smooth out voice a bit. Probably needs more work
  • Added notification sounds to Windows (default disabled)
  • Added runtime option for storing token to keychain
  • Added runtime option to configure backend initialization order for audio
  • Added option to configure image embed size
  • View image alt-text when hovering over image
  • Add ability to set image alt-text
  • Tweaked voice window and set status window
  • Added CMake option for additional compiler definitions (#275)
  • MacOS: Added hook to automatically set dark mode preference based on system theme (#276)

Fixes:

  • Audio engine initialization failure is no longer fatal. Logging is enabled now so if it does fail (it shouldn't) plz open issue with the logs (with the environment variable SPDLOG_LEVEL=trace set too ideally)
  • Fix more crashes woohoo

v0.1.14

08 Dec 01:15
Compare
Choose a tag to compare

Mainly a hotfix for the build number fetch. Next up is proper support for GTK themes (finally) and Discord-style server listing.

Changes:

  • Status indicator is back in the member list (ability to change colors is planned)
  • @ symbol is shown in replies to indicate if a user was pinged
  • Glib application name is set now (#247)

Fixed:

  • Fixed build number fetch again
  • Fixed mention evaluation not working sometimes

v0.1.13

11 Nov 07:58
Compare
Choose a tag to compare

Changes:

  • Member list implementation rewritten. Now uses a more efficient TreeView which should lead to noticeably lower memory usage and less delay when switching channels
  • Added gui.font_scale setting
  • Added option to actually delete deleted messages instead of displaying [deleted] indicator (contribution: #237)
  • Added option to mix microphone input down to mono
  • Animated emojis will now be animated in reactions
  • Updated list of connections and their images
  • Updated permissions in role view in guild settings

Fixes:

  • Fixed build number fetch failing
  • Fixed some embeds not displaying properly with only a title
  • Fixed pasting not working in the message box on non-English keyboard layouts
  • Fixed gap in profile connections list if image not found
  • Fixed some display names being escaped twice

Notes:

Next couple of things I'm mainly working on are better compatibility with GTK (i.e., respect the system theme) while maintaining the current as a default, a server listing more reminiscent of Discord's sidebar, animated gifs in chat using libnsgif, who knows what else. As always open issues for feedback/ideas/bugs/stuff is broken whatever

v0.1.12

07 Sep 05:18
Compare
Choose a tag to compare

New dependencies:

  • rnnoise - Optional. Better voice activity detection and noise suppression. Provided as submodule.
  • qrcodegen - Optional. Allows for login via scanning QR code. Provided as submodule.
  • openssl - Optional, I guess. It's probably already included through curl or ixwebsocket but is explicitly required for QR code support.

Changes:

  • Added better voice activity detection and noise suppression using rnnoise.
  • Added login via QR code.
  • Pomelo support. This includes the new display names and also nicknames. Usernames are used in a couple places the official client doesn't for the sake of disambiguation.
  • Improved UI when editing messages.
  • Added explicit support for MacOS file paths (#207).
  • Group DMs use the same icons as the official client if none is set.
  • Voice participants are shown in private channels.
  • Added option to hide console on Windows.
  • Added option to set any voice gain value under more settings.
  • Updated attachment size limits. Some limits are still in place since the official client uses a new uploading system with GCP that I haven't implemented yet.
  • Added handling for silent messages (MessageFlags.SUPPRESS_NOTIFICATIONS).
  • Added ability to send silent messages.
  • Categories show unread indicators for children (#186).
  • Search for miniaudio.h in system includes.
  • Added a workaround to support building with spdlog and incompatible libfmt.
  • Added some styling to GTK's built-in emoji picker.

Fixes:

  • Fixed pasting on Mac (#177).
  • Fixed linking for audio on Mac (#178).
  • Fixed bad select call that could break voice on some platforms (#182).
  • Fixed potential crash on channel delete.
  • Fixed some parsing errors.
  • Fixed messages getting semi corrupted when loaded from history.
  • Fixed no playback or capture devices being considered a fatal error.
  • Fixed some images getting stretched/distorted (#196).
  • Fixed some undefined behavior which led to issues when getting startup connection data.
  • Fixed GUILD_MEMBER_LIST_UPDATE parsing.
  • Fixed some images not getting embedded if extension wasn't lowercase (#208).
  • Fixed webhooks displaying the wrong username and/or avatar
  • Removed unnecessary file picker filter (#212).

Notes:

I'm a little struck with indecision as to what to work on next so feel free to open issues (unless it's a SILLY idea) or comment on ones that are already open.

v0.1.11 - voice support edition

11 Jun 06:42
Compare
Choose a tag to compare

New dependencies:

  • spdlog - Better logging; printf was gross and disturbing
  • libopus - Optional (for voice support)
  • libsodium - Optional (for voice support)
  • miniaudio isn't new but you'll need it for voice support also (still optional)

Changes:

  • Voice support (wow!!). You can now join voice channels and talk and listen and change volume and all that fun stuff. It works in DMs too (but it wont ring whoever you are calling yet). If anything is broken or missing or needs changing or adding in your valuable opinion make sure to open an issue. Some things are missing but planned like push to talk and support for stages. Open an issue if you really want those.
  • Add auto-refresh for main.css. If you update main.css the changes will show up automagically

Fixes:

  • Fixed hypesquad bravery icon using the wrong image
  • Fixed potential crash if you clicked onto a server with an unaccepted verification gate
  • Fixed servers showing up in the server list multiple times
  • Fixed some users showing up as offline when they aren't actually offline
  • Fixed not being able to add reactions sometimes
  • Fixed inability to copy message contents by highlighting

v0.1.10

02 May 08:13
Compare
Choose a tag to compare

Changes:

  • Added desktop notifications (Mac and Linux only) using org.freedesktop.Notifications. Appearance depends on your notification server.

miniaudio is added as an optional dependency and is provided as a git submodule. You can disable the dependency by passing -DENABLE_NOTIFICATION_SOUNDS=OFF to CMake. You can change the notification sound by replacing res/sound/message.mp3
Runtime settings are available

Fixes:

  • Fixed some servers not being displayed in the server listing
  • Fixed some potential crashes
  • Fixed keybinds like CTRL+Arrow from not working in the chat input box
  • Correctly handle everyone mentions
  • Correctly handle role mentions

Voice soon. I promise

v0.1.9

06 Feb 05:52
Compare
Choose a tag to compare

Changes:

  • If USE_LIBHANDY is enabled (default), CMake will fail instead of silently disabling it. libhandy is still optional, but CMake needs to be explicitly told to disable it now
  • Improved compile time. It's still pretty rough but it should still be significantly faster now. You can also use CMake unity builds to speed things up further
  • Sped up connection time
  • Store the token in the system keychain instead of in a text file. You can turn this off by compiling with the CMake option -DUSE_KEYCHAIN=OFF
  • Add option to keep menu bar hidden unless alt is pressed
  • Add option to autoconnect when launching
  • Add keybind and menu options to completely hide channel and member lists
  • Basic support for folders
  • Try to copy Discord's naming scheme for group DM's
  • Made text in embeds selectable
  • Added an option to dump the ready payload

Fixes:

  • Nothing cuz I'm perfect and never make mistakes✨

Still working on voice I promise it'll come one day probably

v0.1.8

16 Oct 08:22
Compare
Choose a tag to compare

Changes:

  • Added option to hide to system tray (#99)
  • Automatically fetch cookies and build number. This should reduce likelihood of being falsely detected as spam some more
  • Removed ability to join guilds. It's one of the things Discord really likes to flag you for spam for, so you should only do it in an official client. It also often requires you to fill a captcha which is not something that's going to be supported

Fixes:

  • Fixed some crashes
  • Fixed GUI totally bugging out sometimes when clicking links
  • Fixed curl not working in some cases
  • Fixed the client failing to connect because of missing guild_positions

Not much this time but I've been working on voice support. It's decently usable right now in the voice branch if you want to give it a try. Maybe it'll be usable in next release

v0.1.7

16 Aug 03:17
Compare
Choose a tag to compare

Changes:

  • Added support for sending attachments
  • Made the chat input box look a little better
  • Added copy URL option to attachments
  • Added some headers to mimic the web client more closely

Fixes:

  • Fix handling of GUILD_MEMBER_LIST_UPDATE
  • Fix users being mislabeled with the BOT label
  • Remove ability to leave guild if you're the owner
  • Fix potential crash if std::locale::locale returns null
  • Fixed chat input box from expanding horizontally on certain platforms (#89)
  • Fixed active channel overriding expansion state when reconnecting
  • Added some more permission checks to prevent bad requests from being sent
  • Fixed handling role removal events
  • Removed ability to create new DM channels since it is prone to triggering Discord's anti-spam
  • Fixed decoding of emojis.bin file on big-endian platforms (#100)