Repository navigation
chore: bump hyperframes to 0.9.26 - #16
Merged
Merged
Conversation
- container: hyperframes ^0.4.14 to ^0.9.26 - app: @hyperframes/core and @hyperframes/player ^0.5.3 to ^0.9.26 - container: add ffprobe-static and link it onto PATH. hyperframes 0.9 refuses to render without ffprobe. - lint: await lintHyperframeHtml, which is async in 0.9. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What changed
container/package.json:hyperframes^0.4.14 to ^0.9.26 (a fresh build was resolving 0.4.45).package.json+bun.lock:@hyperframes/coreand@hyperframes/player^0.5.3 to ^0.9.26.Two fixes the bump needed:
FFprobe not foundif it is missing. The image only hadffmpeg-static, so every render failed. I addedffprobe-statictocontainer/package.jsonand link its binary to/usr/local/bin/ffprobein theDockerfile, the same wayffmpegis linked. The path comes fromrequire('ffprobe-static').path, so it also works on arm64 builds. README build steps updated to match.lintHyperframeHtmlis async in 0.9.src/lib/server/lint.tscalled it synchronously and read.findingsoff a Promise.tsccaught it. At runtime it would have thrown on.filterof undefined, so the AI panel's lint step would have failed.lintFilterednow awaits it, andlintCompositionawaitslintFiltered.The container's render args (
render <dir> -o <file> --workers auto) are unchanged. Both flags still exist inhyperframes render --helpfor 0.9.26.How I verified
All of the CI scripts pass with bun 1.3.14:
bun install --frozen-lockfile,bun run lint,bun run format:check,bun run typecheck,bun run test(23 tests, 3 files),bun run prepare-assets(no diff insrc/composition-manifest.json), andbun run build.Render container, built with
docker build .and run with thestandard-4limits (--cpus=4 --memory=12g):GET /healthzreturnsok.node scripts/test-render.mjs 18080 out.mp4sends the bundled composition the same way the Worker does (POST /renderwith{ files }). It returned 200: h264 1920x1080, 270 frames, 9.0 s, 727 KB, with 3 workers in 22.7 s. A frame from the middle renders correctly.index.htmlpayload (the shapehtmlToFilessends for generated HTML) also returned 200: a 3.0 s, 352 KB MP4.Lint in workerd: I ran
lintFilteredunderwrangler dev(nodejs_compat, same compatibility date). A valid composition returns no errors. A broken one returns the expected findings, includinginvalid_inline_script_syntax: Unexpected token.Notes
cloudflare-introcomposition withfont_family_without_font_faceforSFMono-Regular. The render still succeeds and falls back to the next monospace font, same as before. I left the composition alone.lint.tsno longer matches anything. It does no harm, so I kept it.@hyperframes/core.— Rames
🤖 Generated with Claude Code