about summary refs log tree commit diff stats
path: root/old/yts (unfollow)
Commit message (Collapse)Author
85 min.build(flake): Document for what the `CLANG_*` env vars are neededBenedikt Peetz
87 min.build(flake): Remove `flake-utils`Benedikt Peetz
This library serves no real purpose, and now started failing to updated.
94 min.refactor(yt): Move to `crates/yt`Benedikt Peetz
Having one crate outside the `crates` directory is just weird.
97 min.build(flake): Switch to `nixpkgs-unstable-small`Benedikt Peetz
Small is updated faster, and we need quick updates as `yt_dlp` needs to be always up-to-date so that it actually works with YouTube.
97 min.build(flake): Adapt the dev env to yt_dlp's new dependenciesBenedikt Peetz
99 min.fix(yt/subscribe): Deal with moved url valueBenedikt Peetz
100 min.fix(yt/downloader/progress_hook): Silence clippy warningsBenedikt Peetz
101 min.refactor(yt): Consolidate the multiple ANSI escape code wrapper functionsBenedikt Peetz
102 min.fix(yt/watch/playlist): Workaround terminals, that treat 0 as 1Benedikt Peetz
109 min.fix(yt/storage/migrate): Correct the two to three migration scriptBenedikt Peetz
111 min.fix(yt/storage/migrate): Correctly state the upgrade to the topmost versionBenedikt Peetz
Previously `$new_version` and `$old_version` were mistakenly swapped.
112 min.feat(yt/status): Show the percentage of videos that were actually watchedBenedikt Peetz
113 min.style(yt/cli): Sort the toplevel flags alphabeticallyBenedikt Peetz
114 min.fix(yt/{se,}dowa): Don't exit completely, if the downloader failsBenedikt Peetz
Otherwise the `yt watch` part exists even if videos are available to be watched.
117 min.feat({yt_dlp,yt}): Migrate from pyo3 to rustpythonBenedikt Peetz
That allows us to avoid cpython's GIL and gives us full ability to leverage async/concurrent code to speed up python operations. I have also taken the opportunity to change the `InfoJson` struct to an untyped json value, as that is what it actually is.
2 hoursbuild(treewide): UpdateBenedikt Peetz
2025-03-21build(flake): Add `git-bug` to the devshellBenedikt Peetz
2025-03-21fix(yt/storage/migrate): Improve error messagesBenedikt Peetz
2025-03-21fix(yt/storage/migrate): Account for the fact that DbVersions::Empty means ↵Benedikt Peetz
no Version
2025-03-21style(treewide): Adopt rust edition 2024 rustfmt styleBenedikt Peetz
2025-03-21chore(yt_dlp/wrappers/info_json): Add additional missing fieldBenedikt Peetz
2025-03-21refactor(yt_dlp): Remove the unneeded `async` from the public functionsBenedikt Peetz
2025-03-21chore(treewide): Migrate to rust edition 2024Benedikt Peetz
Even though the diff in the libmpv2 crate is quite big, it really only added `unsafe` blocks to the `unsafe` functions.
2025-03-21build(treewide): UpdateBenedikt Peetz
2025-03-21feat(yt/storage/videos): Validate in DB, that is_focused is UNIQUEBenedikt Peetz
This makes the situation where two or more videos are focused impossible to represent in the db.
2025-03-21refactor(yt/storage/migrate/sql): Use predictable SQL pathsBenedikt Peetz
I.e. `<version_number>_<old_version_name>_to_<new_version_name>.sql`
2025-03-21refactor(yt/storage/migrate): Factor out duplicated code into macroBenedikt Peetz
2025-03-07fix(yt/storage/video_database/set): Reset the `is_focused` flagBenedikt Peetz
2025-02-22chore(version): v1.5.0 v1.5.0Benedikt Peetz
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