AprilSylph / XKit-Rewritten

🧰 The enhancement suite for Tumblr's new web interface
GNU General Public License v3.0
285 stars 48 forks source link

Seen Posts may not dim posts on soft refresh #1539

Closed Avakining closed 2 weeks ago

Avakining commented 1 month ago

Platform

macOS 14.5

Browser

Firefox 128.0

Addon version

v1.0.0

Details

As of a few days ago, clicking the 'Home' button on the Tumblr dashboard no longer dims posts that were just seen. Only a full refresh of the page correctly dims newly seen posts.

https://github.com/user-attachments/assets/08b5770c-cee9-4e6b-81ba-2d5003ca73ac

marcustyphoon commented 1 month ago

Confirmed (dependent upon certain internal account flags; not everyone will experience this quite yet).

This is an interesting one; in essence, Tumblr has updated its navigation to be smarter, and that includes not destroying and recreating posts that aren't changed in that case, which is normally a good thing for performance. For the sake of this feature we want to behave as though the refreshed timeline actually disappeared and reappeared, presumably; I'll have to look at some internal stuff to see how easily we can do that.

(#1294 does not help with this, annoyingly.)

Edit: Worse, it's only some posts that are not destroyed and recreated (easy test: [...document.querySelectorAll('*')].forEach(el => { el.dataset.test = ''; })). This is probably a subtle effect of/bug in the "timeline v2" code, but that code is so complicated that I don't think I'd be able to discern what is happening if assigned to adjust it.

Edit 2: Interestingly, this isn't happening for me at the moment on the dashboard; not sure if Tumblr devs are tweaking things or if the exact specifics of the behavior in question only result in posts persisting through the refresh some of the time. it's complicated