Error fetching updates when one of statuses contains media without any text
Pleroma FE won't display message feed if one of statuses contains media without any text.
Here is current behavior:
Here is screenshot from Mastodon FE with status what causes issue:
By the way, javascript console does not display any exception. And Pleroma FE starts work as expected if I delete this status.
Activity
-
Newest first Oldest first
-
Show all activity Show comments only Show history only
- Dave LiPuma assigned to @Dave
assigned to @Dave
- Author
That happened again. So I have download JSON response from /api/statuses/friends_timeline.json
Here is an item from JSON that causes issue:
... { "activity_type": "post", "attachments": [ { "description": null, "id": null, "mimetype": "image/jpeg", "oembed": false, "url": "https://social.net.ua/proxy/_-4UhgU0JrZ1vCAnDiBh7Bd5uu8/aHR0cHM6Ly9oYWNrZXJzLnRvd24vc3lzdGVtL21lZGlhX2F0dGFjaG1lbnRzL2ZpbGVzLzAwMC83MTMvMzQyL29yaWdpbmFsLzAxNThmNDY4NmMwZDBiYjguanBn/0158f4686c0d0bb8.jpg" } ], "attentions": [], "card": null, "created_at": "Fri Mar 22 04:34:20 +0000 2019", "external_url": "https://hackers.town/@zpojqwfejwfhiunz/101792432820755551", "fave_num": 0, "favorited": false, "id": "9h1BJefYc8YPRjBDUm", "in_reply_to_ostatus_uri": null, "in_reply_to_profileurl": null, "in_reply_to_screen_name": null, "in_reply_to_status_id": null, "in_reply_to_user_id": null, "is_local": false, "is_post_verb": true, "muted": false, "pinned": false, "possibly_sensitive": false, "repeat_num": 0, "repeated": false, "statusnet_conversation_id": 10273, "statusnet_html": "<p>communist antipasto</p>", "summary": "", "summary_html": "", "tags": [], "text": "communist antipasto", "uri": "https://hackers.town/users/zpojqwfejwfhiunz/statuses/101792432820755551", "user": { "background_image": null, "cover_photo": "https://social.net.ua/images/banner.png", "created_at": "Sat Mar 09 05:26:22 +0000 2019", "default_scope": "public", "description": "ham-fisted sophistry", "description_html": "<p>ham-fisted sophistry</p>", "favourites_count": 0, "fields": [], "followers_count": 1, "following": true, "follows_you": false, "friends_count": 0, "hide_followers": false, "hide_follows": false, "id": "9gaJHFibM601OF5XtY", "is_local": false, "locked": false, "name": "zpojqwfejwfhiunz", "name_html": "zpojqwfejwfhiunz", "no_rich_text": false, "pleroma": { "confirmation_pending": false, "deactivated": false, "tags": [] }, "profile_image_url": "https://social.net.ua/proxy/N7wFabgZMSift5Hyp-6usv-V0T4/aHR0cHM6Ly9oYWNrZXJzLnRvd24vc3lzdGVtL2FjY291bnRzL2F2YXRhcnMvMDAwLzA0NC85OTYvb3JpZ2luYWwvOGI2ZWVlNzljMDY4OGQwMC5qcGc_MTU1Mjc2NTUwMQ/8b6eee79c0688d00.jpg", "profile_image_url_https": "https://social.net.ua/proxy/N7wFabgZMSift5Hyp-6usv-V0T4/aHR0cHM6Ly9oYWNrZXJzLnRvd24vc3lzdGVtL2FjY291bnRzL2F2YXRhcnMvMDAwLzA0NC85OTYvb3JpZ2luYWwvOGI2ZWVlNzljMDY4OGQwMC5qcGc_MTU1Mjc2NTUwMQ/8b6eee79c0688d00.jpg", "profile_image_url_original": "https://social.net.ua/proxy/N7wFabgZMSift5Hyp-6usv-V0T4/aHR0cHM6Ly9oYWNrZXJzLnRvd24vc3lzdGVtL2FjY291bnRzL2F2YXRhcnMvMDAwLzA0NC85OTYvb3JpZ2luYWwvOGI2ZWVlNzljMDY4OGQwMC5qcGc_MTU1Mjc2NTUwMQ/8b6eee79c0688d00.jpg", "profile_image_url_profile_size": "https://social.net.ua/proxy/N7wFabgZMSift5Hyp-6usv-V0T4/aHR0cHM6Ly9oYWNrZXJzLnRvd24vc3lzdGVtL2FjY291bnRzL2F2YXRhcnMvMDAwLzA0NC85OTYvb3JpZ2luYWwvOGI2ZWVlNzljMDY4OGQwMC5qcGc_MTU1Mjc2NTUwMQ/8b6eee79c0688d00.jpg", "rights": { "admin": false, "delete_others_notice": false }, "screen_name": "zpojqwfejwfhiunz@hackers.town", "statuses_count": 7, "statusnet_blocking": false, "statusnet_profile_url": "https://hackers.town/users/zpojqwfejwfhiunz" }, "visibility": "public" }, ...
I hope it will help to resolve this issue.
1 - Guest
@zen I used the data you sent to me and it works fine without any problem.
Can you let me know on which pleroma instance I can reproduce this issue?
Usually if there's "Error fetching updates" it means server gave 500 error or timed out, not some rendering failure, meaning BE failed to get data and you probably couldn't even get the JSON. If there's an error in FE it would probably break more violently and dump errors and stracktraces into console.
- Guest
@hj You are right. But the thing is he get JSON response. So I'm trying to check and reproduce the error on https://social.net.ua .
I mean the way BE works is pleroma#712 (closed) if one post fails to render for whatever reason - it fails the entire page.
- Guest
I see
- Guest
Yes. the JSON attached is different from the screenshot above.
just in case - the very same post renders fine on soykaf https://pleroma.soykaf.com/notice/9gyve9V1BjVdHDbqtM
- Dave LiPuma mentioned in issue #450 (closed)
mentioned in issue #450 (closed)
- Author
Yes, the post was deleted and the response was with status code 200. So, it looks like some javascript error.
Let's back to this issue when it happen again. Or when I find a way to reproduce it.
- Author
So, I have created an account on fosstodon.org instance. And I have send an image. The bug is successfully reproduced.
https://social.net.ua/main/all
My test account: https://fosstodon.org/@bughunter
Edited by Dmytro Poltavchenko 1 - Guest
Yeah. I can see the issue now. Checking...
- Dave LiPuma mentioned in merge request !700 (merged)
mentioned in merge request !700 (merged)
- Guest
@hj I reproduced the issue locally and fixed this one. Please review the MR.
It was because the status text was null and it was trying to find the match using Regex.
- Guest
Attached is the problematic timeline data.
- Author
Just tested fix on local machine. And I see messages from other people, but I do not see message from bughunter account...
Pleroma FE:
Mastodon FE:
Edited by Dmytro Poltavchenko - Author