Bug 515271

Summary: Home timeline is empty because of invalid max_id query parameter
Product: [Applications] Tokodon Reporter: Surya Teja K <shanmukhateja>
Component: generalAssignee: Unassigned bugs <unassigned-bugs-null>
Status: REPORTED ---    
Severity: normal CC: carl, jlp, josh
Priority: NOR    
Version First Reported In: 25.12.1   
Target Milestone: ---   
Platform: Manjaro   
OS: Linux   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:

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.