Giter VIP home page Giter VIP logo

tubefeeder / pipeline Goto Github PK

View Code? Open in Web Editor NEW
130.0 8.0 15.0 4.17 MB

Watch YouTube, LBRY, and PeerTube videos in one place. Moved to https://gitlab.com/schmiddi-on-mobile/pipeline

Home Page: https://mobile.schmidhuberj.de/pipeline

License: GNU General Public License v3.0

Shell 2.47% Rust 94.24% Meson 3.08% CSS 0.21%
pinephone rust youtube youtube-client video mpv feed lbry peertube

pipeline's Introduction

Pipeline

MOVED: Note that this repository has been moved to GitLab. Please do not open any issues or pull-requests on this repository anymore, use GitLab instead. Furthermore, this repository will not get any updates, those will only be pushed to GitLab.

Pipeline is a YouTube, LBRY and PeerTube client for Linux.

Matrix

Screenshots

Feed Feed Feed Subscriptions

Installation

Flatpak AUR
Download on Flathub Stable - Git

Features

  • Subscribe to channels
  • Play videos with MPV (or any other video player)
  • Filter out unwanted videos in the feed
  • Import data from NewPipe

Contributing

See the Contributing page.

Supported Platforms

  • YouTube (using Piped as the backend to prevent throttling)
  • PeerTube
  • LBRY

Suggest any other platform, if it has a good-enough API, I will consider adding it.

Wiki

Please also take a look at the wiki if you have any problems (e.g. mpv being slow on the PinePhone) or don't know how to do something (e.g. subscribing to a channel)

Donating

If you like this project and have some spare Monero left, consider donating to my Monero address:

Monero:

82pRFY4iUjVUWm48ykaTKbjYeDksdMunWPHbrDbTmyKF7PWAxNX8FXM7G6B1n4NFvHfr3ztEg411A2gCjJjNJ8PtEnmcehf

pipeline's People

Contributors

airon90 avatar albanobattistella avatar daudix avatar ferenc- avatar haggen88 avatar jacobgonzales20 avatar nakibrayan3 avatar rene-coty avatar schmiddiii avatar theevilskeleton avatar vikdevelop avatar vistaus avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

pipeline's Issues

video playback via video player?

would it be possible to use clapper it only needs the link to the video and does the rest and is very smooth at 1080p60 with the hardware video accelerator support it has for the PinePhone.

List of UI improvements

This is a meta list to point out flaws and inconsistencies within the app. This will also list some recommendations to conform with the GNOME HIG. When a bulletpoint is checked, then it means that the recommendation got on its way to the codebase.

General

  • Fix typos
  • As a newcomer, it's quite difficult to understand how to use Tubefeeder. I've been using it for 10 minutes and I still don't know what to do. To address that, I suggest to make a welcome page that explains how to export from NewPipe and import to Tubefeeder and some general knowledge that the user needs to know.

Menu

image

  • Hamburger menu
  • "Settings" should be renamed to "Preferences"
  • Add triple dots next to "Import"

Settings (Preferences)

  • Transient with parent window

image

  • Clickable link

Import window

  • Touch friendly
  • Transient with parent window

About window

  • Properly list translators, designers, coders, etc.
  • Transient with parent window

Filters and Subscriptions

image

  • Dialog

Feeds won't load on Flatpak v1.6.4

Using the version 1.6.4 Flatpak, the feeds screen is blank, and pressing the reload button results in it trying to load for about half a second before giving up without loading anything.

[flatpak] Crash when opening the settings

The current latest flatpak from flathub crashes immediately after opening the settings.

thread 'main' panicked at 'Settings entry to have parent of thpe ActionRow: Widget { inner: ObjectRef { inner: 0x55a1afab8c30, type: GtkBox } }', src/g
ui/preferences_window.rs:73:22                                                                                                                         
stack backtrace:                                                                                                                                       
   0:     0x55a1ac974c7d - std::backtrace_rs::backtrace::libunwind::trace::h9135f25bc195152c                                                           
                               at /rustc/a55dd71d5fb0ec5a6a3a9e8c27b2127ba491ce52/library/std/src/../../backtrace/src/backtrace/libunwind.rs:93:5      
   1:     0x55a1ac974c7d - std::backtrace_rs::backtrace::trace_unsynchronized::h015ee85be510df51                                                       
                               at /rustc/a55dd71d5fb0ec5a6a3a9e8c27b2127ba491ce52/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5            
   2:     0x55a1ac974c7d - std::sys_common::backtrace::_print_fmt::h5fad03caa9652a2c                                                                   
                               at /rustc/a55dd71d5fb0ec5a6a3a9e8c27b2127ba491ce52/library/std/src/sys_common/backtrace.rs:66:5                         
   3:     0x55a1ac974c7d - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h2b42ca28d244e5c7                        
                               at /rustc/a55dd71d5fb0ec5a6a3a9e8c27b2127ba491ce52/library/std/src/sys_common/backtrace.rs:45:22                        
   4:     0x55a1ac99b48c - core::fmt::write::h401e827d053130ed                                                                                         
                               at /rustc/a55dd71d5fb0ec5a6a3a9e8c27b2127ba491ce52/library/core/src/fmt/mod.rs:1198:17                                  
   5:     0x55a1ac96ed01 - std::io::Write::write_fmt::hffec93268f5cde32                                                                                
                               at /rustc/a55dd71d5fb0ec5a6a3a9e8c27b2127ba491ce52/library/std/src/io/mod.rs:1672:15                                    
   6:     0x55a1ac976475 - std::sys_common::backtrace::_print::h180c4c706ee1d3fb                                                                       
                               at /rustc/a55dd71d5fb0ec5a6a3a9e8c27b2127ba491ce52/library/std/src/sys_common/backtrace.rs:48:5                         
   7:     0x55a1ac976475 - std::sys_common::backtrace::print::hd0c35d18765761c9                                                                        
                               at /rustc/a55dd71d5fb0ec5a6a3a9e8c27b2127ba491ce52/library/std/src/sys_common/backtrace.rs:35:9                         
   8:     0x55a1ac976475 - std::panicking::default_hook::{{closure}}::h1f023310983bc730                                                                
                               at /rustc/a55dd71d5fb0ec5a6a3a9e8c27b2127ba491ce52/library/std/src/panicking.rs:295:22                                  
   9:     0x55a1ac976191 - std::panicking::default_hook::h188fec3334afd5be                                                                             
                               at /rustc/a55dd71d5fb0ec5a6a3a9e8c27b2127ba491ce52/library/std/src/panicking.rs:314:9                                   
  10:     0x55a1ac976a06 - std::panicking::rust_panic_with_hook::hf26e9d4f97b40096                                                                     
                               at /rustc/a55dd71d5fb0ec5a6a3a9e8c27b2127ba491ce52/library/std/src/panicking.rs:698:17                                  
  11:     0x55a1ac9768f7 - std::panicking::begin_panic_handler::{{closure}}::hfab912107608087a                                                         
                               at /rustc/a55dd71d5fb0ec5a6a3a9e8c27b2127ba491ce52/library/std/src/panicking.rs:588:13                                  
  12:     0x55a1ac975174 - std::sys_common::backtrace::__rust_end_short_backtrace::h434b685ce8d9965b                                                   
                               at /rustc/a55dd71d5fb0ec5a6a3a9e8c27b2127ba491ce52/library/std/src/sys_common/backtrace.rs:138:18                       
  13:     0x55a1ac976629 - rust_begin_unwind                                                                                                           
                               at /rustc/a55dd71d5fb0ec5a6a3a9e8c27b2127ba491ce52/library/std/src/panicking.rs:584:5                                   
  14:     0x55a1ac404223 - core::panicking::panic_fmt::ha6dc7f2ab2479463                                                                               
                               at /rustc/a55dd71d5fb0ec5a6a3a9e8c27b2127ba491ce52/library/core/src/panicking.rs:142:14                                 
  15:     0x55a1ac404373 - core::result::unwrap_failed::h42ad8e915aa0a906                                                                              
                               at /rustc/a55dd71d5fb0ec5a6a3a9e8c27b2127ba491ce52/library/core/src/result.rs:1814:5                                    
  16:     0x55a1ac461ccc - tubefeeder::gui::preferences_window::imp::PreferencesWindow::init_string_setting::h5ac99cc41a85580e                         
  17:     0x55a1ac45ff6b - <tubefeeder::gui::preferences_window::imp::PreferencesWindow as glib::subclass::object::ObjectImpl>::constructed::hedea861ccbaf3ade
    18:     0x55a1ac447b42 - glib::subclass::object::constructed::h0cdf5acba15291e8                                                            [42/46583]
  19:     0x7fae4d21e872 - <unknown>                                                                                                                   
  20:     0x7fae4d220210 - g_object_newv                         
  21:     0x55a1ac94b990 - glib::object::Object::new_internal::h8a29d7086ceaa152                                                                       
  22:     0x55a1ac94b45b - glib::object::Object::with_type::hef5907277aad01d9
  23:     0x55a1ac4aeffd - glib::object::Object::new::haec063cbff01cc12                                                                                
  24:     0x55a1ac44d4e7 - gio::auto::simple_action::SimpleAction::connect_activate::activate_trampoline::h5ee516b7042eb103                            
  25:     0x7fae4d2184f2 - g_closure_invoke                                                                                                            
  26:     0x7fae4d22d1e8 - <unknown>                                       
  27:     0x7fae4d234155 - g_signal_emit_valist                                                                                                        
  28:     0x7fae4d234323 - g_signal_emit                                                                                                               
  29:     0x7fae4d3681fd - <unknown>                                                                                                                   
  30:     0x7fae4d9fde37 - <unknown>                                                                                                                   
  31:     0x7fae4d9f9b28 - <unknown>                                                                                                                   
  32:     0x7fae4d2184f2 - g_closure_invoke                                
  33:     0x7fae4d22d1e8 - <unknown>                                                                                                                   
  34:     0x7fae4d234155 - g_signal_emit_valist                                                                                                        
  35:     0x7fae4d234323 - g_signal_emit                                                                                                               
  36:     0x7fae4d70fab3 - <unknown>                                                                                                                   
  37:     0x7fae4d21870a - <unknown>                                       
  38:     0x7fae4d23411f - g_signal_emit_valist                                                                                                        
  39:     0x7fae4d234323 - g_signal_emit                         
  40:     0x7fae4d7f6363 - <unknown>                                                                                                                   
  41:     0x7fae4d21b9ca - g_cclosure_marshal_VOID__BOXEDv
  42:     0x7fae4d21870a - <unknown>
  43:     0x7fae4d23411f - g_signal_emit_valist
  44:     0x7fae4d234323 - g_signal_emit
  45:     0x7fae4d7f2908 - <unknown>
  46:     0x7fae4d7f438b - <unknown>
  47:     0x7fae4d7f7a37 - <unknown>
  48:     0x7fae4d7bf17f - <unknown>
  49:     0x7fae4d97ae2a - <unknown>
  50:     0x7fae4d9831f8 - <unknown>
  51:     0x7fae4d848752 - <unknown>
  52:     0x7fae4d848e3b - <unknown>
  53:     0x7fae4d87a990 - <unknown>
  54:     0x7fae4da8f3dc - <unknown>
  55:     0x7fae4dabc1e8 - <unknown>
  56:     0x7fae4d21870a - <unknown>                                                                                                                   
  57:     0x7fae4d23355e - g_signal_emit_valist
  58:     0x7fae4d234323 - g_signal_emit
  59:     0x7fae4dabfed0 - <unknown>
  60:     0x7fae4dae0746 - <unknown>
  61:     0x7fae4d11b681 - g_main_context_dispatch
  62:     0x7fae4d11bbd8 - <unknown>
  63:     0x7fae4d11bc73 - g_main_context_iteration
  64:     0x7fae4d35ebad - g_application_run
  65:     0x55a1ac424b6a - <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::h040175514f9b836c
  66:     0x55a1ac49403a - std::thread::local::LocalKey<T>::with::h521cb21e50376cde
  67:     0x55a1ac4a5e4a - tokio::park::thread::CachedParkThread::block_on::hba6023d37f0ccf68
  68:     0x55a1ac46a5dc - tokio::runtime::thread_pool::ThreadPool::block_on::h5644f5693072bca3
  69:     0x55a1ac45992e - tokio::runtime::Runtime::block_on::h4f082d79931944e6
  70:     0x55a1ac44cf69 - tubefeeder::main::h681e50decdc97cf7
  71:     0x55a1ac49f673 - std::sys_common::backtrace::__rust_begin_short_backtrace::h87d3dd4c2c96a421
  72:     0x55a1ac42ac59 - std::rt::lang_start::{{closure}}::h7be9cfd98fef3f46
  73:     0x55a1ac9692fe - core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &F>::call_once::hcdfee62722e5e4b8
                               at /rustc/a55dd71d5fb0ec5a6a3a9e8c27b2127ba491ce52/library/core/src/ops/function.rs:280:13
  74:     0x55a1ac9692fe - std::panicking::try::do_call::h84ca51609826746f
                               at /rustc/a55dd71d5fb0ec5a6a3a9e8c27b2127ba491ce52/library/std/src/panicking.rs:492:40
  75:     0x55a1ac9692fe - std::panicking::try::hd58075e533b8e0cb
                               at /rustc/a55dd71d5fb0ec5a6a3a9e8c27b2127ba491ce52/library/std/src/panicking.rs:456:19
  76:     0x55a1ac9692fe - std::panic::catch_unwind::h1ebac24d83cb6ce2
                               at /rustc/a55dd71d5fb0ec5a6a3a9e8c27b2127ba491ce52/library/std/src/panic.rs:137:14
  77:     0x55a1ac9692fe - std::rt::lang_start_internal::{{closure}}::h0145388a1edd1640
                               at /rustc/a55dd71d5fb0ec5a6a3a9e8c27b2127ba491ce52/library/std/src/rt.rs:128:48
  78:     0x55a1ac9692fe - std::panicking::try::do_call::h7630182e534a0a32
                               at /rustc/a55dd71d5fb0ec5a6a3a9e8c27b2127ba491ce52/library/std/src/panicking.rs:492:40
  79:     0x55a1ac9692fe - std::panicking::try::h05b6544f0c6331dc
                               at /rustc/a55dd71d5fb0ec5a6a3a9e8c27b2127ba491ce52/library/std/src/panicking.rs:456:19
  80:     0x55a1ac9692fe - std::panic::catch_unwind::h77b2ba8fd3309f34
                               at /rustc/a55dd71d5fb0ec5a6a3a9e8c27b2127ba491ce52/library/std/src/panic.rs:137:14
  81:     0x55a1ac9692fe - std::rt::lang_start_internal::h6612c8a7a6861b8b
                               at /rustc/a55dd71d5fb0ec5a6a3a9e8c27b2127ba491ce52/library/std/src/rt.rs:128:20
  82:     0x55a1ac44d022 - main
  83:     0x7fae4c8d754a - <unknown>
  84:     0x7fae4c8d760b - __libc_start_main
  85:     0x55a1ac404525 - _start
                               at /buildstream/freedesktop-sdk/bootstrap/glibc.bst/csu/../sysdeps/x86_64/start.S:115
  86:                0x0 - <unknown>

  

Extractors for a full featured client for different video plattforms

Using the NewPipeExtractor Tubefeeder could:

  • provide search functionality (in a language selected by the user)
  • extract video details
  • show next/related videos
  • extract comments
  • extract video in h264 and VP9
  • extract audio in aac and opus
  • extract subtitles
  • display general info about channels
  • search channels

currently on

  • YouTube
  • YouTube Music
  • SoundClud (beta)
  • media.ccc.de (beta)
  • any PeerTube instance (without P2P) #18
  • Bandcamp (beta)

NewPipe is a FOSS Android App available on the official F-Droid repository, NewPipes own F-Droid repository or NewPipes GitHub releases page (but not the Google Play Store since the Google Play Store Terms of Service forbid it) that provides a FOSS, privacy respecting alternative to the official YouTube app. The NewPipeExtractor works a lot like the well known youtube-dl which mpv uses to extract videos, but is intended to extract all information needed to provide a full UI. Supporting both seems like a good idea to me and might help to enhance Tubefeeders functionality.

NewPipe does not use any Google framework libraries, nor the YouTube API. Websites are only parsed to fetch required info, so this app can be used on devices without Google services installed. Also, you don't need a YouTube account to use NewPipe, which is copylefted libre software.

Using GTK3 Settings for font sizes

Currently the base font sizes are hard coded; n * pango::SCALE.
It would be better to use the current GTK3 / session settings to scale the font based on user preferences.

Unable to add any feed

I'm using latest Tubefeeder from AUR and I cannot add any feed because the app relays on https://pipedapi.kavin.rocks which is down.

I suggest you to add a Settings option where to set own Piped API service in order to avoid this kind of problem.

Support peertube

It would be great to consolidate youtube and peertube subscriptions into one feed.

Export subscriptions

Export subscriptions in different formats would be good for backup purposes

  • .csv
  • .json
  • .db
  • .opml

Weblate

Wouldn't it be better to use Hosted Weblate instead of Github pull request to translate the application?

Open supported platform links directly via Privacy Redirect

https://github.com/SimonBrazell/privacy-redirect
From their wiki:
A web extension that redirects Twitter, YouTube, Instagram, Google Maps, Reddit, Google Search, & Google Translate requests to privacy friendly alternative frontends for those sites - Nitter, Invidious, FreeTube, Bibliogram, OpenStreetMap, SimplyTranslate & Private Search Engines like DuckDuckGo and Startpage.

The addition of Tubefeeder will greatly increase its usability

Ways to support creators besides watching ads

I think it would be good to evaluate how to support creators besides watching ads because when watching a video in mpv the ads are blocked, which is good because they are not privacy friendly and they are annoying and to pay for an ad-free experience a Google account is needed, but which also means content creators get nothing when watching videos using mpv.

Cryptocurrency Donations (from a wallet or from mining)

Cryptocurrency might be more comfortable to use for automated or one-click donations than bank transfers. Tubefeeder could gather data about watched content locally including ratings from the user and based on that present a list to the user with suggested donations for channels that provide a donation address for cryptocurrencies the user chose. Not only can cryptocurrency be donated from a wallet, but also through mining. Especially anti-ASIC algorithms (like RandomX) might be interesting for that. This would help to keep cryptocurrency secure too as long as it is implemented rightly: Mining should be solo mining, not mining with a large mining pool and especially not "cloud mining". Sadly it's almost always one of the last two. This can potentially be dangerous for cryptocurrencies because mining is the core coordination process that makes sure the blockchain is as it should be with only legitimate transactions getting approved. The cryptographic puzzle randomizes who gets to add his/her block to the blockchain. This probability, however, is not liked by miners who actually want to earn more money from mining then the electricity costs (and want to be able to rely on that). Mining pools consist of many miners and pay out smaller amounts more often. The problem is: They centralize what makes cryptocurrencies decentral and secure, they introduce a central point of failure, the one thing cryptocurrencies are there to stop. However, when cryptocurrency mining is used as replacement for ads ti is not that much of a problem that large amounts are payed out less often so this could help make cryptocurrencies more decentral while providing an easy to use alternative to ads. It is not done very often because cryptocurrency mining software should always be free software (and often comes with a copyleft license like the GPL) so no one alone has the power of deciding how it may or may not be used, changed, etc. (Of course this can be circumvented by rewriting the whole mining software or running the software somewhere and only sending the things to be calculated to the client (if it even needs to be circumvented because of a copyleft license). A few sites on the web are doing that. However, that is not how it should work.)

There are some things to keep in mind though:

Minimizing costs for creators

This could be done by

  • helping them to distribute videos like with PeerTube or any Torrent- or ZeroNet-based way of distributing content
  • helping them convert videos into different codecs, resolutions, compression ratios, etc
  • For computer animations:
    • helping them render computer animations
    • helping them improve video quality (upscaling using AI, etc)

Torrent- or ZeroNet-based ways to distribute content

This can help keep server costs low but there are some legal issues. Since every user is automatically distributing content to other users, every user is also responsible for the distributed content. If it, for example, infringes copyright this can get very expensive (can often be pushed up to a few hundred dollars or euros for one music track per user AFAIK) and the RIAA (which also tried to take down youtube-dl but luckily public access to youtube-dl was restored after a letter from the EFF to GitHub on the behalf of youtube-dl's maintainers) and others are or where taking full advantage of it. Instead of mass lawsuits the RIAA now partners with ISPs to censor websites containing copyrighted material. (The Wikipedia articles about file-sharing have issues, see these talk pages: [1] [2] [3])

Converting videos

For example for the free video codec AV1 there are multiple encoders of which some are slow (encoding takes a few days for a short video) and produce high quality results (like libaom), others are fast (almost real time) and produce low quality results (like SVT-AV1). I am not completely sure about the legal aspects here, but I think since the user uploads the encoded video it can get legally harmful for the user if the originally uploaded video wasn't uploaded legally or wasn't uploaded under a license made for that.

Rendering computer animations

Rendering computer animations (like Blender Open Movies) can take much computing power. It could help creators if these are rendered by the users. I am not completely sure about the legal aspects here, but I think since the user uploads the rendered video it can get legally harmful for the user if the original computer animation wasn't provided legally.

Upscaling (computer animations, cartoons, drawings, ...)

With an AI upscaling software (like waifu2x) images (or video frames) can be upscaled to look good at higher resolutions. I wouldn't recommend this for normal recorded videos and especially not for news as I think these should represent what was really recorded though. I am not completely sure about the legal aspects here, but I think since the user uploads the upscaled video it can get legally harmful for the user if the originally uploaded video wasn't uploaded legally.

Play videos in the application using the gtk4 video widget.

Tubefeeder is still using gtk3, when it (should) switch over to gtk4 in the near future it would be able to easily play videos within the application using the gtk::Video widget.

Once relm updates to gtk4 sometime in the future I'd love to do some work here and submit a pull request.

Support import of subscriptions from Newpipe

Hello fellow youtube enjoyers :)

It would be fantastic if it could be possible to add support for import of subacriptions from newpipe. Here is an example of such an export from Newpipe:

https://code.smolnet.org/micke/cast/src/branch/main/src/yt_subs.json

This is what I do in my (only half finished) youtube app written in Python: https://code.smolnet.org/micke/cast/src/branch/main/src/Utils/__init__.py#L216

It would make me so happy if you would implement this, because then I could retire my app, as yours seems so much nicer :)

SponsorBlock support

I don't know how possible this is for the current build of Tube feeder, just creating the issue to get the conversation started.

Not importing subscriptions

Hi I just installed tubefeeder from flathub and it does not import subscriptions neither from youtube nor from newpipe (error parsing subscriptions), also when I try to add one manually it does not do anything. Launching it from terminal it shows this for manually added subscriptions

[2023-04-05T22:56:52Z ERROR tubefeeder::gui::subscription::subscription_page::imp] Failed to get subscription with supplied data```

and this repeated for every imported subscription

```YTSubscription { id: "UCmkj-Yx7IhPCYar95cRvVJQ", name: None }]: expected value at line 1 column 1```

Unable to display large subcription feed & subscription names.

Error parsing 993 subscriptions. I do have over 900 subscriptions.

I am unable to get get feed to display. Additionally subscriptions do not show up properly unless I manually delete hundreds of my subscriptions to only a few. At that point they do show up in the feed and display the name of the channel in the subscription tab.

Data was sourced from google checkout.

image

image

`AdwMessageDialog`s offset

When presenting an AdwMessageDialog the second time, it offsets:

Screencast.from.2023-03-26.13-49-54.webm

Build of Docker Ubuntu 20.10 image fails

Trying to compile using Docker as shown in your Wiki.
Unfortunately building the Docker image for Ubuntu 20.10 fails due to lack of Release data on security.ubuntu.com/archive.ubuntu.com. The package files seem to have been deleted because 20.10 is no longer supported.

Reading package lists...
E: The repository 'http://security.ubuntu.com/ubuntu groovy-security Release' does not have a Release file.
E: The repository 'http://archive.ubuntu.com/ubuntu groovy Release' does not have a Release file.
E: The repository 'http://archive.ubuntu.com/ubuntu groovy-updates Release' does not have a Release file.
E: The repository 'http://archive.ubuntu.com/ubuntu groovy-backports Release' does not have a Release file.
The command '/bin/sh -c apt-get update && apt-get install --assume-yes wget git' returned a non-zero code: 100

I tried using other Ubuntu stable versions without the patch in docker/linux-image.sh.diff but without success, also compiling using the standard Cargo docker image, but without success.

What is the current image you are using to build TubeFeeder?

[idea] pre-download items in the Watch Later list

Idea is when I click the "Watch later" button to add a video in the watch later list, Tubefeeder could start youtube-dl to prefetch the video, so it's already here "later" when I want to watch it.

Need a way to copy a link to video.

It'll greatly improve number of usecases if there will be a way to copy video links in the feed or/and watchlist. Some kind of a button or a long press to copy to clipboard on pinephone.

Error Parsing All LBRY Subscriptions

None of my LBRY/Odysee subscriptions are pulling in on any Piped API instance. "Error parsing subscriptions" appears at the top. Looking at the Odysee website, it appears that there was a UI update/overhaul that I would guess corresponded with API changes or something similar which is preventing subscriptions from being parsed/pulled. If nothing else, just making devs aware so that adjustments can be made if/when you can.

Package for Mobian/Debian/Devuan in the official Debian repository

A package in the official Debian repository adds some trust to software, because the package has to meet the DFSG and has to come with a Debian source package the user can build and install easily.

It also

  • makes the software findable using apt search <search_term>
  • handles dependencies nicely
  • installs the software natively

Error parsing N subscriptions (N is ~10% of the total list)

Tubefeeder constantly shows the Error message at the top of the window. About 10% of my ~300 subscriptions are not parsed. What information or logs can I provide to investigate this?

OS: Manjaro/Posh;
Build: On pinephone natively from latest source;
Start: From terminal Tubefeeder-1.6.2/target/release/tubefeeder;
STDERR: ERROR tf_platform_youtube::subscription Error generating youtube videos from subscription IDofAChannelHere;

The list was imported to csv file with bash. Double checked row entries and channels - all are working well in a browser or as separate entries.

Videos don't play or download upon pressing

Videos don't play or download. My Wi-Fi speed is 100D/30U

Video issue

Screencast.from.2023-03-22.11-27-28.webm

Logs

[2023-03-22T15:28:46Z DEBUG tf_playlist::playlist_manager] Creating new playlist for observer
[2023-03-22T15:28:46Z DEBUG tf_playlist::playlist_manager] Adding observer to existing playlist
[2023-03-22T15:28:46Z DEBUG tubefeeder::gui::feed::feed_page::imp] Reloading
[2023-03-22T15:28:46Z DEBUG tubefeeder::csv_file_manager] A error opening the file occured
[2023-03-22T15:28:46Z DEBUG tf_platform_youtube::subscription] Generating YT videos from channels Map { iter: Iter([YTSubscription { id: "UCs6KfncB4OV6Vug4o_bzijg", name: None }, YTSubscription { id: "UCVThyXNYXDC9UhDbI8LtghQ", name: None }, YTSubscription { id: "UChRlaISXbl2gECFAmDzxgzg", name: None }, YTSubscription { id: "UCjr2bPAyPV7t35MvcgT3W8Q", name: None }, YTSubscription { id: "UCVYamHliCI9rw1tHR1xbkfw", name: None }, YTSubscription { id: "UCV6KDgJskWaEckne5aPA0aQ", name: None }, YTSubscription { id: "UC7YOGHUfC1Tb6E4pudI9STA", name: None }, YTSubscription { id: "UC5UAwBUum7CPN5buc-_N1Fw", name: None }, YTSubscription { id: "UCrbucgv_P9D1fd6yjNrpvLw", name: None }, YTSubscription { id: "UC0W_BIuwk8D0Bv4THbVZZOQ", name: None }, YTSubscription { id: "UCdqp0KK_Io7TwK5cJMBvB0Q", name: None }, YTSubscription { id: "UC9fSZHEh6XsRpX-xJc6lT3A", name: None }, YTSubscription { id: "UChJP9CkQnCodWR9ZXwE8IdA", name: None }, YTSubscription { id: "UCG1_A0jPBGZUpRW7XkaaBkg", name: None }, YTSubscription { id: "UCv1Kcz-CuGM6mxzL3B1_Eiw", name: None }, YTSubscription { id: "UCI8iQa1hv7oV_Z8D35vVuSg", name: None }, YTSubscription { id: "UCKp6m5XlXZp4cxmprybkFBw", name: None }, YTSubscription { id: "UCFBpVaKCC0ajGps1vf0AgBg", name: None }, YTSubscription { id: "UCEGvhHt_j1pQtsHCPc_9Ptg", name: None }, YTSubscription { id: "UCXuqSBlHAE6Xw-yeJA0Tunw", name: None }, YTSubscription { id: "UCJ2UWSIwgQPbNBSv3k_eBLg", name: None }, YTSubscription { id: "UCJwKCyEIFHwUOPQQ-4kC1Zw", name: None }, YTSubscription { id: "UCW6xlqxSY3gGur4PkGPEUeA", name: None }, YTSubscription { id: "UCH5DsMZAgdx5Fkk9wwMNwCA", name: None }, YTSubscription { id: "UCW_9Y89RuQQFwMwSRLcI2fg", name: None }, YTSubscription { id: "UCIffDTZLiIYgnzA08UAorKg", name: None }]) }
[2023-03-22T15:28:46Z DEBUG reqwest::connect] starting new connection: https://watchapi.whatever.social/
[2023-03-22T15:28:46Z DEBUG tf_core::pipeline::merger] Starting getting subscriptions
[2023-03-22T15:28:46Z DEBUG tf_core::pipeline::merger] Finished getting subscriptions
[2023-03-22T15:28:46Z DEBUG tf_core::pipeline::merger] Starting getting subscriptions
[2023-03-22T15:28:46Z DEBUG tf_core::pipeline::merger] Finished getting subscriptions
[2023-03-22T15:28:47Z DEBUG reqwest::async_impl::client] response '200 OK' for https://watchapi.whatever.social/feed/unauthenticated?channels=UCs6KfncB4OV6Vug4o_bzijg,UCVThyXNYXDC9UhDbI8LtghQ,UChRlaISXbl2gECFAmDzxgzg,UCjr2bPAyPV7t35MvcgT3W8Q,UCVYamHliCI9rw1tHR1xbkfw,UCV6KDgJskWaEckne5aPA0aQ,UC7YOGHUfC1Tb6E4pudI9STA,UC5UAwBUum7CPN5buc-_N1Fw,UCrbucgv_P9D1fd6yjNrpvLw,UC0W_BIuwk8D0Bv4THbVZZOQ,UCdqp0KK_Io7TwK5cJMBvB0Q,UC9fSZHEh6XsRpX-xJc6lT3A,UChJP9CkQnCodWR9ZXwE8IdA,UCG1_A0jPBGZUpRW7XkaaBkg,UCv1Kcz-CuGM6mxzL3B1_Eiw,UCI8iQa1hv7oV_Z8D35vVuSg,UCKp6m5XlXZp4cxmprybkFBw,UCFBpVaKCC0ajGps1vf0AgBg,UCEGvhHt_j1pQtsHCPc_9Ptg,UCXuqSBlHAE6Xw-yeJA0Tunw,UCJ2UWSIwgQPbNBSv3k_eBLg,UCJwKCyEIFHwUOPQQ-4kC1Zw,UCW6xlqxSY3gGur4PkGPEUeA,UCH5DsMZAgdx5Fkk9wwMNwCA,UCW_9Y89RuQQFwMwSRLcI2fg,UCIffDTZLiIYgnzA08UAorKg
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-22T15:28:47Z DEBUG tubefeeder::gui::feed::thumbnail] Getting thumbnail from url https://watchproxy-us.whatever.social/vi_webp/IqJIvgO2NHU/maxresdefault.webp?host=i.ytimg.com
[2023-03-22T15:28:47Z DEBUG tubefeeder::gui::feed::thumbnail] Getting thumbnail from url https://watchproxy-us.whatever.social/vi/-w0PI_aJJXI/maxresdefault.jpg?host=i.ytimg.com
[2023-03-22T15:28:47Z DEBUG tubefeeder::gui::feed::thumbnail] Getting thumbnail from url https://watchproxy-us.whatever.social/vi_webp/CIOrlb8NTOI/maxresdefault.webp?host=i.ytimg.com
[2023-03-22T15:28:47Z DEBUG tubefeeder::gui::feed::thumbnail] Getting thumbnail from url https://watchproxy-us.whatever.social/vi/SZbuVOkylYc/maxres2.jpg?sqp=-oaymwEoCIAKENAF8quKqQMcGADwAQH4AZoEgALAB4oCDAgAEAEYfyBFKCgwDw==&rs=AOn4CLAmCW82CNjip5o63IDLXNAlyvzEfQ&host=i.ytimg.com
[2023-03-22T15:28:47Z DEBUG tubefeeder::gui::feed::thumbnail] Getting thumbnail from url https://watchproxy-us.whatever.social/vi/_HZIHvACggs/maxresdefault.jpg?host=i.ytimg.com
[2023-03-22T15:28:47Z DEBUG tubefeeder::gui::feed::thumbnail] Getting thumbnail from url https://watchproxy-us.whatever.social/vi/Btlttmh-xpc/maxresdefault.jpg?v=6419e7c4&host=i.ytimg.com
[2023-03-22T15:28:47Z DEBUG tubefeeder::gui::feed::thumbnail] Getting thumbnail from url https://watchproxy-us.whatever.social/vi/_S_418qSjjg/maxres2.jpg?sqp=-oaymwEoCIAKENAF8quKqQMcGADwAQH4AZoEgALAB4oCDAgAEAEYciBWKDswDw==&rs=AOn4CLBthMw0Z_5eA0wtPpmsaewDgmI63Q&host=i.ytimg.com
[2023-03-22T15:28:47Z DEBUG tubefeeder::gui::feed::thumbnail] Getting thumbnail from url https://watchproxy-us.whatever.social/vi/F1S75uPDcqg/maxres2.jpg?sqp=-oaymwEoCIAKENAF8quKqQMcGADwAQH4Ac4FgAKACooCDAgAEAEYZSBcKFAwDw==&rs=AOn4CLBA6cir5bLSL7EWpMU_nzUG_lszKA&host=i.ytimg.com
[2023-03-22T15:28:47Z DEBUG tubefeeder::gui::feed::thumbnail] Getting thumbnail from url https://watchproxy-us.whatever.social/vi_webp/FoC-sxp5YwY/maxresdefault.webp?host=i.ytimg.com
[2023-03-22T15:28:47Z DEBUG tubefeeder::gui::feed::thumbnail] Getting thumbnail from url https://watchproxy-us.whatever.social/vi/fi0ab_Usw4I/maxres2.jpg?sqp=-oaymwEoCIAKENAF8quKqQMcGADwAQH4AZoEgALAB4oCDAgAEAEYciBHKCgwDw==&rs=AOn4CLCjp1nLOtsbbrvIYIvEFTwwRArIwg&host=i.ytimg.com
[2023-03-22T15:28:48Z DEBUG reqwest::connect] starting new connection: https://watchproxy-us.whatever.social/
[2023-03-22T15:28:48Z DEBUG reqwest::connect] starting new connection: https://watchproxy-us.whatever.social/
[2023-03-22T15:28:48Z DEBUG reqwest::connect] starting new connection: https://watchproxy-us.whatever.social/
[2023-03-22T15:28:48Z DEBUG reqwest::connect] starting new connection: https://watchproxy-us.whatever.social/
[2023-03-22T15:28:48Z DEBUG reqwest::connect] starting new connection: https://watchproxy-us.whatever.social/
[2023-03-22T15:28:48Z DEBUG reqwest::connect] starting new connection: https://watchproxy-us.whatever.social/
[2023-03-22T15:28:48Z DEBUG reqwest::connect] starting new connection: https://watchproxy-us.whatever.social/
[2023-03-22T15:28:48Z DEBUG reqwest::connect] starting new connection: https://watchproxy-us.whatever.social/
[2023-03-22T15:28:48Z DEBUG reqwest::connect] starting new connection: https://watchproxy-us.whatever.social/
[2023-03-22T15:28:48Z DEBUG reqwest::connect] starting new connection: https://watchproxy-us.whatever.social/
[2023-03-22T15:28:48Z DEBUG reqwest::async_impl::client] response '200 OK' for https://watchproxy-us.whatever.social/vi_webp/CIOrlb8NTOI/maxresdefault.webp?host=i.ytimg.com
[2023-03-22T15:28:48Z DEBUG reqwest::async_impl::client] response '200 OK' for https://watchproxy-us.whatever.social/vi_webp/FoC-sxp5YwY/maxresdefault.webp?host=i.ytimg.com
[2023-03-22T15:28:48Z DEBUG reqwest::async_impl::client] response '200 OK' for https://watchproxy-us.whatever.social/vi/_HZIHvACggs/maxresdefault.jpg?host=i.ytimg.com
[2023-03-22T15:28:48Z DEBUG reqwest::async_impl::client] response '200 OK' for https://watchproxy-us.whatever.social/vi/fi0ab_Usw4I/maxres2.jpg?sqp=-oaymwEoCIAKENAF8quKqQMcGADwAQH4AZoEgALAB4oCDAgAEAEYciBHKCgwDw==&rs=AOn4CLCjp1nLOtsbbrvIYIvEFTwwRArIwg&host=i.ytimg.com
[2023-03-22T15:28:48Z DEBUG reqwest::async_impl::client] response '200 OK' for https://watchproxy-us.whatever.social/vi/SZbuVOkylYc/maxres2.jpg?sqp=-oaymwEoCIAKENAF8quKqQMcGADwAQH4AZoEgALAB4oCDAgAEAEYfyBFKCgwDw==&rs=AOn4CLAmCW82CNjip5o63IDLXNAlyvzEfQ&host=i.ytimg.com
[2023-03-22T15:28:49Z DEBUG reqwest::async_impl::client] response '200 OK' for https://watchproxy-us.whatever.social/vi/_S_418qSjjg/maxres2.jpg?sqp=-oaymwEoCIAKENAF8quKqQMcGADwAQH4AZoEgALAB4oCDAgAEAEYciBWKDswDw==&rs=AOn4CLBthMw0Z_5eA0wtPpmsaewDgmI63Q&host=i.ytimg.com
[2023-03-22T15:28:49Z DEBUG reqwest::async_impl::client] response '200 OK' for https://watchproxy-us.whatever.social/vi_webp/IqJIvgO2NHU/maxresdefault.webp?host=i.ytimg.com
[2023-03-22T15:28:49Z DEBUG reqwest::async_impl::client] response '200 OK' for https://watchproxy-us.whatever.social/vi/-w0PI_aJJXI/maxresdefault.jpg?host=i.ytimg.com
[2023-03-22T15:28:49Z DEBUG reqwest::async_impl::client] response '200 OK' for https://watchproxy-us.whatever.social/vi/F1S75uPDcqg/maxres2.jpg?sqp=-oaymwEoCIAKENAF8quKqQMcGADwAQH4Ac4FgAKACooCDAgAEAEYZSBcKFAwDw==&rs=AOn4CLBA6cir5bLSL7EWpMU_nzUG_lszKA&host=i.ytimg.com
[2023-03-22T15:28:49Z DEBUG reqwest::async_impl::client] response '200 OK' for https://watchproxy-us.whatever.social/vi/Btlttmh-xpc/maxresdefault.jpg?v=6419e7c4&host=i.ytimg.com
[2023-03-22T15:28:51Z DEBUG tubefeeder::player] Playing video with url: https://www.youtube.com//watch?v=CIOrlb8NTOI
Portal call failed: Failed to start command: Failed to execute child process โ€œmpvโ€ (No such file or directory)
[2023-03-22T15:28:52Z DEBUG tubefeeder::player] Playing video with url: https://www.youtube.com//watch?v=CIOrlb8NTOI
Portal call failed: Failed to start command: Failed to execute child process โ€œmpvโ€ (No such file or directory)
[2023-03-22T15:28:56Z DEBUG tubefeeder::downloader] Downloading video with url: https://www.youtube.com//watch?v=CIOrlb8NTOI

Update

@Schmiddiii's response

You need to install mpv (or any other video player depending on your settings) on your machine.

Note that this is pretty much https://github.com/Tubefeeder/Tubefeeder/issues/112 and also this is the issue-tracker for the wiki and not for the project itself.

My Response
Just realized this sorry haha, can you transfer the issue.

How can I configure VLC? Also using the package via flatpak, so it's containerized and using Vanilla OS

Vanilla OS is an immutable operating system, core parts of the system are locked down to prevent unwanted changes and corruption from third-party applications or a faulty update. Some paths are still writable, such as the home and configurations directories, this allows the user to keep their files and ensure the normal functioning of applications.

Video thumbnails displaying extremely large size

After today's update to the flatpak version, thumbnails appear in an extremely large size, with some pushing the size of the window beyond the screen resolution. An example image is shown below.

Screenshot_20230415_205452

On OpenSUSE Tumbleweed, screen resolution 1920x1080

Hi, is it possible to insert Subscriptions

Hi, is it possible to insert Subscriptions or generally control the program with an another program/script.

As search results also include channels I would like to give the channel-id to your app or db, as I don't want to deal with fetching channel-uploads over and over again.

P.S.: I would love to open youtube-videos inside my app, as my app can search and play videos. Is there some preferred way you want to open a video in my app? (I would think of an argument while launching my app)

(Im sending a link of my app as soon as its able to play videos again, im currently rewritting my backend library for yt and want to adjust for gtk4)

Play from Piped

It would be nice if the Piped URLs could be used for playing videos and copying links to the clipboard. It would be a more privacy-respecting way of viewing the videos.

For clients that don't support this, I propose it be a preference: use Piped links, or use YouTube links directly. This way it's up to the user what they prefer using.

Clicking the videos does nothing

I added a few PeerTube and YouTube channels, and clicking the videos from both platforms does nothing. I'm not sure what it's supposed to do in the first place.

Join GNOME Circle

Submit Tubefeeder to GNOME Circle, there is a few advantages:

  • More users
  • More contributors

View and play downloaded videos

MPV, for whatever reason, does not run great when playing videos indirectly. I find it much faster on the pinephone to download with yt-dlp and then play with MPV once downloaded as otherwise I am easily waiting over 30 seconds between pressing play and the video playing.

I am happy this program lets me download videos, however it would be great if each successfully downloaded entry went into a list that could be played directly from your system in mpv with said list sorted by time downloaded.

PeerTube subscriptions aren't displaying channel name

After Tubefeeder syncs the channel's PeerTube subscriptions aren't displaying their respective channel name
image

Running Log

[2023-03-27T16:15:09Z DEBUG tf_playlist::playlist_manager] Creating new playlist for observer
[2023-03-27T16:15:09Z DEBUG tf_playlist::playlist_manager] Adding observer to existing playlist
[2023-03-27T16:15:09Z DEBUG tubefeeder::gui::feed::feed_page::imp] Reloading
[2023-03-27T16:15:09Z DEBUG tubefeeder::csv_file_manager] A error opening the file occured
[2023-03-27T16:15:09Z DEBUG tf_platform_youtube::subscription] Generating YT videos from channel UCdqp0KK_Io7TwK5cJMBvB0Q
[2023-03-27T16:15:09Z DEBUG reqwest::connect] starting new connection: https://pipedapi.kavin.rocks/
[2023-03-27T16:15:09Z DEBUG tf_core::pipeline::merger] Starting getting subscriptions
[2023-03-27T16:15:09Z DEBUG reqwest::connect] starting new connection: https://tilvids.com/
[2023-03-27T16:15:09Z DEBUG reqwest::connect] starting new connection: https://tilvids.com/
[2023-03-27T16:15:09Z DEBUG reqwest::connect] starting new connection: https://tilvids.com/
[2023-03-27T16:15:09Z DEBUG reqwest::connect] starting new connection: https://apertatube.net/
[2023-03-27T16:15:09Z DEBUG tf_core::pipeline::merger] Starting getting subscriptions
[2023-03-27T16:15:09Z DEBUG reqwest::connect] starting new connection: https://odysee.com/
[2023-03-27T16:15:09Z DEBUG reqwest::connect] starting new connection: https://odysee.com/
[2023-03-27T16:15:09Z DEBUG reqwest::connect] starting new connection: https://odysee.com/
[2023-03-27T16:15:09Z DEBUG reqwest::connect] starting new connection: https://odysee.com/
[2023-03-27T16:15:09Z DEBUG reqwest::connect] starting new connection: https://odysee.com/
[2023-03-27T16:15:09Z DEBUG reqwest::connect] starting new connection: https://odysee.com/
[2023-03-27T16:15:09Z DEBUG reqwest::connect] starting new connection: https://odysee.com/
[2023-03-27T16:15:09Z DEBUG reqwest::async_impl::client] response '200 OK' for https://odysee.com/$/rss/@seytonic#c
[2023-03-27T16:15:09Z DEBUG reqwest::async_impl::client] response '200 OK' for https://odysee.com/$/rss/@AlphaNerd#8
[2023-03-27T16:15:09Z DEBUG reqwest::async_impl::client] response '200 OK' for https://odysee.com/$/rss/@HardwareUnboxed#2
[2023-03-27T16:15:09Z DEBUG reqwest::async_impl::client] response '200 OK' for https://odysee.com/$/rss/@RenoMay#e
[2023-03-27T16:15:09Z DEBUG reqwest::async_impl::client] response '200 OK' for https://odysee.com/$/rss/@thenewoil#7
[2023-03-27T16:15:09Z ERROR tf_utils::rss::rss_extractor] Error parsing: Expecting </link> found </head>
[2023-03-27T16:15:09Z ERROR tf_utils::rss::rss_extractor] Error parsing: Expecting </link> found </head>
[2023-03-27T16:15:09Z ERROR tf_utils::rss::rss_extractor] Error parsing: Expecting </link> found </head>
[2023-03-27T16:15:09Z ERROR tf_utils::rss::rss_extractor] Error parsing: Expecting </link> found </head>
[2023-03-27T16:15:09Z ERROR tf_utils::rss::rss_extractor] Error parsing: Expecting </link> found </head>
[2023-03-27T16:15:09Z DEBUG reqwest::async_impl::client] response '200 OK' for https://odysee.com/$/rss/@awcy_arms#a
[2023-03-27T16:15:09Z DEBUG reqwest::async_impl::client] response '200 OK' for https://odysee.com/$/rss/@printshootrepeat#5
[2023-03-27T16:15:09Z ERROR tf_utils::rss::rss_extractor] Error parsing: Expecting </link> found </head>
[2023-03-27T16:15:09Z ERROR tf_utils::rss::rss_extractor] Error parsing: Expecting </link> found </head>
[2023-03-27T16:15:09Z DEBUG tf_core::pipeline::merger] Finished getting subscriptions
[2023-03-27T16:15:09Z DEBUG reqwest::async_impl::client] response '200 OK' for https://tilvids.com/feeds/[email protected]
[2023-03-27T16:15:09Z DEBUG reqwest::async_impl::client] response '200 OK' for https://tilvids.com/feeds/[email protected]
[2023-03-27T16:15:10Z DEBUG reqwest::async_impl::client] response '200 OK' for https://pipedapi.kavin.rocks/channel/UCdqp0KK_Io7TwK5cJMBvB0Q
[2023-03-27T16:15:10Z DEBUG reqwest::async_impl::client] response '200 OK' for https://tilvids.com/feeds/videos.xml?videoChannelName=thelinuxexperiment_channel@tilvids.com
[2023-03-27T16:15:10Z DEBUG tf_platform_youtube::subscription] Generating YT videos from channel UChRlaISXbl2gECFAmDzxgzg
[2023-03-27T16:15:10Z DEBUG reqwest::async_impl::client] response '200 OK' for https://apertatube.net/feeds/[email protected]
[2023-03-27T16:15:10Z DEBUG tf_core::pipeline::merger] Finished getting subscriptions
[2023-03-27T16:15:10Z DEBUG reqwest::async_impl::client] response '200 OK' for https://pipedapi.kavin.rocks/channel/UChRlaISXbl2gECFAmDzxgzg
[2023-03-27T16:15:10Z DEBUG tf_platform_youtube::subscription] Generating YT videos from channel UCjr2bPAyPV7t35MvcgT3W8Q
[2023-03-27T16:15:10Z DEBUG reqwest::async_impl::client] response '200 OK' for https://pipedapi.kavin.rocks/channel/UCjr2bPAyPV7t35MvcgT3W8Q
[2023-03-27T16:15:10Z DEBUG tf_platform_youtube::subscription] Generating YT videos from channel UCVYamHliCI9rw1tHR1xbkfw
[2023-03-27T16:15:11Z DEBUG reqwest::async_impl::client] response '200 OK' for https://pipedapi.kavin.rocks/channel/UCVYamHliCI9rw1tHR1xbkfw
[2023-03-27T16:15:11Z DEBUG tf_platform_youtube::subscription] Generating YT videos from channel UCV6KDgJskWaEckne5aPA0aQ
[2023-03-27T16:15:11Z DEBUG reqwest::async_impl::client] response '200 OK' for https://pipedapi.kavin.rocks/channel/UCV6KDgJskWaEckne5aPA0aQ
[2023-03-27T16:15:11Z DEBUG tf_platform_youtube::subscription] Generating YT videos from channel UCW_9Y89RuQQFwMwSRLcI2fg
[2023-03-27T16:15:12Z DEBUG reqwest::async_impl::client] response '200 OK' for https://pipedapi.kavin.rocks/channel/UCW_9Y89RuQQFwMwSRLcI2fg
[2023-03-27T16:15:12Z DEBUG tf_platform_youtube::subscription] Generating YT videos from channel UCG1_A0jPBGZUpRW7XkaaBkg
[2023-03-27T16:15:12Z DEBUG reqwest::async_impl::client] response '200 OK' for https://pipedapi.kavin.rocks/channel/UCG1_A0jPBGZUpRW7XkaaBkg
[2023-03-27T16:15:12Z DEBUG tf_platform_youtube::subscription] Generating YT videos from channel UCv1Kcz-CuGM6mxzL3B1_Eiw
[2023-03-27T16:15:13Z DEBUG reqwest::async_impl::client] response '200 OK' for https://pipedapi.kavin.rocks/channel/UCv1Kcz-CuGM6mxzL3B1_Eiw
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::csv_file_manager] Entry already file
[2023-03-27T16:15:13Z DEBUG tubefeeder::gui::feed::thumbnail] Getting thumbnail from url https://apertatube.net/lazy-static/previews/19f39365-385e-411c-9db8-688c3015c68d.jpg
[2023-03-27T16:15:13Z DEBUG tubefeeder::gui::feed::thumbnail] Getting thumbnail from url https://pipedproxy.kavin.rocks/vi/zAH5BYKa2tg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCO4M_kqZeYJH5SDtTF1tAgza0nrg&host=i.ytimg.com
[2023-03-27T16:15:13Z DEBUG tubefeeder::gui::feed::thumbnail] Getting thumbnail from url https://pipedproxy.kavin.rocks/vi/Wr4LzddD78U/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDqDbFfflIQbW4sxlPWmF_f-wYM-w&host=i.ytimg.com
[2023-03-27T16:15:13Z DEBUG tubefeeder::gui::feed::thumbnail] Getting thumbnail from url https://tilvids.com/lazy-static/previews/37516287-f388-4516-a1aa-ec2d7cf99d54.jpg
[2023-03-27T16:15:13Z DEBUG tubefeeder::gui::feed::thumbnail] Getting thumbnail from url https://pipedproxy.kavin.rocks/vi/55bmu_MqPZw/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCvAuk8wvNV6xNdDTJpEbNtgUx23w&host=i.ytimg.com
[2023-03-27T16:15:13Z DEBUG tubefeeder::gui::feed::thumbnail] Getting thumbnail from url https://pipedproxy.kavin.rocks/vi/4lmb5-RAZPc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD06jJar3SQu0W3H8fybrxDsD1Vqg&host=i.ytimg.com
[2023-03-27T16:15:13Z DEBUG tubefeeder::gui::feed::thumbnail] Getting thumbnail from url https://pipedproxy.kavin.rocks/vi/NxpAcnwkMv0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLB-7CS2MrmqJF7OvkAiw49XLf-b6g&host=i.ytimg.com
[2023-03-27T16:15:13Z DEBUG tubefeeder::gui::feed::thumbnail] Getting thumbnail from url https://tilvids.com/lazy-static/previews/952cfd11-9e36-487c-94a8-716573c9ffd6.jpg
[2023-03-27T16:15:13Z DEBUG tubefeeder::gui::feed::thumbnail] Getting thumbnail from url https://pipedproxy.kavin.rocks/vi/ORjVn3-c28A/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAIUtK4zUZiN8zUwDkYaZHk6sEj9g&host=i.ytimg.com
[2023-03-27T16:15:13Z DEBUG tubefeeder::gui::feed::thumbnail] Getting thumbnail from url https://tilvids.com/lazy-static/previews/435aebf2-8281-4a9b-b2ff-60c3b1be225f.jpg
[2023-03-27T16:15:13Z DEBUG reqwest::connect] starting new connection: https://apertatube.net/
[2023-03-27T16:15:13Z DEBUG reqwest::connect] starting new connection: https://pipedproxy.kavin.rocks/
[2023-03-27T16:15:13Z DEBUG reqwest::connect] starting new connection: https://tilvids.com/
[2023-03-27T16:15:13Z DEBUG reqwest::connect] starting new connection: https://pipedproxy.kavin.rocks/
[2023-03-27T16:15:13Z DEBUG reqwest::connect] starting new connection: https://tilvids.com/
[2023-03-27T16:15:13Z DEBUG reqwest::connect] starting new connection: https://pipedproxy.kavin.rocks/
[2023-03-27T16:15:13Z DEBUG reqwest::connect] starting new connection: https://pipedproxy.kavin.rocks/
[2023-03-27T16:15:13Z DEBUG reqwest::connect] starting new connection: https://pipedproxy.kavin.rocks/
[2023-03-27T16:15:13Z DEBUG reqwest::connect] starting new connection: https://pipedproxy.kavin.rocks/
[2023-03-27T16:15:13Z DEBUG reqwest::connect] starting new connection: https://tilvids.com/
[2023-03-27T16:15:13Z DEBUG reqwest::async_impl::client] response '200 OK' for https://pipedproxy.kavin.rocks/vi/ORjVn3-c28A/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAIUtK4zUZiN8zUwDkYaZHk6sEj9g&host=i.ytimg.com
[2023-03-27T16:15:13Z DEBUG reqwest::async_impl::client] response '200 OK' for https://pipedproxy.kavin.rocks/vi/55bmu_MqPZw/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCvAuk8wvNV6xNdDTJpEbNtgUx23w&host=i.ytimg.com
[2023-03-27T16:15:13Z DEBUG reqwest::async_impl::client] response '200 OK' for https://pipedproxy.kavin.rocks/vi/Wr4LzddD78U/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDqDbFfflIQbW4sxlPWmF_f-wYM-w&host=i.ytimg.com
[2023-03-27T16:15:13Z DEBUG reqwest::async_impl::client] response '200 OK' for https://pipedproxy.kavin.rocks/vi/NxpAcnwkMv0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLB-7CS2MrmqJF7OvkAiw49XLf-b6g&host=i.ytimg.com
[2023-03-27T16:15:13Z DEBUG reqwest::async_impl::client] response '200 OK' for https://pipedproxy.kavin.rocks/vi/zAH5BYKa2tg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCO4M_kqZeYJH5SDtTF1tAgza0nrg&host=i.ytimg.com
[2023-03-27T16:15:13Z DEBUG reqwest::async_impl::client] response '200 OK' for https://pipedproxy.kavin.rocks/vi/4lmb5-RAZPc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD06jJar3SQu0W3H8fybrxDsD1Vqg&host=i.ytimg.com
[2023-03-27T16:15:13Z DEBUG reqwest::async_impl::client] response '200 OK' for https://tilvids.com/lazy-static/previews/435aebf2-8281-4a9b-b2ff-60c3b1be225f.jpg
[2023-03-27T16:15:14Z DEBUG reqwest::async_impl::client] response '200 OK' for https://apertatube.net/lazy-static/previews/19f39365-385e-411c-9db8-688c3015c68d.jpg
[2023-03-27T16:15:14Z DEBUG reqwest::async_impl::client] response '200 OK' for https://tilvids.com/lazy-static/previews/37516287-f388-4516-a1aa-ec2d7cf99d54.jpg
[2023-03-27T16:15:14Z DEBUG reqwest::async_impl::client] response '200 OK' for https://tilvids.com/lazy-s

Crashes when system has unsupported locale

I have my language set to Norwegian which which makes the application not launch and print this error:
thread 'main' panicked at 'Failed to initialize internationalization: TranslationNotFound("nb")', src/main.rs:64:33
It seems like there is no fallback to English when the pot file is not found.

Package for postmarketOS / Alpine Linux

Unfortunately AppImages aren't really viable on Alpine / postmarketOS at the minute, so lets try and get this application packaged there instead!

Example of another (albeit simpler) rust package in alpine: https://gitlab.alpinelinux.org/alpine/aports/-/blob/master/testing/i3status-rust/APKBUILD

It should be as simple as including all -dev packages in the makedepends, and including the rest in depends (not sure about libhandy).

I'll try and get a working APKBUILD some time soonish, although I'm more than open to being beaten to it :D.

Do you release Tubefeeder under the GPLv3-only or the GPLv3-or-later?

In case you haven't decided yet, I would recommend the GPLv3-or-later under which, for example, NewPipe is also licensed. Otherwise it can get very difficult or almost impossible to use your code under a newer version of the GPL when there are many contributions since every single contributor would have to be asked again and agree to that.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.