fix(desktop): stop listing browsers that are not installed

Detection keyed off the browser's user-data directory, which is not evidence
the browser exists. Installers for native messaging hosts create an empty one
for every Chromium fork they know about, so a machine with only Chrome and
Helium listed Edge, Brave, Vivaldi, Opera and Arc as importable sources — each
holding nothing but a `NativeMessagingHosts` folder.

It now keys off the cookie database, which is the thing an import actually
needs. Existence is checked without opening the file, which matters for Safari:
TCC permits `stat` on the jar inside its container but refuses a read, so
Safari is still found and the user gets the Full Disk Access prompt instead of
Safari vanishing from the list.

A source that is not on the machine is now left out of the menu rather than
shown as a dead row. Every other unavailable reason stays visible, because each
names something the user can do — quit the browser, grant access.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2377fdbcf2Julius Marminge committed on 9/4/2026, 6:20:37 AMparentd1ff9bf
4 files changedLine totals unavailable