Reading special pasteboard items causes side effects in source applications

Issue: When Clipboard Manager is enabled, every Copy action in LibreOffice Writer or Microsoft Word causes a bookmark referencing the copied content to be created in the document.

Explanation: The apps write data into the general pasteboard under a UTI that is intended to facilitate object linking between documents. Simply reading the data under such UTI signals to the source app that the destination app has pasted the copied content as a link. In response, the source app creates a bookmark to make the link work.

It’s bizarre that simply reading the public pasteboard contents can cause the source document to become altered. It seems to me these apps should be using private pasteboards, but the reality is they don’t. There may be similar behaviour in other apps, but I’m currently only aware of these two.

It would be wise to ignore any known problematic UTIs or limit BTT’s Clipboard Manager to a predefined or configurable list of supported UTIs.

I recommend Pasteboard Viewer for inspecting all the crap that apps dump into the general pasteboard.

I have found that reading either of the following UTIs causes MS Word to create a bookmark:

com.microsoft.Link-Source
com.microsoft.ObjectLink

It probably won’t hurt to ban all com.microsoft.* UTIs.

For LibreOffice, the bookmark-triggering UTI appears to be dyn.ah62d4rv4gu80c6durvy0g2pyrf106p52fz11a3psr7xgq4pdqy0024psrq71s4psqv11s649q311e5pbsv1gc5pfpu8wexdmr3zwe.

weird, for Microsoft apps, BTT is already ignoring all of these. Are you sure it's the BTT clipboard manager that causes the bookmarks for you? (I tried to reproduce but was unable to)

I'll add a way to set ignored UTIs

Hmm. Looks like I goofed up somehow. Can no longer reproduce except in a very specific case: if there’s something copied from Word on the pasteboard when BTT’s clipboard manager is activated for the first time (by creating the action), then a bookmark gets created. This is such an edge case that it’s likely not even worth investigating.

I probably caused the bookmarks myself by inspecting in Pasteboard Viewer. Sorry about the false report. I mainly don’t use Word but wanted to do a quick check to see if it’s affected too. In LibreOffice the issue is definitely real, and I would recommend blacklisting their magic UTI by default.

thanks for testing! I'll check whether it's the same identifier for LibreOffice on my machine. It looks a bit weird for fixed magic UTI

dyn.* UTIs are dynamic UTIs, created automatically for content types that don't have a registered UTI. But “dynamic” doesn’t mean random. They’re generated deterministically from the content type info, so they’re stable over time and across machines.

Update: I raised this on LibreOffice Bugzilla as well, and the team was surprisingly responsive. A fix has already been committed and targets the next point release, so the issue will soon go away.

Great! I have also added the UTI to recent alphas, so it should also be fixed for older versions soon.