Skip to content

Review overlay walking skeleton: pin-to-Teams round trip #8238

Description

@yomybaby

Parent

Spec: specs/pr-devserver-review.mdsee Revision 2 (R2.2): relay = reviewer's own local board app, reviewer's own identity. Repo: backend.ai-webui (overlay Vite plugin).

What to build

On a running webui dev server, a reviewer toggles comment mode, clicks an element, writes a comment — it lands as a reply in the PR's real Teams thread as the reviewer's own Teams account (no attribution prefix), with a #bai-review= deep-link. Replies made in the Teams app show up in the overlay's chat panel within ~15 s, and the reviewer receives native reply notifications (they are a real thread participant). Narrow on purpose: selector-only anchor, no screenshots, thread URL supplied manually, minimal styling.

Acceptance criteria

  • Dev-only Vite plugin (transformIndexHtml) injects a Shadow-DOM overlay served same-origin as a virtual module; zero effect on production builds
  • Element pick (hover outline → click) drops a numbered pin; compose posts to the reviewer's own local board relay (http://localhost:7777/api/…, CORS — Rev 2), NOT to dev-server middleware
  • Relay auth reuses the fw TEAMS_CLIENT_ID MSAL cache (silent); posts appear as the reviewer's real account; message carries dev-URL deep link with #bai-review= fragment
  • Overlay handles relay-unavailable (connection refused / 401) with a "run board serve" hint
  • Chat panel polls thread replies (10–15 s) and renders them; pin ↔ message highlight
  • Demo: pin comment → visible in Teams under the reviewer's name; Teams reply → visible in panel + native notification received

Blocked by

  • "Local board app" (FR-3306) — the relay the overlay posts to lives there (Rev 2)

JIRA Issue: FR-3309

Metadata

Metadata

Assignees

No one assigned

    Type

    Fields

    No fields configured for Task.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions