Releases: thomasloupe/Slackord
Slackord v5.2.0
NEW - Introducing SmartDownloadUtility - Previously, each time you imported your Slack JSON, Slackord would redownload files regardless if they were already downloaded. This resulted in massive folders taking up storage. The smart download utility codified into Slackord will now check if you've previously attempted to download file attachments and will skip ones that are completed, and will also replace corrupted files that didn't fully download. In addition to skipping over already downloaded files, smart download will notify you how much bandwidth you'll save by skipping or redownloading only what's necessary.
NEW - The output window will automatically scroll as it completes tasks.
NEW - Progress bar for channel creation. For those who have tons of channels, you'll now see a progress bar specifically giving you updates on channel creation.
FIX - Pinned messages weren't being re-pinned when being imported into Discord.
Slackord v5.1.0
NEW - Slackord can now automatically clean up after a successful import and defaults to prompting you to choose to clean up. Slackord will calculate the data files and downloads that were used in the import and tell you how much space you can reclaim.
NEW - Options page item for selecting how you wish Slackord to clean up after a successful import. The options are:
Prompt
(default) - Ask before cleaning up
Automatically
- Clean up without asking
Never
- Keep all files
NEW - Slackord now fully supports Slackdump imports. Importing a Slackdump export is no different than importing a regular Slack export
NOTE: This feature is currently still being tested and may not work properly. Please help by providing your feedback in the community Discord about your experience with this feature. Please also note that Slackord still does not support DMs and there are no plans to support DMs.
NEW - Slackord now has global application error handling, UI included
NEW - Slackord now supports channel mentions in messages.
FIX - Slackord now safely handles UI threads in many cases
FIX - A rare crash that would occur on message splitting
FIX - That messages over 2000 characters long which contained code blocks would paste as plaintext
FIX - File attachments were not attributed to the individual that attached them
FIX - File attachments no longer get posted as separate messages
FIX - Cases where Slackord assumed a file was hidden by Slack, would post "File hidden by Slack", but could still successfully post a file or attachment, resulting in inconsistent messaging
CHANGE - Removed Tizen MAUI support
Slackord v5.0.0
NEW - Options page for configuring Slackord
Explanation: With this change, the following features and options have been moved to the Options Page:
Discord bot token, update checking on startup, timestamp format, user format, discord bot verbosity level (NEW!), donate button, about button, link to the Slackord Discord community server (NEW!)
NEW - Slackord no longer holds all data in RAM
Explanation: When a channel finishes conversion to Discord markdown, the channel is stored as a .slackord
file inside a dated folder under Imports
in Slackord's root directory. Because of this, Slackord's RAM usage has gone from multiple gigabytes of memory utilization, to ~150MB. This also sets the stage for the resume feature.
NEW - Slackord now allows you to resume a partial server or channel import
Explanation: Slackord now supports import resumes. Now when you import a Slack server or channel, Slackord deconstructs the Slack JSON data and converts it to Discord markdown, then stores the full channel's messages inside of a .slackord
file named after the channel. At launch or in certain conditions, Slackord will check for those files. When found, Slackord will prompt the user to decide if they would like to continue a previously unfinished import. If the user agrees to resume, Slackord reads the resume_data.json
file and strategically prioritizes where it should resume. Users can resume an import after closing Slackord completely, or after clicking the disconnect button. Either follow the prompts after launch, or if Slackord is still running, simply visit a channel and type /slackord
or /resume
to resume importing.
NEW - Icons to help you navigate the output window for easier readability
NEW - Progress label at the bottom-middle of its window to let you know its current state
NEW - Slackord has been updated to the latest .NET9 and MAUI frameworks
NEW - Dependencies have been updated to their latest stable versions
NEW - Connection states are reflected in the Connect
button based on the Discord bot's connection status
FIX - Progress bar did not account for deconstruction/reconstruction
FIX - Slackord Window Title Bar accounting for MainPage height
FIX - Various strings, newline, and general grammar/punctuation improvements for easier readability
FIX - Disconnect button didn't work while messages were being posted to Discord
FIX - Window height and width were always meant to be fixed, but never were
FIX - Output window didn't scale with Slackord's window size.
For Slackord Developers:
NEW - The entire codebase has had summaries added to explain methods, parameters, variables, and more
FIX - Many declarations for libraries that weren't being used in multiple classes have been removed
Special thanks to @alexknowshtml for providing me with his Slack export to test v5.0!
Slackord 4.3.6
CHANGE - Thread archive time to one hour, instead of one day. This should prevent most users from having to manually close threads to prevent hitting the guild thread limit.
CHANGE - Slackord now knows if your server is boosted and at what tier. It will use this information to set the max file upload size. Prior to the change, Slackord was set to 25MB. The three tiers are set at 8MB for non-boosted servers, 50MB for Tier 2 servers, and 100MB for Tier 3 servers.
FIX - Max file size being set to 25MB by default, which would cause non-boosted servers to fail all uploads over 8MB. They now fail gracefully, instead of throwing an exception, which is then caught and handled.
FIX - Logic in some cases where threads were not being archived, causing max thread count to be reached.
Slackord v4.3.5
NEW - Slackord now tells you how many threads each channel has. This is helpful if you need to manually close threads to keep from hitting the 1000-threads-per-server limit.
FIX - Issue where empty editor_id was throwing an exception in the debug window.
CHANGE - Updated packages to their latest versions.
Slackord 4.3.4
FIX - "Cannot respond to an interaction after three seconds" error when posting messages to Discord.
Slackord v4.3.3
CHANGE - Automatic updates will no longer show a redundant popup when the current version is the latest. Manual update checks remain the same.
CHANGE - Octokit dependency to latest version.
FIX - Issue with updates showing as a release behind.
Slackord v4.3.2
NEW - Slackord now checks for updates on startup.
NEW - Slackord now provides the patch notes for the latest version both in the update check and in the output window.
FIX - Clicking the connection button when connected wouldn't work in some cases.
FIX - Replies with no text causing an exception in thread creation.
FIX - Some cancellation token issues causing bot connection to fail.
FIX - Issue where cancelling an import required Slackord to be restarted.
CHANGE - When cancelling an import, the output window would tell you that a restart of Slackord was required. Due to the previously mentioned fix, this text was no longer true, and was removed.
CHANGE - Improved the Discord bot's connection state, text, and button interaction logic.
Slackord v.4.3.1
FIX - Issue where image attachments with no message would not post.
FIX - Issue where image attachments with no message had a thread and the thread would not create, which also caused subsequent thread replies not to post.
CHANGE - Some error logging not giving the method name in the error.
Slackord v4.3.0
NEW - Slackord now has a button for user format. Every message posted to Discord used to adhere to the following format:
Display Name > User > Real Name
. In shorthand, this would be D > U > R
You can now click and cycle through the format in the following order:
Display Name > User > Real Name
- (D > U > R)
Display Name > Real Name > User
- (D > R > U)
User > Display Name > Real Name
- (U > D > R)
User > Real Name > Display Name
- (U > R > D)
Real Name > Display Name > User
- (R > D > U)
Real Name > User > Display Name
- (R > U > D)
Just like how the Timestamp button works, the debug window will show the full format, both when Slackord starts, and when you cycle through formats. However, the button will only show the shorthand version for the sake of UI space and simplicity.
NEW - Slackord now has a button to import a single channel! This is especially useful if you're having issues with an import, or your server is extremely large.
NEW - If a channel with the same name exists, Slackord will append a "-num" to the end of the channel and create a new one, and will continue to increment num
until that number is unused.
NEW - Slackord now supports user mentions if the user exists in users.json. Note that mentions are sanitized and are text-only.
CHANGE - Improved how default keys are retrieved for timestamp and user format.
CHANGE - Updated all packages from older/beta versions to their latest stable versions.
CHANGE - If a Slackord Import category already exists, Slackord will continue to use the existing category instead of creating a new one every time you import.
CHANGE - Made the Slackord window slightly larger to accommodate new UI elements and create some additional space between button groups.
CHANGE - If Slackord fails to connect to Discord three times, a delay will be introduced to reduce connect attempts and debug window spamming.
FIX - Issue causing messages not to split correctly. Note that this means you may now see higher counts of reconstructed messages than deconstructed messages because message splitting is working.
FIX - Issue where split messages that were part of a thread start would create multiple empty threads since all split messages from a single thread start message were also technically thread starts.
FIX - If a message is a thread reply and needed to be split, subsequent splits would not post to the thread parent.
FIX - Spamming the debug window with messages about files being hidden by Slack typically causing the debug window to lock up. Instead, a number of how many files were hidden by Slack is displayed at the end of the import process.
FIX - Cancellation token not being used for ImportJson FolderPicker window.
FIX - Issue after disconnecting, you could not set the bot's token.
KNOWN BUGS:
BUG - Previous import data is saved even if you import new JSON data. Workaround: Restart Slackord after an import to start another import.
BUG - When pressing the Disconnect button during a posting operation, the bot does not stop posting messages and gets stuck on "Disconnecting". Workaround: Restart or close Slackord.
The above bugs will be focused on for the next release of Slackord.
DEVELOPER ANNOUNCEMENT:
I am permanently retiring Slackord for Apple Macintosh systems.
Why?
It's in my hopes that one day Microsoft and Apple will work to change it, but there is virtually no community whatsoever dedicated to MAUI, and certainly not for MAUI on Mac. Developing has been a hassle. Apple has not worked with Microsoft at all to make development easier, and Microsoft is all but taking their hands off the wheel with MAUI for Mac.
The biggest issue for Slackord is that MAUI is still in a pretty infantile state. With .NET8 I had hoped development for Mac would improve. Instead, some issues were fixed, new issues prevented progress, and some issues stayed. It's been near impossible for me to simply compile and build the application because of the limitations and requirements Apple forces onto the developer. In fact, every Mac version is a Debug version because the Release version throws architecture errors. I purchased a Macbook Air specifically for testing and building. I also had to pay Apple's yearly perpetual fee to keep them from treating Slackord like malware. The cost for me to release Slackord for Mac is just too expensive. Visual Studio for Mac is also getting discontinued, among many other issues that are blocking progression.
What now?
Effective immediately, I will not be providing any future development (this includes bug fixes and stability improvements) for Slackord on Apple Macintosh. If you're on Mac and you still need to use Slackord, I recommend using a free virtual machine platform to run Windows, which is fairly simple to do. The Slackord Discord community will be happy to guide you through how to do this if you need assistance.
Final words:
I absolutely welcome anyone to clone the Slackord repository and get the Mac version working and on-par with the latest Windows release. If you think that person is you, this is your call to action! Thank you all very much for your continued support of Slackord.