-
Notifications
You must be signed in to change notification settings - Fork 898
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
Show when Subscriptions / Trending / Most Popular were last updated #4380
Show when Subscriptions / Trending / Most Popular were last updated #4380
Conversation
Not tested yet, but I think the data entries for caching should be inside |
See discussion in Additional Context: to reiterate, I'm thinking it might be extra useful to have these in long-term state if we decide we want to have long-term state caching for, say, subscriptions. That, and I do think it's still decently neat to have that info as a tidbit for users with "Fetch Feed Automatically" |
But only useful for those with Will re-test soon (I am on Windows now) |
Considering that setting is in the "Subscription Settings", as a user I would be very surprised if it applied to Trending and Popular. Additionally it's not necessary to have that setting apply to anything but subscriptions, because you'll only visit trending and popular when you actually want to see content. The subscriptions page is the default page at startup (unless configured otherwise), so firstly people might want to change profile before fetching subscriptions and secondly they might want to select a tab other than videos first. Also don't forget the subscriptions page makes loads of requests, whereas the Trending and popular pages only make a few. TL;DR, subscriptions is a special page so it makes sense that that is the only page with an option to disable automatically fetching content. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In addition to the other comment, it looks like you've added class="ref" in a couple of places, but can't see where it is referenced.
currentLocale: function () { | ||
return this.$i18n.locale.replace('_', '-') | ||
}, | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks like this is unused? I'm guessing it's leftover from testing?
currentLocale: function () { | |
return this.$i18n.locale.replace('_', '-') | |
}, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, thank you - as for the first one, that was a relic from before that also wasn't being used as far as I could see, but yeah, definitely need to interrogate those more rather than taking an overly cautious stance
Also now I remember #3668 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Every subscriptions tab got its own separate Feed last updated
. To me it makes sense but maybe to a normal user not. Maybe we should specify it a bit more Video feed last updated
, Shorts feed last updated
, Live feed last updated
and Community feed last updated
Can you take a screenshot of an existing case where the current logic is returning an inaccuracy? Had trouble grokking the proper invariant in the code to check if things had been updated from reading that thread |
Haven't tested this pull request yet but based on the code, you only save one last refreshed timestamp, so if you have multiple profiles that were refreshed at different times, this will only keep the latest across all profiles, which makes the timestamp useless because it doesn't match what is visible on screen when it uses the cached data. |
Also to make it even more complicated, we cache each channel separately, so if you have profiles with overlapping channels, you could be showing data that was cached at different times on the same page. |
So I can see that the first suggestion is to store these data on a per-profile basis. For the second problem, there are cases where the first load will potentially be returning only cached data, in which case the label is inaccurate. And we need to be able to discern this case so that we do not update the timestamp when it occurs. Am I understanding you correctly? Edit: Plus the question of what you want to display for the timestamp if there is only cached data, which in my opinion should either be the latest cache update or nothing at all (in the worst case scenario that this case is too effortful to implement). Edit 2: Oh, and I see, if automatic fetching is disabled, and the cache was even partially updated since, you also need to show the timestamp of the latest cache that includes these videos. Before I start implementing this, would it be more or less convenient/understandable to know whether a given profile Y obtained the latest of the currently visible subscriptions on X date (as is being proposed), or just to clarify in the label that this is the last timestamp of an update from any profile? |
Here is an theoretical situation where you could end up with different refresh times in the current profile (untested as I haven't downloaded this pull request yet): Assuming you have automatic subscription fetching disabled and this profile setup:
|
Gotcha, I think that's encapsulated in my Edit 2. As a note, before I start implementing this, would it be more or less convenient/understandable to know whether a given profile Y obtained the latest of the currently visible subscriptions on X date (as is being proposed), or just to clarify in the label that this is the last timestamp of an update from any profile? Just trying to assess the relative loss in utility versus the time investment & potential risk of being more confusing, kinda, if you just wanted to know the last time you requested new subscription data from any profile, or the value of seeing when one video was updated from the cache when all others are 30 minutes older, to give an example. |
30e5813
to
366ecec
Compare
This pull request has conflicts, please resolve those before we can evaluate the pull request. |
…at/refresh-button-timestamp
88f996f
Conflicts have been resolved. A maintainer will review the pull request shortly. |
…at/refresh-button-timestamp
This pull request has conflicts, please resolve those before we can evaluate the pull request. |
…at/refresh-button-timestamp
608651c
Conflicts have been resolved. A maintainer will review the pull request shortly. |
@jasonhenriquez Uh oh found a bug: progress bar and community images will overlap on the statusbar FreeTube_kZ6ZHyToD2.mp4 |
Is there an option to disable or hide the toolbar after it refreshes? |
@manifest-9 No and IMO it shouldn't be hidden especially when something like #4803 is going to be added at some point |
Show when Subscriptions / Trending / Most Popular were last updated
Pull Request Type
Related issue
closes #1010
Description
ft-refresh-widget
component with new full-width bar styling and the timestamp of when the data was fetched from (re-calculated each time page is loaded or data is updated)ft-refresh-widget
to Most Popular and Trending (as well as new titles - none existed)Screenshots
Testing
Desktop
Additional context
Incidentally, "Fetch Feed Automatically" being disabled has no bearing on "Most Popular" and "Trending," which doesn't sound right. But that sounds like a separate issue.