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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant