I'm glad to hear it's being used frequently! I've heard a similar, but not exactly the same use case, so I recommend submitting a feature request on GitHub. That way, I can review it later to assess if the feature could be included when I plan ahead for new releases.
EXIF data is removed by default, at the moment, there's no way to keep those data. I personally see that more as a feature than a bug though. The primary reason why there is no option to keep EXIF data is to maintain feature parity across different image formats.
At the moment, I haven't integrate Youlag with FreshRSS as a full fledge extension, but once that is in place, it would be possible to store user preferences. While it requires time and effort, I believe it shouldn't be too hard to implment this feature.
I suggest using the extension "YouTubeChannel2RssFeed", with this, you don't have to manually convert the youtube channel links to RSS feed links.
With YouTubeChannel2RssFeed installed, you can simply use the url: https://www.youtube.com/@somechannel
and it will add it as https://www.youtube.com/feeds/videos.xml?channel_id={id_goes_here}
.
Edit: Link to extension
I believe what you might be referring to was reported here: https://github.com/civilblur/youlag/issues/2
The workaround was to enable the User JS extension first, and then the User CSS. This order requirement will be fixed in the next update, and the README has been updated.
If the page looks like it is constantly loading, you can open up the inspect mode on your browser, then add the CSS class youlag-loaded
to the body element. This will allow you to manually exit out of the loading state.
Please note that there is nothing in the Youlag extension that can or will inherently corrupt your FreshRSS instance, so all your data is safe.
Edit 2025-02-23:
Please use the latest release, which is v3.0.4
as of writing.
No worries! This setup ended up working better than I thought, and I've been using it as my primary way of interfacing with youtube.
Addressing the subscribing part; I had similar requirements, so I started subscribing via FreshRSS while using a custom theme to give it a YouTube-like experience.
I shared the setup a few month ago here: https://lemmy.world/post/21381606
Edit: One of the benefits of using selfhosted RSS with a web interface is that it is platform agnostic.
Looking forward to it, feel free and share it once it's ready, or if you need any feedback.
Hopefully this will spark some interest in that!
I have limited knowledge of what limitations extensions have at the moment, but considering FreshRSS is server side rendered, integrating DeArrow on a deeper level would be ideal (if possible). It would mean that the thumbnail and title you get when you load the page would immediately be the non-clickbait ones, and it would only need to run it once for each video (if cached).
I did however test DeArrow's API and it was very straightforward. However, running it as a client-side script would essentially mean that every video would have to be checked and "DeArrowed" on the fly, and it would do that for every page refresh. That might not be very performant for you, nor DeArrow's free API service.
In short, it should be possible, but not ideal. I'm personally interested in the idea as well, but I'm not sure if I'll have time to tackle this.
It applies the theme across the entire instance!
I believe it could be done however, but it's likely more suitable as an extension, opposed to a "theme" that relies on client-side css/js. I haven't explored the documentations for extensions as I intended this to be a "quick" solution to get a youtube-like experience.
As a Lemmy user myself, I totally get the sentiment. GitHub isn’t ideal, and I had also considered Codeberg in the past (not for this project, but way back for others). Unfortunately, the simple reason is that the community is already on there, which makes getting contributions and engagement much easier. Managing and tracking issues across two platforms would be quite (mentally) taxing, which is on top of the effort already going into developing the app.