about summary refs log tree commit diff stats
Commit message (Collapse)AuthorAge
* feat(yt/storage/migrate): Init database migration systemBenedikt Peetz2025-02-17
| | | | | I could have used the `sqlx` migration system, but that seem too much like a framework to me.
* build({.envrc,scripts/mkdb}): Mark the `sqlx` databaseBenedikt Peetz2025-02-17
|
* build(.envrc): Align with current state of the repositoryBenedikt Peetz2025-02-17
| | | | | | 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.
* fix(yt/select/cmds/add): Don't try to add a video that is already addedBenedikt Peetz2025-02-16
|
* style(treewide): Re-formatBenedikt Peetz2025-02-16
|
* refactor(yt/): Use the new `termsize` and `uu_fmt` cratesBenedikt Peetz2025-02-16
|
* build(rustfmt.toml): AddBenedikt Peetz2025-02-16
|
* fix(crates/termsize): Remove all of `clippy`'s warningsBenedikt Peetz2025-02-16
|
* refactor(crates/fmt): Init forked `uu_fmt` libraryBenedikt Peetz2025-02-16
|
* chore(crates/termsize): VendorBenedikt Peetz2025-02-16
|
* refactor(treewide): Remove all references of the now obsolete update_raw.pyBenedikt Peetz2025-02-16
|
* feat(yt/update): Port the Python updater to rustBenedikt Peetz2025-02-16
| | | | | | | | 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).
* chore(yt): Change the type of `max_backlog` to `usize`Benedikt Peetz2025-02-16
|
* fix(crates/yt_dlp/wrappers/info_json): Serialize the `InfoType`s with their ↵Benedikt Peetz2025-02-16
| | | | correct name
* fix(crates/yt_dlp/wrappers/info_json): Don't serialize `None` valuesBenedikt Peetz2025-02-16
| | | | This keeps the jsons, which we internally parse, shorter.
* feat(crates/yt_dlp/lib): Wrap `process_ie_result` functionBenedikt Peetz2025-02-16
|
* fix(crates/yt_dlp/lib): Actually resolve the `entries` generator objectBenedikt Peetz2025-02-16
| | | | Previously, we just ignored it.
* fix(crates/yt_dlp/lib): Swallow all error logs from yt_dlpBenedikt Peetz2025-02-16
| | | | | | 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.
* fix(crates/yt_dlp/progress_hook): Print the progress to stderrBenedikt Peetz2025-02-16
|
* fix(crates/yt_dlp/error::PythonError): Add the python type as `kind`Benedikt Peetz2025-02-16
|
* fix(crates/libmpv2/Mpv::command): Correctly escape argumentsBenedikt Peetz2025-02-14
| | | | | This allows us to avoid all these ad-hoc command escaping `format!` invocations.
* fix(yt/watch): Always open a `mpv` windowBenedikt Peetz2025-02-14
| | | | | Otherwise, controlling playback of things like podcast or audio dramas becomes impossible because they do not have a video stream.
* fix(yt/select/selection_file/help.str): Disable vim line wrappingBenedikt Peetz2025-02-14
| | | | | Wrapping lines in a file with concealed lines (due to `tree-sitter-yts`), is rather ugly. So just disable it.
* feat(yt/status): Include the approximate total watch timeBenedikt Peetz2025-02-14
|
* feat(yt/select/selection_file/duration): Support durations up to daysBenedikt Peetz2025-02-14
| | | | | The current maximum of hours was enough in most cases, but not for all cases.
* fix(yt/download/download_options): Stop trying to write annotationsBenedikt Peetz2025-02-14
| | | | | | 1. Prefer free formats 2. The annotations setting was causing a constant warning, and served very little purpose.
* fix(package/blake3): Migrate to the new `fetchCargoVendor` fetcherBenedikt Peetz2025-02-14
| | | | | This is necessary, because the old `fetchCargoTarball` fetcher, has become not reproducible because of `cargo` changes.
* feat(yt): Make colorization of the output configurableBenedikt Peetz2025-02-14
|
* fix(yt/cli): Make most of the arguments to `yt select <cmd> <hash>` optionalBenedikt Peetz2025-02-14
| | | | | | | In most cases `yt select watch <id>` is enough, but the previous cli specification required you to insert: `[TITLE] [DATE] [PUBLISHER] [DURATION] [URL]`. These are not used (except the `url` command), and thus the cli usage can be greatly improved by allowing the to be empty.
* feat(yt/select/cmds/add): Support `start` `stop` argsBenedikt Peetz2025-02-14
| | | | These allow you to only add playlist entries from `start` to `stop`.
* feat(version): Include `yt-dlp` and `python` version in `--version`Benedikt Peetz2025-02-14
| | | | | Both are run-time dependencies and need to be up-to-date (especially, `yt-dlp`)
* build(scripts/cprh): RemoveBenedikt Peetz2025-02-14
| | | | This has been superseded by my `stamp` script.
* chore(old): RemoveBenedikt Peetz2025-02-14
| | | | There is no need to include this old code any longer.
* chore(crates/yt_dlp/wrappers/info_json): Add further fieldsBenedikt Peetz2025-02-14
|
* test(crates/yt_dlp): Ignore tests that hang foreverBenedikt Peetz2025-02-14
|
* fix(crates/yt_dlp): Actually return errors instead of panicingBenedikt Peetz2025-02-14
|
* fix(crates/yt_dlp): Avoid printing the file extension in the progress displayBenedikt Peetz2025-02-14
| | | | The file extension should not be relevant for a user.
* fix(crates/libmpv2): Improve the error message for the `RawError`Benedikt Peetz2025-02-14
| | | | | Additionally, this commits migrates the error away from `thiserror`, simply because the crate is not needed at this scale.
* build(treewide): UpdateBenedikt Peetz2025-02-14
|
* build(.envrc): Always save the `output.info.json` if in devshellBenedikt Peetz2025-02-14
|
* chore(version): v1.4.1 v1.4.1Benedikt Peetz2024-12-14
|
* fix(yt_dlp/wrappers/info_json): Add further fields to `RequestedDownloads`Benedikt Peetz2024-12-14
|
* chore(version): v1.4.0 v1.4.0Benedikt Peetz2024-12-14
|
* build(treewide): UpdateBenedikt Peetz2024-12-14
|
* feat(yt/watch/events): Wire up the `yt-description-*` client commandsBenedikt Peetz2024-12-14
|
* refactor(yt/description): Provide `get` function, returning a stringBenedikt Peetz2024-12-14
| | | | This allows code to get the description without shelling out.
* refactor(yt/config): Rename `local_comments_length` to `local_display_length`Benedikt Peetz2024-12-14
| | | | This allows to use this value both for comments and description display.
* feat(yt/description): InitBenedikt Peetz2024-12-14
|
* refactor(yt/comments): Move the display code to a separate functionBenedikt Peetz2024-12-14
|
* fix(yt/cli): Ensure that all `[No <xyz>]` value can be parsedBenedikt Peetz2024-12-14
|