Skip to content

fix: cap the Video settings summary to the device ceiling (follow-up to #17) - #29

Merged
joeblau merged 1 commit into
mainfrom
fix/17-followup-summary-cap
Jul 4, 2026
Merged

fix: cap the Video settings summary to the device ceiling (follow-up to #17)#29
joeblau merged 1 commit into
mainfrom
fix/17-followup-summary-cap

Conversation

@joeblau

@joeblau joeblau commented Jul 4, 2026

Copy link
Copy Markdown
Owner

Follow-up polish to the 1080p60 unlock (#17 / #28).

The unlock gated the Quality and Frame Rate pickers by StreamCapability, but the collapsed Video launcher summary still interpolated the raw persisted videoQuality/frameRate. On a device whose ceiling is below a stored value — e.g. a settings blob restored via iCloud/backup from a more capable phone — the row rendered "1080p · … · 60 fps" while the pickers and the actual encoded stream were correctly capped, reintroducing the exact over-promise #17 set out to remove. Now the summary shows the effective (min'd) values so it matches what streams.

Also pins two StreamCore contracts an adversarial multi-agent review flagged as untested:

  • the StreamCapability core-count boundary at exactly 6 (5 cores + ample RAM → 30 fps)
  • the zero-dimension encodeSize fallback at a 1080 ceiling and under clamping

Verification: 60 StreamCore tests pass; full app target builds against the iOS 27 SDK.

🤖 Generated with Claude Code

#17)

The 1080p60 unlock (#28) gated the Quality and Frame Rate pickers by
StreamCapability but left the collapsed Video launcher summary
interpolating the raw persisted videoQuality/frameRate. On a device
whose ceiling is below a stored value — e.g. a settings blob restored via
iCloud/backup from a more capable phone — the row rendered "1080p · … ·
60 fps" while the pickers and the actual encoded stream were correctly
capped, reintroducing the exact over-promise #17 set out to remove. Show
the effective (min'd) values so the summary matches what streams.

Also pins two StreamCore contracts an adversarial review flagged as
untested: the StreamCapability core-count boundary at exactly 6 (5 cores
+ ample RAM -> 30 fps) and the zero-dimension encodeSize fallback at a
1080 ceiling and under clamping.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@joeblau
joeblau merged commit bab811e into main Jul 4, 2026
1 check passed
@joeblau
joeblau deleted the fix/17-followup-summary-cap branch July 4, 2026 20:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant