Files
mattermost/docs/develop/integrate/plugins/interactive-messages
Eva SarafianouandCursor bf379803cf docs: replace animated GIF docs with H.264 Video (#39009)
* docs: encode animated GIFs to H.264 and drop unused duplicates

Add a reproducible ffmpeg encode pipeline and commit 64 MP4s next to their GIF sources. Delete the unreferenced poll.gif pair and the two orphan interactive_message.gif copies. Page rewrites wait on the Video MDX component.

Co-authored-by: Cursor <cursoragent@cursor.com>

* docs: stop tracking encode-gif-video bytecode

Co-authored-by: Cursor <cursoragent@cursor.com>

* docs: re-encode GIF videos when the manifest CRF changes

Skip was ignoring CRF, so a quality-pass patch was a no-op without --force. Record the CRF that produced each MP4 and treat a mismatch as stale.

Co-authored-by: Cursor <cursoragent@cursor.com>

* docs: address CodeRabbit findings on gif encode verify/review

Verify committed MP4 digests and accept --only; crop GIF refs for
review SSIM; guard the encode idempotency test before writing.

Co-authored-by: Cursor <cursoragent@cursor.com>

* docs: drop the one-shot GIF encode pipeline from the repo

The MP4s are the committed product. We do not expect more GIFs, so the
encoder, manifest, and tests are throwaway rather than a maintained
pipeline.

Co-authored-by: Cursor <cursoragent@cursor.com>

* docs: add Video MDX component and postbuild markup check

Silent H.264 screen captures replace animated GIFs; no autoplay or poster.
Authored form wraps src in useBaseUrl so check:base-url-attrs stays clean.

Co-authored-by: Cursor <cursoragent@cursor.com>

* docs: replace animated GIF references with Video and drop source GIFs

Rewrite 63 media refs to <Video> with carried-over alt text and ffprobe
aspect ratios; delete the 62 converted GIFs under static/images.

Co-authored-by: Cursor <cursoragent@cursor.com>

* docs: parse unquoted attributes in check-video-markup

Docusaurus emits unquoted HTML attrs when values have no spaces; the
postbuild guard must accept that form or every video fails the scan.

Co-authored-by: Cursor <cursoragent@cursor.com>

* docs: fix Video reduced-motion SSR loop and stray alt prefix

Default loop to false until hydration so reduced-motion users never
get a looping attribute before JS runs; drop the accidental "alt:"
prefix from customize-your-channel-sidebar Video alt text.

Co-authored-by: Cursor <cursoragent@cursor.com>

* Trim leading white frames from message-formatting-toolbar video

The clip opened on a blank frame, so the player showed white until
playback started. Cut from the first content frame instead of adding
posters.

Co-authored-by: Cursor <cursoragent@cursor.com>

* Cut message-formatting-toolbar after fade-in completes

0.15s still landed on a washed-out frame; start at 0.3s where the UI
is full contrast for the player preview.

Co-authored-by: Cursor <cursoragent@cursor.com>

---------

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-13 21:53:37 +03:00
..