Skip to content

Conversation

@jorgeasaurus
Copy link
Contributor

Pull Request Summary

  • Added a Firefox-specific build pipeline that swaps in MV2 assets after the webpack build completes, including the new scripts/build-firefox.js, public/manifest.firefox.json, and devtools bootstrap scripts.
  • Introduced a cross-browser runtime wrapper (src/common/browserApi.js) and updated consumers (for example, src/common/client.js) so promise-based messaging and storage work in Firefox.
  • Refreshed the DevTools command bar with custom SVG icons while extending docs to highlight Firefox availability and providing a dedicated setup guide (FIREFOX_README.md).

Since Firefox builds are not yet in releases, update instructions to clone
and build the extension from source using npm run build:firefox
@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello @jorgeasaurus, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request significantly expands the extension's reach by adding full support for the Firefox browser. It involves creating a specialized build process for Firefox, developing a robust cross-browser API compatibility layer to handle platform differences, and updating the user interface with custom icons. Additionally, comprehensive documentation has been added to guide users and developers through the Firefox-specific setup and usage.

Highlights

  • Firefox Compatibility: Introduced comprehensive support for Firefox, enabling the extension to run on Mozilla's browser. This includes a dedicated build pipeline, a Firefox-specific manifest (MV2), and browser API compatibility layers.
  • Cross-Browser API Wrapper: Implemented a new browserApi.js module that provides a unified, promise-based interface for browser APIs (like storage and messaging), abstracting away differences between Chrome/Edge and Firefox.
  • Updated DevTools Command Bar: Refreshed the DevTools command bar with custom SVG icons for 'Save script' and 'Clear session' actions, improving visual consistency and user experience.
  • Enhanced Documentation: Added a detailed FIREFOX_README.md guide for building, testing, and publishing the extension on Firefox, and updated the main README.md to reflect Firefox availability and installation instructions.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

@jorgeasaurus
Copy link
Contributor Author

jorgeasaurus commented Oct 4, 2025

Addressing #2

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces Firefox support, which is a great addition. The changes include a new build pipeline for Firefox, a compatibility layer for browser APIs, and updates to documentation.

My review has identified a critical architectural issue: there are four different and inconsistent strategies for handling cross-browser API compatibility. This will make the code difficult to maintain and debug. I strongly recommend standardizing on a single approach. The explicit wrapper module src/common/browserApi.js seems like the most robust and maintainable option.

Additionally, I've found a couple of unused files that appear to be remnants of alternative implementations. Removing this dead code will improve clarity. I've also suggested some refactoring to reduce code duplication and improve efficiency in the new helper modules. Finally, there are a few minor inconsistencies in the new FIREFOX_README.md that should be addressed.

Overall, the PR is in good shape, but addressing these architectural and maintainability points will significantly improve the quality of the codebase.

@jorgeasaurus
Copy link
Contributor Author

jorgeasaurus commented Oct 4, 2025

Addressing Gemini Code Comments and reopening.

…; unify browser API handling, streamline storage and tab functions, and enhance DevTools integration.
@wbaeck
Copy link

wbaeck commented Dec 16, 2025

@merill

🎁 EMERGENCY MERGE: Santa needs this code! 🎅

Please, oh please! Grant this little PR its Christmas miracle! 🙏

Let's get this done before Santa makes his rounds! You're the best!

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