# Fallback feedback

When file sharing is unavailable, tapping a channel downloads the card and copies its message, then briefly confirms the result.

## Sub-features

- Both false and absent `canShare` use the fallback.
- Success shows “Image saved, message copied”. Denial shows “Image saved, message not copied”.
- Feedback disappears after 2.5 seconds and never offers a Share image step.

## How to get to it (user POV)

Open the share row in a browser without file sharing and click Instagram or WhatsApp.

## Driving it with Playwright

Preconditions: run doctor and the helper; its none/absent capability scenarios exercise this feature.

- Click a channel: a real PNG download occurs, the file measures 1080×1920, and successful clipboard writes can be read back with the exact channel message.
- Inspect the status toast outside the share menu: it reports success or denial truthfully, then disappears after advancing the browser clock by 2.5 seconds.
- Inspect boundary calls: no native share call and no external request.

## Gotchas

Clipboard permission is a browser boundary. A denied copy must not claim success. The two-second clipboard bound is additionally verified by unit tests. Cancellation of an available native share sheet must never enter this fallback.
