Found the culprit! It was the max_id parameter in /api/v1/timeline/api/v1/timelines/home endpoint.
The code inside Tokodon is as follows:
// maintimelinemodel.cpp
if (!fromId.isEmpty() && !query.hasQueryItem(QStringLiteral("max_id"))) {
// TODO: this is an *upper bound* so it always is one less than the last post we read
// is this really how it's supposed to work wrt read markers?
query.addQueryItem(QStringLiteral("max_id"), fromId);
}
This code can be searched via max_id keyword. You need to comment out the query.addQueryItem line and Tokodon will work just fine.
I think this is a BUG for the following reasons:
-
max_id invalidation failure
-
Lack of retry logic w/o this query item when we know API response (
data variable) is empty.
-
When user logged out, all such data should be deleted as well. A full logout from the app should’ve reset this data.
A part of me thinks this info was sent by Mastodon server as part of my account info.
@tokodon@kde.social @kde@floss.social
This is in Manjaro Linux fully updated with #Qt 6.10
This was a fun bug to track though :)
#diary #linux #opensource #kde #bugs