Urgent.News

What's breaking now, across thousands of outlets.

Tech

My first Firefox add-on was a manifest change

KH4 Companion is a small extension I built: it counts down to Kingdom Hearts IV, puts the days remaining on the toolbar badge, pulls series news and trailers from public feeds, carries a lore compendium, and hides a three-lane rhythm minigame in the popup. It has been on the Chrome Web Store since 19 August. As of this week it is also on addons.mozilla.org , which makes it my first Mozilla…

KH4 Companion is a tiny extension I created, which displays the days left until Kingdom Hearts IV on the Firefox toolbar and offers a rhythm game in its popup. It became available on the Firefox add-on market since the 19th of August, and now it is also on addons.mozilla.org, marking my first Mozilla listing. Initially, I hesitated to port the extension to Firefox due to the perceived complexity, but it turned out to be a straightforward process. All that was needed were four adjustments in the manifest.json file.

The most challenging aspect of the process was the initial rejection of the package by the AMO (Add-ons Marketplace of Mozilla). The error was not in the code but in the manifest file itself, so the first step was to rectify the manifest, make sure the linter had no errors, and then focus on other elements like icons and screenshots.

To set up a new add-on for Firefox, it is essential to define an explicit add-on ID, which is unique for updates. The email-like form or a GUID (8-4-4-4-12) can be used, but once chosen, it remains constant. Moreover, Firefox does not have extension service workers; instead, it utilizes an event page where Chrome employs a service worker. The background script for Firefox must explicitly list the dependencies before the entry file and guard against double-loading.

Another crucial difference is the requirement to declare data collection permissions in the manifest. Since November 2025, every new add-on must specify whether it collects data or not. In this case, the extension collects no data, so the declaration is simply "none." This declaration is displayed to users during the installation prompt, and it must align with the privacy policy and the extension's description.

Lastly, the strict_min_version constraint in the manifest must be set based on the highest applicable floor of the certificate expiry dates. For this extension, a minimum version of 140 was sufficient, and it passed all linting checks without any warnings. After ensuring a clean lint and loading the add-on in Firefox, a ReferenceError can be observed in the Browser Console, which indicates a failed runtime due to the dual-key trap.

Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.

Read the original at dev.to →

More in Tech

More from Sunday 30 August →