fix(deps): update couch-kit - #51
Merged
Merged
Conversation
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.
This PR contains the following updates:
^0.3.9→^0.3.10^0.13.0→^0.14.0^0.9.3→^0.10.0^1.7.15→^1.7.16Release Notes
faluciano/react-native-couch-kit (@couch-kit/cli)
v0.3.10Compare Source
Patch Changes
a157126]:faluciano/react-native-couch-kit (@couch-kit/client)
v0.14.0Compare Source
Minor Changes
#164
a157126Thanks @faluciano! - Send a projected state update as one relay frame instead of one per playerA game with a
projectfunction sends every player their own view, which meantone WebSocket frame per player for every state change. Relays bill and
rate-limit per inbound frame, so a four-player table paid four messages for one
update and spent four of the display's 30-per-second budget.
GameRuntimeTransportgains an optionalsendMany(entries). When a transportimplements it, the runtime hands over the whole projected batch at once;
transports that do not — the LAN WebSocket path — keep receiving one
sendperconnection and are unaffected.
RelayDisplayHostimplements it with a newDATA_MULTIenvelope carrying apeer-id-to-payload map, which the relay unpacks into ordinary
DATAframes.Phones need no update — nothing on the client side can tell a batched update
from a unicast one. If the combined frame would exceed the relay's 256KB
ceiling, the display falls back to individual frames rather than send something
the relay would drop.
Relays must be updated before displays: both bundled implementations
(
services/relay,services/relay-worker) understandDATA_MULTI, and anolder relay answers it with
MALFORMED. The type is host-only — a phone sendingit is rejected, so it cannot be used to reach another phone directly.
#164
a157126Thanks @faluciano! - Back the time-sync ping off to 30s once the clock estimate settlesuseGameClient's clock sync pinged every 5 seconds for the life of theconnection. It now starts there and doubles to a 30-second ceiling
(
MAX_SYNC_INTERVAL), resetting to the fast interval whenever a new socket isestablished, including after a reconnect.
The first few pings are what converge the offset; the clock difference they
measure does not drift on a human timescale, so the fast interval stops earning
its cost within about a minute. On a relay transport it is not free: each ping
is a message in and a
PONGback out, and pings are the only traffic an idletable generates at all. A four-player lobby went from 5,760 relay messages an
hour to under 1,000 while sitting untouched.
rttandgetServerTime()are unchanged in accuracy — both are updated by thesame
PONGhandling as before, just less often once settled. Games needing theold cadence can dispatch their own pings; the constants
(
DEFAULT_SYNC_INTERVAL,MAX_SYNC_INTERVAL,SYNC_BACKOFF_FACTOR) areexported from
@couch-kit/core.Patch Changes
a157126]:faluciano/react-native-couch-kit (@couch-kit/core)
v0.10.0Compare Source
Minor Changes
#164
a157126Thanks @faluciano! - Back the time-sync ping off to 30s once the clock estimate settlesuseGameClient's clock sync pinged every 5 seconds for the life of theconnection. It now starts there and doubles to a 30-second ceiling
(
MAX_SYNC_INTERVAL), resetting to the fast interval whenever a new socket isestablished, including after a reconnect.
The first few pings are what converge the offset; the clock difference they
measure does not drift on a human timescale, so the fast interval stops earning
its cost within about a minute. On a relay transport it is not free: each ping
is a message in and a
PONGback out, and pings are the only traffic an idletable generates at all. A four-player lobby went from 5,760 relay messages an
hour to under 1,000 while sitting untouched.
rttandgetServerTime()are unchanged in accuracy — both are updated by thesame
PONGhandling as before, just less often once settled. Games needing theold cadence can dispatch their own pings; the constants
(
DEFAULT_SYNC_INTERVAL,MAX_SYNC_INTERVAL,SYNC_BACKOFF_FACTOR) areexported from
@couch-kit/core.faluciano/react-native-couch-kit (@couch-kit/host)
v1.7.16Compare Source
Patch Changes
a157126,a157126]:Configuration
📅 Schedule: (UTC)
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
This PR was generated by Mend Renovate. View the repository job log.