Commit Graph

112 Commits

Author SHA1 Message Date
adamlamers 544bd14cbb don't reuse playwright server 2026-05-04 20:19:04 -04:00
adamlamers 078ea8931b exclusion list apply logic
Continuous Integration / backend-tests (push) Successful in 49s
Continuous Integration / frontend-check (push) Successful in 25s
Continuous Integration / e2e-tests (push) Successful in 6m14s
2026-05-04 20:16:47 -04:00
adamlamers 699bc415fb exclusion policy tools
Continuous Integration / backend-tests (push) Successful in 50s
Continuous Integration / frontend-check (push) Successful in 31s
Continuous Integration / e2e-tests (push) Successful in 6m6s
2026-05-04 19:27:43 -04:00
adamlamers adb036a2f4 consolidate playwright tests
Continuous Integration / backend-tests (push) Successful in 25s
Continuous Integration / frontend-check (push) Successful in 15s
Continuous Integration / e2e-tests (push) Successful in 13m15s
2026-05-04 18:42:01 -04:00
adamlamers b92d0e7e63 modularize system endpoints
Continuous Integration / backend-tests (push) Successful in 28s
Continuous Integration / frontend-check (push) Successful in 15s
Continuous Integration / e2e-tests (push) Failing after 7m59s
2026-05-04 18:27:36 -04:00
adamlamers 89de081a6c add operation ids to all endpoints, for cleaner generated ts client
Continuous Integration / backend-tests (push) Successful in 27s
Continuous Integration / frontend-check (push) Successful in 15s
Continuous Integration / e2e-tests (push) Failing after 23m48s
2026-05-04 18:07:18 -04:00
adamlamers 9064d3b7ea make endpoint names more consistent with their purpose
Continuous Integration / backend-tests (push) Successful in 30s
Continuous Integration / frontend-check (push) Successful in 16s
Continuous Integration / e2e-tests (push) Successful in 12m27s
2026-05-04 17:40:35 -04:00
adamlamers 8336805ee2 natural sort for filebrowser 2026-05-04 16:44:05 -04:00
adamlamers ddebbd40ea show directory sizes
Continuous Integration / backend-tests (push) Successful in 27s
Continuous Integration / frontend-check (push) Successful in 15s
Continuous Integration / e2e-tests (push) Successful in 10m15s
2026-05-04 16:38:25 -04:00
adamlamers d55c8ad6d1 show directory metadata in archive browser
Continuous Integration / backend-tests (push) Successful in 48s
Continuous Integration / frontend-check (push) Successful in 26s
Continuous Integration / e2e-tests (push) Successful in 7m17s
2026-05-04 16:27:26 -04:00
adamlamers 2f8e343b6d filebrowsers working
Continuous Integration / backend-tests (push) Successful in 1m0s
Continuous Integration / frontend-check (push) Successful in 31s
Continuous Integration / e2e-tests (push) Successful in 16m44s
2026-05-04 14:01:12 -04:00
adamlamers 40db1251e1 replace assert with if 2026-05-02 14:15:44 -04:00
adamlamers 1343304c60 log exception paths 2026-05-02 14:13:46 -04:00
adamlamers c303e73071 fix discrepancy ui
Continuous Integration / backend-tests (push) Successful in 44s
Continuous Integration / frontend-check (push) Successful in 25s
Continuous Integration / e2e-tests (push) Successful in 7m1s
2026-05-01 23:26:29 -04:00
adamlamers 351bc169c5 fix test durations 2026-05-01 22:56:55 -04:00
adamlamers 901b17f7cd dont load directory treemap by default
Continuous Integration / backend-tests (push) Successful in 48s
Continuous Integration / frontend-check (push) Successful in 25s
Continuous Integration / e2e-tests (push) Failing after 7m49s
2026-05-01 20:10:58 -04:00
adamlamers c56973c254 fix metadata sidebar
Continuous Integration / backend-tests (push) Successful in 52s
Continuous Integration / frontend-check (push) Successful in 16s
Continuous Integration / e2e-tests (push) Failing after 8m53s
2026-05-01 17:42:42 -04:00
adamlamers 1b696114de fix discrepancy view
Continuous Integration / backend-tests (push) Successful in 47s
Continuous Integration / frontend-check (push) Successful in 23s
Continuous Integration / e2e-tests (push) Failing after 8m11s
2026-05-01 16:47:58 -04:00
adamlamers d6250986b8 fix svelte issues
Continuous Integration / backend-tests (push) Successful in 57s
Continuous Integration / frontend-check (push) Successful in 27s
Continuous Integration / e2e-tests (push) Successful in 7m1s
2026-05-01 13:25:00 -04:00
adamlamers e939e6a86d add discrepancy mode for filebrowser 2026-05-01 10:55:27 -04:00
adamlamers 79986066bf fix tests
Continuous Integration / backend-tests (push) Successful in 32s
Continuous Integration / frontend-check (push) Successful in 16s
Continuous Integration / e2e-tests (push) Successful in 5m52s
2026-04-30 22:49:25 -04:00
adamlamers 80d47c582c address issues
Continuous Integration / backend-tests (push) Successful in 51s
Continuous Integration / frontend-check (push) Successful in 27s
Continuous Integration / e2e-tests (push) Successful in 6m16s
2026-04-30 22:18:18 -04:00
adamlamers dc94893dc5 address these:
Continuous Integration / backend-tests (push) Successful in 30s
Continuous Integration / frontend-check (push) Successful in 16s
Continuous Integration / e2e-tests (push) Successful in 6m14s
| # | Issue | Location |
|---|-------|----------|
| 1 | **Archiver backs up deleted files** — `get_unbacked_files` never checks `is_deleted`, so files the scanner marked missing still get archived (wastes media, fails at tar assembly when source is gone) | `archiver.py:157-163` |
| 2 | **Hashing phase marks wrong files as deleted** — after one sub-batch finishes, the code iterates over ALL fetched records (`path_to_record`) not just the completed sub-batch. Files in pending sub-batches get falsely `is_deleted=True` if not on disk | `scanner.py:854-861` |
| 3 | **Multiple threads mutate ORM objects concurrently** — `ThreadPoolExecutor` workers share and write to session-bound objects (`sha256_hash`, `is_deleted`) from different threads. SQLAlchemy sessions are not thread-safe | `scanner.py:814-861` |
2026-04-30 17:06:55 -04:00
adamlamers 90a1de3f05 cleaner typescript client generation 2026-04-30 15:10:51 -04:00
adamlamers ced59b9379 fix discrepancy management
Continuous Integration / backend-tests (push) Successful in 9m54s
Continuous Integration / frontend-check (push) Successful in 9m44s
Continuous Integration / e2e-tests (push) Successful in 20m42s
2026-04-30 12:55:55 -04:00
adamlamers 0edec7ae73 fix stats
Continuous Integration / backend-tests (push) Successful in 10m1s
Continuous Integration / frontend-check (push) Successful in 9m31s
Continuous Integration / e2e-tests (push) Successful in 21m53s
2026-04-30 11:01:18 -04:00
adamlamers e3a2fcc392 ignore files marked as deleted
Continuous Integration / backend-tests (push) Successful in 10m5s
Continuous Integration / frontend-check (push) Successful in 9m50s
Continuous Integration / e2e-tests (push) Failing after 3h12m29s
2026-04-30 10:33:01 -04:00
adamlamers f8d7244729 playwright tests passing
Continuous Integration / frontend-check (push) Successful in 9m38s
Continuous Integration / backend-tests (push) Successful in 9m48s
Continuous Integration / e2e-tests (push) Successful in 19m35s
2026-04-30 03:14:05 -04:00
adamlamers 81ff48d797 job logs + better status popup
Continuous Integration / backend-tests (push) Successful in 10m3s
Continuous Integration / frontend-check (push) Successful in 9m43s
Continuous Integration / e2e-tests (push) Failing after 17m1s
2026-04-30 01:51:26 -04:00
adamlamers c2b31407ae create restore dir
Continuous Integration / frontend-check (push) Successful in 9m31s
Continuous Integration / backend-tests (push) Successful in 9m46s
Continuous Integration / e2e-tests (push) Successful in 19m38s
2026-04-30 00:29:08 -04:00
adamlamers 1dc439373a fix drag n drop on empty state
Continuous Integration / backend-tests (push) Failing after 5m17s
Continuous Integration / e2e-tests (push) Has been cancelled
Continuous Integration / frontend-check (push) Has been cancelled
2026-04-30 00:20:02 -04:00
adamlamers 40e1a18607 discrepancy test improvement
Continuous Integration / backend-tests (push) Failing after 5m14s
Continuous Integration / frontend-check (push) Successful in 9m36s
Continuous Integration / e2e-tests (push) Has been skipped
2026-04-30 00:03:20 -04:00
adamlamers 0b302d2961 cleanup
Continuous Integration / backend-tests (push) Failing after 5m25s
Continuous Integration / frontend-check (push) Successful in 9m45s
Continuous Integration / e2e-tests (push) Has been skipped
2026-04-29 23:53:53 -04:00
adamlamers d5fba26554 streaming subprocesses
Continuous Integration / backend-tests (push) Successful in 10m4s
Continuous Integration / frontend-check (push) Successful in 9m38s
Continuous Integration / e2e-tests (push) Successful in 19m26s
2026-04-29 21:22:33 -04:00
adamlamers ed3ccc4380 fix missing file hash loop
Continuous Integration / backend-tests (push) Successful in 9m47s
Continuous Integration / frontend-check (push) Successful in 10m2s
Continuous Integration / e2e-tests (push) Successful in 21m8s
2026-04-29 20:51:17 -04:00
adamlamers 2daa967863 more integration tests
Continuous Integration / frontend-check (push) Successful in 9m39s
Continuous Integration / backend-tests (push) Successful in 9m57s
Continuous Integration / e2e-tests (push) Successful in 19m6s
2026-04-29 20:32:58 -04:00
adamlamers 54d2b0c025 file deletion detection 2026-04-29 18:21:58 -04:00
adamlamers d2aa5857f3 detect deleted or missing files
Continuous Integration / backend-tests (push) Successful in 9m49s
Continuous Integration / frontend-check (push) Successful in 9m31s
Continuous Integration / e2e-tests (push) Successful in 18m13s
2026-04-29 17:52:20 -04:00
adamlamers e4ecdb25db optional system binaries for find/hash
Continuous Integration / frontend-check (push) Successful in 9m50s
Continuous Integration / backend-tests (push) Successful in 10m12s
Continuous Integration / e2e-tests (push) Successful in 18m51s
2026-04-29 17:31:27 -04:00
adamlamers dd84532de9 optionally use find binary if gnu and available 2026-04-29 16:21:05 -04:00
adamlamers 6298aea64a e2e test setup
Continuous Integration / backend-tests (push) Successful in 9m53s
Continuous Integration / frontend-check (push) Successful in 9m36s
Continuous Integration / e2e-tests (push) Failing after 13m51s
2026-04-29 01:26:48 -04:00
adamlamers 01eabbc913 more robust scanning jobs
Continuous Integration / frontend-check (push) Successful in 10m26s
Continuous Integration / backend-tests (push) Successful in 11m13s
2026-04-29 00:45:25 -04:00
adamlamers 0bfd5affb4 tests & remove is_indexed flag from db
Continuous Integration / backend-tests (push) Successful in 11m41s
Continuous Integration / frontend-check (push) Successful in 10m54s
2026-04-28 23:55:39 -04:00
adamlamers c8346f2401 chunking
Continuous Integration / backend-tests (push) Successful in 10m41s
Continuous Integration / frontend-check (push) Successful in 10m4s
2026-04-28 22:11:47 -04:00
adamlamers fc47062dd5 more design tweaks
Continuous Integration / frontend-check (push) Successful in 10m53s
Continuous Integration / backend-tests (push) Successful in 12m22s
2026-04-28 21:14:53 -04:00
adamlamers e1fd853890 clean up the frontend
Continuous Integration / frontend-check (push) Successful in 12m47s
Continuous Integration / backend-tests (push) Successful in 13m33s
2026-04-28 20:26:36 -04:00
adamlamers a8a37bbc3d styling 2026-04-28 16:29:25 -04:00
adamlamers 87e65471aa formatting
Continuous Integration / frontend-check (push) Successful in 10m32s
Continuous Integration / backend-tests (push) Successful in 12m35s
2026-04-28 02:56:23 -04:00
adamlamers 25d865630f fix archive selection
Continuous Integration / frontend-check (push) Successful in 10m19s
Continuous Integration / backend-tests (push) Successful in 12m4s
2026-04-28 02:46:13 -04:00
adamlamers 6cc1c4e0a0 pytest justfile
Continuous Integration / frontend-check (push) Successful in 11m0s
Continuous Integration / backend-tests (push) Successful in 13m38s
2026-04-28 01:59:20 -04:00