Mark Post as Read Lower on Page

This is a modification suggestion for an existing feature, if it’s not categorized correctly, I’d love it if someone can correct it for me.

Discourse marks posts as read and updates the “thread position counter” at the bottom of the screen as you scroll down a thread, I like this. It’s cool, modern, efficient, and makes near isntant back and forth discussion in a forum instead of an instant messaging app very doable. My problem is that it doesn’t update the counter and mark posts as read until they’re near the top of the screen, (talking mainly about mobile viewing) I use an iPhone Plus (currently 7, but whatever’s newest), and I’ve often read a couple posts beyond what the counter shows as I scroll down the thread, especially if they’re short posts. This often results in a thread showing unread posts when I’ve actually read them all.

I’d like to suggest some more dynamic method of updating read posts, I don’t do much web development, don’t have time to personally contribute code, nor do I know much about the specific code powering Discourse, but…
I believe it’d be possible to detect finger position on screen as I scroll down, could use that to mark posts as read including what my finger is on and anything above it.
Alternatively, grabbing current “window” dimensions and marking posts as read using a percentage of the distance down the page.
Something else that I’m not thinking of right now. Don’t know, I assume there are people out there who are more into the whole Discourse development thing (knowledgely) than I am.

The “eye line” is about 1/3 the way down the top of the page. I don’t think finger position is a reliable way to deal with this.

We’d need actual eye tracking position to do it correctly, so…

Here’s the counter update position for me, I assume the “eye-line” you mentioned is in the same place. Note, I’m referencing the top of a post, the divider between it and the previous post. If you’re referencing a different point on the post, then I missed that.!AlnkfY2PqYTpzO0f6bmRbQMcmg4kFg