about summary refs log tree commit diff stats
path: root/crates (follow)
Commit message (Collapse)AuthorAge
* fix(crates/yt): Correct importsBenedikt Peetz2025-07-24
|
* fix(crates/yt/config): Avoid module name re-use in `watch` configBenedikt Peetz2025-07-24
|
* fix(crates/yt/commands/select): Allow configuring the `yt select url` openerBenedikt Peetz2025-07-24
|
* fix(crates/yt/storage/db/videos/comments): Don't always associate a reply ↵Benedikt Peetz2025-07-24
| | | | | | | | | | with its base The previous code immediately return from the `find_author_mut` function, as the `return` was not scoped in a closure. We now only return that value, if it should actually be returned, and added a test for that case.
* refactor(crates/yt/src/ansi_escape_codes): Use better name for ↵Benedikt Peetz2025-07-24
| | | | `erase_in_display_from_cursor`
* fix(crates/yt/commands): Add the actual `implm` wrapperBenedikt Peetz2025-07-24
|
* refactor(crates/colors): Don't expose the custom colours moduleBenedikt Peetz2025-07-24
| | | | It does not contain anything useful for downsteam consumers.
* fix(treewide): Use `json_try_get!` instead of `json.get(..).map(|| ..)`Benedikt Peetz2025-07-24
| | | | | | | `json.get` will return `Some(Value::Null)` if the json key exists but has been set to `null`. This is obviously not what we want, and as such we also need to check that the value is not null, before calling map. The `json_try_get!` macro does exactly that.
* fix(crates/yt/{commands/playlist,videos/format_video}): Correctly calculate ↵Benedikt Peetz2025-07-24
| | | | | | watch percent Previously, they were using u64, which obviously only returned `0%`.
* feat(crates/yt/commands/database): Init, to show the txn_logBenedikt Peetz2025-07-24
|
* feat(crates/yt/storage/db/insert): Track all inserted operationsBenedikt Peetz2025-07-24
|
* feat(crates/yt/commands/watch/mpv_commands): Hook-up the new show commandsBenedikt Peetz2025-07-24
|
* feat(crates/yt/commands/show): Also provide thumbnail and info screenBenedikt Peetz2025-07-24
|
* refactor(crates/yt/db/insert::Commitable): Make `Debug` a dependencyBenedikt Peetz2025-07-18
| | | | | This avoids having to copy the already implied dependency to every type bound.
* fix(crates/yt/db/insert/playlist): Account for playlist_len == 0Benedikt Peetz2025-07-18
| | | | | Previously, we always tried to mark a new video as next to focus, but that is obviously impossible with an empty playlist.
* build(crates/yt/Cargo.toml): Remove now pointless `owo-colors` depBenedikt Peetz2025-07-18
|
* build(treewide): UpdateBenedikt Peetz2025-07-18
|
* build({update.sh,crates/{libmpv2,yt_dlp}/update.sh}): Remove pointless ↵Benedikt Peetz2025-07-18
| | | | | | | update instructions We only need to explicitly update the creates that are not part of the workspace.
* fix(crates/yt/db/insert/maintenance): Re-initBenedikt Peetz2025-07-18
|
* test(crates/yt/tests/_testenv): Store `Child`s instead of PIDsBenedikt Peetz2025-07-18
| | | | | That avoids killing a random process if the original process has already exited.
* perf(crates/yt/db/extractor_hash/realize): Allow passing in a `all_hashes`Benedikt Peetz2025-07-18
| | | | | This avoids having to re-fetch that value for each realized short hash and massively speeds up the `process_line` code while running `select {file,split}`.
* fix(crates/yt/config): Ensure that the download_dir is createdBenedikt Peetz2025-07-18
| | | | Previously, we only ensured that for its parent directory.
* test(crates/yt/tests/_testenv::init): Use appropriate atomic u64 typeBenedikt Peetz2025-07-18
|
* fix(crates/yt): **Always** honor the `config.global.display_colors` config ↵Benedikt Peetz2025-07-18
| | | | setting
* chore(crates/yt/Cargo.toml): Add `pretty-assertions` for testsBenedikt Peetz2025-07-18
| | | | This makes the errors in the comment tests easier to see.
* feat(crates/yt): Separate all commands from their implementation codeBenedikt Peetz2025-07-18
| | | | | This also comes with a re-worked and tested implementation of the comments rendering code.
* test(crates/yt): Add basic integration testsBenedikt Peetz2025-07-15
|
* fix(crates/yt/select): Correctly open the persistent file in `select split`Benedikt Peetz2025-07-15
| | | | | Otherwise, the written changes to the persistent file would either not be saved or they would be saved but not used.
* feat(crates/yt/select): Print the currently processed line as progressBenedikt Peetz2025-07-15
| | | | | | This is especially useful when using the commands standalone (i.e., `yt select watch ...`), as that will now show you exactly what your command did to the video.
* fix(crates/yt): Add stuff that was missedBenedikt Peetz2025-07-15
|
* feat(crates/yt/watch): Make the time between watch progress saves configurableBenedikt Peetz2025-07-15
|
* refactor(crates/yt/config): Always use imported paths in config decBenedikt Peetz2025-07-15
|
* feat(crates/yt/update): Make the concurrency configurableBenedikt Peetz2025-07-15
|
* fix(crates/yt/cli): Use the correct `--plackback-speed` option nameBenedikt Peetz2025-07-15
|
* feat(crates/yt/subscribe): Support a `--no-check` argumentBenedikt Peetz2025-07-15
|
* feat(crates/yt): Support a `--format` argument for most commands with outputBenedikt Peetz2025-07-15
|
* fix(crates/yt/update): Remove the `--grouped` update supportBenedikt Peetz2025-07-15
| | | | Our python implementation no longer leaks memory.
* feat(crates/yt/watch): Support `--headless` and `--provide-ipc-socket` flagsBenedikt Peetz2025-07-15
|
* refactor(crates/yt/comments): Remove dead codeBenedikt Peetz2025-07-15
|
* fix(crates/yt/downloader): Correctly treat the download as blockingBenedikt Peetz2025-07-15
| | | | | This change _might_ also allow aborting the current download, but I'm not yet sure.
* refactor(crates/yt): Allow `missing_panic_docs` and use expectBenedikt Peetz2025-07-15
|
* refactor(crates/yt/download/progress_hook): Use `json_{get,cast}` and owu-colorsBenedikt Peetz2025-07-15
|
* refactor(crates/yt): Use the new storage layerBenedikt Peetz2025-07-15
|
* fix(crates/yt/storage/migrate): Merge the `videos` and `video_options` tablesBenedikt Peetz2025-07-14
| | | | Keeping them separate was just introducing unnecessary friction.
* feat(crates/yt/storage): Migrate inserts to operations and use methodsBenedikt Peetz2025-07-14
| | | | | | | This allows us to re-use the operations and in the future to provide undo-capabilities and a git-reflog like changelog. This commit also fixes some bugs with the old design.
* refactor(crates/yt): Make every `pub` item `pub(crate)`Benedikt Peetz2025-07-10
| | | | | Otherwise, rust will not warn use about unused code (and `yt` is not a library).
* docs(crates/libmpv2): Correctly format doc-testBenedikt Peetz2025-07-10
|
* refactor(crates/yt/config): Use a macro to generate the config parsing codeBenedikt Peetz2025-07-10
| | | | | | This makes adding new config values easier and makes it harder to introduce slight bugs (with the old config system the cli `--db-path` flag did only take effect, after the value in the config file).
* refactor(crates/yt_dlp): Port to `pyo3` againBenedikt Peetz2025-07-10
| | | | | | | | Rustpyton is slower, does not implement everything correctly and worst of all, contains code produced by LLM's. Using the freethreaded mode of pyo3 also works nicely around the GIL, and enables parallel execution.
* refactor(crates/bytes): Move into ytBenedikt Peetz2025-07-10
| | | | `yt_dlp` no longer depends on it.