Skip to content

Follow the Cloudflare worker's new settings contract - #15

Merged
jlnstrk merged 1 commit into
mainfrom
jlnstrk/cloudflare-settings-contract
Oct 23, 2026
Merged

jlnstrk merged 1 commit into
mainfrom
jlnstrk/cloudflare-settings-contract

Conversation

@jlnstrk

@jlnstrk jlnstrk commented Oct 22, 2026 •

Copy link
Copy Markdown
Contributor

Today, the simulator's Cloudflare backend sends the worker null for no track limit, and maps noise suppression and video constraints to the worker's old values. For auto gain control, blur and the video constraints that a participant leaves to hyper.video, it sends hyper.video's defaults, which override an admin's session values. hypervideo/cloudflare-browser-simulator#7 changes the worker's create and command requests to take hyper.video's settings values instead, and makes these settings optional. Once that change deploys, the worker rejects the simulator's create request with a 400, because it no longer takes a null track limit.

  • Submodule: cloudflare-browser-simulator moves to the worker's main at hypervideo/cloudflare-browser-simulator#7's merge, 4a7f2fb, for the regenerated worker client.
  • Settings left to hyper.video: a participant that leaves auto gain control, blur, a video constraint or the track limit to hyper.video leaves the field out of the create request, as Edit Hyper Core settings through hyper.settings.client #17 does for the other backends. The worker then unsets the setting, so the session's value applies, else hyper.video's default. Its own values pass through, and unlimited and a number of tracks also in the command.
  • Noise suppression: Cloudflare participants take none and hyper-voice as they are. The backend no longer turns hyper-voice into none or refuses it.
  • 4320p: the video constraints map 4320p to the worker's 4320p, both ways.

The transport stays WebRTC for Cloudflare participants. The backend sends webrtc, and the worker forces WebRTC through hyper.video's transport setting from hypervideo/cloudflare-browser-simulator#8 on.

hypervideo/cloudflare-browser-simulator#6 and #7 are merged and deploy the new worker, so merge this PR next. A simulator without this PR gets a 400 from the new worker, and a simulator with it sends values that the old worker rejects.

@jlnstrk
jlnstrk force-pushed the jlnstrk/cloudflare-settings-contract branch from 3e8f8cf to 911b6d2 Compare October 22, 2026 10:49
@jlnstrk
jlnstrk force-pushed the jlnstrk/layered-settings-hooks branch from bfbe1cd to 9e9f96d Compare October 23, 2026 14:23
@jlnstrk
jlnstrk force-pushed the jlnstrk/cloudflare-settings-contract branch from 911b6d2 to 5d02446 Compare October 23, 2026 14:32
@jlnstrk
jlnstrk changed the base branch from jlnstrk/layered-settings-hooks to jlnstrk/layered-settings-client October 23, 2026 14:39
@jlnstrk
jlnstrk force-pushed the jlnstrk/cloudflare-settings-contract branch from 5d02446 to 9044727 Compare October 23, 2026 14:40
@jlnstrk
jlnstrk changed the base branch from jlnstrk/layered-settings-client to main October 23, 2026 14:57
@jlnstrk
jlnstrk force-pushed the jlnstrk/cloudflare-settings-contract branch 2 times, most recently from aa8a760 to 7822bda Compare October 23, 2026 16:32
cloudflare-browser-simulator #7 changes the worker's create and
command requests to take hyper.video's settings values, and makes the
settings that hyper.video can decide optional. The worker then rejects
the create request the simulator sends today, whose track limit is null
for no limit.

- The submodule moves to the worker's main at #7's merge, 4a7f2fb.
- A participant that leaves auto gain control, blur, a video
  constraint or the track limit to hyper.video leaves the field out of
  the create request, so that the worker unsets the setting.
  "unlimited" and a number pass through, in the create request and in
  the command.
- Cloudflare participants take none and hyper-voice as they are,
  instead of turning hyper-voice into none.
- The video constraints map 4320p to the worker's 4320p, both ways.
@jlnstrk
jlnstrk force-pushed the jlnstrk/cloudflare-settings-contract branch from 7822bda to 9574ab7 Compare October 23, 2026 16:48
@jlnstrk
jlnstrk merged commit 7884d48 into main Oct 23, 2026
8 of 9 checks passed
@jlnstrk
jlnstrk deleted the jlnstrk/cloudflare-settings-contract branch October 23, 2026 16:49
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