ext/manifest.json — why each line is what it is
18 בספטמבר 2026

!! These were comments inside manifest.json, as "//" keys.
Chrome's parser does not know them and warned on every
install, so they live here instead. The reasoning was worth
keeping; the placement was not.


permissions
  None, and that is deliberate. activeTab was here and was removed: Google's docs say it is not required when host permissions already cover the relevant domains, and Purple Potassium rejects an extension that requests a permission it never uses. There is no chrome.* call anywhere in these six files - the content scripts are static and declared below, which needs no permission at all.

host_permissions
  The four web interfaces people actually use. Adding <all_urls> would be easier and is the reason most extensions get uninstalled.

run_at
  The reply streams in, so the observer has to be running before it finishes.


permissions — and why the key is absent entirely

  There is no permissions key. Not an empty array: absent.
  Nothing in these six files calls a chrome.* API, so the
  extension needs no permission at all, and an empty array
  says the same thing in a way some Chrome builds warn about.

  activeTab was here and was removed: Google's own docs say it
  is not required when host permissions already cover the
  relevant domains, and the Web Store rejects an extension that
  requests a permission it never uses.
