• Favorite Hashtags on the sidebar
    - Post Redrafting
    - Endorsing accounts and featuring hashtags
    - More keyboard shortcuts
    - Settings overhaul
    - Audio visualizer optimizations
    - Report forwarding to more involved instances when supported
    - Enabled more features for Pleroma
    - Windows ARM builds
    - More fluid horizontal lists like emoji reactions and post hashtags
    - Many critical bug fixes and design improvements
    - Updated the website

    #GNOME #GTK#Vala #MastoDev

New Composer

The new composer is the result of a multi-year effort. A blog post explaining why and what made it such a difficult task is in the works!

- Displays the replying-to or quoting post
- DnD from the host and between attachments
- Paste media from clipboard became a lot easier
- Video thumbnailer
- Animations
- Combined focus picker and alt text editor
- Automatically extracts alt text from file metadata when uploading
- Uploading progress bar
- And so much more

Screen recording of Tuba. The user is on a post and they click reply causing the composer to show up. The title is "Reply to @Tuba" and below it there's the post they are replying to. The user then types "!!!!" and selects 'Schedule Post...'. That causes the new composer to switch to the Schedule Post page on which they choose a random date.
Screen recording of Tuba. The user is on a post and they click reply causing the composer to show up. The title is "Reply to @Tuba" and below it there's the post they are replying to. The user then types "!!!!" and selects 'Schedule Post...'. That causes the new composer to switch to the Schedule Post page on which they choose a random date.
Screen recording of Tuba. The user has the composer open and types 'Vote'. Then presses the poll button, causing 2 text entries to show up and 3 buttons below them. The rows have the title "Choice [number]" and a trash can on the right. The user starts filling them, causing a new row to show up as they get at the bottom of the rows. Then they click the first button changing the choice from single to multiple. Then the second button changing the results from show to hide and lastly the dropdown choosing 6 hours to expire. In the end, they select the content warning button causing an entry to pop up from below on which they enter "Poll".
Screen recording of Tuba. The user has the composer open and types 'Vote'. Then presses the poll button, causing 2 text entries to show up and 3 buttons below them. The rows have the title "Choice [number]" and a trash can on the right. The user starts filling them, causing a new row to show up as they get at the bottom of the rows. Then they click the first button changing the choice from single to multiple. Then the second button changing the results from show to hide and lastly the dropdown choosing 6 hours to expire. In the end, they select the content warning button causing an entry to pop up from below on which they enter "Poll".
Screen recording of Tuba. The user has the composer open which is empty. They first press ctrl V, causing a pop up to show up asking them if they are sure they want to past. They select Paste and an attachment gets added to the composer. While it's getting uploaded we see the upload progress. After it's doen we see its thumbnail. The user then drags and drops another attachment from their desktop. Then they drag and drop the second attachment on the first, causing them to switch places. They do it again and then click the floating trash icon for each attachment, deleting them both.
Screen recording of Tuba. The user has the composer open which is empty. They first press ctrl V, causing a pop up to show up asking them if they are sure they want to past. They select Paste and an attachment gets added to the composer. While it's getting uploaded we see the upload progress. After it's doen we see its thumbnail. The user then drags and drops another attachment from their desktop. Then they drag and drop the second attachment on the first, causing them to switch places. They do it again and then click the floating trash icon for each attachment, deleting them both.

In-app browser and Clapper

Rafostar has been working hard on Clapper and clapper-enhancers which allows Tuba to play media from Youtube, Twitch, PeerTube and other platforms in-app! On Flatpak, it's available as a separate optional Add-on.

The in-app web browser allows you to open links without leaving the app. It can be turned off in settings or be bypassed by middle clicking the link.

Iceshrimp.NET Drive and Windows ARM

If you already have an Iceshrimp.NET account in Tuba and want to use Drive, you'll have to remove it and re-authenticate because it requires a special permission.

Windows ARM builds are now also available! They are being built on the CI using MSYS2 and you can grab them from https://tuba.geopjr.dev/#downloads (only portable builds are available for the time being). Thanks macoud12@vt.social for testing it!

Screen recording of Tuba. The user is on the Iceshrimp Drive view. The user first clicks the new folder headerbar icon which causes a popover with an entry to show up asking them for a folder name. They type 'logos' and the folder gets created. They then right click the collision logo and select 'Mark as Sensitive' causing a badge (crossed out eye) to show up on the file. They then right click it again and select 'Edit Alt Text' causing a similar popover to the new folder one to appear. They type 'collision' and save, causing another badge (pencil) to show up. Lastly they drag and drop it in the logos folder.
Screen recording of Tuba. The user is on the Iceshrimp Drive view. The user first clicks the new folder headerbar icon which causes a popover with an entry to show up asking them for a folder name. They type 'logos' and the folder gets created. They then right click the collision logo and select 'Mark as Sensitive' causing a badge (crossed out eye) to show up on the file. They then right click it again and select 'Edit Alt Text' causing a similar popover to the new folder one to appear. They type 'collision' and save, causing another badge (pencil) to show up. Lastly they drag and drop it in the logos folder.
Screen recording of Tuba. The user is on the Iceshrimp Drive view. The user first renames the 'albums' folder to 'album covers' and move some images to it by dragging and dropping them on the folder. They then double click it, causing the folder to open and drag and drop one of the images to the back button causing it to get moved to the upper folder. They then delete one of them after confirming that it's irreversible through a dialog.
Screen recording of Tuba. The user is on the Iceshrimp Drive view. The user first renames the 'albums' folder to 'album covers' and move some images to it by dragging and dropping them on the folder. They then double click it, causing the folder to open and drag and drop one of the images to the back button causing it to get moved to the upper folder. They then delete one of them after confirming that it's irreversible through a dialog.
Screen recording of Tuba. The user is on the Iceshrimp Drive view. They first resize the window to a narrow size and then back, showing how convergent it is. They then bring the settings up and choose different accent colors, showing the folders changing to match them. Lastly, they click on one of the images opening it on the media viewer.
Screen recording of Tuba. The user is on the Iceshrimp Drive view. They first resize the window to a narrow size and then back, showing how convergent it is. They then bring the settings up and choose different accent colors, showing the folders changing to match them. Lastly, they click on one of the images opening it on the media viewer.

That's all folks, thanks for reading!

A big thank you to all contributors, translators and colleagues who made this release possible!

This release took a bit longer than usual and there a lot more WIP. Please open issues with any bugs you find, especially with the new composer! (There are some known ones that have been caused by and fixed in the platform but might not have made it in a release yet)