Skip to content

feat(tool): offer an email link on files we can't explain - #25

Merged
lars-1987 merged 1 commit into
mainfrom
feat/report-failed-file
Nov 1, 2026
Merged

lars-1987 merged 1 commit into
mainfrom
feat/report-failed-file

Conversation

@lars-1987

Copy link
Copy Markdown
Owner

Summary

The failed file card offers an email link, but only for failures we can't explain.

 <CardReview>
   failed
     This file could not be read.
     {reason} Nothing was changed...
+    if isUnexplained(entry.reason)
+      Want us to look into it? <a mailto> Email hello@metastrip.app
Failure Link? Why
crash: Error, unreadable: pdf, empty_output: png Yes We can't account for it
crash: NotFoundError, crash: NotReadableError No The browser failed the read, and the message already says what to do
too_large, recognised: tiff, unsupported_type No The message explains it

The email opens in the person's own mail app, pre-filled:

What made this file, and what were you trying to do?

You don't need to attach the file. Knowing what made it is usually enough.

Reason: crash: Error at info:CreationDate
Format: pdf
Size: 270.2 KB
Browser: Mozilla/5.0 ...

No file name, and no request for the file, because the privacy page says we never see one. failure_report_clicked counts clicks, not sent emails.

Evidence

  • Before: the card said the file may be damaged, with nothing to do next.
    After: built site in headless Chrome, desktop and phone, with real files:
PDF with an unparsable date  -> link shown, no file name in the email
truncated PDF                -> link shown
healthy PDF                  -> no link
no horizontal overflow at 390 px

317 tests pass, typecheck and lint clean. Merged locally with #24: no conflicts, tests pass.

Not tested: the click event in a real browser, or a message actually reaching the inbox. metastrip.app has iCloud MX records.

Merge Danger

Door: two-way

Blast Radius: failed-card

Only appears on the failed file card, so most sessions never see it. Merge #24 first, so emails carry the crash step.

A crash or an unreadable file told the person it may be damaged and left it
there, and telemetry can't say what made the file. The failed file card now
offers an email with the reason, format, size and browser filled in.

Only for failures we can't account for: refused formats and sizes explain
themselves, and a browser read error has its own advice. The email never
carries the file name, and says no attachment is needed, because the privacy
page says we never see a file.

@lars-1987 lars-1987 left a comment

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good

@lars-1987
lars-1987 merged commit a856822 into main Nov 1, 2026
1 check passed
@lars-1987
lars-1987 deleted the feat/report-failed-file branch November 1, 2026 00:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant