feeb5b7038
Add HomographyBackendGQL enum and VideoMetadataInput.homographyBackend
...
Tests / Tests (pull_request) Successful in 11s
Regenerated from backend Python: adds the HomographyBackendGQL enum
(CLASSIC/TABLENET) and the optional homographyBackend field on
VideoMetadataInput, for per-video homography backend selection.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-07-17 18:26:53 -07:00
3340314166
Merge pull request 'Add per-session Coach GraphQL contract' ( #297 ) from loewy/session-coach-v1 into master
...
Reviewed-on: #297
2026-07-17 18:33:58 +00:00
6b8fdd4262
Add per-session Coach GraphQL contract
Tests / Tests (pull_request) Successful in 10s
2026-07-16 16:45:55 -07:00
bfaed33c89
Merge pull request 'feed: select uploadCompletionCursor on VideoCardFields stream' ( #296 ) from dean/feed-upload-completion-cursor into master
...
Reviewed-on: #296
2026-07-14 18:24:54 +00:00
Dean Wenstrand
1ce3aaed1b
feed: select uploadCompletionCursor on VideoCardFields stream
...
Tests / Tests (pull_request) Successful in 24s
Lets the client distinguish a finalized-but-not-fully-uploaded stream
(is_completed set, but received cursor short of last_intended_segment_bound)
from one that is genuinely processing.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-07-14 11:15:41 -07:00
1bd03f2bbe
Merge pull request 'dean/unify-shotlab-cohorts' ( #295 ) from dean/unify-shotlab-cohorts into master
...
Reviewed-on: #295
2026-07-13 01:08:48 +00:00
Dean Wenstrand
4a1c41aae1
Regenerate schema and hooks from backend master
...
Tests / Tests (pull_request) Successful in 12s
Union of the cohort funnel, Shot Lab picker queries, and transient
homography IDs — converges the three divergent submodule pointers
(gql master, railbird master, railbird-mobile master).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-07-12 18:03:33 -07:00
Dean Wenstrand
4122284bbd
Merge Shot Lab queries with cohort funnel
2026-07-12 17:59:33 -07:00
b30dbd01f5
Fetch shot paths and features for the Shot Lab picker
...
Tests / Tests (pull_request) Successful in 11s
The recorded-shot picker now renders per-shot table diagrams, so
GetRecordedStreamShots needs serializedShotPaths plus the pocketing and
cue-object features that PlaneShotDiagram consumes.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-07-12 11:13:17 -07:00
6d13dc3eb1
Merge remote-tracking branch 'origin/master' into colonelpanic/allow-transient-homography-ids
2026-07-12 00:19:46 -07:00
e3524cab97
Merge pull request 'Add weekly cohort funnel to getUsageStats' ( #293 ) from dean/usage-stats-cohorts into master
...
Reviewed-on: #293
2026-07-12 04:07:43 +00:00
303261f2d7
Add recorded Shot Lab queries
2026-07-11 20:56:47 -07:00
20a70fad2a
Allow transient homography IDs
2026-07-11 20:55:53 -07:00
Dean Wenstrand
35c7c23ba9
Add disjoint activated segment to cohorts for stacking
...
Tests / Tests (pull_request) Successful in 10s
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-07-11 17:45:01 -07:00
Dean Wenstrand
40c4b82a59
Add weekly cohort funnel to getUsageStats
...
Tests / Tests (pull_request) Successful in 13s
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-07-11 17:40:10 -07:00
9ebe2e61df
Merge pull request 'dean/usage-stats' ( #292 ) from dean/usage-stats into master
...
Reviewed-on: #292
2026-07-11 19:26:13 +00:00
Dean Wenstrand
6f356f9535
Add freemium epoch + era conversion to funnel
...
Tests / Tests (pull_request) Successful in 12s
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-07-11 11:38:20 -07:00
Dean Wenstrand
5c0ff8c31b
Add freemium funnel to getUsageStats
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-07-11 10:48:25 -07:00
Dean Wenstrand
582c20170d
Add getUsageStats admin query + operation (schema regen on shot-lab tip)
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-07-11 10:36:47 -07:00
dc02fd8387
Merge pull request 'Select detected ball colors for Shot Lab' ( #291 ) from colonelpanic/shot-lab-image-colors into master
...
Reviewed-on: #291
2026-07-10 17:20:37 +00:00
ef4782fc14
Select detected ball colors for Shot Lab
Tests / Tests (pull_request) Successful in 33s
2026-07-10 00:12:06 -07:00
905a1ca6db
Merge pull request 'Add RGBColorGQL and identifierToColor to TableStateGQL' ( #290 ) from shot-lab-ball-colors into master
2026-07-10 03:36:33 +00:00
6f63189703
Add RGBColorGQL and identifierToColor to TableStateGQL
...
Tests / Tests (pull_request) Successful in 12s
Regenerated from backend: Shot Lab table-state endpoints now expose a
per-ball dominant color (RGB + hex) index-aligned with ball positions.
2026-07-09 20:35:48 -07:00
958057764c
Merge pull request 'Add getLiveTableState query and live-stream operations' ( #288 ) from live-table-state into master
2026-07-10 02:12:31 +00:00
361730cace
Merge pull request 'Add per-ball trajectory color to shot serialization proto' ( #289 ) from ball-trajectory-colors into master
2026-07-10 00:07:45 +00:00
a78e793bd6
Add per-ball trajectory color to shot serialization proto
...
Tests / Tests (pull_request) Successful in 11s
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-07-09 14:46:06 -07:00
a150e1a300
Add getLiveTableState query and live-stream operations
...
Tests / Tests (pull_request) Successful in 10s
- schema: getLiveTableState(videoId) returning LiveTableStateGQL
(videoId, frameIndex, tableState)
- operations: GetLiveTableState in shot_simulation.gql, lightweight
GetLiveStreams listing in live_streams.gql
- regenerated TS client outputs
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-07-09 01:15:33 -07:00
63a376ed35
Merge pull request 'Add clientUploadStatus to VideoCardFields stream fragment' ( #287 ) from dean/recording-feed-badge into master
...
Reviewed-on: #287
2026-07-08 17:10:32 +00:00
31f9852f4b
Add clientUploadStatus to VideoCardFields stream fragment
...
Tests / Tests (pull_request) Successful in 12s
Lets the feed/session card distinguish camera/bridge recordings
(clientUploadStatus UPLOAD_DISABLED, phone never uploads) from phone
uploads, so it can stop showing 'UPLOAD PAUSED' for recordings.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-07-08 09:57:50 -07:00
0b4016c601
Merge pull request 'Add tier-aware subscription options' ( #286 ) from loewy/backend-tier-aware-subscription-options into master
...
Reviewed-on: #286
2026-07-07 23:57:44 +00:00
8e85fddb0a
Merge pull request 'Add capability enforcement config field' ( #285 ) from loewy/mobile-capability-config-field into master
...
Reviewed-on: #285
2026-07-07 23:27:17 +00:00
338798ea5a
Add tier-aware subscription options
Tests / Tests (pull_request) Successful in 9s
2026-07-07 16:10:43 -07:00
6bd92ae991
Add capability enforcement config field
Tests / Tests (pull_request) Successful in 10s
2026-07-07 14:44:27 -07:00
8dd9f6df40
Merge pull request 'Add storage status query' ( #274 ) from loewy/storage-status-card-readiness into master
...
Reviewed-on: #274
2026-07-07 18:20:58 +00:00
f60950a6f6
Select storage limit fields for upload links
Tests / Tests (pull_request) Successful in 11s
2026-07-06 23:51:30 -07:00
739451f250
Select storage limit config flag
2026-07-06 23:51:29 -07:00
146af8d713
Add resolved tier query
2026-07-06 23:51:29 -07:00
43b99c447b
Add storage status readiness query fields
2026-07-06 23:51:29 -07:00
cba07aa69e
Add storage status query
2026-07-06 23:51:29 -07:00
f626054662
Merge pull request 'Add tags arg to createCameraClaimSession' ( #284 ) from dean/camera-session-tags into master
...
Reviewed-on: #284
2026-07-07 05:56:05 +00:00
Dean Wenstrand
6bc02ec47c
Add tags arg to createCameraClaimSession
...
Tests / Tests (pull_request) Successful in 11s
Lets the table-camera claim carry session tags (+ the player-count tag), for
parity with the phone recording flow.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-07-06 22:49:28 -07:00
c92246510b
Merge pull request 'Add city/state to PoolHall type + create/update inputs' ( #283 ) from dean/pool-hall-city-state into master
...
Reviewed-on: #283
2026-07-07 01:33:21 +00:00
Dean Wenstrand
3ce2a7be61
Add per-camera recording policy (terms + private allowance) to schema
...
Tests / Tests (pull_request) Successful in 10s
allowsPrivateVideos / claimTermsText / claimTermsVersion on PoolHallCamera,
agreedTermsVersion on CameraClaimSession + the create-claim mutation.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-07-06 18:21:58 -07:00
Dean Wenstrand
fc921c3ae7
Add city/state to PoolHall type + create/update inputs
...
Tests / Tests (pull_request) Successful in 10s
Full address stays on `address`; city/state let the UI show a compact locality.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-07-06 16:59:15 -07:00
0b6ac787d8
Merge pull request 'Camera claim flow: lease end/extend, claim preferences, inUse' ( #282 ) from dean/camera-claim-flow into master
...
Reviewed-on: #282
2026-07-05 18:55:01 +00:00
Dean Wenstrand
ac479dc7e4
Camera claim flow: lease end/extend, claim preferences, inUse
...
Tests / Tests (pull_request) Successful in 25s
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-07-04 18:44:01 -07:00
c6a754cc2d
Merge pull request 'Add tableSize/pocketSize to pool hall camera schema' ( #281 ) from dean/camera-table-dimensions into master
...
Reviewed-on: #281
2026-07-05 00:23:56 +00:00
Dean Wenstrand
2c047292f0
Add tableSize/pocketSize to pool hall camera schema
...
Tests / Tests (pull_request) Successful in 11s
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-07-04 17:13:23 -07:00
9267cd8180
Merge pull request 'dean/pool-hall-gql' ( #280 ) from dean/pool-hall-gql into master
...
Reviewed-on: #280
2026-07-04 16:35:00 +00:00
Dean Wenstrand
fa14becc12
Regenerate schema + client from merged backend
...
Tests / Tests (pull_request) Successful in 9s
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-07-04 09:31:53 -07:00
fea506af1b
Add pool hall camera GraphQL operations
...
Hand-written pool hall camera claim operations (schema.gql + index.tsx are
regenerated from the backend in the following commit).
2026-07-04 09:31:15 -07:00
2f9dc86ad9
Merge pull request 'Add capability enforcement config to schema' ( #279 ) from capability-enforcement-config into master
...
Reviewed-on: #279
2026-07-03 21:02:11 +00:00
e2fe6cadda
Add capability enforcement config to schema
Tests / Tests (pull_request) Successful in 10s
2026-07-03 12:01:58 -07:00
aafdab5d4d
Merge pull request 'Add computePotAim query and shot-simulation operations' ( #278 ) from compute-pot-aim into master
2026-07-03 17:58:48 +00:00
adf05e3c28
Add computePotAim query and shot-simulation operations
...
Tests / Tests (pull_request) Successful in 10s
Schema: computePotAim(simulationInput, targetBallId, pocket) ->
PotAimGQL, the spin/throw-compensated aim solver (regenerated from
backend strawberry definitions; reuses the existing PocketIdentifier
enum). Operations: GetTableState, SimulateShot, and ComputePotAim
documents so both clients get generated hooks.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-07-03 01:44:02 -07:00
5391466e90
Merge pull request 'Add simulateShot query, cue strike and shot projection types' ( #277 ) from shot-simulation-stubs into master
...
Reviewed-on: #277
2026-07-02 23:35:30 +00:00
4ff2db1ef4
Add simulateShot query, cue strike and shot projection types
...
Tests / Tests (pull_request) Successful in 12s
Generated from backend strawberry definitions for the shot simulation
feature (image -> pooltool scenario -> projected outcome). Backend PR:
shot-simulation-stubs.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-07-02 16:12:11 -07:00
257dcdc31a
Merge pull request 'Add DismissVideoExport mutation (soft-hide exports)' ( #276 ) from dean/export-dismiss-gql into master
...
Reviewed-on: #276
2026-07-02 22:38:02 +00:00
Dean Wenstrand
b41365e99e
Add videoName + videoThumbnailUri to VideoExportJobFields
...
Tests / Tests (pull_request) Successful in 13s
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-07-02 14:41:59 -07:00
Dean Wenstrand
0e8233a5d5
Add DismissVideoExport mutation (soft-hide exports)
...
Tests / Tests (pull_request) Successful in 17s
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-07-02 14:18:55 -07:00
b6adae4949
Merge pull request 'Storage limit enforcement schema' ( #275 ) from storage-limit-enforcement-schema into master
...
Reviewed-on: #275
2026-07-01 22:29:41 +00:00
459e89d8b8
Select storage limit error fields
Tests / Tests (pull_request) Successful in 11s
2026-07-01 14:50:45 -07:00
fa2ff19572
Add storage limit enforcement schema
2026-07-01 14:41:21 -07:00
428286fa5a
Merge pull request 'dean/video-export-gql' ( #273 ) from dean/video-export-gql into master
...
Reviewed-on: #273
2026-06-30 22:48:02 +00:00
Dean Wenstrand
8771350115
Echo shotIds/runId on VideoExportJobGQL for re-export
...
Tests / Tests (pull_request) Successful in 13s
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-30 14:00:04 -07:00
Dean Wenstrand
f1594b8492
Video export client operations + myVideoExports list query
...
RequestVideoExport mutation, VideoExportJob + MyVideoExports queries (with the
VideoExportJobFields fragment) for the mobile fire-and-list flow.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-30 13:54:29 -07:00
Dean Wenstrand
3ec3e3d081
Add EXPORT_READY notification type (video export Phase 1b)
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-30 12:51:39 -07:00
Dean Wenstrand
d2c697e4cb
Add video export schema: VideoExportJob + request/query + mode/status enums
...
Generated from the backend video export resolvers (Phase 1a).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-30 12:35:34 -07:00
3484af9dde
Merge pull request 'Add storage usage readiness fields' ( #272 ) from storage-usage-readiness into master
...
Reviewed-on: #272
2026-06-30 17:12:00 +00:00
bc62cb5e39
Add storage usage readiness fields
Tests / Tests (pull_request) Successful in 27s
2026-06-29 10:56:33 -07:00
bc52145a9e
Merge pull request 'Add storage status schema' ( #270 ) from pr8-storage-status into master
...
Reviewed-on: #270
2026-06-26 15:33:19 +00:00
5c286f2bcf
Add storage status schema
Tests / Tests (pull_request) Successful in 24s
2026-06-25 17:34:19 -07:00
d636c298f8
Merge pull request 'Add resolved tier capabilities schema' ( #269 ) from tier-capabilities-schema into master
...
Reviewed-on: #269
2026-06-24 03:37:17 +00:00
681320c62d
Add resolved tier capabilities schema
Tests / Tests (pull_request) Successful in 15s
2026-06-23 15:51:21 -07:00
49f409f60b
Merge pull request 'Add resolved tier schema' ( #268 ) from resolved-tier-contract into master
...
Reviewed-on: #268
2026-06-23 22:10:10 +00:00
e7fc6c147d
Add resolved tier schema
Tests / Tests (pull_request) Successful in 11s
2026-06-23 14:01:32 -07:00
10c3f6de53
Merge pull request 'Add drill leaderboard run dates to gql' ( #267 ) from dean/add-dates-to-leaderboards-gql into master
...
Reviewed-on: #267
2026-06-23 15:51:28 +00:00
Dean Wenstrand
d7b1aaee13
Add drill leaderboard run dates to gql
Tests / Tests (pull_request) Successful in 25s
2026-06-23 08:47:08 -07:00
b477590137
Merge pull request 'VideoCardFields: fetch stream isCompleted + lastSegmentUploadedAt' ( #266 ) from dean/feed-upload-status-fields into master
...
Reviewed-on: #266
2026-06-20 22:45:07 +00:00
Dean Wenstrand
d428a8caa2
VideoCardFields: fetch stream isCompleted + lastSegmentUploadedAt
...
Tests / Tests (pull_request) Successful in 10s
Lets the feed derive upload state (uploading vs paused vs processing) per card.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-20 15:16:11 -07:00
48207e12ee
Merge pull request 'Add lastSegmentUploadedAt to UploadStreamGQL' ( #265 ) from dean/last-uploaded-chunk into master
...
Reviewed-on: #265
2026-06-20 21:45:32 +00:00
Dean Wenstrand
1d403f8155
Add lastSegmentUploadedAt to UploadStreamGQL
...
Tests / Tests (pull_request) Successful in 10s
Surfaces the timestamp of the most recently uploaded chunk so clients can tell
an actively-uploading stream from a partially-uploaded, stalled/paused one
(combined with isCompleted).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-20 14:40:40 -07:00
6758f3e77a
Merge pull request 'Add bio field to user (UserFragment + editUser)' ( #264 ) from dean/profile-bio into master
...
Reviewed-on: #264
2026-06-19 21:27:52 +00:00
Dean Wenstrand
79979b001a
Add bio field to user (UserFragment + editUser)
...
Tests / Tests (pull_request) Successful in 10s
Expose UserGQL.bio in UserFragment and let editUser set it; regenerated
codegen. Rebased onto current master.
2026-06-19 14:14:24 -07:00
49fbebd0c2
Merge pull request 'Fix duplicate Apple IAP selection' ( #263 ) from loewy/fix-duplicate-apple-iap-selection into master
...
Reviewed-on: #263
2026-06-18 21:39:20 +00:00
9219451c8d
Fix duplicate Apple IAP selection
Tests / Tests (pull_request) Successful in 11s
2026-06-18 14:32:37 -07:00
42601f9587
Merge pull request 'Add Apple subscription mobile operations' ( #255 ) from apple-iap-pr4-mobile-ops into master
...
Reviewed-on: #255
2026-06-18 20:03:10 +00:00
acfb750265
Merge pull request 'Add Apple IAP product IDs to subscription options' ( #262 ) from loewy/apple-iap-product-options into master
...
Reviewed-on: #262
2026-06-18 01:59:53 +00:00
ffa96a24c3
Add Apple subscription mobile operations
Tests / Tests (pull_request) Successful in 9s
2026-06-17 18:39:36 -07:00
5b73dd3a83
Add Apple IAP product IDs to subscription options
Tests / Tests (pull_request) Successful in 10s
2026-06-17 18:22:47 -07:00
d1bc29b41b
Add Apple IAP product config to subscription options
Tests / Tests (pull_request) Successful in 11s
2026-06-16 18:31:36 -07:00
853769e183
Add Apple subscription mobile operations
2026-06-16 18:31:36 -07:00
84524d165d
Merge pull request 'Add followingCount to GetVideoFeed payload' ( #261 ) from dean/feed-following-count into master
...
Reviewed-on: #261
2026-06-16 23:51:38 +00:00
Dean Wenstrand
f4c5fcedd6
Add followingCount to GetVideoFeed payload
...
Tests / Tests (pull_request) Successful in 9s
Surfaces how many leading feed videos come from followed users so the
client can place the 'Trending' section divider in the blended home feed.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-16 16:46:21 -07:00
07ca121a3e
Merge pull request 'Add spinTypeBreakdown (draw/center/follow) to PlayerSummaryFields' ( #259 ) from dean/player-spin-types into master
...
Reviewed-on: #259
2026-06-16 22:24:19 +00:00
Dean Wenstrand
66fb4d3dcc
Add spinTypeBreakdown (draw/center/follow) to PlayerSummaryFields
Tests / Tests (pull_request) Successful in 9s
2026-06-16 14:36:56 -07:00
5293576947
Merge pull request 'Add runLengths to PlayerSummaryFields (per-player run distribution)' ( #258 ) from dean/player-run-lengths into master
...
Reviewed-on: #258
2026-06-16 20:57:00 +00:00
Dean Wenstrand
0c1afbcc76
Add runLengths to PlayerSummaryFields (per-player run distribution)
Tests / Tests (pull_request) Successful in 10s
2026-06-16 13:39:04 -07:00
655209e1c6
Merge pull request 'Add Apple IAP subscription options schema' ( #256 ) from loewy/apple-iap-product-config into master
...
Reviewed-on: #256
2026-06-16 18:10:00 +00:00
c9576cf405
Add Apple IAP subscription options schema
Tests / Tests (pull_request) Successful in 11s
2026-06-16 10:47:07 -07:00
0c0cd7a7bb
Merge pull request 'dean/my-drill-runs' ( #257 ) from dean/my-drill-runs into master
...
Reviewed-on: #257
2026-06-16 04:25:03 +00:00
Dean Wenstrand
53fa982bcf
GetDrillRunLeaderboard: table/pocket filter vars + setup fields
...
Tests / Tests (pull_request) Successful in 9s
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-15 21:19:37 -07:00
Dean Wenstrand
7ec6ec9193
GetMyDrillRuns: include run date (video.createdAt)
...
Tests / Tests (pull_request) Successful in 9s
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-15 19:42:02 -07:00
Dean Wenstrand
0ce333525c
Add GetMyDrillRuns query + generated types
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-15 19:33:56 -07:00
48b647636e
Merge pull request 'Add GetDrillRunLeaderboard query + generated types' ( #254 ) from dean/drill-run-leaderboard into master
...
Reviewed-on: #254
2026-06-16 00:52:05 +00:00
Dean Wenstrand
d1ed5b308b
Add GetDrillRunLeaderboard query + generated types
...
Tests / Tests (pull_request) Successful in 9s
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-15 16:42:52 -07:00
079e4e8719
Merge pull request 'Add Apple subscription sync schema' ( #253 ) from apple-iap-pr2-backend-schema into master
...
Reviewed-on: #253
2026-06-12 04:50:36 +00:00
af68bc3c60
Add Apple subscription sync schema
Tests / Tests (pull_request) Successful in 10s
2026-06-11 18:40:54 -07:00
f12d2c5a1b
Merge pull request 'Add Apple entitlement source enum' ( #252 ) from apple-entitlement-source-enum into master
...
Reviewed-on: #252
2026-06-11 21:55:26 +00:00
4e3f649a2c
Add Apple entitlement source enum
Tests / Tests (pull_request) Successful in 28s
2026-06-11 12:43:03 -07:00
7cef75b2ca
Merge pull request 'dean/get-video-card-query' ( #250 ) from dean/get-video-card-query into master
...
Reviewed-on: #250
2026-06-09 05:05:52 +00:00
Dean Wenstrand
6d5cd9b1ed
Add lean GetLastSessionDate + GetShotClipRanges queries
...
Tests / Tests (pull_request) Successful in 24s
- GetLastSessionDate: most-recent session startTime only, for the Home
recency nudge (was pulling the full VideoCardFields payload).
- GetShotClipRanges / ShotClipRange: per-shot frame/time window only, for
the inline session player's condensed playback (was pulling
ShotWithAllFeatures — features, serialized paths, annotations — x500).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-05 14:27:42 -07:00
Dean Wenstrand
d59e21c10e
Add GetVideoCard query (single-video VideoCardFields)
...
Returns the full VideoCardFields fragment for one video id, so the
session-detail meta header can share one source of truth (and the
normalized Apollo cache) with the feed card instead of stitching
together GetVideoDetails + GetVideoSocialDetailsById.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-05 14:04:33 -07:00
9358205327
Merge pull request 'Add quotaEnforcementEnabled to deployed config' ( #249 ) from loewy/expose-quota-enforcement-config into master
...
Reviewed-on: #249
2026-05-28 23:18:01 +00:00
88634a32e9
add quotaEnforcementEnabled to deployed config
Tests / Tests (pull_request) Successful in 10s
2026-05-28 14:52:51 -07:00
f7200a2e9f
Merge pull request 'Add upload quota status operation' ( #248 ) from loewy/quota-status-buckets into master
...
Reviewed-on: #248
2026-05-28 21:46:56 +00:00
7d839c0fa6
Add upload quota status operation
Tests / Tests (pull_request) Successful in 10s
2026-05-27 16:52:43 -07:00
ab1e604871
Merge pull request 'Add quota bucket status fields' ( #247 ) from loewy/quota-status-buckets into master
...
Reviewed-on: #247
2026-05-26 02:47:40 +00:00
deb724b430
Add quota bucket status fields
Tests / Tests (pull_request) Successful in 9s
2026-05-25 16:26:57 -07:00
c586bdf1a6
Merge pull request 'Add username + profileImageUri to PlayerClusterGQL' ( #246 ) from dean/player-cluster-username into master
...
Reviewed-on: #246
2026-05-12 00:27:06 +00:00
Dean Wenstrand
9250e4c639
Add username + profileImageUri to PlayerClusterGQL
...
Tests / Tests (pull_request) Successful in 9s
The labeling UI was falling back to "user N" for any assigned cluster
whose user wasn't the video owner — e.g. an admin re-labels a video
they don't own. With the resolver now resolving usernames for every
confirmed cluster, the FE can render real names regardless of who's
viewing.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-11 17:25:34 -07:00
a12b3e1210
Merge pull request 'Add averageDifficulty to PlayerSummaryFields' ( #245 ) from dean/player-summaries-avg-difficulty-types into master
...
Reviewed-on: #245
2026-05-11 22:41:52 +00:00
Dean Wenstrand
5cf2dbaf01
Add averageDifficulty to PlayerSummaryFields
...
Tests / Tests (pull_request) Successful in 9s
Regenerated via `just gql` after BE added average_difficulty to
PlayerSummaryGQL.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-11 15:34:25 -07:00
239a143554
Merge pull request 'Regenerate schema + add longestRun to PlayerSummaryFields' ( #244 ) from dean/player-summaries-longest-run-types into master
...
Reviewed-on: #244
2026-05-11 20:29:39 +00:00
Dean Wenstrand
296522afb8
Regenerate schema + add longestRun to PlayerSummaryFields
...
Tests / Tests (pull_request) Successful in 10s
Generated by `just gql` after BE added longest_run to PlayerSummaryGQL.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-11 13:21:47 -07:00
f42579076e
Merge pull request 'Add score to PlayerSummaryFields + PlayerClusterFields fragments' ( #243 ) from dean/video-match-score-types into master
...
Reviewed-on: #243
2026-05-11 17:43:43 +00:00
Dean Wenstrand
0c9eb4945a
Add score to PlayerSummaryFields + PlayerClusterFields fragments
...
Tests / Tests (pull_request) Successful in 9s
Picks up the BE additions in railbird PR dean/video-match-score:
new `score` field on PlayerClusterGQL and PlayerSummaryGQL, and
a new `score` input field on ClusterAssignmentInput.
Generated by `just gql`.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-11 10:22:58 -07:00
1182c15004
Merge pull request 'Add playerSummaries to schema + Video fragments' ( #242 ) from dean/player-summaries-types into master
...
Reviewed-on: #242
2026-05-09 19:34:40 +00:00
Dean Wenstrand
755336b16a
Add playerSummaries to schema + Video fragments
...
Tests / Tests (pull_request) Successful in 10s
Backs the multi-player vs UI: feed cards and the detail page both
read `video.playerSummaries`, a per-cluster rollup with username,
profile image, representative full-frame URL, makes/total/percentage.
- PlayerSummaryFields fragment in shooter.gql
- VideoCardFields (feed) and GetVideoDetails (detail) include
playerSummaries via the new fragment
- VideoCardFields tag selection extended to include tagClasses,
needed for the FE's player_count detection
Generated by `just gql` from the BE additions in railbird PR
dean/video-player-summaries.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-09 12:02:57 -07:00
c1efe9f5f2
Merge pull request 'Add VideoPlayerClusters query + FinalizePlayerAssignments mutation' ( #241 ) from dean/player-labeling-ops into master
...
Reviewed-on: #241
2026-05-09 04:46:10 +00:00
Dean Wenstrand
a3460842ac
Add VideoPlayerClusters query + FinalizePlayerAssignments mutation
...
Tests / Tests (pull_request) Successful in 10s
Operation file for the per-video player-labeling UI that consumes the
schema types added in #240 .
- VideoPlayerClusters($videoId): read clusters + crops
- FinalizePlayerAssignments($input): apply user assignments and
shot moves in one transaction
Generated by `just gql`.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-08 21:44:42 -07:00
84d3a0252d
Merge pull request 'Add player cluster + labeling mutation types' ( #240 ) from dean/labeling-api-types into master
...
Reviewed-on: #240
2026-05-09 00:38:29 +00:00
Dean Wenstrand
1de4a97cb6
Add player cluster + labeling mutation types
...
Tests / Tests (pull_request) Successful in 10s
Schema additions for the per-video player labeling UI:
* `PlayerClusterGQL` / `PlayerClusterShotGQL` — read shape.
* `FinalizePlayerAssignmentsInput` + `ClusterAssignmentInput` +
`ShotMoveInput` — write shape.
* Query: `videoPlayerClusters(videoId)`.
* Mutation: `finalizePlayerAssignments(input)`.
Generated by `just gql` from the backend type definitions in
`railbird/datatypes/gql/shooter.py` and resolvers in
`railbird/server/resolvers/shooter.py`.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-08 15:04:41 -07:00
130314546c
Merge pull request 'Add trial days to GetAvailableSubscriptions' ( #239 ) from loewy/add-trial-period-days into master
...
Reviewed-on: #239
2026-05-04 21:46:45 +00:00
b88f172355
add trial days to return
Tests / Tests (pull_request) Successful in 10s
2026-05-04 14:07:16 -07:00
639fc88b0b
Merge pull request 'Add createCustomerPortalSession' ( #238 ) from loewy/create-customer-portal-session into master
...
Reviewed-on: #238
2026-05-01 22:45:40 +00:00
20f50368c9
remove return url
Tests / Tests (pull_request) Successful in 10s
2026-05-01 13:15:18 -07:00
8367c2d0cd
add createCustomerPortalSession
Tests / Tests (pull_request) Successful in 10s
2026-04-30 11:44:34 -07:00
b0c62f6e80
Merge pull request 'Trim getFeed query fragment' ( #237 ) from loewy/trim-get-feed-query-fragment into master
...
Reviewed-on: #237
2026-04-29 20:26:40 +00:00
bc1ff66467
trim uncessary requested fields
Tests / Tests (pull_request) Successful in 38s
2026-04-28 12:53:25 -07:00
ae37a3d9d9
Merge pull request 'Default getLongestRunsLeaderboard limit to 50' ( #236 ) from dean/leaderboard-default-top-50 into master
...
Reviewed-on: #236
2026-04-24 00:01:23 +00:00
Dean Wenstrand
114b21400e
Default getLongestRunsLeaderboard limit to 50
...
Tests / Tests (pull_request) Successful in 10s
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-04-23 16:56:56 -07:00
ad9cab4543
Merge pull request 'Get Game Type Tag Operations' ( #234 ) from loewy/get-game-type-tag-metrics-operation into master
...
Reviewed-on: #234
2026-04-14 20:11:43 +00:00
cd3ecdfba4
Merge pull request 'Add schema getGameTypeTagMetrics' ( #232 ) from loewy/add-get-game-type-tag-metrics into master
...
Reviewed-on: #232
2026-04-01 23:23:16 +00:00
28ba01c07f
operation
Tests / Tests (pull_request) Successful in 11s
2026-03-30 15:31:24 -07:00
27a0c08cd5
add schema getGameTypeTagMetrics
Tests / Tests (pull_request) Successful in 10s
2026-03-30 13:09:18 -07:00
99f0913fd8
Merge pull request 'Add manual entitlement GraphQL schema fields' ( #231 ) from ivan/manual-entitlement-abstraction-gql into master
...
Reviewed-on: #231
2026-03-22 18:32:22 +00:00
dfb0e02630
Add manual entitlement GraphQL schema fields
Tests / Tests (pull_request) Successful in 11s
2026-03-22 11:23:11 -07:00
c4a2e184fb
Merge pull request 'Add lowestUnuploadedSegmentIndex to operation' ( #230 ) from loewy/add-lowest-unuploaded-segment-index-to-stream-monitoring-details into master
...
Reviewed-on: #230
2026-03-20 23:39:50 +00:00
f14cf3b255
add lowestUnuploadedSegmentIndex to operation
Tests / Tests (pull_request) Successful in 11s
2026-03-18 16:43:31 -07:00
c46776d417
Merge pull request 'Upload Quota GQL' ( #227 ) from loewy/upload-quota-limit-gql into master
...
Reviewed-on: #227
2026-03-18 21:33:26 +00:00
6ab5286a49
add expected durations to operation
Tests / Tests (pull_request) Successful in 11s
2026-03-17 17:22:19 -07:00