pub const CURRENT_DATE_LOGIC_VERSION: u32 = 2;Expand description
Bumped any time the EXIF date fallback chain changes. Stored in
AppConfig::date_logic_version; on launch, if the saved value is
less than this, the app re-extracts dates for every photo so the
new logic actually takes effect against existing rows.
Bump history:
0 — pre-PR6 chain (DateTimeOriginal -> DateTime -> filename -> mtime)
1 — PR6 chain (DateTimeOriginal -> DateTimeDigitized -> filename -> DateTime -> mtime)
V2 (2026-05-05): stale-EXIF defence. When DateTime modification
tag would be the source, sanity-check it against mtime — if they
disagree by ≥ 2 years, prefer mtime (handles phones whose firmware
clock reset to 2012-01-01 and now stamp every photo with that).
Also adds WhatsApp/Snapchat/generic filename patterns and tightens
the catch-all 8-digit regex so ID strings can’t masquerade as dates.