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 dea8b27fba
feat(frontend): j/k keyboard navigation for entries; test avatar cached_bytes
App.jsx — j/k handler:
- Fires on keydown when not focused on INPUT/TEXTAREA/SELECT/contenteditable
- Ignores meta/ctrl/alt modifier combos
- Uses DOM order (#entries-body [data-entry-uid]) so expanded child rows
  participate, matching the shift-range selection logic
- Resolves target entry via entryCacheRef → root entries array →
  fetchEntryDetail(..).summary on cache miss
- Scrolls target into view (block: nearest); updates lastAnchorIndexRef
  so subsequent shift-click ranges start from the keyboard-navigated row

archive.rs — cached_bytes_excludes_avatar_blobs test:
- Two tweet entries sharing an avatar blob (100B) and a media blob (900B)
- Asserts refresh_entry_cached_bytes sets cached_bytes = 900 (not 1000)
- Asserts list_root_entries summary: cached_bytes=900, cacheable_bytes=900,
  total_artifact_bytes=1000 — SIZE includes avatar, % cached denominator
  and numerator both exclude it
2026-07-21 15:49:05 +02:00
..
downloader feat(core): playlist per-item quality + incremental sync 2026-07-20 22:34:10 +02:00
archive.rs feat(frontend): j/k keyboard navigation for entries; test avatar cached_bytes 2026-07-21 15:49:05 +02:00
capture.rs feat(core+frontend): bare yt:ID resolves to YouTube video 2026-07-21 14:54:31 +02:00
database.rs fix(core+frontend): exclude avatar blobs from tweet % cached display 2026-07-21 15:30:42 +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