Commit message (Collapse) | Author | Age | |
---|---|---|---|
* | fix(crates/yt/{commands/playlist,videos/format_video}): Correctly calculate ↵ | Benedikt Peetz | 3 days |
| | | | | | | watch percent Previously, they were using u64, which obviously only returned `0%`. | ||
* | feat(crates/yt/commands/database): Init, to show the txn_log | Benedikt Peetz | 3 days |
| | |||
* | feat(crates/yt/storage/db/insert): Track all inserted operations | Benedikt Peetz | 3 days |
| | |||
* | feat(crates/yt/commands/watch/mpv_commands): Hook-up the new show commands | Benedikt Peetz | 3 days |
| | |||
* | feat(crates/yt/commands/show): Also provide thumbnail and info screen | Benedikt Peetz | 3 days |
| | |||
* | refactor(crates/yt/db/insert::Commitable): Make `Debug` a dependency | Benedikt Peetz | 9 days |
| | | | | | This avoids having to copy the already implied dependency to every type bound. | ||
* | fix(crates/yt/db/insert/playlist): Account for playlist_len == 0 | Benedikt Peetz | 9 days |
| | | | | | 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` dep | Benedikt Peetz | 9 days |
| | |||
* | build(treewide): Update | Benedikt Peetz | 9 days |
| | |||
* | build({update.sh,crates/{libmpv2,yt_dlp}/update.sh}): Remove pointless ↵ | Benedikt Peetz | 9 days |
| | | | | | | | update instructions We only need to explicitly update the creates that are not part of the workspace. | ||
* | fix(crates/yt/db/insert/maintenance): Re-init | Benedikt Peetz | 9 days |
| | |||
* | test(crates/yt/tests/_testenv): Store `Child`s instead of PIDs | Benedikt Peetz | 9 days |
| | | | | | 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 Peetz | 9 days |
| | | | | | 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 created | Benedikt Peetz | 9 days |
| | | | | Previously, we only ensured that for its parent directory. | ||
* | test(crates/yt/tests/_testenv::init): Use appropriate atomic u64 type | Benedikt Peetz | 9 days |
| | |||
* | fix(crates/yt): **Always** honor the `config.global.display_colors` config ↵ | Benedikt Peetz | 9 days |
| | | | | setting | ||
* | chore(crates/yt/Cargo.toml): Add `pretty-assertions` for tests | Benedikt Peetz | 9 days |
| | | | | This makes the errors in the comment tests easier to see. | ||
* | feat(crates/yt): Separate all commands from their implementation code | Benedikt Peetz | 9 days |
| | | | | | This also comes with a re-worked and tested implementation of the comments rendering code. | ||
* | test(crates/yt): Add basic integration tests | Benedikt Peetz | 13 days |
| | |||
* | fix(crates/yt/select): Correctly open the persistent file in `select split` | Benedikt Peetz | 13 days |
| | | | | | 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 progress | Benedikt Peetz | 13 days |
| | | | | | | 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 missed | Benedikt Peetz | 13 days |
| | |||
* | feat(crates/yt/watch): Make the time between watch progress saves configurable | Benedikt Peetz | 13 days |
| | |||
* | refactor(crates/yt/config): Always use imported paths in config dec | Benedikt Peetz | 13 days |
| | |||
* | feat(crates/yt/update): Make the concurrency configurable | Benedikt Peetz | 13 days |
| | |||
* | fix(crates/yt/cli): Use the correct `--plackback-speed` option name | Benedikt Peetz | 13 days |
| | |||
* | feat(crates/yt/subscribe): Support a `--no-check` argument | Benedikt Peetz | 13 days |
| | |||
* | feat(crates/yt): Support a `--format` argument for most commands with output | Benedikt Peetz | 13 days |
| | |||
* | fix(crates/yt/update): Remove the `--grouped` update support | Benedikt Peetz | 13 days |
| | | | | Our python implementation no longer leaks memory. | ||
* | feat(crates/yt/watch): Support `--headless` and `--provide-ipc-socket` flags | Benedikt Peetz | 13 days |
| | |||
* | refactor(crates/yt/comments): Remove dead code | Benedikt Peetz | 13 days |
| | |||
* | fix(crates/yt/downloader): Correctly treat the download as blocking | Benedikt Peetz | 13 days |
| | | | | | This change _might_ also allow aborting the current download, but I'm not yet sure. | ||
* | refactor(crates/yt): Allow `missing_panic_docs` and use expect | Benedikt Peetz | 13 days |
| | |||
* | refactor(crates/yt/download/progress_hook): Use `json_{get,cast}` and owu-colors | Benedikt Peetz | 13 days |
| | |||
* | refactor(crates/yt): Use the new storage layer | Benedikt Peetz | 13 days |
| | |||
* | fix(crates/yt/storage/migrate): Merge the `videos` and `video_options` tables | Benedikt Peetz | 13 days |
| | | | | Keeping them separate was just introducing unnecessary friction. | ||
* | feat(crates/yt/storage): Migrate inserts to operations and use methods | Benedikt Peetz | 13 days |
| | | | | | | | 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 Peetz | 2025-07-10 |
| | | | | | Otherwise, rust will not warn use about unused code (and `yt` is not a library). | ||
* | docs(crates/libmpv2): Correctly format doc-test | Benedikt Peetz | 2025-07-10 |
| | |||
* | refactor(crates/yt/config): Use a macro to generate the config parsing code | Benedikt Peetz | 2025-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` again | Benedikt Peetz | 2025-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 yt | Benedikt Peetz | 2025-07-10 |
| | | | | `yt_dlp` no longer depends on it. | ||
* | fix(yt/subscribe): Don't hard-error on failed subscribe, if it was not specified | Benedikt Peetz | 2025-06-28 |
| | | | | | | The user did not specify to subscribe to the `videos`, `streams` and `shorts` variants, as such we should not error if one of them fails, as the other one could succeed. | ||
* | fix(yt/{subscribe,storage/subscriptions}): Fix more instances of the ↵ | Benedikt Peetz | 2025-06-28 |
| | | | | capitalize Playlist type | ||
* | chore(yt_dlp/package_hacks): Add missing license headers | Benedikt Peetz | 2025-06-28 |
| | |||
* | chore(yt/storage/video_database/set): Apply some of clippy's suggestions | Benedikt Peetz | 2025-06-28 |
| | |||
* | fix(yt/select/split): Also use persist the selection file | Benedikt Peetz | 2025-06-28 |
| | | | | This makes re-editing after a selection failure possible. | ||
* | fix(yt/select/cmds/add): Use the correct names for the download type | Benedikt Peetz | 2025-06-28 |
| | | | | Otherwise, adding anything is impossible. | ||
* | fix(yt/select/cmds/add): Don't print the title as value, cast it first | Benedikt Peetz | 2025-06-28 |
| | | | | | Otherwise, we would silently ignore an invalid type, if the title type ever changes. | ||
* | fix(yt/download/progress_hook): Remove superfluous apostrophes | Benedikt Peetz | 2025-06-28 |
| | | | | | | The start and end of the title is already apparent, as it is coloured differently than the rest. Adding the single quotes around it does not improve it and is just visual clatter. |