Clipd 0.6.0
Install this on BOTH Macs. 0.3.0 and 0.4.0 both have sync bugs that make two devices disagree, and some fixes here only work when both ends have them.
Gatekeeper will refuse to open it on the second Mac, because a free Apple account cannot notarise:
xattr -dr com.apple.quarantine /Applications/Clipd.app
Name any item
Right click a card and choose Name Item. The name is searched together with the content, so an item becomes findable by a word that appears nowhere in it. A named card shows its name in the header and moves the kind down beside the age. Emptying the field removes the name.
Cmd+1 to Cmd+9 pastes
The number in the corner of a card is now a real shortcut: Cmd+3 pastes card three. Cards past 9 no longer draw a number, because there is no shortcut for them. Pinning a card to a board moved to Ctrl+1 to Ctrl+9, and the card menu shows the new keys.
Copied code keeps its formatting
Swift, JavaScript, TypeScript, Python, JSON, YAML, Markdown, Shell, SQL, HTML, CSS, Go and Rust keep their line breaks and indentation, in a monospaced font with syntax colours, and the header names the language. Detection is conservative, so an ordinary email stays plain text. A YAML file that opens with # comments is read as YAML, not Markdown.
Search covers the whole history
Search used to scan only the newest 500 items held in memory, so with retention set to six months or a year, older items were silently unfindable. It now uses the full text index over everything stored.
Sync fixes
- A deletion that tied on time was dropped, so one Mac could show an item folded away while the other kept both, forever.
- Two tied deletions planned a pointless download on every pass.
- A deduplication decision never reached the other Mac, which could then expire an item this Mac had just refreshed.
- Listing the bucket stopped at 1000 objects, so cleanup silently stopped working past that.
- One object written by a newer Clipd would have aborted a whole sync pass. It now skips that object and finishes.
- An older Mac re-copying a named item can no longer erase the name.
Under the hood
- Payload format v2 exists and is read, but this build still WRITES the older format, so a Mac on 0.3.0 can still read what this one uploads.
- No more implicitly unwrapped optionals in the app delegate or the panel. That pattern crashed the app on launch in 0.3.0.
158 Core tests, 150 shell tests.