Skip to content

Qualify rich MIME capture and paste across browser and LibreOffice #8

Description

@c-wri

Purpose

docs/qualification.md requires live rich browser/office MIME capture and paste before the v0.2 line can be promoted to a release candidate. Current stabilization has proven plain text, terminal liveness, terminal fallback safety, and failure preservation, but rich MIME behavior has not yet been exercised end-to-end on supported COSMIC.

Qualification invariant

ClipReg must preserve the complete non-secret MIME object offered by the source application and make those representations available to the destination application without degrading the ordinary clipboard to plain text or corrupting unrelated clipboard state.

Required live cases

Browser -> LibreOffice Writer

  • Select text in Brave that visibly contains at least bold, italic, a hyperlink, and multiple paragraphs/list structure.
  • Grab it into a register using the normal ClipReg shortcut.
  • Verify the register contains text/html plus appropriate text fallback MIME(s).
  • Verify the unrelated pre-grab clipboard remains unchanged.
  • Paste the register into LibreOffice Writer using ClipReg.
  • Verify visible formatting and hyperlink semantics survive where offered/supported.
  • Verify the pre-paste ordinary clipboard is restored afterward.

LibreOffice Writer -> Writer/new document

  • Create styled content using mixed bold/italic, heading/body text, list structure, and a hyperlink.
  • Grab into a separate register.
  • Verify LibreOffice rich MIME representation(s) plus text fallback are stored.
  • Paste into a new Writer document and verify formatting/structure survive.

LibreOffice Calc multi-cell range

  • Create a small range containing text, numbers, a formula, distinct cell formatting, and at least a 2x2 shape.
  • Grab the selected cells into a separate register.
  • Verify the register contains spreadsheet/LibreOffice-specific MIME representation(s), not only plain text.
  • Paste into an empty area/sheet and verify cell boundaries, values/formula behavior, and formatting survive where the source/destination expose them.

Failure / preservation checks

For each case:

  • NRestarts must remain unchanged.
  • clipreg list, clipreg doctor, and clipreg app must remain responsive afterward.
  • Grab must not replace the unrelated ordinary clipboard.
  • Paste must restore the prior ordinary clipboard after the consumer completes.
  • CopyQ suppression must not leave ClipReg staging/restoration entries in clipboard history.

Evidence

Record:

  • source/destination applications;
  • register names;
  • clipreg show <register> MIME lists;
  • visible result (pass/fail and what semantics survived);
  • clipboard-preservation checks;
  • NRestarts before/after;
  • relevant transaction phase logs if any operation fails.

This is a v0.2.0-rc.1 qualification gate, not a request to add formats ClipReg invents itself. The application-offered MIME object is authoritative.

Metadata

Metadata

Assignees

Labels

area:runtimeNative daemon, protocol, transaction, or persistence behaviorpriority:blockerBlocks the next release promotionrelease:0.2Targets the v0.2.0 line

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions