Conversation
- Update actions/checkout from v4 to v6.0.2 - Update softprops/action-gh-release from v2 to v2.5.0 - Resolves Node.js 20 deprecation warnings These action versions support Node.js 24 which will become the default on GitHub Actions runners starting June 2nd, 2026.
…sions - Change grok-video from interpolation (2 frames) to single reference frame - Update buildPollinationsUrl to use `image` param only for grok-video - Add maxVideoReferenceImages enforcement in useGenerationSettings hook - Normalize videoReferenceImages on load and update to respect frame limits - Add chmod 0o755 to ffmpeg-static binary in video preview/thumbnail modules - Add test coverage for grok-video single frame limit
|
The latest updates on your projects. Learn more about Vercel for GitHub. 1 Skipped Deployment
|
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (14)
📝 WalkthroughWalkthroughThis PR constrains video reference frames per model capabilities (especially grok-video to 1 frame), refactors timeout configuration across Convex modules, ensures FFmpeg binary executable permissions, and bumps GitHub Actions versions. Changes
Sequence DiagramsequenceDiagram
participant ModelConfig as Model Config
participant Hook as useGenerationSettings Hook
participant Component as ControlsView Component
ModelConfig->>Hook: Provide maxReferenceFrames via modelDef<br/>(supportsInterpolation, referenceFrameCount)
activate Hook
Hook->>Hook: Compute maxVideoReferenceImages<br/>(2 if interpolation, else referenceFrameCount)
Hook->>Hook: Slice videoReferenceImages to max<br/>→ normalizedVideoReferenceImages
Hook->>Hook: Return constrained list to consumer
deactivate Hook
Hook->>Component: Pass normalizedVideoReferenceImages<br/>(frame-limited array)
activate Component
Component->>Component: Memoize displayedVideoReferenceImages<br/>from normalized frames
Component->>Component: Render VideoFramesSection<br/>with displayedVideoReferenceImages
Component->>Component: Calculate videoFrameCount<br/>from memoized array length
deactivate Component
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~22 minutes Possibly related PRs
Poem
✨ Finishing Touches
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: c1baefec32
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| }, [modelDef]) | ||
| const normalizedVideoReferenceImages = React.useMemo(() => { | ||
| if (maxVideoReferenceImages === undefined) return videoReferenceImages | ||
| return videoReferenceImages.slice(0, maxVideoReferenceImages) |
There was a problem hiding this comment.
Drop empty legacy frame placeholders when limiting Grok frames
For users with persisted interpolation state, frame arrays can contain empty placeholders (the existing interpolation setter stores "" for missing slots). This normalization now does slice(0, maxVideoReferenceImages) for grok-video (max=1), which turns values like ["", "https://..."] into [''] instead of preserving a real frame or clearing it. Downstream, the non-interpolation picker treats that as a selected frame (and may render an empty image URL) while generation still sends no reference image via videoReferenceImages[0] || undefined, creating a broken/misleading state on load for returning users.
Useful? React with 👍 / 👎.
Summary by CodeRabbit
New Features
Bug Fixes
Refactor
Chores