about summary refs log tree commit diff stats
path: root/LICENSES (unfollow)
Commit message (Collapse)Author
2025-02-22fix(package): Update to account for modifications in `mkdb.sh`Benedikt Peetz
2025-02-22build(treewide): UpdateBenedikt Peetz
2025-02-22chore(treewide): Add/Update the license headersBenedikt Peetz
2025-02-22refactor(yt/storage/video_database): Move `getters,setters` to `get,set`Benedikt Peetz
This also removes some `get_`/`set_` prefixes from the functions in these modules, as `get::<function>` is more idiomatic than `get_<function>`.
2025-02-22feat(yt/watch/playlist): InitBenedikt Peetz
This leverages the fact, that we store the playlist information in the database to visualize the current playlist.
2025-02-22feat(yt/watch/playlist_handler): Rewrite to use new db layoutBenedikt Peetz
The previous iteration actually worked with the mpv playlist, which proved very bug prone as mpv does not store our costume video, but the loaded cache path. Besides this, the old handler stored everything in memory, resulting in a full playback reset on restart. This new version uses the db to store the playlist and the playback progress and simply synchronizes this playlist with mpv.
2025-02-22feat(yt/storage/migrate): Add version twoBenedikt Peetz
2025-02-22fix(yt/storage/migrate/sql/01_zero_to_one.sql): Account for duration being NULLBenedikt Peetz
2025-02-22fix(yt/storage/migrate): Improve error reportingBenedikt Peetz
2025-02-22fix(yt/status): Don't show the database version in `yt status`Benedikt Peetz
The db version is already migrated to the latest at this point, thus this is effectively just showing the latest available version. `yt --version` actually shows the current one.
2025-02-22fix(yt/): Box large futuresBenedikt Peetz
Otherwise, they could result in a stack overflow
2025-02-22fix(yt/main): Call `watch` with the required `Arc<App>`Benedikt Peetz
2025-02-22fix(yt/main): Actually remove the `yt check output-info-json`Benedikt Peetz
2025-02-22refactor(yt/description): Move to the `comments` subdirectoryBenedikt Peetz
2025-02-22feat(yt/): Use concrete types in the `Video` structureBenedikt Peetz
2025-02-22docs(yt/cli): Remove last references to the external update and ↵Benedikt Peetz
status_change bits
2025-02-22feat(yt/version): Show _current_ database versionBenedikt Peetz
`yt status` also displays the database version, but this happens after the database was already migrate to the latest version.
2025-02-21feat(yt/cli): Make running the migrations of the database optionalBenedikt Peetz
2025-02-21build(flake): Add `ffmpeg` to the devshellBenedikt Peetz
`yt-dlp` searches for this in the PATH.
2025-02-21fix(crates/libmpv2/mpv): Log the setting of propertiesBenedikt Peetz
2025-02-21chore(crates/yt_dlp/wrappers/info_json): Add further fieldsBenedikt Peetz
2025-02-21chore(crates/libmpv2): Make `cargo clippy` happyBenedikt Peetz
2025-02-21fix(yt/storage/notify): Switch from a polling based system to inotifyBenedikt Peetz
2025-02-17fix(yt/status): Show the current database versionBenedikt Peetz
This will always be the latest available version (because `yt` tries to migrate the db at startup), but it is still some-what informative.
2025-02-17refactor(yt/videos/display): Streamline video formattingBenedikt Peetz
The previous approach with a trait and two newtype wrappers was just too complicated and really not worth it. Simply implementing the functions directly makes the code more readable and simplifies the implementation.
2025-02-17fix(yt): Remove most of the references to the zero version `Video` structBenedikt Peetz
2025-02-17feat(yt/storage/migrate): Add db version OneBenedikt Peetz
This version finally removes the weird `is_changing` flag (which was most of the time an elaborate alias for something like: "is being watched".) Additionally, this change brings in the groundwork to move the mpv playlist tracking from in-memory to the database.
2025-02-17feat(yt/storage/migrate): Init database migration systemBenedikt Peetz
I could have used the `sqlx` migration system, but that seem too much like a framework to me.
2025-02-17build({.envrc,scripts/mkdb}): Mark the `sqlx` databaseBenedikt Peetz
2025-02-17build(.envrc): Align with current state of the repositoryBenedikt Peetz
This means, that we removed the `python_update` directory and added the `scripts` directory to the path and that we removed the long obsolete `.env` file.
2025-02-16fix(yt/select/cmds/add): Don't try to add a video that is already addedBenedikt Peetz
2025-02-16style(treewide): Re-formatBenedikt Peetz
2025-02-16refactor(yt/): Use the new `termsize` and `uu_fmt` cratesBenedikt Peetz
2025-02-16build(rustfmt.toml): AddBenedikt Peetz
2025-02-16fix(crates/termsize): Remove all of `clippy`'s warningsBenedikt Peetz
2025-02-16refactor(crates/fmt): Init forked `uu_fmt` libraryBenedikt Peetz
2025-02-16chore(crates/termsize): VendorBenedikt Peetz
2025-02-16refactor(treewide): Remove all references of the now obsolete update_raw.pyBenedikt Peetz
2025-02-16feat(yt/update): Port the Python updater to rustBenedikt Peetz
This has the massive upside, that we no longer need to communicate via JSON, and thus can filter errors and use included rust logger. The big downside of this approach is, that this port regresses the update speed by a factor of 3 (i.e., previously updating took 1 min for my set of subscriptions, it now takes 3 mins).
2025-02-16chore(yt): Change the type of `max_backlog` to `usize`Benedikt Peetz
2025-02-16fix(crates/yt_dlp/wrappers/info_json): Serialize the `InfoType`s with their ↵Benedikt Peetz
correct name
2025-02-16fix(crates/yt_dlp/wrappers/info_json): Don't serialize `None` valuesBenedikt Peetz
This keeps the jsons, which we internally parse, shorter.
2025-02-16feat(crates/yt_dlp/lib): Wrap `process_ie_result` functionBenedikt Peetz
2025-02-16fix(crates/yt_dlp/lib): Actually resolve the `entries` generator objectBenedikt Peetz
Previously, we just ignored it.
2025-02-16fix(crates/yt_dlp/lib): Swallow all error logs from yt_dlpBenedikt Peetz
These are already returned as `PythonError`s and thus often printed twice. As such, removing the python print gives the consumer more liberty of how to handle the error.
2025-02-16fix(crates/yt_dlp/progress_hook): Print the progress to stderrBenedikt Peetz
2025-02-16fix(crates/yt_dlp/error::PythonError): Add the python type as `kind`Benedikt Peetz
2025-02-14fix(crates/libmpv2/Mpv::command): Correctly escape argumentsBenedikt Peetz
This allows us to avoid all these ad-hoc command escaping `format!` invocations.
2025-02-14fix(yt/watch): Always open a `mpv` windowBenedikt Peetz
Otherwise, controlling playback of things like podcast or audio dramas becomes impossible because they do not have a video stream.
2025-02-14fix(yt/select/selection_file/help.str): Disable vim line wrappingBenedikt Peetz
Wrapping lines in a file with concealed lines (due to `tree-sitter-yts`), is rather ugly. So just disable it.