Commit message (Collapse) | Author | Age | |
---|---|---|---|
* | chore(treewide): Add missing license headers | Benedikt Peetz | 3 days |
| | |||
* | test(crates/libmpv2): Avoid compiling a doc-test | Benedikt Peetz | 3 days |
| | |||
* | fix(crates/yt/commands/database): Correctly format the default for `--kind` | Benedikt Peetz | 3 days |
| | | | | | The `fmt::Debug` impl will print them capitalized, which is obviously wrong in this context. | ||
* | test(crates/yt/tests/watch/focus_switch.rs): This test simply lacks its purpose | Benedikt Peetz | 3 days |
| | |||
* | test(crates/yt/testenv/run/run_piped): Finalize the second command after the ↵ | Benedikt Peetz | 3 days |
| | | | | | | | first one Otherwise, we introduce a race condition and thus produce spurious test failures. | ||
* | feat(crates/yt/commands/cache): Init | Benedikt Peetz | 3 days |
| | |||
* | refactor(crates/yt/commands): Restrict visibility to itself | Benedikt Peetz | 3 days |
| | | | | This ensures, that the other code in `yt` does not reference this. | ||
* | fix(crates/yt): Correct imports | Benedikt Peetz | 3 days |
| | |||
* | fix(crates/yt/config): Avoid module name re-use in `watch` config | Benedikt Peetz | 3 days |
| | |||
* | fix(crates/yt/commands/select): Allow configuring the `yt select url` opener | Benedikt Peetz | 3 days |
| | |||
* | fix(crates/yt/storage/db/videos/comments): Don't always associate a reply ↵ | Benedikt Peetz | 3 days |
| | | | | | | | | | | 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 Peetz | 3 days |
| | | | | `erase_in_display_from_cursor` | ||
* | fix(crates/yt/commands): Add the actual `implm` wrapper | Benedikt Peetz | 3 days |
| | |||
* | refactor(crates/colors): Don't expose the custom colours module | Benedikt Peetz | 3 days |
| | | | | It does not contain anything useful for downsteam consumers. | ||
* | fix(treewide): Use `json_try_get!` instead of `json.get(..).map(|| ..)` | Benedikt Peetz | 3 days |
| | | | | | | | `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 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 |
| |