Swiftcord

A fully native Discord client for macOS built 100% in Swift!

GPL-3.0 License

Stars
1.9K

Bot releases are hidden (Show)

Swiftcord - Bug Terminator Latest Release

Published by cryptoAlgorithm 11 months ago

This is a full bugfix release, functionality remains largely unchanged from v0.7.0. It should be sufficiently stable to replace the venerable v0.6.1 release which has been the latest stable for quite a while.

Important
This is an unsigned build. To open it for the first time, right click the application > Open to bypass the macOS warning.

Sponsors

Red-hot Supporter 🔥

Duskie

Extremely Cool Supporter 🧊

  • aexvir

Bug Fixes

  • Fixed an issue where Swiftcord would fail to login
    • Fixed in DiscordKit upstream by @Aloisius
  • Render profiles with migrated usernames accurately
  • Fixed an issue which caused incorrect permissions to be calculated in DMs

What's Changed

New Contributors

Full Changelog: https://github.com/SwiftcordApp/Swiftcord/compare/v0.7.0...v0.7.1

Swiftcord - Sonoma, Permissions, Performance & Bug Fixes

Published by cryptoAlgorithm about 1 year ago

Important
This is an unsigned build. To open it for the first time, right click the application > Open to bypass the macOS warning.

Improvements

  • Permissions support! Swiftcord now respects channel permissions (i.e. channel visibility & message send permissions)
  • User popover:
    • Renders account usernames properly after Discord username migration (discriminator removal)
    • Displays account creation and server join date
  • More complete embed rendering, now renders author and thumbnail fields
  • DiscordKit updated to work with latest gateway capabilities set, allows for more information to be pre-cached

Bug Fixes

  • An issue where Swiftcord would fail to load DMs, and in certain cases lead to login failures
  • User profiles loaded in popovers not cached
  • General layout inconsistencies (Sonoma)
  • Server buttons not registering click events when pressed (Sonoma)

What's Changed

New Contributors

Full Changelog: https://github.com/SwiftcordApp/Swiftcord/compare/v0.6.1...v0.7.0

Swiftcord - The Force Awakens: Extra-Huge Feature Drop!

Published by cryptoAlgorithm over 1 year ago

Finally, after a hiatus of 6 7 months... Swiftcord's back and better than ever with a new extra-extra-extra-major update!

Release notes merged with v0.6.0 pre-release.

Sponsors

Your name and a message could be here! Sponsoring Swiftcord is the perfect way to support me and its development, and a great alternate way to contribute!

New Features

  • Huge performance improvements - scrolling message history should be significantly smoother!
  • Polished, clean UI - #129 and others
  • Unread dots for channels
  • Ventura-styled settings - #141
  • Updated channel list styling to closely match Discord's
  • Folder animations
  • Multiline message input (thanks @ErrorErrorError!)

Bug Fixes

  • Fixed an issue that caused Settings-related crashes on macOS 12
  • Ensured unread dots were colored right regardless of theme
  • Fixed an issue that might messages to be sent twice - #120

What's Changed

Full Changelog: https://github.com/SwiftcordApp/Swiftcord/compare/v0.5.1...v0.6.1

Swiftcord - Featuressssss!!!

Published by cryptoAlgorithm over 1 year ago

Finally, after a hiatus of 6 months... Swiftcord's back and better than ever with a new major update!

Warning
Due to the nature of the major changes present with this release, it is not recommended to fully upgrade from an older version (hence an autoupdate is not available). Please test this release as much as possible to help us fix more bugs!

Sponsors

Your name and a message could be here! Sponsoring Swiftcord is the perfect way to support me and its development if you're lacking the time or knowledge to contribute!

New Features

  • Huge performance improvements - scrolling message history should be significantly smoother!
  • Unread dots for channels
  • Updated channel list styling to closely match Discord's
  • Ventura-styled settings (partial)
  • Folder animations
  • Multiline message input (thanks @ErrorErrorError!)

Full Changelog: https://github.com/SwiftcordApp/Swiftcord/compare/v0.5.1...v0.6.0-devel

Swiftcord - Major Feature Drop 📦 + Bugfix

Published by cryptoAlgorithm about 2 years ago

This release contains a critical bug fix for the flashy new account switcher that was causing a crash during token migration. It also contains all the goodies from the 0.5.0 release, which will finally be formally released!

Warning
If you're updating from an older version of Swiftcord, you might get stuck on the loading screen due to a bug in the new account storage system. Clicking the logout button that appears after ~30s is a workaround which will allow you to log in again. You'll only have to do this once.

Sponsors

Your name and a message could be here! Sponsoring Swiftcord is the perfect way to support me and its development if you're lacking the time or knowledge to contribute!

New Features

  • Handle session invalidation gracefully - Prevents reconnect loops if the token is invalid

Bug Fixes

  • Rearchitect account manager to fix crash and token storage issues - All tokens are now stored under a single keychain key
  • All buttons are now styled like Discord's buttons

Translations

Big thanks to everybody that contributed to translations on Swiftcord's Weblate! This release contains 4 new translations, namely:

  • Japanese
  • Hebrew - Very incomplete, might be removed if it isn't rectified
  • Turkish
  • Traditional Chinese

v0.5.0 Release Notes

This release adds several long-awaited features, namely an account switcher and viewing and updating presences! Support for server folders are added too!

New Features

  • Presences!
    • View others presences, by clicking on the user's avatar or in the DMs list
    • Update your own presence by clicking on your account in the channel list footer
    • You can also set a custom status!
  • Account Switcher
    • Access the account switcher dialog by clicking on the "Switch Accounts" button in the current user popover.
    • You can add as many accounts as you'd like, and they're all stored securely in your keychain
    • Please enter your password and click "Always Allow" when prompted for keychain access!
  • Guild folders (kindly contributed by @thegail) - Your server folders are now rendered! Classify your servers easily, and no longer wonder where that one server you visited months ago went!

Full Changelog: https://github.com/SwiftcordApp/Swiftcord/compare/v0.4.6...v0.5.1

Swiftcord - Replies, More Message Types, Sentry

Published by cryptoAlgorithm about 2 years ago

This is basically a feature drop release 📦 It's packed with some new and improved code (well, at least those that were made in time), as well as better crash analytics to help track down and kill all those pesky bugs!

Sponsors

Sponsors allow me to continue supporting Swiftcord with their kind donations!

Red-hot sponsors 🔥:

kallisti

New Features

  • Finally, reply support! Right click on any message to reply to it, even supports pinging/not pinging the OP!
  • Supports new message types, and handle unknown types more gracefully:
    • recipientAdd (member added to a group DM)
    • recipientRemove (member removed from group DM)
    • userPremiumGuildSub (server boosted)
    • userPremiumGuildSubTier1, userPremiumGuildSubTier2, userPremiumGuildSubTier3 (server boosted and achieved tiers 1, 2 or 3 respectively)
  • Migrated from AppCenterCrashes to Sentry! Significantly better crash info helps to pinpoint crashes more easily, so more bugs can be squashed <3

Bug Fixes

  • More "human" German translations - Thanks to all who helped translate Swiftcord
  • Added new sponsor!

What's Changed

New Contributors

Full Changelog: https://github.com/SwiftcordApp/Swiftcord/compare/v0.4.5...v0.4.6

Swiftcord - GIF Support, Bugfixes, More Features!

Published by cryptoAlgorithm about 2 years ago

A few requested features in the #suggestion channel in Swiftcord's Discord server were implemented, as well as some bug fixes for bugs caught by the community! Not to mention, better translations 🎏!

PS: If you haven't already, you should probably join Swiftcord's Discord server here! I actively respond to your feature requests and answer bug reports there! I'm also looking for new names for Swiftcord, so send your best name suggestion(s) there!

New Features

  • GIF support (#92) Note: GIF embeds (e.g. Tenor) don't work since they aren't actually GIFs, Discord returns those as videos
    • Animated avatars, server icons and user banners now animate!
  • Focus message field when a channel is clicked into

Bug Fixes

  • More "human" German translations - Thanks to all who helped translate Swiftcord This was not merged in time for this release
  • More concise GPL license in about window
  • Fixed broken DM ordering due to last_message_id having different lengths
  • Stop video player playback when channel changed

What's Changed

Full Changelog: https://github.com/SwiftcordApp/Swiftcord/compare/v0.4.4...v0.4.5


If you feel Swiftcord benefits you, consider dropping a donation thru GitHub Sponsors or Patreon to support Swiftcord's development!

Swiftcord - Critical Bugfix

Published by cryptoAlgorithm over 2 years ago

This release contains an important bug fix that fixes a crash that would occur during the onboarding. Please do not use v0.4.3 to prevent an immediate crash on launch.

Bug Fixes

  • @Candygoblen123 - Converted colors to sRGB before getting their components: fixed crash due to FlatButtonStyle during onboarding
  • Use User.public_flags and fallback to User.flags if that is nil to fix verified bot checkbox

What's Changed

New Contributors

Full Changelog: https://github.com/SwiftcordApp/Swiftcord/compare/v0.4.3...v0.4.4

Swiftcord - Appearance Improvements, Bugfixes

Published by cryptoAlgorithm over 2 years ago

Notice:

Some people are reporting a crash after first log in, please run defaults write io.cryptoalgo.swiftcord local.seenOnboarding true in a terminal to work around the issue. A patch will be available shortly.

This release includes Discord-like button styling, better-looking dialogs and properly-bundled localisations. It also contains an important bug fix.

New Features

  • Discord-styled buttons in more places
  • Better-looking dialogs
  • Skeleton server join dialog (not fully operational)
  • Channel list sidebar can be toggled by clicking on the channel icon in the toolbar (# or @)
  • Show placeholder image and only load video when the play button is clicked
  • Add fade-in animation for images when loaded

Bug Fixes

  • Properly registered app delegate, fixes the following issues:
    • Temporary files do not get cleared on app launch
    • AppCenter SDK is never initialised, no analytics data and crash stacks are sent
    • UserDefaults default values are not set
  • Added new localisation languages properly so they will be included in the app bundle
  • Workaround for broken toolbar paddings and offsets for macOS 13
  • Use a custom horizontal divider for the day divider so a background does not have to be used to mask the divider

Note: The join server dialog in this release is non-operational.


What's Changed

Full Changelog: https://github.com/SwiftcordApp/Swiftcord/compare/v0.4.2...v0.4.3

Swiftcord - Quality of Life Improvements

Published by cryptoAlgorithm over 2 years ago

A bunch of quality of life improvements, as well as some minor features which are detailed below, are included in this release.

New Features

  • Basic keyboard shortcuts - Use your keyboard to change servers, channels and more! (@Candygoblen123)
  • Onboarding popover will be shown on the first launch after logging in
  • Release notes will be shown after every update
  • 'Panic logout' button on loading screen to allow logging out in deadlocked situations
  • Warning on loading screen if there is no network connectivity
  • Option to disable AppCenter analytics in settings, with clearer explanations

Localisations

  • Much more translations with more strings localised
  • Full English and Chinese, and partial French, German, Italian, Korean and Norwegian Bokmal translations
  • Thanks to all localisation contributors! If you'd like to help localise Swiftcord to more languages, check out its Weblate!
Latest translation status

Translation status

Known Issues

  • Very unstable with performance degradation on macOS 13 beta 1
    • App sometimes starts with sidebar minimised regardless of previous setting
    • Message list gets sluggish after a bit of scrolling

Workarounds/Fixes

  • Removed settings button in user footer below channel list > macOS 13 - Button is broken since macOS 13

What's Changed

New Contributors

Full Changelog: https://github.com/SwiftcordApp/Swiftcord/compare/v0.4.1...v0.4.2

Swiftcord - Major Performance Increases + Bugfixes

Published by cryptoAlgorithm over 2 years ago

This release contains major performance increases and various bug fixes.

New Features

  • Proper user profile caching - User popover now loads immediately when opened again
  • AppCenter crash diagnostics and analytics - Helps debug crashes and see what features were used most
  • Drag and drop to add attachments
  • Partial Chinese localisation
  • Custom banner image (nitro only) is now rendered in user popover
  • User badges are now rendered in the popover (except the nitro badge, its still being worked on)
  • Reference messages now highlight themselves when the reply is clicked on
  • You can choose to always play animated stickers or only play them on interaction
  • Hide debug menu if the user didn't enable developer mode
  • Show day divider

Known Issues

  • Text field doesn't wrap: #45
  • Various rerendering issues, or rather the lack thereof
  • Changing the theme override causes rendering glitches, read caption below option in settings for more info

Fixes

  • Select first channel after ordering, so the initial selected channel also visually the first
  • Last DM channel is now saved in UserDefaults like in servers

Note: This release contains anonymous AppCenter analytics. Opt-out will be added in the (near) future.
Analytics events are stored for up to 28 days, and doesn't include any identifiable information.


What's Changed

New Contributors

Sponsors

  • @selimgr Sponsors the project since 20 May 2022 <3
    Sponsoring the project will allow me to continue working on it and invest on more services related to it!

Full Changelog: https://github.com/SwiftcordApp/Swiftcord/compare/v0.4.0...v0.4.1

Swiftcord - Major Feature and Bugfix Release!

Published by cryptoAlgorithm over 2 years ago

This release includes new major feature and bug fixes.


What's Changed

Full Changelog: https://github.com/SwiftcordApp/Swiftcord/compare/v0.3.2...v0.4.0

Sponsors

A big thanks to all contributors and sponsors!

Swiftcord - Added Auto Updater

Published by Candygoblen123 over 2 years ago

What's Changed

New Contributors

Full Changelog: https://github.com/SwiftcordApp/Swiftcord/compare/v0.1.0...v0.3.2

Swiftcord - More Reliable Gateway Connection - v0.2.2 (3)

Published by cryptoAlgorithm over 2 years ago

This release is built from latest commits in the #native-urlsession-websocket branch, which contains a completely rewritten WebSocket wrapper (RobustWebSocket.swift). Various manual tests have been carried out, and it seems to perform quite reliably in those circumstances. However, I cannot simulate every network condition, so if you happen to come across a bug, please create an issue and include the console output for debugging :D

Once again, thanks for testing Swiftcord! It means a lot to me <3

macOS might flag Swiftcord as malware, and not allow you to open it since I did not sign it with a dev account. To open Swiftcord, you have to right click the app, and click run.

Swiftcord - Milestone Release - v0.1.0

Published by cryptoAlgorithm over 2 years ago

I'm creating a pre-built release with version 0.1.0, for those who are interested in trying out Swiftcord but can't build the app from source.

You'd need to unzip the zip, then right-click on the .app package and click run (shown below) since I did not sign the app with an apple developer account.

Known Issues

  • Channel list buttons are not styled properly - This is a temporary UI issue
  • Scrolling lags and "hitches" - I'm currently trying to fix this performance issue, it's something to do with the way I'm decoding and handling Discord Gateway messages from the WebSocket (its not the most efficient)
  • All DMs do not have proper names (they just appear as # ) - This is also being worked on currently

Thanks for trying out Swiftcord! It means a lot to me :)

If you run into any bugs, or have suggestions, feel free to leave a comment in the discussion for this release (click on the Join Discussion button at the bottom right, or click here) <3

Full Changelog: https://github.com/cryptoAlgorithm/Swiftcord/commits/v0.1.0