Several issues related to timeline.
While I've been working on #330 (closed), I've found several issues needed to fix.
-
Each timeline (friend, public..) have it's own timeline fetcher(by timer) when create, but it also fetches statuses directly sometimes( by using 'queueflush', 'fetcholderstatus', 'fetchAndUpdate'). Fetching is repeated 2 or more times, and it makes troubles like that some statuses are in 'show new' even though they are already in visible timeline.
-
If there is no statuses, fetched statuses must be visible. If there is no displayed status after block or delete, we can see there is no status but "show new" have some statuses fetched.
-
we use "count" arg to set count of statuses to be fetched in FE. but in BE, it uses "limit".
-
we have to stop fetcher completely. I mean, even though timer have been stopped, request already sent is still working.
Additionally, there is weird logic in some functions. I think we need to change or remove some of them. Please let me know if there is anything I'm confusing.