The Web Store dashboard rejects any manifest containing a "key" field
("key field is not allowed in manifest"), but extension/manifest.json
pins one so unpacked/dev installs get a stable ID. Add a third release
asset with key stripped from a copy, so future releases have an
upload-ready zip without touching the pinned manifest.
Chrome requires manifest.json at the zip root for Web Store submission
and manual unpacked loading. The whole-repo git archive added for the
native-host installer buried it under extension/, so publish both: a
manifest-at-root extension zip and the full-repo source zip.
Trim intro fluff, add per-distro dependency install commands, and make
the Chrome Web Store the primary extension install path with unpacked
install demoted to a dev-only section. Also switch the release workflow
to archive the whole repo instead of just extension/, since install.sh
and native-host/ are now what the README points users at downloading.
install.sh now sets KGet's remembered "New Download" folder
(kgetrc Internal/LastDirectory) to the XDG downloads directory if it
isn't already configured, since KGet's own out-of-the-box default was
Documents. Falls back correctly even when xdg-user-dir has no
user-dirs.dirs config to read (it silently returns bare $HOME
otherwise).
Also add a GitHub Actions workflow that packages extension/ into a zip
and publishes a GitHub Release with generated notes whenever a
v*.*.* tag is pushed.