1
Fork 0
mirror of https://github.com/thegeneralist01/archivr synced 2026-07-22 11:15:41 +02:00
archivr/crates/archivr-core/src
TheGeneralist 096c98a678
fix(core)+test: propagate sync query errors; cover new playlist/sync functions
archive.rs:
- get_archived_playlist_child_urls: collect() as rusqlite::Result<HashSet<_>>
  instead of filter_map(ok) so row-level errors surface rather than silently
  skipping and causing duplicate downloads

capture.rs:
- match get_archived_playlist_child_urls result and fail_run on error instead
  of unwrap_or_default, preventing silent re-downloads on DB failure

Tests added to capture.rs:
- locator_to_playlist_url_accepts_playlist_shorthands (yt:playlist/, ytm:playlist/, full URL)
- locator_to_playlist_url_accepts_channel_shorthands (yt:@handle)
- locator_to_playlist_url_rejects_non_playlist_sources (single video, tweet, web page)

Tests added to archive.rs (all use in-memory DB via make_tag_test_db):
- find_container_entry_id_returns_none_when_absent
- find_container_entry_id_returns_root_entry
- find_container_entry_id_ignores_child_entries (child with parent_entry_id set)
- get_archived_playlist_child_urls_empty_when_no_playlist
- get_archived_playlist_child_urls_returns_children
- get_archived_playlist_child_urls_excludes_other_playlists
2026-07-20 22:38:56 +02:00
..
downloader feat(core): playlist per-item quality + incremental sync 2026-07-20 22:34:10 +02:00
archive.rs fix(core)+test: propagate sync query errors; cover new playlist/sync functions 2026-07-20 22:38:56 +02:00
capture.rs fix(core)+test: propagate sync query errors; cover new playlist/sync functions 2026-07-20 22:38:56 +02:00
database.rs feat(tags): revamp tags tab (#29) 2026-07-19 11:02:57 +02:00
hash.rs feat(fonts): hash_bytes, get_blob_by_sha256, font_extractor module 2026-06-25 16:02:57 +02:00
lib.rs feat: browser capture button (Track 4) 2026-06-22 22:18:44 +02:00
twitter.rs feat: add db and multi-archive web UI foundation (#8) 2026-06-14 00:27:16 +02:00