Bug 515271 - Home timeline is empty because of invalid max_id query parameter
Summary: Home timeline is empty because of invalid max_id query parameter
Status: REPORTED
Alias: None
Product: Tokodon
Classification: Applications
Component: general (other bugs)
Version First Reported In: 25.12.1
Platform: Manjaro Linux
: NOR normal
Target Milestone: ---
Assignee: Unassigned bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2026-01-29 18:14 UTC by Surya Teja K
Modified: 2026-01-29 19:50 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed/Implemented In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Surya Teja K 2026-01-29 18:14:43 UTC
SUMMARY
"Home" timeline shows "No Posts" placeholder text instead of posts on `timelineView`. This is because of an "invalid" `max_id` parameter being sent to `api/v1/timelines/home` API.

STEPS TO REPRODUCE
1. Open Tokodon and login with your Mastodon account.
2. Let the app open "Home" page.

OBSERVED RESULT
User sees "No Posts" placeholder instead of timeline posts.

EXPECTED RESULT
User should see their timeline feed as seen in a web browser.

SOFTWARE/OS VERSIONS
Linux/KDE Plasma: Manjaro Linux
KDE Plasma Version: 6.5.4
KDE Frameworks Version: 6.21.0
Qt Version: 6.10.1

ADDITIONAL INFORMATION

I tried logging out and re-logging into Tokodon to see if this fixed it but it did not.

### FOUND WORKAROUND
I found a workaround to this problem.
We need to simply comment out the following code in `maintimelinemodel.cpp` file

```cpp
// 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 hack fixes the issue as I am able to see and interact with the posts in "Home" timeline.

My Mastodon post mentioning the fix for this bug:
https://social.linux.pizza/@shanmukhateja/115979662833544329

### MORE BUGS
1. Failure to invalidate `max_id` 
2. Lack of retry logic w/o `max_id` if API response (`data` variable) is empty and `max_id` is set.
3. When user logged out, such data should be deleted as well. A full logout from the app should've reset this data.
Comment 1 Jure Repinc 2026-01-29 19:50:44 UTC
Can confirm here too. I just found another workaround for it: Click the Filter button in the upper right corner and disable and then re-enable an option from the dropdown list.