karthink / elfeed-tube

Youtube integration for Elfeed, the feed reader for Emacs
The Unlicense
241 stars 11 forks source link

`elfeed-tube-fill-feeds` Does not fill channel feeds. #12

Closed Zaijab closed 9 months ago

Zaijab commented 1 year ago

Aloha Karthink,

When using elfeed-tube-fill-feeds on a playlist, elfeed-tube will properly add all the videos of a playlist to my *elfeed-search* buffer. When doing the same on a channel, I notice that there is no updating happening. Both *elfeed-tube-log* and *elfeed-log* are blank for me (namely, no errors or warning popping up). The modeline states that there is 0 jobs pending for the update and 1 active job. On the top of the elfeed buffer it states that it is "Filling Feed: $CHANNEL".

If I may throw in my two cents. I think YouTube has been changing how channel IDs are working recently. This may be related to this issue, assuming of course I did not misconfigure something.

Here is my configuration for everything elfeed related.

(setq elfeed-feeds $FEEDS) ;; Will these be relevant here? I don't intend on doing free advertising on your repo.
(require 'elfeed-tube)
(elfeed-tube-setup)
(setq-default elfeed-search-filter "")
(setq-default elfeed-search-title-max-width 100)
(setq-default elfeed-search-title-min-width 100)
(defun browse-url-mpv (url &optional new-window)
    (start-process "mpv" "*mpv*" "mpv" url))

(add-to-list 'browse-url-handlers (cons "https:\\/\\/www\\.youtube." 'browse-url-mpv))
(add-hook 'elfeed-new-entry-hook
   (elfeed-make-tagger :feed-url "youtube\\.com"
                             :add '(video youtube)))

(require 'elfeed-tube)
(elfeed-tube-setup)

Big fan of the package. Thank you so much for developing this. It really brings together the benefits of freely available information on YouTube and the freedom of Emacs.

karthink commented 1 year ago

Mahalo @Zaijab!

Thanks for the comprehensive report. After some testing, this appears to be a bug in the Invidious API. For example:

curl invidious.weblibre.org/api/v1/channels/videos/UCWqr2tH3dPshNhPjV5h1xRw?page=2&fields=title,videoId,author,published&sort_by=newest

will return the same set of results no matter what number you set the page parameter to.

From Invidious' issues page, it looks like this is because Youtube is changing something at their end. Once Invidious catches up with the changes, Elfeed-Tube should be back too.

Perhaps something else is wrong too, but I can't test it until this is fixed. I'll leave this issue open until then.

Zaijab commented 1 year ago

Nice! Mahalo nui loa for expertly pinpointing the issue!

Thankfully the rest of the awesome features of elfeed-tube are still available :)

karthink commented 1 year ago

@Zaijab This issue appears to be fixed by the Invidious folks. Could you test if it's resolved in Elfeed Tube as well?

Zaijab commented 1 year ago

Unfortunately not yet.

At the top of the Window, after running elfeed-tube-fill-feeds on a feed at point, it says "Nothing to retrieve".

Let me know if there are some debugging commands you would like to see, or if I need to change something about my elfeed-feeds variable. Also, just to be really sure, were testing an API call and I do not need to update the package or anything else right?

Thank you for your time and responding again on this thread.

karthink commented 1 year ago

Let me know if there are some debugging commands you would like to see, or if I need to change something about my elfeed-feeds variable. Also, just to be really sure, were testing an API call and I do not need to update the package or anything else right?

Yeah, I meant without updating the package. It looks like the /channels/videos API endpoint is not even available in Invidious any more, and there's no equivalent yet. We might have to wait a fair bit longer before an alternative is available.

karthink commented 9 months ago

@Zaijab Enabled channel/playlist filling again by adjusting the code to the latest Invidious API. Please test if you are still interested in this feature.

Zaijab commented 9 months ago

Aloha @karthink,

I was able to update to master. I can confirm backfilling works again. Thank you for your commitment to producing high quality free and open source software!

karthink commented 9 months ago

Cheers @Zaijab