Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Preserve scroll position #16

Open
adymorz opened this issue Aug 10, 2023 · 5 comments
Open

Preserve scroll position #16

adymorz opened this issue Aug 10, 2023 · 5 comments

Comments

@adymorz
Copy link

adymorz commented Aug 10, 2023

User story:
As a timeline reader who doesn't want to miss anything, I would like the scroll position to remain on the last entry read.

Current behavior:
After starting the app, the timeline jumps to the latest entry.

Desired behavior:
After starting the app, new entries are loaded in the timeline, but the scroll position remains on the last read entry.

App version: 1.15 (152)
Firefish version: 1.0.3

@Lakr233
Copy link
Owner

Lakr233 commented Aug 11, 2023

Developer Story

The timeline utilized by Kimis differs from your Misskey timeline. It utilized an algorithm on the device to rearrange and present content within a specific context. Not all notes are on your screen: The notes from server are only marked as suggested to display.

Each time we asking for notes from your server, it returns the newest. Then the algorithm is used to build your timeline. If we discover that the oldest note has lost its relevance, for instance, if it's significantly outdated and doesn't align with the current timeline, we then proceed to remove it from your existing timeline.

This approach is driven by three main factors:

  • Misskey's limitation in returning the complete timeline. (Can't give you as many as you requested)
  • The necessity to fetch more content than Misskey originally provides in order to accommodate the algorithm.
  • Achieving a balance in network usage and performance.

Kimis aims to optimize the user experience by efficiently managing the timeline's content while considering the constraints posed by Misskey's functionality and the demands of network resources.

TL;DR
Therefore, you have two options: either check back frequently or take matters into your own hands.

Off Topic
It's completely acceptable for you to miss someone's note, as they can always mention you if needed. It will make your life easier. -- From a bad man having more then 10k follower and 1k following :P

Next Step
I'll think about adding an indicator to show that you've reached the last position you've read. However, you'll still need to manually fetch the notes by scrolling down to that point.

@adymorz
Copy link
Author

adymorz commented Aug 11, 2023

Thank you for the detailed and understandable explanations.

An indicator would be very helpful.

@adymorz
Copy link
Author

adymorz commented Aug 12, 2023

Just an idea: Would it be possible to show the oldest of the newly loaded notes in case the oldest note has lost its relevance? This would at least allow the user to read through the newest notes which got loaded from the server.

@Lakr233
Copy link
Owner

Lakr233 commented Aug 13, 2023

The newest is already shown, the old notes are the one getting removed from timeline. But it is not removed from database.

@adymorz
Copy link
Author

adymorz commented Aug 13, 2023

I try to clarify: When it loads the new notes, it jumps to the newest of those newly loaded notes. Instead it would be more convenient and useful it if would jump to the oldest of the newly loaded notes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants