Tuba icon indicating copy to clipboard operation
Tuba copied to clipboard

[Bug]: Alt-text is never saved, resulting in posts never having alt-text

Open Inderix opened this issue 1 year ago • 4 comments

Describe the bug

I use alt-text whenever possible on posts, per the ability to describe what is happening in images, and making posts more accessible. However, when writing alt-text in on Tuba, hitting the save button appears to save the text, but it's not actually attached to the post.

I've done my best to demonstrate the exact issue in the attached video https://github.com/user-attachments/assets/f0e8a7ce-7513-4313-a98a-d936e355613b

Steps To Reproduce

  1. Compose a post with an image
  2. Attempt to add alt-text, hit save, post as normal
  3. Observe post, alt-text missing

Logs and/or Screenshots

<paste your logs here>

Instance Backend

Pleroma

Operating System

Arch Linux

Package

Flatpak

Troubleshooting information

os: GNOME 46 (Flatpak runtime) prefix: /app flatpak: true version: 0.8.4 (production) gtk: 4.14.5 (4.14.4) libadwaita: 1.5.4 (1.5.3) libsoup: 3.4.4 (3.4.4) libgtksourceview: 5.12.1 (5.12.1)

Additional Context

Attempting to edit the post to add in alt-text afterwards does not work either. Alt-text is simply never saved.

Inderix avatar Sep 20 '24 21:09 Inderix

Thanks for raising this issue!

Could you run it from the terminal and follow the steps? You don't have to publish the post, just save the alt text:

G_MESSAGES_DEBUG=Tuba flatpak run dev.geopjr.Tuba

And send me back the logs (feel free to redact anything you deem private)

I'm specifically looking for an error after this type of log: PUT: https://tech.lgbt/api/v1/media/113172043061301534?description=This%20is%20a%20test

GeopJr avatar Sep 20 '24 21:09 GeopJr

debug log, apologies for forgetting to put it in the original report:

(dev.geopjr.Tuba:2): Tuba-DEBUG: 17:42:31.995: Application.vala:247: os: GNOME 46 (Flatpak runtime)
(dev.geopjr.Tuba:2): Tuba-DEBUG: 17:42:31.995: Application.vala:247: prefix: /app
(dev.geopjr.Tuba:2): Tuba-DEBUG: 17:42:31.995: Application.vala:247: flatpak: true
(dev.geopjr.Tuba:2): Tuba-DEBUG: 17:42:31.995: Application.vala:247: version: 0.8.4 (production)
(dev.geopjr.Tuba:2): Tuba-DEBUG: 17:42:31.995: Application.vala:247: gtk: 4.14.5 (4.14.4)
(dev.geopjr.Tuba:2): Tuba-DEBUG: 17:42:31.995: Application.vala:247: libadwaita: 1.5.4 (1.5.3)
(dev.geopjr.Tuba:2): Tuba-DEBUG: 17:42:31.995: Application.vala:247: libsoup: 3.4.4 (3.4.4)
(dev.geopjr.Tuba:2): Tuba-DEBUG: 17:42:31.995: Application.vala:247: libgtksourceview: 5.12.1 (5.12.1)
(dev.geopjr.Tuba:2): Tuba-DEBUG: 17:42:31.999: SecretAccountStore.vala:9: Using libsecret v0.21.4
(dev.geopjr.Tuba:2): Tuba-DEBUG: 17:42:32.057: Network.vala:65: GET: https://akko.eepy.zone/api/v1/accounts/Am2iamTySVvFv7F4mu
Tuba-INFO: 17:42:32.057: Streams.vala:88: TubaMastodonAccount > https://akko.eepy.zone/api/v1/streaming?stream=user:notification
(dev.geopjr.Tuba:2): Tuba-DEBUG: 17:42:32.057: Streams.vala:68: Opening stream: https://akko.eepy.zone/api/v1/streaming?stream=user:notification
(dev.geopjr.Tuba:2): Tuba-DEBUG: 17:42:32.057: Network.vala:65: GET: https://akko.eepy.zone/api/v1/markers?timeline[]=notifications
(dev.geopjr.Tuba:2): Tuba-DEBUG: 17:42:32.057: SecretAccountStore.vala:92: Loaded 1 accounts
(dev.geopjr.Tuba:2): Tuba-DEBUG: 17:42:32.057: AccountStore.vala:85: Activating @[email protected]…
(dev.geopjr.Tuba:2): Tuba-DEBUG: 17:42:32.058: Network.vala:65: GET: https://akko.eepy.zone/api/v1/accounts/verify_credentials
(dev.geopjr.Tuba:2): Tuba-DEBUG: 17:42:32.058: Network.vala:65: GET: https://akko.eepy.zone/api/v1/instance
(dev.geopjr.Tuba:2): Tuba-DEBUG: 17:42:32.058: Network.vala:65: GET: https://akko.eepy.zone/api/v1/custom_emojis
(dev.geopjr.Tuba:2): Tuba-DEBUG: 17:42:32.058: Network.vala:65: GET: https://akko.eepy.zone/api/v1/announcements
(dev.geopjr.Tuba:2): Tuba-DEBUG: 17:42:32.058: Application.vala:434: Presenting MainWindow
Tuba-INFO: 17:42:32.091: Streams.vala:88: TubaViewsHome > https://akko.eepy.zone/api/v1/streaming?stream=user
(dev.geopjr.Tuba:2): Tuba-DEBUG: 17:42:32.091: Streams.vala:68: Opening stream: https://akko.eepy.zone/api/v1/streaming?stream=user
Tuba-INFO: 17:42:32.091: Streams.vala:94: TubaViewsHome X https://akko.eepy.zone/api/v1/streaming?stream=user
(dev.geopjr.Tuba:2): Tuba-DEBUG: 17:42:32.091: Streams.vala:99: Closing: https://akko.eepy.zone/api/v1/streaming?stream=user
Tuba-INFO: 17:42:32.091: Streams.vala:88: TubaViewsHome > https://akko.eepy.zone/api/v1/streaming?stream=user
(dev.geopjr.Tuba:2): Tuba-DEBUG: 17:42:32.091: Streams.vala:68: Opening stream: https://akko.eepy.zone/api/v1/streaming?stream=user
Tuba-INFO: 17:42:32.094: Streams.vala:88: TubaViewsNotifications > https://akko.eepy.zone/api/v1/streaming?stream=user:notification
Tuba-INFO: 17:42:32.094: Streams.vala:94: TubaViewsNotifications X https://akko.eepy.zone/api/v1/streaming?stream=user:notification
Tuba-INFO: 17:42:32.094: Streams.vala:88: TubaViewsNotifications > https://akko.eepy.zone/api/v1/streaming?stream=user:notification
Tuba-INFO: 17:42:32.097: Streams.vala:88: TubaViewsConversations > https://akko.eepy.zone/api/v1/streaming?stream=direct
(dev.geopjr.Tuba:2): Tuba-DEBUG: 17:42:32.097: Streams.vala:68: Opening stream: https://akko.eepy.zone/api/v1/streaming?stream=direct
Tuba-INFO: 17:42:32.097: Streams.vala:94: TubaViewsConversations X https://akko.eepy.zone/api/v1/streaming?stream=direct
(dev.geopjr.Tuba:2): Tuba-DEBUG: 17:42:32.097: Streams.vala:99: Closing: https://akko.eepy.zone/api/v1/streaming?stream=direct
Tuba-INFO: 17:42:32.097: Streams.vala:88: TubaViewsConversations > https://akko.eepy.zone/api/v1/streaming?stream=direct
(dev.geopjr.Tuba:2): Tuba-DEBUG: 17:42:32.097: Streams.vala:68: Opening stream: https://akko.eepy.zone/api/v1/streaming?stream=direct
(dev.geopjr.Tuba:2): Tuba-DEBUG: 17:42:32.296: Network.vala:65: GET: https://akko.eepy.zone/api/v1/timelines/home?limit=20
(dev.geopjr.Tuba:2): Tuba-DEBUG: 17:42:32.297: Network.vala:65: GET: https://akko.eepy.zone/api/v1/notifications?limit=20
(dev.geopjr.Tuba:2): Tuba-DEBUG: 17:42:32.297: Network.vala:65: GET: https://akko.eepy.zone/api/v1/conversations?limit=20
(dev.geopjr.Tuba:2): Tuba-DEBUG: 17:42:33.017: Network.vala:65: GET: https://akko.eepy.zone/api/v1/notifications?min_id=63355
(dev.geopjr.Tuba:2): Tuba-DEBUG: 17:42:33.116: InstanceAccount.vala:200: @[email protected]: profile updated

(dev.geopjr.Tuba:2): Tuba-WARNING **: 17:42:35.024: Image.vala:69: Failed to download image at "https://lunar.place/files/cbb90dab-fe9f-4719-90b9-fa82bba84d3f": Unrecognized image file format
(dev.geopjr.Tuba:2): Tuba-DEBUG: 17:42:35.274: Status.vala:4: [OBJ] Destroyed 
(dev.geopjr.Tuba:2): Tuba-DEBUG: 17:42:38.899: Attachment.vala:31: Uploading new media: file:///run/user/1000/doc/d1921bb8/cats.jpg…
(dev.geopjr.Tuba:2): Tuba-DEBUG: 17:42:38.902: Network.vala:65: POST: https://akko.eepy.zone/api/v1/media
(dev.geopjr.Tuba:2): Tuba-DEBUG: 17:42:39.971: Attachment.vala:73: OK! ID 2644702
(dev.geopjr.Tuba:2): Tuba-DEBUG: 17:42:51.351: Network.vala:65: PUT: https://akko.eepy.zone/api/v1/media/2644702?description=this%20is%20alt%20text.%20text%20text%20alt%20text.
(dev.geopjr.Tuba:2): Tuba-DEBUG: 17:42:55.328: AttachmentsPageAttachment.vala:13: Destroying AttachmentsPageAttachment
(dev.geopjr.Tuba:2): Tuba-DEBUG: 17:42:55.328: Item.vala:126: Destroying Attachment.Item widget
(dev.geopjr.Tuba:2): Tuba-DEBUG: 17:42:55.448: Dialog.vala:167: Destroying composer
(dev.geopjr.Tuba:2): Tuba-DEBUG: 17:42:55.448: Page.vala:19: Destroying Text Page
(dev.geopjr.Tuba:2): Tuba-DEBUG: 17:42:55.473: CustomEmojiChooser.vala:41: Destroying CustomEmojiChooser
(dev.geopjr.Tuba:2): Tuba-DEBUG: 17:42:55.473: Page.vala:19: Destroying Media Page
(dev.geopjr.Tuba:2): Tuba-DEBUG: 17:42:55.474: Page.vala:19: Destroying Poll Page

(dev.geopjr.Tuba:2): libsoup-WARNING **: 17:43:06.088: Cache flush finished despite 2 pending requests
(dev.geopjr.Tuba:2): Tuba-DEBUG: 17:43:07.728: Streams.vala:131: https://akko.eepy.zone/api/v1/streaming?stream=user: update for TubaViewsHome

This is from

  • opening the post dialog
  • attaching an image
  • applying and saving alt text I then canceled the post and closed the app

Inderix avatar Sep 20 '24 21:09 Inderix

Thanks!

#1120 should fix it

I managed to reproduce it on Akkoma and the above fix fixed it.


More info for future ref: *oma did not accept the alt text as url param, even though the other backends do. #1120 sends it as json.

GeopJr avatar Sep 20 '24 21:09 GeopJr

Sweet! Thanks for the quick response and fix!

Inderix avatar Sep 20 '24 21:09 Inderix