Return the shot's start frame image from getShotTableState #321

Merged
colonelpanic merged 1 commits from ivan/shot-table-state-frame-image into master 2026-08-06 19:12:00 +00:00
Owner

First of three: gql -> backend -> mobile.

Shot Lab had nothing to show next to a recorded shot's layout except the video's single stream thumbnail, so every shot displayed the same unrelated image. The backend now encodes the frame the layout was detected in as a base64 JPEG; this adds frameImage to ShotTableStateGQL and selects it on GetShotTableState. The live query keeps its layout-only selection — it is polled every five seconds and never shows the frame.

Regenerating also dedupes ShareLinkGQL and CreateShotShareLinkInput, which appeared twice in the committed schema after a bad merge.

Backend Python: railbird#ivan/shot-table-state-frame-image
Mobile: railbird-mobile#ivan/shot-lab-shot-frame-image

🤖 Generated with Claude Code

First of three: gql -> backend -> mobile. Shot Lab had nothing to show next to a recorded shot's layout except the video's single stream thumbnail, so every shot displayed the same unrelated image. The backend now encodes the frame the layout was detected in as a base64 JPEG; this adds `frameImage` to `ShotTableStateGQL` and selects it on `GetShotTableState`. The live query keeps its layout-only selection — it is polled every five seconds and never shows the frame. Regenerating also dedupes `ShareLinkGQL` and `CreateShotShareLinkInput`, which appeared twice in the committed schema after a bad merge. Backend Python: railbird#ivan/shot-table-state-frame-image Mobile: railbird-mobile#ivan/shot-lab-shot-frame-image 🤖 Generated with [Claude Code](https://claude.com/claude-code)
colonelpanic added 1 commit 2026-08-06 18:09:41 +00:00
Return the shot's start frame image from getShotTableState
All checks were successful
Tests / Tests (pull_request) Successful in 12s
9b6b08c1ec
Shot Lab was showing the video's single thumbnail next to every shot's
layout. The backend now returns the frame the layout was detected in as
a base64 JPEG (frameImage), selected by the GetShotTableState operation.
Also dedupes ShareLinkGQL/CreateShotShareLinkInput, which appeared twice
in the committed schema after a bad merge.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
colonelpanic merged commit 0f6e7b28d4 into master 2026-08-06 19:12:00 +00:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: railbird/railbird-gql#321
No description provided.