Skip to content

[build-tools] Limit simulator recording bitrate - #4325

Open
szdziedzic wants to merge 2 commits into
mainfrom
szdziedzic-codex/device-run-recording-bitrate
Open

[build-tools] Limit simulator recording bitrate#4325
szdziedzic wants to merge 2 commits into
mainfrom
szdziedzic-codex/device-run-recording-bitrate

Conversation

@szdziedzic

@szdziedzic szdziedzic commented Aug 31, 2026

Copy link
Copy Markdown
Contributor

Why

iOS Simulator recordings currently inherit record-sim's 30 Mbps default. Long device run sessions can therefore produce multi-gigabyte artifacts that approach or exceed the single-part upload limit.

Companion WWW change: https://github.com/expo/universe/pull/30668

How

Pass an explicit 5 Mbps bitrate for device run session recordings. A two-hour recording at that target is about 4.5 GB before MP4 container overhead, leaving headroom below the 4.995 GiB R2 limit while retaining a reasonable H.264 screen-recording bitrate. The standalone record-sim default is unchanged.

Test Plan

CI

@github-actions

Copy link
Copy Markdown

✅ Thank you for adding the changelog entry!

@szdziedzic
szdziedzic requested review from gwdp and sjchmiela August 31, 2026 23:11
@codecov

codecov Bot commented Aug 31, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 65.39%. Comparing base (4b1e5a7) to head (2f368d6).

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #4325      +/-   ##
==========================================
+ Coverage   65.38%   65.39%   +0.01%     
==========================================
  Files        1058     1058              
  Lines       49090    49094       +4     
  Branches    10353    10353              
==========================================
+ Hits        32095    32099       +4     
  Misses      16879    16879              
  Partials      116      116              

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Comment on lines +19 to +20
// A two-hour recording at this target is about 4.5 GB, leaving room below R2's
// single-part upload limit for MP4 container overhead.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this feels very handwavy cause if the screen does not change, a two hour recording should be under 10 MB

});
}

export function createRecordSimArgs({

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i don't think extracting to a separate function makes sense

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.

3 participants