Skip to content

Extension redesign#126

Open
TamaraBogantseva wants to merge 5 commits into
feat/browser-extensionfrom
extension-redesign
Open

Extension redesign#126
TamaraBogantseva wants to merge 5 commits into
feat/browser-extensionfrom
extension-redesign

Conversation

@TamaraBogantseva
Copy link
Copy Markdown
Contributor

Redesigns the Chrome extension popup, adds iframe and password field support, and ships managed TURN handling.

  • New popup UI — card-based list with type icons, status dots, expand/collapse, in-place QR + screenshot, filter checkboxes, copy-link and regenerate-QR
  • Iframe support — scans inputs across all valid frames; flottform process runs in the correct frame
  • Password fields — detected separately, sent as password and rendered as a masked input on the receiving device
  • Managed TURN — new token-gated /ice-server-credentials/extension endpoint on the signaling server; settings let users opt out; popup surfaces a banner when TURN is unavailable and falls back to STUN-only
  • Welcome page opens on first install (replaces auto-opening Settings)
  • New manifest icon set (16/48/128) and Web Store-ready description

Signed-off-by: TamaraBogantseva <tamara.bogantseva@compose.us>
Signed-off-by: TamaraBogantseva <tamara.bogantseva@compose.us>
Signed-off-by: TamaraBogantseva <tamara.bogantseva@compose.us>
Signed-off-by: TamaraBogantseva <tamara.bogantseva@compose.us>
Signed-off-by: TamaraBogantseva <tamara.bogantseva@compose.us>
@TamaraBogantseva TamaraBogantseva requested a review from Narigo May 4, 2026 11:01
Copy link
Copy Markdown
Member

@Narigo Narigo left a comment

Choose a reason for hiding this comment

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

ice-servers-credentials/extension and ice-servers-credentials should be the same - always check for API key and we allow generic ones for DEMO and EXTENSION_TEST for now

'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Methods': allowedMethods.join(','),
'Access-Control-Allow-Headers': '*',
'Access-Control-Allow-Headers': 'Authorization, Content-Type, *',
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

If there is *, shouldn't it be enough anyways?

: { 'Access-Control-Allow-Origin': '*' }),
'Access-Control-Allow-Methods': allowedMethods.join(','),
'Access-Control-Allow-Headers': '*',
'Access-Control-Allow-Headers': 'Authorization, Content-Type, *',
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Same as above, * should match both of them as well?

Comment on lines +2 to 4
// Currently a no-op: /ice-server-credentials no longer reads this flag.
// Kept for the admin /server-control UI and for future per-license TURN gating.
let useTurnServer = false;
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

"no dead code" in the CLAUDE.md file but it left this in? 🤔

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