Skip to content

Fix Chrome Web Store violations: bundle jQuery locally, hide login in extension - #802

Open
MrCoder wants to merge 2 commits into
masterfrom
agent/peng-s-claude-dev/56d40bd9
Open

Fix Chrome Web Store violations: bundle jQuery locally, hide login in extension#802
MrCoder wants to merge 2 commits into
masterfrom
agent/peng-s-claude-dev/56d40bd9

Conversation

@MrCoder

@MrCoder MrCoder commented Jun 8, 2026

Copy link
Copy Markdown
Contributor

Summary

Fixes two Chrome Web Store rejection violations:

  • Violation 1 (Blue Argon — MV3 remotely hosted code): static/landing/index.html referenced jQuery from code.jquery.com CDN. Bundled jQuery 2.2.4 locally at static/landing/jquery-2.2.4.min.js and updated the script tag to point to the local file.

  • Violation 2 (Red Potassium — inaccurate description, non-functional login): Firebase signInWithPopup is incompatible with MV3 Chrome extensions (the chrome-extension:// origin is not a valid Firebase authorized domain). Rather than rewrite auth flow, all login affordances are suppressed when running as a Chrome extension via const isExtension = typeof chrome !== 'undefined' && !!chrome?.runtime?.id:

    • loginBtnClickHandler() returns early in extension context
    • saveBtnClickHandler() routes extension users to local save instead of login modal
    • saveItem() skips the "sign in to save to cloud" confirm dialog in extension context
    • openBtnClickHandler() opens the local library panel without requiring login
    • MainHeader receives showLoginBtn={!isExtension} and hides the login-triggered "Share Link" button and avatar login action in extension context

Important: Manual step required

The Web Store listing (description, promotional images, screenshots) must also be reviewed for any login-related references and updated in the Chrome Web Store Developer Dashboard before resubmitting. The extension manifest description is already clean ("Real-time & offline tool for generating sequence diagrams"), but screenshots showing a login UI would need to be replaced.

Test plan

  • Build the legacy extension (yarn release) and verify extension.zip contains no files with src="https:// script tags: unzip -p extension.zip | grep -o 'src="https://[^"]*"' → empty
  • Load the unpacked extension in Chrome, verify login button / Share Link button is hidden
  • Verify local save works without being logged in in the extension
  • Verify web app login flow is unaffected (non-extension context)

🤖 Generated with Claude Code

MrCoder and others added 2 commits June 8, 2026 19:42
… extension context

Co-authored-by: multica-agent <github@multica.ai>
…hToken

- auth.js: branch on isExtension for Google; uses chrome.identity.getAuthToken -> Firebase signInWithCredential; clears cached token on logout
- LoginModal.jsx: show only Google button in extension context (GitHub/Facebook use signInWithPopup which is blocked in MV3)
- app.jsx, MainHeader.jsx: revert login-suppression guards from prior commit — login now works
- static/manifest.json: add identity permission and oauth2 stub (client_id must be replaced with real value from Google Cloud Console)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-authored-by: multica-agent <github@multica.ai>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

1 participant