Skip to content

fix: maintain RFT on plain text - #57

Merged
rgdevment merged 5 commits into
mainfrom
issue/56
Aug 7, 2026
Merged

fix: maintain RFT on plain text#57
rgdevment merged 5 commits into
mainfrom
issue/56

Conversation

@rgdevment

@rgdevment rgdevment commented Aug 6, 2026

Copy link
Copy Markdown
Owner

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/html stored for that item. Stored styles are replaced
only 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-bucket
job that publishes the manifest to rgdevment/scoop-bucket on tag, handling
stable 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, and
no separate rich/plain entries.

Closes #56.

@rgdevment rgdevment changed the title Issue/56 fix: maintain RFT on plain text Aug 6, 2026
@rgdevment
rgdevment marked this pull request as draft August 7, 2026 12:54
@rgdevment
rgdevment marked this pull request as ready for review August 7, 2026 12:54
@rgdevment rgdevment closed this Aug 7, 2026
@rgdevment rgdevment reopened this Aug 7, 2026
@codecov

codecov Bot commented Aug 7, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@rgdevment
rgdevment merged commit b6dc45c into main Aug 7, 2026
8 checks passed
@rgdevment
rgdevment deleted the issue/56 branch August 7, 2026 13:19
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.

Always prioritize formatted text when content is identical

1 participant