# VGMdb Collection Manager — Firefox Extension

> **Status:** Active
> **Category:** Browser Extensions
> **Language:** JavaScript (Firefox Extension, .xpi package)
> **Extension file:** `f40e4e220e2443e28269-1.0.xpi`

## Purpose

A packaged Firefox browser extension (equivalent in function to the Chrome versions) that overlays a collection management panel on VGMdb album pages. Allows checking, adding, updating, and removing albums from a linked Google Sheet collection without leaving the page.

## What is an .xpi file?

An `.xpi` file (Cross-Platform Install) is Mozilla's extension package format — essentially a ZIP archive containing the extension's JavaScript, manifest, CSS, and assets. It is the Firefox equivalent of a Chrome `.crx` file. Unlike unpacked developer extensions, an `.xpi` can be sideloaded directly into Firefox without enabling a full developer mode.

## Source Availability

> **Note:** Only the compiled `.xpi` binary is present in the `vgmdb-firefox-script/` folder. No source files (`manifest.json`, `content.js`, `background.js`, etc.) are available in this directory. The source code for the equivalent Chrome versions can be found in:
> - [`vgmdb-chrome-script/`](vgmdb-chrome-script.md)
> - [`!vgmdb-collection/`](vgmdb-collection-extension.md)

The `.xpi` is likely a packaged build of one of those Chrome extensions, adapted for Firefox.

## Installation in Firefox

### Method 1: Temporary Installation (Developer Mode)

This method works without a Mozilla-signed extension and persists until Firefox is restarted.

1. Open Firefox and navigate to `about:debugging`
2. Click **This Firefox** in the left panel
3. Click **Load Temporary Add-on...**
4. Browse to `vgmdb-firefox-script/` and select `f40e4e220e2443e28269-1.0.xpi`
5. The extension will appear in the list and activate immediately

### Method 2: Permanent Installation (Firefox ESR / Developer Edition)

For permanent installation of unsigned extensions:

1. Navigate to `about:config` in Firefox
2. Search for `xpinstall.signatures.required` and set it to `false`
   - This setting is only available in Firefox ESR, Developer Edition, or Nightly — not in standard Firefox releases
3. Navigate to `about:addons`
4. Click the gear icon → **Install Add-on From File...**
5. Select the `.xpi` file

### Method 3: Firefox Standard Release

Standard Firefox enforces extension signing. To install an unsigned `.xpi` permanently you must use Firefox Developer Edition or Firefox ESR with signature checking disabled.

## Notes

- The extension filename `f40e4e220e2443e28269-1.0.xpi` appears to be a hash-prefixed build artefact, not a descriptive name.
- Since source is unavailable in this folder, the exact spreadsheet ID, OAuth client ID, and sheet name hardcoded inside cannot be confirmed without unpacking the `.xpi` (which can be done by renaming it to `.zip` and extracting).
- To inspect the contents: `unzip f40e4e220e2443e28269-1.0.xpi -d xpi-contents/`
- The Chrome source versions store data in spreadsheet `1Gz2A_xn2JSvENJH20aCEUXR1i01rrCvM3P2_NXyU-vs` — the Firefox build likely targets the same sheet.

## Related Scripts

- [VGMdb Collection Manager (Chrome)](vgmdb-chrome-script.md) — Chrome version with source available
- [VGMdb Collection Extension (!vgmdb-collection)](vgmdb-collection-extension.md) — newer Chrome version, marked as working
