Conversation
…ew and Scoop buckets
rgdevment
marked this pull request as draft
August 7, 2026 12:54
rgdevment
marked this pull request as ready for review
August 7, 2026 12:54
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What does this PR do?
Two independent changes on this branch:
1. Formatting is no longer discarded on a plain re-copy (#56)
Copying text that is already in the history again, this time without styles, no
longer clears the
rtf/htmlstored for that item. Stored styles are replacedonly when the incoming copy brings its own — and when it does, both keys are
replaced together, so a copy carrying only HTML can never leave the previous RTF
behind. An empty payload counts as "no styles" and clears nothing.
This reverses the drop introduced in #53. No new setting: it is the behavior for
everyone, on all three platforms.
2. Release hardening
Build provenance attestations for every published artifact (Windows installer
and MSIX, macOS DMG, Linux AppImage/deb/rpm/tar.gz), plus a
update-scoop-bucketjob that publishes the manifest to
rgdevment/scoop-bucketon tag, handlingstable and beta channels separately.
Why?
Rich text contains the plain text, not the other way around. Paste as plain
text already serves the unstyled version at paste time without touching what is
stored, so dropping the formatting layer destroyed the superset to keep the
subset — and left that very button with nothing to do, since a normal paste
already produced plain text.
The original reasoning behind #53 was fidelity: the card should mirror your last
copy. The counter-argument is asymmetry — losing formatting is irreversible,
while unwanted formatting is one click away. On top of that, re-copying as plain
is almost never an instruction to forget the formatting; it usually just means
the text was copied from somewhere else.
Deduplication stays exact
(content, type). No fuzzy or "similar" matching, andno separate rich/plain entries.
Closes #56.