Files
dragonsstash/worker
adminandClaude Sonnet 5 d8079c412a fix(archive): close silent-drop gaps in attachment detection
Files whose names match no pattern in detect.ts are dropped with no log,
no packages row and no skipped_packages row. Five gaps of that class:

- Numbered volumes were implemented format-by-format (ZIP_NUMBERED,
  SEVENZ_NUMBERED) with no RAR equivalent, so Pack.rar.001 vanished.
  Replaced both with a single ARCHIVE_NUMBERED pattern over zip|7z|rar
  that derives the format from the match, so adding a format can no
  longer be forgotten. \d{2,} also picks up hand-renamed .rar.01 sets.
- RAR legacy sets were ordered wrong: singles were always sorted last,
  which is right for .zip/.z01 (the bare .zip is the final disk) but
  wrong for .rar/.r00 (the bare .rar is volume 1). parts[0] became a
  headerless continuation volume, so listing failed and the package was
  labelled from the wrong message. Corrected the misleading comment too.
- Trailing/leading whitespace and trailing dots survive TDLib verbatim
  and every pattern is $-anchored, so "Pack.zip " was dropped. The
  filename is now normalized before matching and for baseName.
- RAR_PART now accepts .partN.exe, the self-extracting first volume;
  previously the set was grouped starting at part 2.
- DOCUMENT_EXTENSIONS gained the slicer-project, 3D-model and CAD
  formats present in this corpus (lys, chitubox, ctb, fbx, ztl, ... plus
  the blend1 autosave sibling). Image formats stay excluded on purpose.

Tests written first; 31 new cases including pattern-order safety
(ZIP_LEGACY must not swallow .7z.001 and ARCHIVE_NUMBERED must not
swallow .z01/.r00) and both legacy part-ordering directions.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-22 17:16:09 +02:00
..
2026-07-23 11:18:57 +02:00