Skip to content

feat: Add Firefox (MV2) support#69

Open
bpetrynski wants to merge 2 commits intovivek-nexus:mainfrom
bpetrynski:feat/firefox-chrome-dual-support
Open

feat: Add Firefox (MV2) support#69
bpetrynski wants to merge 2 commits intovivek-nexus:mainfrom
bpetrynski:feat/firefox-chrome-dual-support

Conversation

@bpetrynski
Copy link

@bpetrynski bpetrynski commented Oct 2, 2025

Summary

This PR adds Firefox Manifest V2 support alongside the existing Chrome Manifest V3, and imports the latest caption capture improvements from upstream.

Changes

Firefox Support

  • ✅ Add Firefox Manifest V2 (manifest-firefox.json)
  • ✅ Implement Firefox-compatible download mechanism using blob and meetings.html
  • ✅ Add browser detection (isFirefox()) to handle Chrome vs Firefox differences
  • ✅ Add cross-browser build script (scripts/build-cross.sh)

Other Improvements

  • ✅ Updated .gitignore patterns
  • ✅ Updated README with Firefox installation instructions
  • ✅ Removed old extension-unpacked.zip

Testing

  • Tested on Chrome (MV3)
  • Tested on Firefox (MV2)
  • Build script generates both Chrome and Firefox packages

Browser Compatibility

  • Chrome (Manifest V3): ✅ Full support
  • Firefox (Manifest V2): ✅ Full support with separate manifest

Build Instructions

bash scripts/build-cross.sh

This generates:

  • dist/transcriptonic-chrome-v3.2.3.zip
  • dist/transcriptonic-firefox-v3.2.3.zip

- Add Firefox Manifest V2 support with separate manifest-firefox.json
- Implement Firefox-compatible download mechanism using blob and meetings.html
- Add browser detection (isFirefox) to handle Chrome vs Firefox differences
- Import caption capture improvements from upstream (v3.2.3):
  - Simplified DOM selectors (removed canUseAriaBasedTranscriptSelector)
  - Improved person selection logic with edge case handling
  - Better meeting start timestamp tracking
  - Structured error handling with ErrorObject pattern
  - Meeting software tracking (meetingSoftware field)
  - Enhanced version validation with meetsMinVersion()
  - Updated analytics endpoints with meetingSoftware parameter
- Add cross-browser build script (build-cross.sh) for Chrome and Firefox
- Update .gitignore with modern patterns for build artifacts
- Update README with Firefox installation instructions
- Bump version to 3.2.3
@vivek-nexus
Copy link
Owner

vivek-nexus commented Oct 3, 2025

@bpetrynski thanks a lot for taking the time to raise PR to support Firefox.

I currently don't have the bandwidth to maintain Firefox version along with Chrome version. While you have done a lot of the initial heavy lifting, maintaining it over time requires effort and I am not in a position to commit to that right now.

I would be happy to add a link to your forked repo in the readme, so that people looking for Firefox version can use it.

- Updated to v3.2.5
- Integrated upstream capture logic improvements
- Added Firefox-specific download handling via meetings.html
- Preserved dual manifest support (Chrome MV3 / Firefox MV2)
- Kept Firefox installation instructions in README
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

Comments