Discord

Welcome to Patch Notes! In this series, we comb through the newest changes in performance, reliability, responsiveness, usability, and general bug-squishing we’ve done to make Discord better. 

If you discover a bug of your own, check out our Bimonthly Bug Megathread on the community-ran r/DiscordApp subreddit. Tell us what’s been bothering you and our Engineering team will be more than happy to check it out. 

All fixes listed below have been committed and merged, but may still be rolling out to individual platforms at the time of this post.

Highlights

  • Discord now supports in-app playback of HEVC (H.265) video attachments uploaded from desktop and web platforms. HEVC is a compression standard that offers 25-50% better compression without quality loss vs. its predecessor, H.264.
  • Have you ever had a video on mobile buffer (ugh!) and then not automatically resume playback once you downloaded enough of the video? Having to press play manually was like adding insult to injury. We’re sorry. We fixed that bug and videos should now automatically resume once buffering is complete.
  • We’ve tweaked our approach to compression for image uploads on mobile platforms. We’ll spare you the exact details, but the result of that work is a roughly 14% reduction in the size of image uploads and a 9% improvement in upload latency. 
  • We’ve made a change to how we send passive updates to users in large servers. We now send only the deltas, rather than a full update. This reduced the gateway bandwidth usage by ~20%.
  • We’ve implemented full Unicode support for attachment file names! Previously, we limited characters just due to interoperability reasons. We now preserve the original filenames of attachments, even when downloaded. Not only is this great for more effectively supporting many languages, but it also makes sure that clever emoji you have in the filename is retained properly.
  • We’ve added some additional polish to client themes, implementing an extra hint of the primary color to previously un-themed portions of the app. The changes are subtle, but improve the look of the app overall when using a client theme. 

General

  • Improved the way our rate-limiting service handles interrupted datastore connections, eliminating an entire second of added latency from affected API operations during a disruption.
  • Clients' timers sometimes throttle, causing failed heartbeats and severed WebSocket connections. We implemented a mechanism that sends a preemptive heartbeat from the Gateway before potential timeouts. This prompts the client to respond, which reduces the Gateway bandwidth by approximately 3%.
  • We’ve added usernameless/passwordless login support for all users. When logging into Discord, users should see an “or, sign in with passkey” option that allows for access to this new authentication method.
  • We’ve added support for account linking with Roblox! Users should now be able to link their Roblox account to their Discord account from the Connections settings page.
  • Resolved a bug that caused media preview messages to not properly untruncate on iOS. 
  • Fixed a bug that caused the UI widget on desktop for profiles to not close after opening server profile settings.
  • Fixed a mobile issue that prevented a search result from being selected properly if the keyboard was being rendered when the tap occurred. 
  • Resolved a bug on web that caused large user profiles to displace the rest of the UI when opened.
  • Resolved an issue that caused friend suggestion notifications to persist after the suggestion was dismissed.
  • Resolved an issue that caused the profile effect modal to not respect maximum height limitations in the application.
  • Editing a profile preview now properly shows the server “About Me” rather than the global “About Me”.
  • Fixed an issue with the Server Invitation page that caused the accept button to not be accessible in landscape mode on mobile.
  • Fixed a bug that caused certain action menu buttons to not properly perform the action that they were named, due to an off-by-one issue.
  • Resolved an issue on mobile that caused sticker server filters in the expression picker to not load content when selected.
  • Fixed a bug that caused avatar decorations to cut off in the you tab at the bottom of the mobile app.
  • Resolved a bug that caused the search bar to be unlocalized on mobile.
  • Resolved another issue where a button truncated “Skip” (instead of “Save” like last month) to “S…”. Someday we’ll learn that “S…” isn’t an intuitive button, we promise. 
  • Fixed an issue in server onboarding on desktop that prevented users from uploading an icon unless they assigned an emoji first.
  • Fixed a bug that prevented users from unfavoriting emojis after favoriting a skin-tone variant.
  • Resolved an issue that caused opening the mobile app in landscape mode to cause incorrectly sized UI components.
  • Fixed a bug that caused a crash when using the “Prune Members” button in the members list on the desktop apps.
  • Renaming forum channels now properly sanitizes input, correctly replacing whitespace with hyphens and similar naming limitations.
  • Resolved an issue that caused users to be unable to remove Server Guide banners after they had been set in the onboarding settings.
  • Avatars no longer overlap long usernames in particular portions of the soundboard settings. 
  • Creating a server through server template preview now properly closes the server settings.
  • We’ve now added more customizability to data package requests on web. Users are now able to select which specific data they’d like to be in their data package requests.
  • We recently deprecated our old Media Front Proxy and migrated to using GCP’s Global Application Load Balancers. The biggest benefit to users associated with this is better scalability/reliability of accessing media on Discord. 
  • Fixed a bug that caused the Nitro Gift modal to cover the share sheet.
  • Fixed an issue on mobile that caused buttons to have the bottom of their text slightly cut off on Android. This was more prominent on larger OS-level font scales.
  • Fixed a bug that caused the expression picker to sometimes not resize itself when toggling between portrait and landscape modes. 
  • Fixed an issue that caused the “Set Voice Activity” button in the call menu on mobile to have the wrong background color.
  • Resolved an issue that caused client themes on mobile to have incorrectly colored themes after a user changed the theme on desktop.
  • Fixed a bug that caused desktop notifications for events to lack the dismiss button if the event had a sufficiently long name.

Chat

  • Resolved an issue that caused message timestamps shown on messages to not have proper padding on iOS.
  • Fixed a bug that caused chat header badges, like @silent, to not properly render in the message.
  • Corrected a spacing issue that caused the “Share Link” button to be partly in front of the “Invite More Friends” text in the DM list.
  • On desktop, sending a long message no longer causes the Mod view profile to shrink.
  • Resolved an iOS issue that caused spoiler tags to not function if the only text within the tag was emojis. 
  • Pinned messages that don’t include media or other content should now properly show up in the “Pins” tab of search in the mobile app.

Activities and Apps

  • We’ve added a light mode theme to our developer portal. So, if you prefer to be less brooding while you’re developing or managing applications for Discord, we got you.
  • Resolved an issue that caused Activities in Text to partially obscure the pop-up @ list when trying to mention users or roles.
  • Fixed a couple of issues that would cause Spotify links to not properly render as embeds.
  • Fixed an issue that caused application slash commands to not render properly in threads.
  • In apps, context menu commands entered in messages that create a thread no longer causes the command to run in the parent channel. 

Audio/Video

  • Fixed a bug that caused users to be unable to transfer their voice calls to the PS5 app.
  • Fixed an issue on Android causing other users to not render in the call UX until after users tapped within the call UX.
  • The “who’s in the channel” UI for voice channels now properly respects server nicknames rather than always referencing global names.
  • The “also share system audio” setting is now available in both window and screensharing modes. Previously, users could get stuck in a state where they wanted to share system audio while streaming a window and the option wasn’t available.
  • Resolved an issue on iOS that caused connecting AirPods to automatically unmute the user in calls.

Media

  • Fixed a bug on Android that caused spoiler-tagged images to only dim the image, not obfuscate it.
  • Fixed an iOS image uploading issue that would cause images uploaded with no background to lose transparency.
  • Fixed an issue that caused sending files via iOS’s share function to not properly attach files.
  • Fixed a subtle animation issue that caused a jitter when expanding media in the media viewer.
  • We’ve tuned the Android Exoplayer buffer settings to improve video startup time, responsiveness to buffering, and overall management of the player buffer. This has led to a 13.3% reduction in the average user startup time.
  • We’ve enabled the Android Exoplayer decoder fallback setting, which allows media to play on devices without hardware decode acceleration. This increases the number of users who can play video attachments on Android.

Accessibility

  • The invite link input field now has an accessible name.
  • Users who utilize screen readers are now able to properly remove attachments using the “X” button.
  • When using a screen reader, the “Create Your Server” text in the server creation flow is now properly marked up as a heading.
  • Solved an issue for Voiceover users that prevented interacting with the “Share” and “Copy Link” buttons.
  • Resolved a bug with Talkback that caused the focus order in the settings drawer to be backward, causing incorrect actions to occur.
  • The view profile button for received friend requests is now descriptive, which should make them more accessible for users who use a screen reader.
  • The role of the user’s name in the you tab on mobile is now announced for users that utilize screen readers.
  • The “Selected” state is now properly announced by screen readers for the “Expire after” and “Max uses” options of server invites. 
  • Screen readers are now able to navigate to and interact with content in the “Recent” tab of the mobile app.

All relative measurements cited were performed internally with our own instrumentation and tooling.

… oh hey, you read everything! If you’re itching for the latest updates to Discord, you can find our previous Patch Notes articles here, or check out our archive of past Changelogs if you’re more into the fun stuff.

THE AUTHOR
MORE FROM