Files
Tommy D. Rossi 96575c1b69 feat: custom tab group names and colors per session
Sessions can now specify a custom Chrome tab group name and color via
`playwriter session new --name myproject --color red`. Different sessions
with different names get separate Chrome tab groups.

The metadata flows through: CLI options → relay HTTP → CDP URL query params →
relay state (PlaywrightClient) → forwardCDPCommand params → extension TabInfo →
chrome.tabGroups API.

Key changes:

**Extension (0.0.74 → 0.0.77)**
- Add groupName/groupColor fields to TabInfo
- Rewrite syncTabGroup to manage multiple named groups independently
- Add updateTabGroupWithRetry to handle Chrome's race condition where
  tabGroups.update() silently fails right after tabs.group()
- Fix tab group flapping bug: only apply group metadata on
  Target.createTarget, not on every CDP command. Broadcast commands like
  Target.setAutoAttach were overwriting unrelated tabs' group metadata
- Add tabsBeingMoved guard set so programmatic ungroup/regroup during
  syncTabGroup doesn't trigger disconnect via onUpdated handler
- Narrow store subscriber to only trigger syncTabGroup on group-relevant
  field changes (state, groupName, groupColor)

**Playwriter MCP/CLI (0.0.85 → 0.0.87)**
- Add --name and --color options to `session new` CLI command
- Forward groupName/groupColor through getCdpUrl query params
- Store group metadata on PlaywrightClient in relay state
- Only inject group fields into forwardCDPCommand on Target.createTarget
  to prevent the flapping bug
- Pass clientId through handleCDPCommand so relay can look up group metadata

**Website**
- Add markdown.tsx route using safe-mdx for markdown-driven editorial pages

Backward compatible: older extensions ignore the new fields, omitting
options preserves the default 'playwriter' green group.
2026-03-07 22:34:42 +01:00
..
2026-02-22 15:21:38 +01:00
2026-01-27 13:35:22 +01:00
2026-02-22 15:21:38 +01:00
2025-12-30 14:25:19 +01:00
2026-02-22 15:21:38 +01:00
2025-12-30 14:25:19 +01:00
2026-02-22 15:21:38 +01:00