Skip to content

feat(web): guide Watch sharing by user intent - #2003

Open
lumberman wants to merge 8 commits into
mainfrom
codex/fge-64-watch-share-guidance
Open

feat(web): guide Watch sharing by user intent#2003
lumberman wants to merge 8 commits into
mainfrom
codex/fge-64-watch-share-guidance

Conversation

@lumberman

@lumberman lumberman commented Aug 22, 2026

Copy link
Copy Markdown
Collaborator

Summary

Watch sharing now starts with the user's goal instead of a flat list of tools. Each path shows only the relevant next step: link posts for social platforms, a Watch URL for messages, the existing download flow for offline use, iframe code for websites, and the approved licensing intake for native upload or clip reuse.

This resolves FGE-64 without inventing legal policy. Existing canonical URLs, iframe bytes, download ownership, Facebook/X links, clipboard behavior, and modal lifecycle remain intact.

Work Loop

  • ce:plan done
  • ce:work done
  • ce:review done
  • ce:compound done

Notes

Review focus

  • Facebook explains that it creates a link post. YouTube and Instagram never recommend iframe code.
  • Native social upload, republication, and clip reuse use one approved licensing destination and make no approval claim.
  • Content capabilities gate the flow: link-capable videos start at the chooser, embed-only content opens the usable embed result, and invalid identity stays close-only.
  • Series uses an explicit generic scope, so it offers link sharing without implying video-specific download or reuse rights.
  • Analytics records only static, low-cardinality intent and guidance fields. It sends no titles, URLs, or other personal/content-derived data.
  • The shared viewport-safe close button remains inside the accessible dialog tree. Forward and Back navigation move focus to the new step and reset scroll on mobile and desktop.

Localization

All 43 new ShareModal paths exist in every catalog as explicit pending English fallback. Translation credentials were unavailable, so this PR does not claim translated or human-reviewed copy. The added English namespace payload is 1,011 bytes gzip.

Page-loading evidence

The final production build matches the commit. The Share modal remains outside the root main bundle and loads through the existing lazy boundary.

Metric Result
New Share chunks 6.4–12.8 KiB gzip
Largest Share chunk delta vs. base +3.5 KiB gzip
Root main bundle contains Share modal No
Added English message payload +1,011 B gzip

Validation

  • Focused Vitest and message parity: 516/516 passing.
  • Client-message and provisional-catalog suites: 10/10 passing.
  • TypeScript, scoped ESLint, Prettier, provisional-catalog check, and git diff --check passed.
  • Final production build passed, including TypeScript and static-page generation.
  • Browser QA passed all 10 states at 1668×943 and 390×844. It verified focus restoration, scroll reset, no horizontal overflow, and an accessible close control inside the dialog.
  • Desktop and mobile screenshots for every state are indexed in design-qa.md.
  • Chromium passed. Firefox and WebKit were unavailable in the approved integrated browser and are explicit skips.
  • The pre-commit hook could not reinstall dependencies because the repository's active pnpm overrides do not match the frozen lockfile. Equivalent scoped checks above were run directly before committing.

Related work

  • Related: FGE-64
  • Discovery and support-deflection validation: FGE-93
  • Residual chunk-error recovery: FGE-94
  • Residual embed-only coverage: FGE-95
  • Plan: docs/plans/2026-08-21-2229-feat-watch-share-usage-guidance-plan.md
  • Roadmap: docs/roadmap/platform/feat-412-watch-share-usage-guidance.md
  • Durable learning: docs/solutions/design-patterns/watch-share-intent-capability-routing.md

Session-settled decisions carried from planning: preserve link and iframe behavior; route permission questions instead of authoring legal policy; and keep divergent residuals in durable trackers.


Compound Engineering

@linear

linear Bot commented Aug 22, 2026

Copy link
Copy Markdown

FGE-64

FGE-94

FGE-95

@lumberman

Copy link
Copy Markdown
Collaborator Author

Residual Review Findings

  • P2 - apps/web/src/components/watch/SeriesPageClient.tsx:58 - Transient chunk failure strands Series Share state - FGE-94
  • P2 - apps/web/src/components/watch/__tests__/ShareModal.test.tsx:629 - Exercise video embed-only guidance - FGE-95

Source: compound-engineering code-review run 20260821-233637-b7bbec56. Both findings were independently validated but did not meet LFG's automatic-apply threshold because each had only one originating reviewer at confidence 75. They remain outside FGE-64 rather than expanding the settled product scope.

@railway-app

railway-app Bot commented Aug 24, 2026

Copy link
Copy Markdown

🚅 Deployed to the forge-pr-2003 environment in forge

Service Status Web Updated (UTC)
@forge/web ✅ Success (View Logs) Aug 24, 2026 at 11:53 am
@forge/manager ✅ Success (View Logs) Aug 24, 2026 at 11:49 am
@forge/agentic-studio ⏭️ Skipped (View Logs) Aug 24, 2026 at 11:44 am
6 services not affected by this PR
  • @forge/admin/redis
  • @forge/admin/db
  • @forge/agentic-studio
  • @forge/agentic
  • @forge/admin
  • @forge/auth

@lumberman lumberman changed the title feat(web): clarify Watch sharing and reuse paths feat(web): guide Watch sharing by user intent Aug 24, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant