You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
`connect` opened with `var roomOptions = this.roomOptions;` while a
parameter of the same name was in scope. Dart permits a local to shadow
a parameter — silently, with no warning and the local winning — so every
`RoomOptions` a caller passed to `connect` was discarded and the Room's
own options were used instead. Nothing surfaced the mismatch.
The parameter is deprecated in favour of the `Room` constructor, but
deprecated is not the same as inert: while it is still accepted it has
to take effect. It now does, falling back to the Room's options when
absent. `Engine.connect` already adopted whatever it was handed, so the
value propagates from there without further changes.
The local is renamed to `effectiveRoomOptions`, since restoring the
parameter's visibility is the whole point and leaving two things called
`roomOptions` in one scope is what caused this.
Adds a regression test, and threads `connectOptions`/`roomOptions`
through the E2E container so it can be exercised. Verified the test
fails against the old shadowing behavior.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
0 commit comments