E4: Detailed before/after metadata diff view #22
Labels
No labels
bug
documentation
duplicate
e-copy
e-features
e-mobile
enhancement
f-coverage
f-forensic
f-perf
f-privacy
forensic
good first issue
help wanted
infra
invalid
phase-a
phase-b
phase-c
phase-d
phase-e
phase-f
phase-g
phase-h
priority-1
priority-2
priority-3
privacy
question
v5
v6
video-hardening
wontfix
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: forgejo_admin/exifcleaner-web#22
Loading…
Add table
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Part of v5 webapp migration — Phase E: Feature additions
Show a expandable before/after table per file: tag name, value before, value after (empty = removed). The webapp has enough screen real estate to surface this properly.
Addresses GitHub issue szTheory/exifcleaner#167.
See design doc
docs/superpowers/specs/2026-05-05-webapp-migration-design.md§9.5Update 2026-05-11 — implementation deferred from the parallel Phase E starting batch.
Why deferred (not closed)
E4 looks like a renderer change but each format strategy currently exposes only a count of metadata items removed (
metadataRemoved: number). To deliver the issue acceptance criteria ("tag name, value before, value after"), each strategy needs to enumerate parsed metadata as a structured listMetadataItem[] = { source, name, value }[].That is per-strategy work touching privacy-critical paths (JPEG/PNG segment walkers, PDF Info dict, Office docProps, MP4 box tree). Shipping a half-baked version that shows tag names but not values for some formats, or values for none, is worse than not shipping — the trust copy work (#68/#69) sets an expectation of substance.
Surface to enable later
Two paths considered:
FormatStrategy.strip()return type withparsedMetadata: MetadataItem[]. ~1 PR per format. Honest values, honest sources, but ~5 PRs total.exifror hand-rolled EXIF IFD walker) before strip, surface that in the UI. Adds a 6th prod dep or ~150 LOC of EXIF parsing. Avoids strategy churn.Default recommendation when work resumes: path 1, JPEG first (highest user value, strategy already has IFD-walker code from the orientation-preservation path), then PDF (pdf-lib already reads
Infodict and XMP), then PNG, Office, video. Each per-format PR ships independently behind the sameMetadataExpansionrenderer component.Sequencing
Belongs in Phase E.2 — Features alongside #19 (folder support) and #23 (Web Share Target), but unblocked only after one strategy ships the structured-metadata enhancement. Suggest re-bucketing as
phase-e+e-features+ a newblocked-on:strategy-enhancementlabel, or simply re-opening when ready to pick up.Tagging this with
priority-3(or leaving as-is — currently no priority label) to reflect that #19 (folder zip) and copy work (#51, #68, #69) ship first.