Repository navigation
feat(media): copy a link at the player's second and the frame on screen - #411
Conversation
The settings panel gets Copy link, which copies the file's address with #t= and the second the player is at, and a video's Copy frame, which copies the frame on screen as a PNG. The address comes from the fallback link inside the media element, so a host that plays the file from a blob: URL still copies the real one. Both send a cancelable comark-media-copy event first, for hosts that copy another way.
|
The workflow's GitHub's error |
Codex Review Summary: ❌ FailedThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
Latest result Pull request merged. Final answersSession Pull request merged. Session Updated the branch with main because main changed AGENTS.md after its checks ran; waiting for checks on the new head. Session Updated the branch with main because main changed AGENTS.md after its checks ran; waiting for checks on the new head. Session Updated the branch with main because main changed AGENTS.md after its checks ran; waiting for checks on the new head. Session Updated the branch with main because main changed AGENTS.md after its checks ran; waiting for checks on the new head. Session Updated the branch with main because main changed AGENTS.md after its checks ran; waiting for checks on the new head. Session Updated the branch with main because main changed AGENTS.md after its checks ran; waiting for checks on the new head. Session Updated the branch with main because main changed AGENTS.md after its checks ran; waiting for checks on the new head. Session Updated the branch with main because main changed AGENTS.md after its checks ran; waiting for checks on the new head. Session Waiting for review checks before the next pass. Session Waiting for review checks before the next pass. |
comark-annotate
comark-badge
comark-cards
comark-carousel
comark-cast
comark-charts
comark-chat
comark-chips
comark-cjk
comark-code
comark-code-notes
comark-colors
comark-comments
comark-critic
comark-deflist
comark-details
comark-diagrams
comark-diff
comark-embed
comark-fields
comark-figure
comark-file-tree
comark-footnotes
comark-github
comark-icon
comark-include
comark-keys
comark-links
comark-linter
comark-magic-move
comark-mark
markdown-it-to-comark
marked-to-comark
comark-mathml
comark-media
comark-metrics
migrate-to-comark
comark-outline
comark-properties
comark-qr
comark-quiz
comark-reading-time
remark-to-comark
comark-sources
comark-steps
comark-table
comark-tabs
comark-tests
comark-time
comark-ui
comark-xref
comark-zoom
commit: |

A review doc has no way to point someone at 0:12 of a recording, or to grab the frame a comment is about. The browser's "Copy video address" doesn't help when the host plays the file from a
blob:URL, as Drop does in its sandboxed frame.This adds two actions under the settings panel's speed and loop rows. Copy link copies the file's address with
#t=and the second the player is at, and its label follows the time ("Copy link at 0:12"). The address comes from the fallback<a>inside the<video>, so it stays the file's own when a host swapssrc. Copy frame pauses a video and copies the frame on screen as a PNG. A file from another host without CORS says it can't. Both send a cancelablecomark-media-copyevent first, so a host can copy another way.Tested with
e2e/media.e2e.ts(19 pass, one new test for both actions, the event, and the icons' width), the media unit tests, andpnpm run doctor, and in Drop's sandboxed doc frame through vite-hub/drop#187. Locallypnpm readystops atremark-to-comark's CLI test, which times out on this machine; CI passes it.Before/after on Drop