Skip to content

fix: Remove updateEmulatorBanner#9608

Merged
hsubox76 merged 1 commit intomainfrom
ch-remove-emulator-banner
Mar 3, 2026
Merged

fix: Remove updateEmulatorBanner#9608
hsubox76 merged 1 commit intomainfrom
ch-remove-emulator-banner

Conversation

@hsubox76
Copy link
Copy Markdown
Contributor

Revert #8977 and #9055 - changes made to add an emulator warning banner for Firebase Studio. This banner uses innerHTML and is blocked on security checks from being imported into google3. The changes made to enable emulator + SDK functionality in Firebase Studio are still in the codebase, only the warning banner code is being removed.

@changeset-bot
Copy link
Copy Markdown

changeset-bot bot commented Feb 27, 2026

🦋 Changeset detected

Latest commit: 7b109ab

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 30 packages
Name Type
@firebase/data-connect Patch
@firebase/firestore Patch
@firebase/functions Patch
@firebase/database Patch
@firebase/storage Patch
@firebase/auth Patch
@firebase/util Minor
firebase Patch
@firebase/firestore-compat Patch
@firebase/functions-compat Patch
@firebase/database-compat Patch
@firebase/storage-compat Patch
@firebase/auth-compat Patch
@firebase/ai Patch
@firebase/analytics-compat Patch
@firebase/analytics Patch
@firebase/app-check-compat Patch
@firebase/app-check Patch
@firebase/app-compat Patch
@firebase/app Patch
@firebase/component Patch
@firebase/database-types Patch
@firebase/installations-compat Patch
@firebase/installations Patch
@firebase/messaging-compat Patch
@firebase/messaging Patch
@firebase/performance-compat Patch
@firebase/performance Patch
@firebase/remote-config-compat Patch
@firebase/remote-config Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@gemini-code-assist
Copy link
Copy Markdown
Contributor

Summary of Changes

Hello, 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 focuses on removing the updateEmulatorBanner function and all its associated code and references. The primary motivation for this change is to resolve security issues stemming from the banner's use of innerHTML, which was blocking the SDK's integration into google3. This ensures that the core functionality enabling emulator and SDK interaction within Firebase Studio remains operational, while eliminating a component that posed a security risk.

Highlights

  • Removal of Emulator Banner: The updateEmulatorBanner() function, previously used to display a warning banner for Firebase Studio emulator usage, has been entirely removed from the codebase.
  • Security Compliance: This removal addresses security concerns related to the banner's use of innerHTML, which prevented the SDK from being imported into google3 due to strict security checks.
  • Core Functionality Unaffected: The underlying emulator and SDK functionality for Firebase Studio remains intact; only the visual warning banner code has been eliminated.
  • API and Usage Clean-up: References to updateEmulatorBanner() have been removed across various Firebase packages (Auth, Data Connect, Database, Firestore, Functions, Storage) and from the public API definition.

🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console.

Changelog
  • .changeset/yellow-poets-teach.md
    • Added a new changeset file documenting the removal of updateEmulatorBanner().
  • common/api-review/util.api.md
    • Removed the updateEmulatorBanner function from the public API review definition.
  • packages/auth/src/core/auth/emulator.ts
    • Removed the import statement for updateEmulatorBanner.
    • Deleted the call to updateEmulatorBanner within connectAuthEmulator.
  • packages/data-connect/src/api/DataConnect.ts
    • Removed the import statement for updateEmulatorBanner.
    • Deleted the call to updateEmulatorBanner within connectDataConnectEmulator.
  • packages/database/src/api/Database.ts
    • Removed the import statement for updateEmulatorBanner.
    • Deleted the call to updateEmulatorBanner within connectDatabaseEmulator.
  • packages/firestore/src/lite-api/database.ts
    • Removed the import statement for updateEmulatorBanner.
    • Deleted the call to updateEmulatorBanner within connectFirestoreEmulator.
  • packages/functions/src/service.ts
    • Removed the import statement for updateEmulatorBanner.
    • Deleted the call to updateEmulatorBanner within connectFunctionsEmulator.
  • packages/storage/src/service.ts
    • Removed the import statement for updateEmulatorBanner.
    • Deleted the call to updateEmulatorBanner within connectStorageEmulator.
  • packages/util/src/emulator.ts
    • Removed the isCloudWorkstation import, as it was only used by the removed banner function.
    • Deleted the entire updateEmulatorBanner function implementation, along with its associated helper functions (getEmulatorSummary, getOrCreateEl, setupBannerStyles, setupIconStyles, setupCloseBtn, setupLinkStyles, setupDom) and state variables (emulatorStatus, previouslyDismissed).
Activity
  • hsubox76 created this pull request to remove the updateEmulatorBanner function due to security concerns with innerHTML and its impact on google3 imports, while ensuring core emulator functionality remains.
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.

@github-actions
Copy link
Copy Markdown
Contributor

Changeset File Check ⚠️

  • Package @firebase/util has a minor bump which requires an additional line to bump the main "firebase" package to minor.

Copy link
Copy Markdown
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 successfully removes the updateEmulatorBanner() function and all its associated calls and helper utilities across the codebase. The changes are consistent with the stated objective of removing the banner due to security concerns related to innerHTML usage. The removal is clean and does not introduce any new issues.

'@firebase/database': patch
'@firebase/storage': patch
'@firebase/auth': patch
'@firebase/util': minor
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

FYI I am not bumping firebase to minor because I don't think a minor bump to util (non-public-facing) justifies a minor bump to firebase. Util's public API is changing, but that API is only consumed by other packages so it's not really public at the firebase package level.

@hsubox76
Copy link
Copy Markdown
Contributor Author

Changeset File Check ⚠️

  • Package @firebase/util has a minor bump which requires an additional line to bump the main "firebase" package to minor.

This is fine - see other comment.

@hsubox76 hsubox76 marked this pull request as ready for review March 2, 2026 18:22
@hsubox76 hsubox76 merged commit 2f7f426 into main Mar 3, 2026
46 of 53 checks passed
@hsubox76 hsubox76 deleted the ch-remove-emulator-banner branch March 3, 2026 17:36
@google-oss-bot google-oss-bot mentioned this pull request Mar 17, 2026
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.

4 participants