[BUG] BROKEN FEED (Button to mass un-re-subscribe) #21

Open
opened 2024-10-16 19:10:01 -03:00 by xCbl6YaK4PEX6d9g6m26YMdHJtQgJ · 24 comments

by crosschecking the feed with other instances or youtube directly, the feed is for some reason broken! due to this, there are like 10 videos daily! (from 200 subscriptions) that are not entering nadeko feed properly.

right now, "the fix" is to flash JSON data file 2-3 times, so the lazy videos would enter the nadeko feed properly

suggestions:

  1. try to fix the feed or
  2. add button to https://inv.nadeko.net/subscription_manager that will batch unsubscribe and resubscribe all subscriptions
  3. automate the "button" function on background and run it periodically in some intervals (6h, 12h) without user's interaction
by crosschecking the feed with other instances or youtube directly, the feed is for some reason broken! due to this, there are like 10 videos daily! (from 200 subscriptions) that are not entering nadeko feed properly. right now, "the fix" is to flash JSON data file 2-3 times, so the lazy videos would enter the nadeko feed properly suggestions: 1. try to fix the feed or 2. add button to https://inv.nadeko.net/subscription_manager that will batch unsubscribe and resubscribe all subscriptions 3. automate the "button" function on background and run it periodically in some intervals (6h, 12h) without user's interaction
Owner

About this. I'm already fixing it. Right now I'm running a feed fetcher on a completely different domain and it's only purpose is to receive data and send data to youtube, for subscriptions.

image

Right now It's subscribing to all channels (~140K) sooo this can take up to 4 hours to complete.

9878a3d4d6

About this. I'm already fixing it. Right now I'm running a feed fetcher on a completely different domain and it's only purpose is to receive data and send data to youtube, for subscriptions. ![image](/attachments/aaad2499-b84d-46e2-9c59-518d0ebe4cec) Right now It's subscribing to all channels (~140K) sooo this can take up to 4 hours to complete. https://git.nadeko.net/Fijxu/invidious/commit/9878a3d4d639044332490c377d112d455afb9324
259 KiB
Owner

All feeds are updated. Wait a few days and if there is no missing videos from your subscriptions, then all good.

All feeds are updated. Wait a few days and if there is no missing videos from your subscriptions, then all good.

sadly, feed is still broken :( situation is better than it used to be but some videos still dont find its way into nadeko feed

image

image

sadly, feed is still broken :( situation is better than it used to be but some videos still dont find its way into nadeko feed ![image](/attachments/29bfea2d-ca9e-4121-9cb6-96c14c278d3d) ![image](/attachments/0d64b5a5-0d85-4bf8-a278-0d61404263e5)
455 KiB
218 KiB

still loosing from 1 to 3 videos daily from the feed:

image

still loosing from 1 to 3 videos daily from the feed: ![image](/attachments/7201ee5f-f937-404e-b7cf-5c5d8507d83d)
627 KiB

image

![image](/attachments/7e55a275-dc38-41a1-9329-794053dd55e7)
376 KiB
xCbl6YaK4PEX6d9g6m26YMdHJtQgJ changed title from [Enhancement] Button to mass un-re-subscribe to [BUG] BROKEN FEED (Button to mass un-re-subscribe) 2024-10-25 08:07:49 -03:00

yesterday:

image

image

yesterday: ![image](/attachments/658d12d1-c2d6-4546-a604-52a626f83abc) ![image](/attachments/38f51c8b-5c37-419a-bf60-716dc65b80f5)
404 KiB
397 KiB

so, here are results of testing. after 3 days, 31 videos were missing in the feed.

steps to reproduce:

  1. do nothing and wait stuff to enter the feed
  2. watch stuff and occasionally crosscheck with YT
  3. on 3rd day empty the feed by watching all the videos
  4. when feed is empty (eg. all the stuff that came to feed was seen) go to
  5. press "Export Invidious data as JSON"
  6. save JSON data file
  7. on "Import Invidious JSON data" click on "Choose file" button
  8. select JSON data file
  9. press "Import" button
  10. wait for redirect
  11. done! all missing videos for past 3 days entered the feed correctly (finally!)

image

now questions are:

  1. can this be fixed?
  2. if not, can this be automated so we wouldn't need to flash JSON data file every day?
  3. what are the limitations of your feed fetcher? interval wise - sometimes video enters the feed immediately, other times it takes like 1-2h to do so, and other times it gets lost completely. does it run 24/7 ?
  4. let's assume your feed fetcher works properly, then how come stuff gets lost in the process of distribution to users?
so, here are results of testing. after 3 days, 31 videos were missing in the feed. steps to reproduce: 1. do nothing and wait stuff to enter the feed 2. watch stuff and occasionally crosscheck with YT 3. on 3rd day empty the feed by watching all the videos 4. when feed is empty (eg. all the stuff that came to feed was seen) go to - https://inv.nadeko.net/data_control?referer=%2Ffeed%2Fsubscriptions 5. press "Export Invidious data as JSON" 6. save JSON data file 7. on "Import Invidious JSON data" click on "Choose file" button 8. select JSON data file 9. press "Import" button 10. wait for redirect 11. done! all missing videos for past 3 days entered the feed correctly (finally!) ![image](/attachments/ef654a5d-2e12-43b1-87a5-cb58bd26b13e) now questions are: 1. can this be fixed? 2. if not, can this be automated so we wouldn't need to flash JSON data file every day? 3. what are the limitations of your feed fetcher? interval wise - sometimes video enters the feed immediately, other times it takes like 1-2h to do so, and other times it gets lost completely. does it run 24/7 ? 4. let's assume your feed fetcher works properly, then how come stuff gets lost in the process of distribution to users?
276 KiB
Owner

I just skipped one important thing while deploying the feed fetcher.

This line inside invidious: https://git.nadeko.net/Fijxu/invidious/src/branch/master/src/invidious/jobs/subscribe_to_feeds_job.cr#L18

only runs one time when invidious starts and the query never ends (which IMO, this shouldn't be like this) making Invidious not subscribe to the channels again (Because it needs to resubscribe every ~4 days). I added a cron job to restart the feed fetcher automatically every ~15min.

Thanks for your investigation! Tell me if you don't get videos in the subscription feed again in the next few days.

I just skipped one important thing while deploying the feed fetcher. This line inside invidious: https://git.nadeko.net/Fijxu/invidious/src/branch/master/src/invidious/jobs/subscribe_to_feeds_job.cr#L18 only runs one time when invidious starts and the query never ends (which IMO, this shouldn't be like this) making Invidious not subscribe to the channels again (Because it needs to resubscribe every ~4 days). I added a cron job to restart the feed fetcher automatically every ~15min. Thanks for your investigation! Tell me if you don't get videos in the subscription feed again in the next few days.

alright, the situation is much better now, but the feed is still broken. I made you video of how I need to fix it every time with JSON flashing.

as you can see I emptied the whole feed on all backends and after JSON re-injection, stuff magically appears.

3 days ago I was missing 3 videos from feed and today as you can see - 2 videos, so in total, 5 videos shorter since your last fix.

alright, the situation is much better now, but the feed is still broken. I made you video of how I need to fix it every time with JSON flashing. as you can see I emptied the whole feed on all backends and after JSON re-injection, stuff magically appears. 3 days ago I was missing 3 videos from feed and today as you can see - 2 videos, so in total, 5 videos shorter since your last fix.

3 days went by since last report.

the result: an additional 3 videos are missing from feed

3 days went by since last report. the result: an additional 3 videos are missing from feed
Owner

Huh. I might change the logic that invidious uses to subscribe to channels.

the result: an additional 3 videos are missing from feed

But that is significantly less than last time right?

Huh. I might change the logic that invidious uses to subscribe to channels. >the result: an additional 3 videos are missing from feed But that is significantly less than last time right?

yes, since this fix of yours: #21 (comment) it's much better than before, but still not 100% perfect.

I pretty much don't care if it would be delayed for up to one day (compared to yt) but the issue is that stuff is missing for days/weeks even longer, until JSON is flashed. without flashing it, it's unreliable.

yes, since this fix of yours: https://git.nadeko.net/Fijxu/invidious/issues/21#issuecomment-7598 it's much better than before, but still not 100% perfect. I pretty much don't care if it would be delayed for up to one day (compared to yt) but the issue is that stuff is missing for days/weeks even longer, until JSON is flashed. without flashing it, it's unreliable.
Owner

I discovered the problem. There was 2 channels that for some reason Invidious has been unable to subscribe hanging the Subscribe Job. This job needs to run every 1 minute, but because of two channels hanging the job, the Job never completed and never ran again after 1 minute.

This job needs some sort of handling for those channels that Invidious cannot subscribe because of PubSubHubBub errors or restrictions.

I discovered the problem. There was 2 channels that for some reason Invidious has been unable to subscribe hanging the Subscribe Job. This job needs to run every 1 minute, but because of two channels hanging the job, the Job never completed and never ran again after 1 minute. This job needs some sort of handling for those channels that Invidious cannot subscribe because of PubSubHubBub errors or restrictions.

alright, so I just flashed JSON to reset stuff (5 videos appeared that were missing from feed for past two days) and will leave it for few days and crosscheck with YT if all is good. then report back here my findings.

alright, so I just flashed JSON to reset stuff (5 videos appeared that were missing from feed for past two days) and will leave it for few days and crosscheck with YT if all is good. then report back here my findings.

not sure if this is related to your latest fix but visiting https://inv.nadeko.net/channel/UCx3t9Tn-iebofzahMM1g-Ow (or any other channel) yields this error:

Could not extract JSON. Youtube API returned error 400 with message:
"Request contains an invalid argument."

strangely, the last uploaded video from this channel did not enter my feed. is your latest feed fix retrospective? or the feed should work only since the fix onward?

not sure if this is related to your latest fix but visiting https://inv.nadeko.net/channel/UCx3t9Tn-iebofzahMM1g-Ow (or any other channel) yields this error: Could not extract JSON. Youtube API returned error 400 with message: "Request contains an invalid argument." strangely, the last uploaded video from this channel did not enter my feed. is your latest feed fix retrospective? or the feed should work only since the fix onward?
Owner

#36

https://git.nadeko.net/Fijxu/invidious/issues/36

sadly, the issue of broken feed persists. 3 days, another 2 videos missing :(

sadly, the issue of broken feed persists. 3 days, another 2 videos missing :(

another 3 days - another 3 videos missing

another 3 days - another 3 videos missing
Owner

another 3 days - another 3 videos

At how many channels are you subscribed? To fix this, I would need to add error checking to Invidious SubcribeToFeeds job.

> another 3 days - another 3 videos At how many channels are you subscribed? To fix this, I would need to add error checking to Invidious SubcribeToFeeds job.

atm to 147

image

atm to 147 ![image](/attachments/76bde519-dc21-4684-9cda-1a1befd0a3fa)
9.2 KiB

another 5 days - another 7 videos

also, it's never from same channels - if that matters

another 5 days - another 7 videos also, it's never from same channels - if that matters

didnt do this in a while so here we go.

  1. emptied whole feed & did few F5s on 2-3 backends
  2. checked number of subscriptions (169)
  3. exported JSON data
  4. imported JSON data
  5. luckily, the number of subscriptions did not drop! (still 169)
  6. result: 31 missing videos from the feed!

some are as fresh as 1h ago and oldest is 4 weeks old!

could it be that there is again some channel that hanging the subscribe job again or somethin' ??

still feels like adding button to mass un-re-subscribe would patch it best lol

didnt do this in a while so here we go. 1. emptied whole feed & did few F5s on 2-3 backends 2. checked number of subscriptions (169) 3. exported JSON data 4. imported JSON data 5. luckily, the number of subscriptions did not drop! (still 169) 6. result: 31 missing videos from the feed! some are as fresh as 1h ago and oldest is 4 weeks old! could it be that there is again some channel that hanging the subscribe job again or somethin' ?? still feels like adding button to mass un-re-subscribe would patch it best lol
Owner

still feels like adding button to mass un-re-subscribe would patch it best lol

No, is not the best solution since youtube has rate limits.

emptied whole feed & did few F5s on 2-3 backends

What do you mean with emptied whole feed?

> still feels like adding button to mass un-re-subscribe would patch it best lol No, is not the best solution since youtube has rate limits. > emptied whole feed & did few F5s on 2-3 backends What do you mean with *emptied whole feed*?

What do you mean with emptied whole feed?

emptied - like I watched all videos from all my subscriptions up to the point that there is nothing to be watched

I have this enabled:

image

so if I watch everything, this page (https://inv.nadeko.net/feed/subscriptions) is literally empty, eg. I "emptied it"

then I do JSON export > JSON import and all missing videos enter the https://inv.nadeko.net/feed/subscriptions finally


it is same as I would cross-check it with YT 1-by-1 and some stuff that was released on YT, nadeko's https://inv.nadeko.net/feed/subscriptions did not pick up, hence they are missing from the feed.

> What do you mean with emptied whole feed? emptied - like I watched all videos from all my subscriptions up to the point that there is nothing to be watched I have this enabled: ![image](/attachments/052b9212-1b58-4c0c-b69d-b8f29a615261) so if I watch everything, this page (https://inv.nadeko.net/feed/subscriptions) is literally empty, eg. I "emptied it" then I do JSON export > JSON import and all missing videos enter the https://inv.nadeko.net/feed/subscriptions finally _________________ it is same as I would cross-check it with YT 1-by-1 and some stuff that was released on YT, nadeko's https://inv.nadeko.net/feed/subscriptions did not pick up, hence they are missing from the feed.
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: Fijxu/invidious#21
No description provided.