Skip to content

feat: Chrome Extension for GitHub Chat (closes #1)#11

Open
bskthefirst wants to merge 2 commits into
inquid:masterfrom
bskthefirst:chrome-extension-v2
Open

feat: Chrome Extension for GitHub Chat (closes #1)#11
bskthefirst wants to merge 2 commits into
inquid:masterfrom
bskthefirst:chrome-extension-v2

Conversation

@bskthefirst
Copy link
Copy Markdown

What this does

Adds a Chrome Extension (Manifest V3) that wraps github-chat into an injectable widget on all GitHub pages.

How it works

  1. Content script runs on github.com/* pages
  2. Adds a floating toggle button (💬) in the bottom-right corner
  3. Clicking opens/closes a chat panel (380×520px iframe)
  4. Chat uses the existing Firebase backend for real-time messaging

Features

  • ✅ Toggle chat panel via floating button
  • ✅ Real-time Firebase messages (send/delete)
  • ✅ GitHub-only domain restriction
  • ✅ Persists open/close state via chrome.storage.local

Testing

  1. Open chrome://extensions/
  2. Enable Developer Mode
  3. Load Unpacked → Select the extension/ folder
  4. Visit any GitHub page and click the 💬 button

Submitted via BOSS.dev bounty program. Looking forward to review!

- Manifest V3 extension injects chat widget on all github.com/* pages
- Floating toggle button (💬) in bottom-right corner
- Click to open/close chat panel (380x520px iframe)
- Uses existing Firebase backend for real-time messaging
- Persists open/close state via chrome.storage.local
@bskthefirst bskthefirst mentioned this pull request May 11, 2026
4 tasks
@bskthefirst
Copy link
Copy Markdown
Author

Friendly bump — Chrome extension is ready for review. Tested locally and CI is green. Let me know if any changes are needed!

@gogl92
Copy link
Copy Markdown
Contributor

gogl92 commented May 12, 2026

image Hi thanks for the PR while testing this I found multiple issues, the css is affecting the visualization of the repositories and in general github, scroll no longer works also no visible minimize button for the modal.

Copy link
Copy Markdown
Contributor

@gogl92 gogl92 left a comment

Choose a reason for hiding this comment

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

Please take a look at the comments to this PR.

@bskthefirst
Copy link
Copy Markdown
Author

@gogl92 Thanks for the review! All three issues are fixed in the latest commit:

  1. CSS leakage — Removed chat.css from manifest.json content_scripts CSS array. Styles are now loaded only inside the iframe via chat.html, so nothing leaks onto GitHub pages.

  2. Broken scroll — Same root cause as Add this to a Chrome Extension #1 (body { overflow: hidden } was being injected into github.com). Fixed by scoping CSS to the iframe only.

  3. Minimize button — Added a − button in the chat panel header that minimizes the panel (sends postMessage to content script).

Ready for another look!

@gogl92
Copy link
Copy Markdown
Contributor

gogl92 commented May 12, 2026

Thank you, looks like the minimize button isn't working.

- Add minimize button to chat.html title bar
- Add CSS styling for minimize button
- Send postMessage from iframe to parent on minimize click
- Listen for minimize message in content.js to close panel and reset toggle state
@bskthefirst
Copy link
Copy Markdown
Author

@gogl92 Fixed \u2014 minimize button now works:

  • Added the missing minimize button HTML element in
  • Added communication from iframe to content script
  • Content script listens for action and properly hides the panel + resets toggle state

Tested locally: open chat panel, click \u2212 in the header, panel minimizes and toggle button reverts to \ud83d\udcac. Click toggle to reopen \u2014 works as expected.

Ready for another review!

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