Repository navigation
Follow the Cloudflare worker's new settings contract - #15
Merged
Merged
Conversation
jlnstrk
force-pushed
the
jlnstrk/cloudflare-settings-contract
branch
from
October 22, 2026 10:49
3e8f8cf to
911b6d2
Compare
jlnstrk
force-pushed
the
jlnstrk/layered-settings-hooks
branch
from
October 23, 2026 14:23
bfbe1cd to
9e9f96d
Compare
jlnstrk
force-pushed
the
jlnstrk/cloudflare-settings-contract
branch
from
October 23, 2026 14:32
911b6d2 to
5d02446
Compare
jlnstrk
changed the base branch from
jlnstrk/layered-settings-hooks
to
jlnstrk/layered-settings-client
October 23, 2026 14:39
jlnstrk
force-pushed
the
jlnstrk/cloudflare-settings-contract
branch
from
October 23, 2026 14:40
5d02446 to
9044727
Compare
jlnstrk
force-pushed
the
jlnstrk/cloudflare-settings-contract
branch
2 times, most recently
from
October 23, 2026 16:32
aa8a760 to
7822bda
Compare
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
force-pushed
the
jlnstrk/cloudflare-settings-contract
branch
from
October 23, 2026 16:48
7822bda to
9574ab7
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Today, the simulator's Cloudflare backend sends the worker
nullfor 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 anulltrack limit.cloudflare-browser-simulatormoves to the worker's main at hypervideo/cloudflare-browser-simulator#7's merge,4a7f2fb, for the regenerated worker client.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, andunlimitedand a number of tracks also in the command.noneandhyper-voiceas they are. The backend no longer turnshyper-voiceintononeor refuses it.4320p, both ways.The transport stays WebRTC for Cloudflare participants. The backend sends
webrtc, and the worker forces WebRTC through hyper.video'stransportsetting 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.