Ripcord Changelog

What's new in Ripcord 0.4.29

Jun 5, 2021
  • Reordered some initialization procedures to slightly reduce startup time.

New in Ripcord 0.4.28 (Dec 26, 2020)

  • Slack and Discord:
  • Added Ctrl+Up/Down to select messages without using a mouse.
  • On Mac, the Ctrl key is still used for this, not Cmd. Cmd+Up/Down is already used as a text editing shortcut.
  • Added Ctrl+E (Mac: Cmd+E) to edit the currently selected message.
  • Press escape or Ctrl+E again to cancel editing.
  • Up arrow can still be used to quick edit your most recent message.
  • Discord:
  • Improved compatibility with Discord server telling clients to disconnect, reconnect and resume.
  • Should significantly reduce unread markers being reset to "1" when they shouldn't be, things disappearing and reappearing in chat, etc.
  • Added display of Discord replies.
  • Added ability to create Discord replies.
  • Added escape to deselect the currently selected message.
  • Added Ctrl+R (Mac: Cmd+R) to reply to the currently selected message.
  • Press escape or Ctrl+R again to cancel replying.
  • Opening the pinned messages view or mentions for a channel used to cause the wrong history to be fetched if you scrolled up further in the channel. This is now fixed.
  • Finally.

New in Ripcord 0.4.27 (Nov 14, 2020)

  • General:
  • Added experimental option for condensed mode sidebar layout.
  • More space efficient, less fluff.
  • This might become the default in the future.
  • You can enable it in Preferences -> Experimental -> Sidebar Layout
  • Rewrote some parts of the sidebar item layout to work better across a larger range of font sizes.
  • Fixed some parts of the spacing and alignment not tracking the font size.
  • Fixed status circle not growing to match the font size.
  • Fixed excessive indenting for Slack group DMs in sidebar
  • Fixed member counter badges on group DM channels not tracking the main sidebar font correctly.
  • Improved efficiency of redrawing unread badges in the sidebar.
  • Reduced some bloat in the sidebar drawing code.
  • Fixed theme editor window not having a window title.
  • Fixed dialog push buttons being too tall by 1 point on some high DPI configurations.
  • Slack:
  • Fix Slack admins having Delete Message menu action enabled in 1-on-1 DMs, even though server would reject it. (Group DMs are still OK to delete.)
  • Fixed Slack emoji reaction tooltips having '@' for not-yet-loaded user names, when they should have been '@.....'
  • Discord:
  • Added multiple selection support to the Discord ignored users list editor.
  • Added jfif suffix as heuristic for jpeg mime type when uploading to Discord.
  • Might be necessary when dragging and dropping images from some versions of Firefox.
  • Fixed bad display of "key" (guild/server owner) and "ignored" icons in Discord user list sidebar
  • The icons would overlap if both were on the same user.
  • Improved efficiency of up Discord user list sidebar drawing/display.
  • Fixed possible Discord message log glitch and abort/crash when repeatedly scrolling up while simultaneously adding users to the ignored users list and while history is fetching.
  • Fixed some minor code bloat in the Ctrl+K popup handling code specific to Discord.
  • Fixed some minor code bloat in the chat message layout code.
  • Windows:
  • Updated the OpenSSL binaries (.dll) that are shipped with Ripcord.
  • This fixes Ripcord quitting after opening on newer 10nm Intel CPUs in some tablets and laptops.
  • This was already available in 0.4.26.1, but now it's in the full release.
  • Fixed a bug with the combo boxes in the preference window that could have caused the application to not cleanly quit if when quitting with the preferences window still open and one of the combo boxes expanded.
  • Fixed the unread badge number font not having anti-aliasing in some situations when it should have.
  • Specifically, when choosing a font and setting AA to disabled, but the font doesn't have a good size to use for the smaller unread badge, so it gets substituted with Calibri.

New in Ripcord 0.4.26.1 (Oct 19, 2020)

  • Windows users: if you have a new-ish Intel laptop, and Ripcord quits immediately after you run it, please try this 0.4.26.1 build instead. It has an updated version of OpenSSL which should resolve this issue. This will be included in the next full release.

New in Ripcord 0.4.26 (Jun 21, 2020)

  • General:
  • Added live theme changing withut having t restart Ripcrd.
  • Added a GUI-based custm theme editr with live preview, und/red, and JSN imprt/exprt.
  • Added autmatic imprt f custm_theme.jsn files t the new theming system.
  • Added preference t shw ntificatins even when the applicatin is fcused/active.
  • The ntificatins mde in preferences is nw displayed as a cmb bx with 3 chices, "never", "nly when nt fcused", and "always."
  • Remved legacy v1 sessin tabs lading cde. If yu smehw managed t last run Ripcrd befre the versin released n 2018-3-25 and then run this new versin, the tabs saved frm that tw-year-ld sessin will be lst.
  • Remved legacy "theme/light_theme" settings migratin cde. If yu haven't run Ripcrd since 2018-3-03 but then run this new versin f Ripcrd, yur theme preference will be autmatically reset t Carbn.
  • Slack:
  • Added basic suppressin f duplicate Slack ntificatins.
  • This shuld help reduce ntificatin spam when using enterprise grid Slacks with multiple verlapping wrkspaces.
  • The implementatin f this is still kind f primitive. Please reprt any issues yu have, r any suggestins yu can think up t imprve it.
  • Added middle-muse-buttn scrlling fr Slack channels, like in sme web brwsers and PDF readers.
  • Discrd channels already had this.
  • Fixed 2FA/MFA-enabled accunts being unable t authenticate with username & passwrd.
  • Caused by change in Slack's sign-in prcess. Ripcrd cde has nw been updated t handle it.
  • Brwser imprt methd was unaffected.
  • Fixed ntificatins still appearing fr messages arriving in Slack threads even when a tab with that Slack thread is already visible and fcused.
  • Updated frmat f sme Slack data in bkmark lists and saved tabs
  • Bkmark lists will be autmatically updated t new frmat when running this new versin f Ripcrd.
  • ld versins f Ripcrd will nt be able t recgnize Slack channels in bkmark lists in the new frmat.
  • This will nly affect yu if yu have bkmark lists with Slack channels in them, run this new versin f Ripcrd, and then dwngrade t an lder versin f Ripcrd.
  • Added supprt fr future changes that Slack will be making t their prtcl.
  • Discrd:
  • Added [file uplad...] indicatr text t pending upladed files.
  • This fixes messages with failed uplads being unclickable due t being 0 pixels tall.
  • Failed uplads can nw be canceled just like regular messages by right-clicking n them.
  • Finally.
  • Added "Cpy Rle ID" t the cntext menus in Discrd rles lists views (member rles assignment and main guild rles list)
  • Remved Discrd prfile ppup windw thing when left-clicking n a user in a chat channel.
  • Left click nw pens the same cntext menu as right click.
  • Added accunt creatin date display t the "Advanced" submenu in Discrd user cntext menus.
  • Added "Cpy Name & Tag" t Discrd user cntext menu

New in Ripcord 0.4.25 (May 23, 2020)

  • General:
  • Added an option to control whether or not to always open the Accounts tab on launch.
  • Added a warning label for the "Absolutely minimize data usage" preference option indicating it will cause images to not be downloaded.
  • Slack:
  • Updated username & password sign-in/authentication method to deal with changes to Slack's web service.
  • Signing in a new account or re-authenticating with a username & password hasn't worked for the last couple of weeks. Now it works again.
  • Browser import still worked the whole time, and continues to work.
  • Fixed a case where workspace team names with an ampersand in them were not the having HTML-like junk sent by the server stripped out of them.
  • Many more internal changes to Ripcord in preparation of future features.
  • Discord:
  • Improved handling of cached data in situations where the Discord server closes the socket and fails to resume the session upon the client reconnecting.
  • This should reduce the occurrences of seeing empty data in Ripcord after a connection failure and reconnection.
  • There's still lots more rewriting to be done here, so it's not perfect.
  • Fixed rejection of 2 character long invite codes.
  • Fixed rejection of invites codes that contained _ and - characters.
  • Added support for discord.com invite links.
  • Updated some hostname usage to discord.com instead of discordapp.com.
  • Added a confirmation dialog when kicking a user from a Discord guild.
  • Removed the now-useless "Data" column from the Discord server list management view.
  • This has been useless for the last few versions, but I forgot to remove it from the UI.
  • Improved overall efficiency of Discord protocol data handling code.
  • Slightly lower background CPU usage.
  • Overhaul of several internal data handling systems.

New in Ripcord 0.4.24 (Mar 14, 2020)

  • General:
  • Tweaked status bar connection change icons to match the icons from the Accounts view.
  • Slightly reduced memory usage at startup.
  • Reduced some code bloat by reorganizing some internals and eliminating redundant code.
  • Slack:
  • Important fixupdated Ripcord to deal with new Slack IDs
  • A few hours ago, Slack began using longer ID strings for users and file uploads (and possibly some other things.)
  • Files uploaded to Slack may not have been visible in Ripcord. Newly signed-up user accounts may also have not been visible.
  • This may have been spurred by sudden increased load from more people working from home and using Slack.
  • Internally, Ripcord encodes Slack IDs using an optimized format to avoid wasting memory and making lookups and comparisons faster.
  • Ripcord's format left room for 2 extra characters, just in case. But it only allowed 1 to actually be used without triggering a safeguard.
  • Slack's new format added 2 extra characters.
  • Ripcord's code has been updated to allow both extra characters to be used.
  • Fixed emoji reaction tooltips being stuck open when leaving the mouse cursor over a reaction, and then changing tabs using keyboard shortcuts, alt-tabbing, or hiding the window.
  • Fixed potential spurious debug warnings in event log when performing message searches.
  • Fixed message search results usually not displaying the full text of the message in the details pane when selected.
  • Should always display, now.
  • Fixed the preview in the upload image dialog being way too extra wide if the image was short and wide.
  • Discord:
  • Fixedwhen muting or unmuting a channel in a server, the sidebar in Ripcord would show the channels in all other servers becoming unmuted.
  • This was just cosmetic -- restarting Ripcord would bring it back in sync with the truth on the server.
  • This bug was added in 0.4.23
  • And now it's been fixed.
  • Fixedpotential crash in certain situations when enabling Windows firewall or removing a network device while in a voice call.
  • Logic error in the multi-threaded voice chat code when a networking thread blocks for too long when also disconnecting and while also trying to send outgoing audio.
  • Not an exploitable bug. Intentionally crashed on a null pointer.
  • Improved efficiency and reduced code bloat of Discord protocol decoding and handling.
  • Further reduced background CPU usage in large Discord instances.
  • More coming next version.

New in Ripcord 0.4.23 (Feb 18, 2020)

  • Discord:
  • Removed usage of the ancient GUILD_SYNC Discord protocol feature.
  • Added initial population of channel user lists using the newer Discord server protocol features.
  • Initially, it will only show the 300 users at the top of the list for each channel.
  • Only the first 300 users will be initially loaded, regardless of how many members are in the server.
  • Added server-side name search to server member list and user list sidebar.
  • Ripcord now talks to the server when doing user searches and filtering.
  • You can use and this to load the information for users beyond the first 300.
  • If there are more than 300 members and you need to see a specific user in the list, use the search field to search for them.
  • If there's a match, they will appear in the sidebar, and will stay in the list you restart Ripcord.
  • Added server-side name search to @ completion.
  • Just like the user lists, you can also use "@username" to search for users, and the information for that user will be loaded on demand while you are typing.
  • This means you can now once again @-complete the names of users in servers of any size in Ripcord, just like back in the good 'ol days of 2016-2017.
  • This is probably still pretty buggy.
  • Fixed channel topic text not selectable in the channel details if your user doesn't have the permissions to edit it.
  • Finally, you can copy out the URLs in topics when you aren't a moderator.
  • Added ability to manage "Go Live"/stream permissions flag.
  • Just to manage the permissions. You can't stream or view streams with Ripcord.
  • Added some basic capabilities to display custom non-game Discord statuses.
  • Won't always work correctly -- this is just an initial test.
  • Decreased overall background CPU usage for many common back-end database/cache things.
  • Added some simple strategies to avoid wasting operations on the database files that better matches Discord's current data patterns.
  • Decreased CPU usage when Discord emoji reactions are rapidly being added and removed.
  • Decreased CPU usage when there are multiple private DM channels being modified in rapid succession.
  • Decreased CPU usage during initial sign-on with large friends lists.
  • Decreased CPU usage when fetching or processing lots of messages with embeds.
  • Decreased CPU usage when fetching lists of messages with many attachments/files.
  • Decreased CPU usage when in a server that's rapidly adding or removing members.
  • Removed the "Playing" prefix for custom statuses.
  • It was no longer always accurate, and Ripcord doesn't yet implement the newer custom status system that would give the full information for what kind of activity it is.
  • Added "BOT" next to bot authorship lines in chat log.
  • Fixed the username and emoji completion popups in the chat text input field for Discord channels jumping around between being above and below the input field as you type.
  • This was caused by the default popup window positioning logic trying to be too smart.
  • Ripcord just forces it above in all cases now, like it already did for Slack.
  • Fixed unmuting a Discord channel not taking effect in Ripcord's UI until restart.
  • The change should now be visible immediately.
  • Windows:
  • Added a workaround for an incredible bug in Qt which could cause clicking the 'X' with the mouse in certain types of confirmation dialog boxes to confirm the action instead of canceling it.
  • Yes, this is a real bug in Qt.
  • It only happened if you clicked the 'X' window titlebar button with the mouse. It didn't happen if you clicked "Cancel" or if you pressed escape.
  • It only happened in some confirmation dialog boxes. It only happened on some versions of Windows and only some versions of Qt.
  • Shoutouts to user @Leafeon who discovered this Qt bug by taking a joke screenshot of the confirmation dialog box for deleting all of the channels in their server, and then having all of the channels in their server deleted.
  • Linux:
  • Added a workaround for a FreeDesktop notifications clown fiesta.
  • Ripcord will sometimes issue notifications or tray messages like this example: "[CoolTeam] <Alice> hi Bob"
  • With Slack, the client is supposed to just display whatever the server gives it, like the example above.
  • Some Linux desktop environments (or rather, some components that constitute some desktop environments, I guess) will interpret "<Alice>" to be the opening tag of an HTML element that has no closing tag.
  • And then the desktop environment will helpfully display a popup with these contents: "[CoolTeam] "
  • If Ripcord just replaced '<' and '>' with the HTML entities as text (like < ) then some other Linux DE components wouldn't display that correctly, either. (Since they aren't interpreting it as HTML, they would just display the HTML entities junk as text.)
  • There's no API or way to query to see what system or listener Qt ends up sending the notification messages to.
  • Even if there were, I don't want to maintain a list of specific FreeDesktop-ish dbus things in Ripcord with specific behaviors for each version that Ripcord should follow.
  • Solution: replace '< and '>' with 'ᐸ' and 'ᐳ' from the Unicode Canadian Aboriginal Syllabics block.
  • Computer.

New in Ripcord 0.4.22 (Jan 18, 2020)

  • General:
  • Changed Preferences window to use a section tree on the side instead of tabs up top.
  • This is to prepare for more extensive preferences and categories being added, which would have caused the space in the tab bar to overflow.
  • There are also some under-the-hood changes to the preferences system which will become more relevant in the future.
  • Moved Proxy out of the Experimental section in Preferences and into its own section.
  • Changed the Accounts view so that it remembers which accounts were selected when navigating forwards/backwards in the tab.
  • Slack:
  • Added automatic "opening" of DM and group DM channels when they're viewed in a tab in Ripcord.
  • "Open" is a state on the Slack server for DM and group DMs that you want to have listed in the sidebar. (This applies to both the web client and in Ripcord.)
  • Slack can apparently automatically "close" DMs and group DMs. Or, the user may have intentionally closed one.
  • Previously, Ripcord would not automatically issue the "open" command to the Slack server when a DM or group DM was opened or viewed in a tab. This was confusing, because it could cause a channel to be open in a tab, but there was no entry for it in the sidebar.
  • Ripcord will now attempt to automatically send the "open" command to the Slack server when it thinks it is appropriate.
  • It will try to avoid doing stupid things like immediately re-"opening" a channel if you tell it to close a channel while a tab for that channel is still visible.
  • This is the first half of fixing the problem where DMs and group DMs do not show up in the sidebar in Ripcord when the user expects them to.
  • Note that there is still an issue in Ripcord where DMs and group DMs with unread messages may not show up in the sidebar if the DM or group DM is in the "closed" state. Special listing of unread-but-closed channels in the sidebar is planned for implementation in the next update.
  • This is due to some fussy behavior with how the Slack server treats the "open" and "closed" state of DMs and group DMs.
  • Notifications for these channels should still appear fine in Ripcord while online, even in the current version. (Please send an email if this is not the case.)
  • If you participate in many DMs or group DMs in a large workspace, I would recommend using the mobile or web client to occasionally check to see if any stale DM or group DM channels have unread messages in them, because the channels may not be listed in the sidebar in Ripcord if Slack has automatically put them into the "closed" state.
  • After implementing the show-unread-but-closed-DMs-in-the-sidebar feature, upon connecting to a workspace, "closed" channels which have unreads will have a way to be reached from the sidebar.
  • This should be remedied/implemented in the next release, at which point there should no longer be cases where DMs and group DMs unexpectedly do not show up in the sidebar. I hope.
  • Fixed switching tabs via shortcut while an emoji reaction tooltip is visible causing the tooltip to get stuck.

New in Ripcord 0.4.21 (Nov 25, 2019)

  • Slack
  • Overhauled the Slack stuff in the sidebar.
  • Workspaces are grouped singularly (you'll understand what that means when you see it.)
  • Channels and DMs now have the kind of subgrouping you would expect.
  • Channels are now positioned above DMs in each workspace group, the same as the original Slack web client.
  • The workspace group now shows an unread badge at the top level (the total number of channels and DMs with unread messages.)
  • There is now a "Slack" section which can be used to fold away all Slack workspace groups.
  • Added support for channel muting.
  • The muting state of public channels, private channels, DM channels and group DM channels are all respected.
  • Muted channels are synchronized correctly with the Slack server and your other Slack clients you may be using.
  • Muted channels won't have unread badges appear for them.
  • Muted channels will have an eye-slash icon in the sidebar.
  • Channels can be muted and unmuted via the context menu in the sidebar, or from the "Channel" menu when a Slack channel tab is selected.
  • Ripcord will also let you mute DMs with "apps" -- which the normal Slack client won't let you.
  • Fixed 'seletion' typo in the toolbar for Slack threads overview tabs.

New in Ripcord 0.4.20 (Nov 22, 2019)

  • General:
  • Added Unicode 12 emoji for both Slack and Discord.
  • Added an optimization for PhantomStyle (the GUI styling engine for Ripcord) which slightly reduces the per-element CPU overhead for most GUI painting operations.
  • Fixed wrong unread counter badge showing up in tabs during a drag operation when there are multiple tabs open, the first tab has an unread badge and is not the tabbed being dragged and the tab being dragged does not have an unread badge.
  • Slack:
  • Added filtering logic to hide incompatible Unicode 12 emoji when adding an emoji reaction.
  • Slack's servers apparently do not support emoji from the Unicode 12 standard being used as reaction emoji, and would reject attempts to use them.
  • Ripcord will now hide emoji from the Unicode 12 standard from the emoji picker when adding a reaction.
  • Unicode 12 emoji can still be used in chat messages.
  • Discord:
  • Added "Advanced -> Copy link to message" in the chat message right-click menu.

New in Ripcord 0.4.19 (Nov 22, 2019)

  • General:
  • Added shareware licensing system.
  • This is still in the experimental phase.
  • You can access the license entry dialog from the "Help" menu.
  • Purchasing a license is currently voluntary.
  • Nagging and trial periods are not yet enabled, and won't be enabled until I'm confident the basic licensing system is working properly.
  • Slack:
  • Added better handling of public channels being converted into private channels.
  • The UI in Ripcord will now reflect the change immediately instead of requiring a reconnect.
  • Added handling of channel deletion events.
  • Deleted channels will now be immediately removed from the sidebar, instead of requiring a reconnect.
  • If you have any tabs that are open on a deleted channel, they will not be automatically closed.
  • You will be unable to send new messages to that channel.
  • Fixed typo in localization string: "Channel Properites" instead of "Channel Properties" in the Channel menu.
  • Improved visuals of "Drop HAR file here" indicator in account import dialog.
  • Mac:
  • Fixed regression that used the wrong text for the name of the "Close Window" menu item ("Ctrl+Shift+W" instead of "Close Window", which should have only been used for the shortcut.)

New in Ripcord 0.4.18 (Oct 5, 2019)

  • General:
  • Added "Language" tab to preferences.
  • Renamed "Fonts and Colors" preferences tab to "Style."
  • Changed tooltips to respect palette/theme colors instead of always being the default yellow color.
  • Slack:
  • Added mentions view.
  • Added the Workspace context menu when right-clicking the Channels and DMs sections, in addition to the main section for each workspace.
  • Added display of message attachments and "blocks" to the details view for message search results.
  • Added ability to sort by either relevancy or by date/time in when searching messages.
  • Added icons for the various views in the Workspace menu.
  • Improved visuals and spacing for the message search results list.
  • Tweaked activity indicators to use text color instead of highlight color.

New in Ripcord 0.4.17 (Sep 17, 2019)

  • General:
  • Changed tab text, when there's not enough room for the text to fit in the tab, to put the "..." on the right side instead of the left side.
  • The number of unread messages in the current tab is no longer appended to the window title of minimized windows. Instead, if any tabs in the window have any unread messages, a * will be prefixed to the window title.
  • Therefore, #general (1) will now be * #general, and the * shows up even if it's not the currently selected tab.
  • This is probably a lot more useful than the old system.
  • On Mac and Linux (and on Windows high DPI), the unread badge visuals have been tweaked to produce more consistent spacing around the numbers.
  • This is especially visible for unread badges which are drawn in tabs title areas and the "Go to" list.
  • CPU usage when redrawing the sidebar with many unread badges visible has been reduced.
  • Slack:
  • Added tooltip when hovering over emoji reactions which shows the name of the emoji and the list of users who added a reaction.
  • Added preferences option to control the size of emoji reactions.
  • Added unread indicator badges on "Threads" overview tabs.
  • Added a "Return to Channel" menu and toolbar action for navigating to the parent channel of a thread.
  • Added "Threads Overview" item in the "Workspace" menu. This is the same as clicking on the "Threads" item in the sidebar underneath a workspace.
  • Fixed the "+" part of unread badges like "1+" not appearing in the "Go to" (Ctrl+K) menu.
  • Discord:
  • Added the ability to view "announcements"/"news" special channels.
  • These are only available to "partnered" Discord guilds.
  • Ripcord will not display them with a bullhorn icon or with any extra special feature -- they'll look just like regular text channels.

New in Ripcord 0.4.16 (Sep 13, 2019)

  • General:
  • Tweaked sizes of icons in the sidebar (the small icons, like the lock symbol, microphone, etc.) to be slightly larger.
  • The new icon set has slightly smaller icon main shapes by default, so this change brings the indicator icons in the sidebar back to roughly the same size as they were before the new icon set was adopted.
  • Changed Event Log view toolbar buttons to be narrower.
  • Changed some of the icons in the Event Log view to make better use of the new icon set.
  • Fixed header text in the Event Log not being center aligned.
  • Tweaked icon color in the default Polar light color scheme.
  • Tweaked the color of disabled text in the default Stealth dark color scheme.
  • Tweaked the way tab frames are drawn to make it easier to distinguish between the foreground and background tabs.
  • The background tabs no longer have a subtle edge highlight on them.
  • Changed the generic emoji face icon in the toolbar to a coffee mug.
  • Faces are out. Coffee is in.
  • Fixed alignment of the right-arrow icon in the toolbar extension overflow button.
  • Slack:
  • Overhauled the "All Threads" tab/view.
  • Now just called "Threads" or "threads overview."
  • Changed row height to a single line.
  • Only threads that you are involved with or subscribed to are shown.
  • A "Fetching..." indicator is shown when the data is being re-fetched from the server.
  • More accurate tracking of thread state, new messages, unread count, etc.
  • Threads list is now sorted by most recent activity/reply.
  • Threads list now shows the number of unread messages in a thread.
  • Added actions available in the toolbar, context menu and menu bar:
  • Unsubscribe from threads in the list.
  • Open selected threads in new tabs.
  • Mark selected threads as read.
  • Mark all threads as read.
  • Threads list now remembers which threads were selected when navigating away and then back.
  • The scroll position of the threads list is also saved.
  • Improved the accuracy and synchronization of unread states of threads.
  • Tabs of threads should now always show when you have unread messages in them.
  • The unread position/marker in threads should now be correctly synchronized with the Slack server and with other Slack clients you may be using.
  • Added an unread indicator in the sidebar on the "Threads" item for the number of threads with unread messages.
  • Added a "Subscribe" or "Unsubscribe" item to the right-click menu of threads in channel/message log views.
  • Added the name of the team/workspace to the threads overview tab title.
  • Fixed the read/unread indicators in channels sometimes not having their synchronized state sent back to the server.
  • This could occur with the combination of briefly navigating to and away from a channel and when no new messages were sent in that channel (from any user) for the duration of the session.
  • Added some minor optimizations when drawing long lists of users in the sidebar and other list views.
  • Updated HAR ("Import from browser") account importing logic to deal with changes to the HAR files created by Chrome and Chromium in certain Slack workspaces.
  • Discord:
  • Added ability to filter the ignored users list.
  • Fixed editing a role's name not allowing changes to be applied until some other edit had been performed as well.
  • Fixed disclosure icons for channel categories in the sidebar being incorrect or invisible.
  • Added better connected/disconnected account state display in the accounts list view.
  • Previously, an account that was connecting/disconnecting would have shown "Connected" before it was actually fully connected.

New in Ripcord 0.4.15 (Sep 2, 2019)

  • General:
  • Added right-click (or on Mac, Ctrl-click) context menu to tabs.
  • Added "reopen closed tabs" feature, available on Ctrl-Shift-T (on Mac, Cmd-Shift-T), or from the "View" menu, or in the tab context menu.
  • Added "move tab to new window" in the tab context menu.
  • Added "duplicate tab" to the tab context menu.
  • Added Ctrl-click (on Mac, Cmd-click) (or middle-click) to the forward and backward history navigation buttons, which will cause the current tab to be duplicated with its history stepped forward or backward.
  • Added preservation of unset message contents when navigating, duplicating, closing, and reopening tabs.
  • This works even if you navigate between channels from different services, or between tabs/views that don't have message input boxes.
  • Added Ctrl-clicking (on Mac, Cmd-clicking) on channels in the sidebar to open them in new tabs.
  • Previously, only middle-clicking worked.
  • Slack:
  • Added common Slack items to the right-click context menu on the workspace top-level sections in the sidebar ("Channels", "Workspace Members", etc.)
  • Added support for the preference setting "return creates newlines in code blocks" from the Ripcord general preferences.
  • Discord:
  • Added common Discord items to the right-click context on the "Discord" item in the sidebar ("Friends", "Mentions", etc.)
  • Fixed DM notifications not drawing an arrow icon separator between the sending and receiving accounts.

New in Ripcord 0.4.14 (Aug 27, 2019)

  • This update changes the UI icons in Ripcord. Please report any issues or incorrect icons that you find.
  • General:
  • Changed to use a new general-purpose UI icon set.
  • "GLYPHICONS Halflings" by Jan Kovarík.
  • Removed old font-based icon rendering/caching system.
  • Added new custom icon rendering/caching system.
  • Application startup time has been reduced.
  • Memory usage has been reduced.
  • Application binary size has been reduced.
  • Icons should render more cleanly across different DPIs and interface scales.
  • Updated Slack logo from the old mark to the new mark.
  • Windows:
  • Fixed application aborting with a font-related error during start up on some versions of Windows which use certain combinations of Russian/Cyrillic locales.
  • This was caused by a bug in Qt's font handling system when trying to load the icon font that Ripcord bundles in its executable resources.
  • Ripcord no longer uses an icon font and doesn't need to instruct Qt to load any additional fonts, so this bug is no longer a problem in Ripcord.

New in Ripcord 0.4.13 (Aug 22, 2019)

  • Slack:
  • Added support for Slack "blocks."
  • This is the third and newest method of creating "rich messages" and bot-generated UIs for Slack.
  • Added support for all Slack "block layouts" and "block elements", including:
  • Buttons
  • Dropdown/combo boxes
  • Overflow/burger menus
  • Selection popups
  • Date pickers
  • Inline images and "context" lines
  • Side-images and side-widgets in "section" layouts
  • Full-size images
  • Paragraph-like layouts of widgets
  • Two-column "fields" layouts
  • Horizontal separators
  • Added "Open URL" confirmation dialog for when a bot tries to force you to open a URL from a Slack "blocks" action.
  • Fixed @mentions not being sent correctly when entered from the file upload dialog.
  • Fixed a potential crash when clicking, holding, and then dragging out of the window starting from a button in a bot "attachment action."
  • Fixed topic label being displayed clipped off when the toolbar is too narrow for text elision or fade-out.
  • Fixed an unnecessary debug print to console on Mac and Linux when a Slack "dialog" created from a bot returns an unknown error from the server.
  • Discord:
  • Added "Copy Guild ID" to the "Advanced" sub-menu in the context menu for servers/guilds.

New in Ripcord 0.4.12 (Aug 8, 2019)

  • Windows:
  • Fixed a bug which could cause the menu bar in Ripcord to switch to a corrupted white-and-black incorrect color scheme after the wallpaper or Windows color schemes are changed in Windows 10.
  • This would have required restarting Ripcord to fix.
  • It can also sometimes happen after a GPU crash/restart or when disconnecting/connecting multiple external displays.
  • This is caused by a bug in the QtWidgets library.
  • Ripcord now works around this bug in Qt to avoid the problem.
  • Upgraded compiler version and runtime library version.
  • Slack:
  • Added a "Slack" preferences section in Ripcord preferences.
  • Added a preference for displaying avatars in chat with three choices:
  • Full size, to the side of messages (default)
  • Small size, in-line with the user name
  • No avatars in chat
  • Added a preference for join/leave messages with three choices:
  • Treat like normal messages (default)
  • No effect on unread counters
  • Completely hidden
  • Added "leave channel" menu item to the right-click menu for regular channels in the sidebar.
  • DM and group DM channels already had the "close conversation" menu item.
  • Added a second automatic fallback method for fetching user/member data from Slack servers.
  • Requests for user information which fail with the primary method will be automatically retried with the fallback method.
  • The Slack servers may sometimes stall or return incorrect results when the client software requests information about other users in a workspace.
  • This happens automatically and doesn't require any intervention from the user.
  • This will reduce the occurrences of other users being stuck as "....." in the UI, especially in Slack workspaces with shared or linked channels and teams.
  • Fixed text not wrapping correctly in displayed chat messages when a message contains a single unbroken word which is longer/wider than the width of the chat viewport.
  • Fixed channels which were added to bookmark lists but then were subsequently left (as in no longer joined to the channel) but remaining in the sidebar showing up as "....." for some amount of time after restarting Ripcord and signing back onto the workspaces.
  • Fixed chat history not always re-fetching properly after joining a channel, leaving, then joining again.
  • Fixed mouse 4 and mouse 5 buttons (forward/backward in history) being ignored while hovering the mouse pointer over an emoji reaction.
  • Overhauled several internal event and data handling systems to reduce code bloat.

New in Ripcord 0.4.11 (Jul 30, 2019)

  • Discord:
  • Added display of "language" part of non-standard Markdown code blocks.
  • This part of the text is traditionally not required to be displayed, but many users will mistakenly put code content into this area instead of the name of the programming language used in the code block.
  • The Discord web client will usually display this area as text if it doesn't match a list of known programming languages.
  • Ripcord will now always display the "language" part of code blocks, if it exists.
  • Increased contrast on the check/neutral/cross channel permissions editor controls to make the active choice more visible.
  • Slack:
  • Added "all users" matching to the Ctrl+K "Go to.." popup.
  • All users in a workspace should now show up, whether or not you already have an open DM with them.
  • Added ability to start or open new or existing DMs to a user via the "Go to..." popup.
  • This works seamlessly with any user, whether or not you already have an open DM with them.
  • Please report if this doesn't work properly in your Slack workspace.
  • Overhauled relevancy system for the "Go to..." popup filtering.
  • Matches are now sorted based on a comprehensive fuzzy scoring system that includes multiple factors, like which channels are already joined/opened, whether or not they are from the same workspace as the current tab, the quality of the string match, etc.
  • This system is still incomplete. Notably, it does not yet account for unreads or mentions.
  • This will soon be further improved.
  • Fixed the "Go" button in notifications generated by messages in threads navigating to the channel of the thread instead of to the thread itself.
  • Fixed unread badges in thread tabs not displaying the correct unread count of the thread.
  • Fixed viewing a thread causing the unreads of a channel to be marked as read instead of just the thread.
  • Fixed certain newer variations of "thread broadcast" messages delivered by some Slack servers/workspaces not being interpreted as thread broadcasts.
  • Improved internal unread marker tracking in channels and threads.
  • Ripcord doesn't yet visibly display unread marker lines in the UI. This is just for the internal system that manages the unread badge counters. Eventually, it will be displayed in the message log itself (optionally.)
  • Fixed custom user status emojis in user completion popups displaying as text instead of as images.
  • Fixed extra-long user names potentially not being tab-completable in the message input box.
  • Fixed disconnecting from a Slack server that had malfunctioned and then reconnecting to the workspace not causing Ripcord to re-request the user information for other users in the workspace which were stuck in the "....." state.
  • Assuming Ripcord reconnects to a non-malfunctioning server, the user data should then be loaded correctly.
  • In the future, there will be further improvements to the data querying retry system which will not require manual disconnecting/reconnecting (unless the Slack service experiences a major outage that lasts more than several minutes.)
  • Added support for an upcoming Slack protocol change for how participating users in threads are accounted for.
  • Disabled the feature that locks out the chat message input field from being able to send messages in a channel if your user account is not authorized to do so.
  • Slack currently has a server-side bug/flaw that prevents this feature from being implemented correctly. The regular Slack web client is also affected by this.
  • Improved some event log error messages for several types of errors that can arise from a misbehaving Slack server.
  • Reduced some minor compiler-related code bloat in several graphics resources internal tracking systems.

New in Ripcord 0.4.10 (Jul 23, 2019)

  • If you only use Discord, you can skip this version.
  • Slack
  • Fixed regression: channel topics not being displayed
  • This was caused by a change to the caching system in the previous release. A bit flag was not being cleared properly due a mistake I made when changing a data format to cope with new Slack server behavior.
  • I've added some compile-time checks to prevent this particular type of mistake from occurring again in the future.
  • Added ability to send @channel, @here, and @everyone mentions.
  • Added permissions tracking for sending @channel, @here, and @everyone.
  • Added tab-completion for @channel, @here, and @everyone.
  • The tab-completion options for these will only be available if your account/user has permission to send them in that particular channel.
  • Added permissions tracking for #general (or equivalent) channels. Ripcord will now correctly prevent attempting to send messages in channels where your account/user does not have permission to do so.
  • Added logging of the Slack WebSocket host ID upon connecting.
  • Added immediate updating of channel topic when changed.
  • Improved the ordering of results in the tab-completion popup for usernames.
  • A scoring system is now used, which will more highly rank usernames that have a matching prefix. This will be further improved in the future.
  • Improved logging for HTTP requests that fail due to permissions/authorization errors.
  • Added locale-dependent formatting for some number displays.
  • Example: the member counter in the toolbar will now display "1,500" instead of "1500" in American English locale.
  • Fixed being able to attempt to send messages in channels that are still open in tabs but which the account/user is no longer joined to.
  • The message would not have been accepted by the server, requiring a right-click to discard the failed message.
  • Sending and editing messages in these cases will now be prevented by the UI.

New in Ripcord 0.4.9 (Jul 16, 2019)

  • Slack:
  • Updated HAR account importing logic (import from browser) to handle changes to Chrome/Chromium's HAR export when "CORS" security policy is in effect.
  • Cookies are absent from some HTTPS requests in the HAR data exported by newer versions of Chrome/Chromium in certain workspaces.
  • This would cause Ripcord to fail to import the account data from the HAR file.
  • Ripcord will now scan more of the data in the HAR file when looking for the cookies.
  • Added detailed diagnostics of found and missing data if a HAR import fails.
  • Will appear if you click on the "More info..." button in the error dialog that appears if a HAR account import fails.
  • Added a "Token Type" field to the details column in the accounts view for Slack accounts.
  • Token types will either be "S-Style" or "C-Style". Both should be handled correctly by Ripcord.
  • Updated Ripcord to handle changes to Slack that requires cookies to be included for more types of requests to the Slack servers.
  • Accounts with "C-Style" tokens require this. No intervention is necessary from the user.
  • Added correct display of "@everyone" mentions in chat messages. ("@channel" and "@here" already worked.)
  • Added better logging messages for more types of ways that "send message" operations can fail.
  • Fixed a potential temporary glitchy behavior in the sidebar when connecting with a Slack account, disconnecting from it, deleting the account, then re-adding it as a new account with the same credentials without restarting Ripcord and while leaving other Slack accounts online.

New in Ripcord 0.4.8 (Jul 11, 2019)

  • General:
  • Improved the copy-text-to-cliipboard functionality of the Event Log view. Copying text from the Event Log view will now include every line of the event log that's selected, and with better formatting.
  • Fixed a graphical artifact that could appear when using the quick-edit mode on a message, and the message is multiple lines, and the scrollbar appears in the chat text input, and the edited message content is scrolled up or down using either the keyboard or the scrollbar.
  • Slack:
  • Fixed regression: certain Unicode-standard colon-wrapped emoji (example :shrug_tone2:) were not being translated into Unicode emoji codepoint sequences.
  • This was caused by a mistake which bypassed this code path after the improved @ mentioning system had been added in the previous release.
  • It would cause the emoji to appear as plaintext to other Slack users instead of graphical emoji.
  • It did not affect custom Slack emoji, and only affected certain Unicode emoji (usually those with skintone or family modifiers.)
  • Added ability to tab-complete channel names (like #general)
  • Tab-completing a channel name will cause it to show up as a formatted item in the chat message, instead of as a plaintext #general.
  • Overhauled handling of DM and group DM channels.
  • Group DMs should now correctly appear in the sidebar in all cases.
  • DMs should automatically re-appear in the sidebar if they had previously been closed but then someone else sends a new message in them, the same as the Slack web client.
  • Added handling of "convert group DM to private channel" stuff in Slack. The newly converted channel should now show up correctly without requiring a disconnect/reconnect cycle.
  • Added ability to list group DMs in the "Workspace -> Channels" window. This allows you to re-open group DMs you have previously closed.
  • Added handling of various "group_join", "mpim_joined", "group_left", etc. messages. They should no longer generate warnings for unrecognized message types in the event log.
  • Added correct display of "@channel" and "@here" pseudo-mentions.
  • Improved several logging messages in session threaded worker code. Also added a log message which will indicate which session ID is tied to which local db cache file.
  • Improved the consistency of the naming of window titles for various views (search, channels list, etc.)
  • Reduced code bloat from logging subsystem in Slack session thread worker code.
  • Fixed the unread badge indicator not showing up in the top-level "Direct Messages" sections for Slack workspaces when the first message that arrives is for a newly created or opened DM channel.
  • Fixed some event log messages having an unnecessary trailing space.
  • Fixed share message and edit message dialogs not correctly handling outgoing @ mentions in some cases.
  • Fixed the @username completion popup reappearing when typing more characters but without a space character after explicitly dismissing it with the escape key.

New in Ripcord 0.4.7 (Jul 4, 2019)

  • Discord:
  • Increased timeout for resolving irrelevant unread indicators. This is intended to reduce the likelihood of seeing unread indicators on muted and inaccessible channels.
  • Fixed potential crash when leaving the Mentions tab open and disconnecting as one user and reconnecting as a different user.
  • Slack:
  • Added support for resolving cross-workspace user data for workspaces which are part of an Enterprise Grid:
  • This should fix usernames (and avatars, etc.) not resolving for users which are not part of the same team/workspace as your user but are in shared channels.
  • Overhauled @ mention system for outgoing mentions:
  • @ mentioned users will now appear with an underline in the chat text entry box.
  • Outgoing @ mentions will no longer have a chance of resolving to the wrong user ID on larger workspaces where multiple users have the same first name followed by one or more space characters.
  • Tab completing a user name is now more intelligent about the inserted text. If you write "@John Smith" and then don't tab complete the name, but then move the cursor back to @John| Smith" and press tab to tab complete the user name to turn it into a real @ mention, you will no longer end up with the text "@John Smith Smith" -- you will get "@John Smith" with an underline.
  • Added support for the workspace "Display real names" preference set by workspace administrators:
  • You will now see "John Smith" instead of "john.smith", for example.
  • This also applies to user @ mentions:
  • The Slack web client doesn't appear to do this correctly in all cases, but Ripcord will do this correctly. If you prefer the "mixed" way that the Slack web client does this, where the "real name" will be shown above messages, but a different name will be shown inside of messages, please let me know and I may add a preference for it. However, I believe that behavior is confusing.
  • Added an additional mitigation against Slack servers delivering erroneous or out-of-date 'new message' events immediately upon connecting.
  • Reduced some machine code bloat caused by the code that handles pruning redundant data exchanged with the Slack server during interactive user and channel name completion.

New in Ripcord 0.4.6 (Jun 27, 2019)

  • Slack:
  • Added channel member count to the channel toolbar.
  • Added pinned message count to the channel toolbar.
  • Added ability to pin and unpin messages.
  • Added ability to view list of pinned messages in a channel.
  • Added pin icon for messages that are pinned.
  • Added more logging information for events which the Slack server fails to respond to or drops.
  • Added network activity indicator to message search window.
  • Fixed message search results list text sometimes not filling in the name of users who are @ mentioned in the body of the message.

New in Ripcord 0.4.5 (Jun 27, 2019)

  • General:
  • Added an experimental option to override the general UI font instead of using the system (desktop/OS) font.
  • Available in the "Experimental" tab in preferences.
  • Added immediate graphical feedback when using the mouse to click on items in the "Go to..." popup by changing the visual selection.
  • Dragging the mouse while left-click is held down also now works properly to update the selection immediately.
  • You can also now drag the mouse out of the view before releasing to cancel making your choice, like standard list picker views.
  • Cleaned up a bunch of redundant error strings in some thread worker code, reducing binary bloat.
  • Fixed multi-threaded critical error reporting so that critical errors which happen on worker threads (example, stalled hard disk resulting in a safety timeout being triggered) are handled in a smarter way and won't open a ton of dialog boxes before waiting to abort.
  • At least 1 useful message will still be shown before Ripcord aborts, though.
  • Fixed right-click acting as a redundant left-click in the "Go to..." popup.
  • Fixed the preview text displayed inside of the "choose font" buttons in the preferences window possibly not having the correct anti-aliasing settings after clicking the "Reset" button when the before-and-after-reset fonts have the same family name and same variant name but the two fonts map to the same underlying font in the OS.
  • Critical errors on worker threads are now logged to console output (when available) in more useful cases.
  • Windows:
  • Added an option to use standard Windows OS titlebars and window borders.
  • New users will have the preference set to use standard window borders by default. Existing users will continue to use the custom compact window borders by default.
  • This option can be changed in the "Fonts & Colors" tab in preferences, above the window border colors/thickness options.
  • This was originally implemented to work around native multi-DPI bugs in Windows 8.1 and Windows 10 operating systems, but the bug was fixed by Microsoft in Windows 10 1703 Creators Update (10.0.15002) in 2017.
  • There are probably not many users with multi-DPI setups that are still using a version of Windows older than this. However, the option to use custom compact window borders in Windows will remain in Ripcord.
  • Changed the FreeType font renderer checkbox on/off option to instead be a combo box with "DirectWrite (Standard)" and "FreeType" as choices.
  • This is only a UI change and doesn't affect existing preferences.
  • Discord:
  • Changed the voice chat/call window to have the window title "Ripcord Voice Chat" instead of just "Ripcord."
  • Slack:
  • Added a properties/details view for Slack channels (topic, member count, etc.)
  • Added displaying the channel topic in the toolbar.
  • Added parsing and display of subteam @mentions.
  • Sending subteam mentions not yet supported.
  • Added network activity indicators to several things which may have to wait for a slow response from the Slack server (fetching history, fetching files list, fetching full channels list, authorization/sign-in requests.)
  • Added outlines around standard non-colored bot message action buttons to help increase contrast in more color schemes.
  • Changed several list views (files, members, channels) to always show the vertical scrollbar, so that the scrollbar doesn't rapidly appear and disappear when filtering/searching as you type.
  • Fixed display glitch in channel message logs which could make the left few pixels of a divider line be invisible.
  • Fixed a potential memory leak when opening the member details view for a user which was deleted from a Slack workspace while the right-click menu for that user was still open but before the details view menu item had been clicked on.
  • Fixed window flickering on Linux and Windows for the files list, members list, and bot dialog action windows when the windows are first opened.

New in Ripcord 0.4.4 (May 23, 2019)

  • Discord:
  • Added experimental audio option to force Opus codec to encode only in music signal mode instead of in automatic mode.
  • This is only useful if you are sending music-like material through the voice chat, but also occasionally talking without any music. The setting will lock Opus to only use music mode instead of automatically switching between VOIP mode and music mode, which may be distracting.
  • You should probably not enable this. It's only for very specific circumstances.
  • Slack:
  • Added correct line breaking when displaying code blocks in messages.
  • Added drawing dark background behind code blocks and code spans.
  • Added ability to search entire workspace for users (menu: Workspace -> Members.)
  • Added ability to start DMs with any user in a workspace by searching for them.
  • Added "details" view for users/members, accessible when searching for users or by right-clicking on a user.
  • Added WIP message searching.
  • Still very unfinished.
  • Fixed being able to open the (useless) member list for 1-on-1 DMs.
  • Improved error log message for unrecognized Slack error responses.

New in Ripcord 0.4.3 (Apr 30, 2019)

  • This release is focused mainly on code quality improvements. There are not many new features, but lots of internal improvements.
  • General:
  • Changelog notes are now divided into sections for this release (as a test.)
  • Slack and Discord tabs now have better menu bar handling.
  • Slack channel tabs will now have a "Workspace" item, and also a "Channel" item.
  • Discord channel tabs will now have a "Discord" item, and also a "Channel" item. The "Discord" sub-item in the "View" menu is removed.
  • Cleaned up and restructured some initialization routines used in the main chat windows. The time to show the first chat window and opening subsequent chat windows should be slightly shorter.
  • Increased the line density in Event Log windows, and improved drawing performance.
  • Slack:
  • Overhauled internal system that handles parsing the contents of chat messages (links, mentions, etc.) to reduce memory fragmentation and make it easier to add features in the future. This also fixes a minor issue with re-editing messages with links with Markdown titles.
  • Cleaned up internal system used for dispatching events between worker threads and the GUI thread. Reduced binary bloat.
  • Added a "Workspace" menu, and moved the "All Channels" and "Files" menu items there.
  • Added "User" and "Team" menu items to the "Workspace" menu. ("Team" item doesn't yet do anything except display the team name.)
  • Fixed newly created DM channels not appearing correctly in the sidebar or in tabs.
  • This specifically affected the first time a DM channel was created with another user and not subsequent DMs with that user. It should be fixed now, and more robust against future changes to the Slack protocol.
  • Fixed the "Fetching..." overlay label causing open menus to close when it first appears.
  • Discord:
  • Added a top-level "Discord" menu.
  • Moved "Friends", "Mentions", and the other entries from the old "View -> Discord" menu to the new top-level "Discord" menu

New in Ripcord 0.4.2 (Apr 15, 2019)

  • Fixed spacing of "anti-aliasing" checkbox in fonts prefs
  • Fixed height of font "Reset" buttons in fonts prefs when the neighboring button has abnormal height
  • Moved toolbar in the event log viewer to the standard location at the top of the window (instead of bottom)
  • Slack: added "notion://" as a whitelisted URL scheme
  • Slack: fixed potentially incorrect font size for user names in right-click context menu
  • Slack: fixed notifications not causing the taskbar entry to flash, even if it's enabled in preferences
  • Slack: added preliminary support of code spans and blocks
  • This is still very incomplete
  • Windows: separate installation of the MSVC 2017 Redistributable is no longer required. The required DLL files are now included in the zip.
  • Windows: Fixed broken UI icons on systems that had a system-wide font installed which clashed with the bundled icon font in Ripcord (Font Awesome)
  • Ripcord doesn't install any fonts in your system. This is just a measure to avoid name clashing.

New in Ripcord 0.4.1 (Apr 7, 2019)

  • Added experimental proxy support (SOCKS5 and HTTP) for Discord and Slack
  • Discord voice data uses UDP and therefore cannot be proxied by an HTTP proxy
  • Slack: added support for Slackbot's "unfurl" message action buttons (other bots and their actions should already work)
  • Slack: added support for the special clickable Slackot "send notification anyway" links and actions in messages
  • Slack: added several whitelisted URL protocol schemes (ftp, mailto, gopher, etc.) for clickable links.
  • Non-whitelisted URL schemes (such as file:// and other unsafe/unkown schemes) are now displayed as links, but cannot be left-clicked on. They can still be right-clicked and the URL can be copied manually.
  • Fixed potential crash when closing a Slack chat tab with the emoji picker popup still open
  • Fixed size of disclosure arrows for tool buttons with popup menus
  • Fixed text potentially being clipped off of right side of combo box buttons
  • Fixed numeric spinbox row heights in form layouts being 2px too tall

New in Ripcord 0.4.0 (Apr 1, 2019)

  • Changed to use a new styling engine, PhantomStyle (was: QFusionStyle)
  • Significantly reduced startup time
  • Significantly reduced memory usage
  • Reduced CPU usage across the board
  • Smoother and more responsive window resizing
  • Fixed many rendering issues in high DPI
  • Custom color themes now behave more predictably (the "button" color is no longer blended with other colors)
  • Menus are no longer excessively wide on Windows and Linux
  • Improved behavior of opening/closing submenus (faster opening/closing, no longer closes when mouse strays outside of the submenu)
  • Alt-key menu navigation is now visualized correctly on Windows and Linux
  • The menu-specific system font is now respected on Windows and Linux
  • The "Go to..." view can now be clicked on with the mouse to activate items
  • Added preference to enable or disable high-visibility scrollbars in chat logs
  • Added preference to enable or disable auto-hiding of the scrollbar in the sidebar
  • Linux: custom QStyle engines can now be used. Set the environment variable RIPCORD_STYLE_ENGINE=foo (replace foo with the name of the style engine you want to use.)
  • Note: to use QStyle engines installed by your distro, you will need to have Ripcord run using the Qt libraries provided by your distro. This will require extracting Ripcord from the AppImage and ensuring you have all of the required dependencies installed.

New in Ripcord 0.3.13 (Mar 13, 2019)

  • Slack: updated the username+password sign-in logic to handle changes to the Slack data payloads. This fixes being unable to sign-in or re-authenticate with a username and password, which began occurring a few hours ago. Browser import sign-in was unaffected.

New in Ripcord 0.3.12 (Mar 6, 2019)

  • Removed the old accounts view/manager and added a new one with batch selection features
  • Bookmark lists in the bookmarks editor now default to expanded instead of collapsed
  • Added Ctrl+Shift+Y as a shortcut for Accounts view (Mac: Cmd+Shift+Y)
  • Discord: added auto-connecting for accounts. Note: only one Discord account can be set to auto-connect.
  • Slack: added auto-connecting for accounts. Any number of Slack accounts can be set to auto-connect.
  • Slack: added display of image/icon of channels and users in the bookmarks editor
  • Slack: workspaces in the sidebar are now always listed in the same order as the accounts in the accounts view, instead of the order in which the connection is opened
  • Slack: removed warning/agreement required to unlock Slack functionality
  • Mac: fixed incorrect text size on certain types of toolbar buttons

New in Ripcord 0.3.11 (Feb 25, 2019)

  • Added an error message box when Qt fails to load the embedded icon resources due to a Qt locale bug
  • Discord: added an "Advanced" menu and "Copy Message ID" action to the context/right-click menus for messages
  • Discord: added an "Advanced" menu and "Copy Channel ID" action to the context/right-click menus for channels in the sidebar
  • Slack: added "Users" view for filtering and searching for users (WIP)
  • Slack: added "Files" view for managing files (WIP)
  • Slack: added "[Deleted file]" indicator for when a file shared in a message is deleted, instead of displaying "Unnamed file"
  • Slack: improved the sorting and results accuracy for user name completion
  • Slack: fixed user status custom emoji being shown as text in the user picker that's used in bot message attachment action dialogs and in embedded message shares
  • Slack: fixed a situation where resizing a window with a channel log visible with proxied image thumbnails that are scaled down would re-fetch the image from the proxy server with different scaling parameters, causing unnecessary network traffic and disk cache utilization
  • Slack: reduced memory usage of per-account channel information cache
  • Slack: reduced disk activity when more than 1000 channels from one account are visible simultaneously
  • Slack: removed unnecessary redrawing in message log views when reacting to user presence changes and file and attachment thumbnail loads
  • Slack: improved overall efficiency of the channel, user, and other data meta-information caching system
  • Slack: reduced memory usage for messages which contain many user mentions (1000+)
  • Slack: reduced memory fragmentation when quickly scrolling through long lists of users

New in Ripcord 0.3.10 (Feb 25, 2019)

  • Added Event Log events for failed web image/thumbnail downloads and image decoding
  • Added Event Log events that indicate whether a web image/thumbnail was fetched from the server or loaded from the on-disk cache
  • Added a "Window" menu to the Event Log window menu bar
  • Added HTTP redirect following capability to the web image/thumbnail downloading system
  • Slack: added support for enterprise and SSO (single sign-on) authentication
  • Slack: added file uploading
  • Slack: added account authentication debug view (right click on an account in the Accounts view)
  • Slack: added handling of incoming read marker updates for group DMs
  • Slack: fixed thread broadcast replies disappearing from main channel timeline after fetching the history of a thread from that channel due to changes in the Slack data format
  • Slack: fixed channel history (and some other data) not being re-downloaded after performing a manual account disconnect from the Accounts view and then clicking Connect (reconnections from network loss or other reasons were not affected)
  • Slack: fixed the 1+ unread marker not showing up for some types of group DM channels upon connecting

New in Ripcord 0.3.9 (Feb 25, 2019)

  • Added "Open Log File Location" to the File menu in Event Log window
  • Added Accounts as a destination in the "Go to..." switcher
  • Changed connection status indicator in the status bar to not display the previous status message when opening a new chat window (unless the status is a connection failure)
  • Fixed not being able to hold alt (or on Mac, option) when choosing Notifications or Accounts in the "Go to..." switcher to open a new tab in the background
  • Discord: changed the handling of account connection loss to use the status bar (and OS notification, if necessary/enabled) instead of creating a modal popup dialog box
  • Discord: fixed video thumbnail preview images not loading
  • Discord: fixed some thumbnail image URLs fetching the full size image instead of scaled down
  • Slack: added full automatic session reconnection after computer sleep or extended internet/network loss
  • Note: this is in addition to the automatic reconnection which already existed, but only worked if you were briefly disconnected
  • Slack: sent messages which fail to be received by the server no longer immediately vanish from the message log
  • Slack: added "Cancel", "Resend", and "Copy to Clipboard" right-click menu items on sent messages which failed
  • Slack: added Event Log messages for various connection and session events related to Slack sessions
  • Slack: fixed clicking on a message notification from a Slack thread opening the main channel of that thread instead of the thread itself
  • Slack: fixed viewing a Slack thread in a tab not automatically clearing notifications that originated from that thread
  • Slack: fixed deleted/deactivated user accounts showing up in the @ user completion popup, and also in the bot message action/dialog user pickers

New in Ripcord 0.3.8 (Feb 25, 2019)

  • Updated Qt version to 5.9.7 (see note at bottom for more information)
  • Changed the system tray/menu bar icon graphic
  • Changed the labels and names of several things in Preferences to make them easier to understand
  • Added a separate tab for Discord-specific settings in the Preferences window, and moved the relevent settings to there
  • Added a "Test Notification" button in Preferences window that generates a test notification
  • Added a "File" menu to the Preferences window, and added the menu items "Open Settings & Data Path" and "Copy Settings & Data Path to Clipboard" to it
  • Changed Accounts view to open in a tab instead of a dedicated window
  • Changed Event Log view to use more compact, font-dependent row sizing
  • Removed "Services" top-level menu, moved items into Discord, Slack etc. sub-menus in the View menu
  • Added "Open Ripcord Chat Window" menu item to the system tray icon (if system tray icon is enabled)
  • Removed old settings and data migration code from the Ripcord startup procedure, slightly improving startup time
  • Added vim-like h/j/k/l navigation keys to Notifications view
  • Discord: added option to show/hide your own user's typing indicators
  • Discord: added shift-clicking emoji when adding emoji reactions to prevent the emoji popup picker from closing
  • Discord: fixed animated emoji showing up for non-Nitro accounts in popup emoji picker
  • Discord: fixed font-dependent row sizing in some Discord server roles table/list views
  • Discord: fixed the emoji picker popup toolbar button in channel tabs incorrectly becoming toggled after clicking it even if the emoji picker couldn't be opened due to not being able to resolve the channel or current user ID
  • Discord: fixed being able to attempt to start multiple voice calls/chats at the same time, resulting in a broken voice call state and requiring a restart of Ripcord to restore functionality. The voice call/chat menu items are now disabled/greyed out if you are already in a voice call/chat.
  • Slack: added prominent status indicator (and taskbar flash and OS notification) if an account loses its connection and fails to automatically reconnect. Click the status bar indicator or go to the Accounts view to clear the warning indicator.
  • Slack: added re-fetching history (as needed) on reconnect after a full connection failure
  • Slack: fixed "Fetching..." label sometimes remaining visible after changing away from a Slack channel tab
  • Slack: fixed being able to attempt to send a message to a Slack channel with an account that's not online
  • Fixed left-click on system tray icon not opening/showing a Ripcord chat window
  • Note: this release was originally planned to include an upgrade to Qt 5.11 from Qt 5.9, but this has been postponed due to performance regressions in the Qt GUI library. I'm still planning to upgrade to Qt 5.11 once these issues can be resolved.

New in Ripcord 0.3.7 (Feb 25, 2019)

  • Fixed incorrect highlighting in notifications view after clearing a subset of (but not all) notifications
  • Discord: added ack-token passing to message read acks system
  • Discord: disabled fetching members list for servers with > 4000 users
  • Discord: disabled ability to send messages in channels with per-user rate limiting (unless you're a moderator) until this feature is fully implemented in Ripcord
  • Discord: changed nonce generation for sent messages to be based on current timestamp instead of sequential IDs counting from 1
  • Discord: increased delay between disconnecting and attempting to reconnect (half second -> 5 seconds for first attempt, then 5 seconds -> 15 seconds thereafter)
  • Note: the changes above to are intended to reduce the likelihood of a Discord user account being flagged as spam by an automated system, and some are only meant as temporary safeguards until I'm able to resume spending more time developing the Discord subsystem in Ripcord
  • Discord: the nick change dialog no longer lets you enter more than 32 characters (the maximum)
  • Slack: added OS notification popups for notifications (if enabled in preferences)