diff options
Diffstat (limited to 'docs')
| -rw-r--r-- | docs/superpowers/plans/2026-08-03-post-0.1.0-usability-closed.md | 11 | ||||
| -rw-r--r-- | docs/superpowers/plans/2026-08-03-post-0.1.0-usability.md | 16 |
2 files changed, 25 insertions, 2 deletions
diff --git a/docs/superpowers/plans/2026-08-03-post-0.1.0-usability-closed.md b/docs/superpowers/plans/2026-08-03-post-0.1.0-usability-closed.md index 4f361bf..a4aae42 100644 --- a/docs/superpowers/plans/2026-08-03-post-0.1.0-usability-closed.md +++ b/docs/superpowers/plans/2026-08-03-post-0.1.0-usability-closed.md @@ -5286,8 +5286,15 @@ returning `nullptr` discards it before it can be read. Routing it through the same handler the plain-link path uses is what keeps the two kinds of link from drifting apart. -127: three actions added to `removeBrowserActions()`'s list, -`CopyLinkToClipboard` deliberately left. The order mattered: 126 gives the page +127: four actions added to `removeBrowserActions()`'s list, +`CopyLinkToClipboard` deliberately left. The fourth, `DownloadLinkToDisk`, was +added after a hand test: it had been deferred to item 114 alongside Save image +on the grounds that both are inert without a `downloadRequested` handler. True, +and the wrong conclusion. Save image is content the message already carries; +Save link fetches a sender-chosen remote URL through the one profile that must +never fetch remote content, so it is removed rather than implemented, and item +114 now carries the constraint that a handler for the former must not revive the +latter. The order mattered: 126 gives the page a real `createWindow()`, so those entries would have stopped being merely dead and started opening links into a tab that does not exist. diff --git a/docs/superpowers/plans/2026-08-03-post-0.1.0-usability.md b/docs/superpowers/plans/2026-08-03-post-0.1.0-usability.md index 3848a6d..d7783f7 100644 --- a/docs/superpowers/plans/2026-08-03-post-0.1.0-usability.md +++ b/docs/superpowers/plans/2026-08-03-post-0.1.0-usability.md @@ -730,6 +730,22 @@ for the network to satisfy it. **Size: S.** +**Save LINK is no longer part of this item** (2026-08-20, item 127). It was +deferred here on the grounds that both are inert for want of a +`downloadRequested` handler, which is true and beside the point: they are not +the same question. + +Save image is content the message already carries, and making it work is what +this item is about. Save link fetches a REMOTE URL chosen by the sender, +through the pane's profile, which is the one profile in the application that +must never fetch remote content. It is removed from the menu rather than +implemented, and `theLinkMenuDropsTheOpenInWindowActions` asserts its absence. + +**That assertion constrains this item.** A `downloadRequested` handler added to +make Save image work must not make Save link reachable again. The test fails if +it does, which is the point: the handler is per-profile, so the natural +implementation would light up both entries at once. + ## 118. No way to empty the trash from inside the app **Observed (user, 2026-08-17):** raised while reviewing item 103's spec, as |
