hermes - 💡(How to fix) Fix Pamela: Chrome extension to detect and auto-join any Google Meet [1 participants]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
GitHub stats
NousResearch/hermes-agent#24825Fetched 2026-05-14 03:51:30
View on GitHub
Comments
0
Participants
1
Timeline
3
Reactions
0
Author
Participants
Timeline (top)
labeled ×3

Build a Chrome extension + local bridge so Pamela can detect and auto-join any Google Meet the user opens/joins, including Meet links that are not on Google Calendar.

This is needed because testing showed the current Pamela Google Meet auto-join path did not join the meeting. The current calendar-driven approach is insufficient for ad hoc/direct Meet links and did not recover when Pamela failed to join.

Root Cause

This is needed because testing showed the current Pamela Google Meet auto-join path did not join the meeting. The current calendar-driven approach is insufficient for ad hoc/direct Meet links and did not recover when Pamela failed to join.

RAW_BUFFERClick to expand / collapse

Summary

Build a Chrome extension + local bridge so Pamela can detect and auto-join any Google Meet the user opens/joins, including Meet links that are not on Google Calendar.

This is needed because testing showed the current Pamela Google Meet auto-join path did not join the meeting. The current calendar-driven approach is insufficient for ad hoc/direct Meet links and did not recover when Pamela failed to join.

Problem

Pamela currently depends primarily on Google Calendar event detection for Meet auto-join. In testing, Pamela never joined the meeting. We need a browser-side detector because Google Calendar/Meet APIs do not reliably expose “the user is currently in this Meet” for arbitrary meetings.

Proposed solution

Create a Chrome extension that runs on https://meet.google.com/* and reports Meet state to a local Hermes/Pamela bridge.

Extension responsibilities:

  • Detect Meet tab/page open.
  • Extract canonical Meet URL/code.
  • Distinguish states:
    • meet_page_opened
    • prejoin_detected
    • join_attempted
    • in_meeting_detected
    • left_meeting
  • Use DOM heuristics for active-call UI, especially presence of leave-call/call-control elements.
  • Optionally add WebRTC/media-state confirmation to reduce false positives.
  • Deduplicate events so Pamela does not repeatedly join the same meeting.

Local bridge responsibilities:

  • Receive extension events via native messaging or localhost HTTP/WebSocket.
  • Sanitize payloads before forwarding.
  • Trigger Pamela join flow when confidence is high enough:
    • hermes -p pamela ... <meet-url> or equivalent internal profile invocation.
  • Log success/failure with timestamps and Meet URL/code hash.

Acceptance criteria

  • When Melvin opens/joins any Google Meet in Chrome, Pamela receives the Meet URL within 5 seconds.
  • Works for non-calendar Meet links shared via chat/email/manual entry.
  • Does not require Workspace admin APIs.
  • Does not read Gmail/browser history unless explicitly added later.
  • Avoids duplicate join attempts for the same meeting within a configurable cooldown.
  • Provides clear logs for:
    • extension detection event
    • bridge receipt
    • Pamela join attempt
    • join success/failure
  • Includes a manual test page/procedure for reproducing with a throwaway Meet.

Privacy/security requirements

  • Only request host permission for https://meet.google.com/* initially.
  • Do not capture audio/video.
  • Do not store full meeting URLs long-term; store hashed meeting code where possible.
  • Keep all detection local unless forwarding a minimal event to Hermes/Pamela.
  • Native messaging / localhost bridge must only accept local trusted clients.

Testing plan

  1. Start local Hermes/Pamela bridge in debug mode.
  2. Open Chrome and join a throwaway Meet link not present on Calendar.
  3. Verify extension emits meet_page_opened, then prejoin_detected, then in_meeting_detected.
  4. Verify Pamela receives the URL and attempts to join.
  5. Verify duplicate suppression by refreshing/reopening the Meet tab.
  6. Verify leaving the meeting emits left_meeting.
  7. Regression: keep existing Calendar auto-join cron working.

Related bug observed

During live testing, Pamela never joined the meeting. This issue should also add enough instrumentation to determine whether failures are from:

  • event/calendar detection
  • Meet URL extraction
  • browser launch/auth/profile
  • Meet join automation
  • Telegram/group-chat command routing

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING

hermes - 💡(How to fix) Fix Pamela: Chrome extension to detect and auto-join any Google Meet [1 participants]