[Do not merge] Auth server - #1316
Draft
gonpombo8 wants to merge 58 commits into
Draft
Conversation
Contributor
Test this pull request
|
Deploying js-sdk-toolchain with
|
| Latest commit: |
3c77d90
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://027d7f87.js-sdk-toolchain.pages.dev |
| Branch Preview URL: | https://auth-server.js-sdk-toolchain.pages.dev |
nicoecheza
force-pushed
the
auth-server
branch
2 times, most recently
from
April 23, 2026 12:48
111fd7e to
ddc8da1
Compare
nicoecheza
force-pushed
the
auth-server
branch
3 times, most recently
from
May 4, 2026 13:13
692d570 to
63ddb3f
Compare
pick f9ee3fd go back to req_crt_statate cause unity takes more time to connect to livekit
* feat: Add analytics to the storage command * fix: Use another segment keys
Remove checkRoomReady guard from RES_CRDT_STATE handler and RealmInfo.onChange server path — the existing checks (realmInfo truthiness, isConnectedSceneRoom) are sufficient. Also remove the unused createRoom factory function since Room is instantiated directly via new Room(...).
When engineToCrdt() returns no chunks, send an empty response so the requester receives RES_CRDT_STATE and stops retrying. Guard the receiver against processing empty payloads.
* feat: locomotion settings (#1389) * feat: locomotion settings (#1238) * set locomotion settings protocol branch and rebuilt * serialization tests * fix: update @dcl/protocol version * feat: add AudioAnalysis and AvatarLocomotionSettings components to playground-assets API * fix: export empty object in ReactEcs namespace to resolve documentation warning * fix: update snapshot files --------- Co-authored-by: Rocío Mena <rociocmena@gmail.com> * feat: add IA_MODIFIER input action support (#1390) Co-authored-by: Steven Williams <stevenwritescode@gmail.com> * fix: --no-client no longer breaks file-watch hot reload (#1391) * feat: add AudioAnalysis component (#1393) * feat: add AudioAnalysis component definition and tests Port the AudioAnalysis extended component from the experimental branch. The protocol already includes audio_analysis.proto on main — this adds the SDK-side extended component with readIntoView/tryReadIntoView helpers, createAudioAnalysis/createOrReplaceAudioAnalysis convenience methods, and serialization tests. * fix: update playground-assets API review file for AudioAnalysis Add AudioAnalysisComponentDefinitionExtended interface and AudioAnalysisView type to the API surface definition. * rebuild snapshots * rebuild * fix: ignoredDeprecations version * fix: identation * fix: regenerate playground-assets * fix: typescript version for tests --------- Co-authored-by: nearnshaw <earnshaw.nico@gmail.com> Co-authored-by: Nicolas Earnshaw <nearnshaw@decentraland.org> Co-authored-by: Gabriel Diaz <gabrieldiaz31@gmail.com> * build * Update packages/@dcl/playground-assets/etc/playground-assets.api.md Signed-off-by: Gabriel Díaz <git@subsme.slmail.me> * Update snapshots --------- Signed-off-by: Gabriel Díaz <git@subsme.slmail.me> Co-authored-by: Rocío Mena <rociocmena@gmail.com> Co-authored-by: Rocío <69587750+RocioCM@users.noreply.github.com> Co-authored-by: Steven Williams <stevenwritescode@gmail.com> Co-authored-by: Nicolas Echezarreta <nicoecheza@gmail.com> Co-authored-by: nearnshaw <earnshaw.nico@gmail.com> Co-authored-by: Nicolas Earnshaw <nearnshaw@decentraland.org> Co-authored-by: Gabriel Diaz <gabrieldiaz31@gmail.com> Co-authored-by: Gabriel Díaz <git@subsme.slmail.me>
nicoecheza
force-pushed
the
auth-server
branch
2 times, most recently
from
June 25, 2026 20:20
dd448d3 to
a770a7e
Compare
chore: sync main into authserver
… into chore/sync-main-to-authserver
chore: sync main to authserver
… into chore/sync-main-to-authserver
… into chore/sync-main-to-authserver
chore: sync main to authserver
… into chore/sync-main-to-authserver
chore: sync main to authserver
…torage.json corruption (#1545) * fix(sdk-commands): serialize local storage writes to prevent server-storage.json corruption The local preview/storage server persisted env/world/player state via an unguarded whole-file read-modify-write on server-storage.json. Concurrent upserts (a scene firing several set() calls on load, multiple tabs, or the storage CLI) interleaved on the event loop, causing lost updates and, with overlapping saves, byte-level corruption that the loader then discarded to defaults. - Run every load->mutate->save through a single in-process FIFO queue so writes apply in order and never race. - Make saveServerStorage atomic (write temp file, then rename) so a crash mid-write can never leave a truncated, unparseable file. - Replace the shared DEFAULT_STORAGE const with a createDefaultStorage() factory so default loads no longer alias (and leak into) each other. Adds runtime-env.spec.ts covering concurrent upserts, cross-bucket writes, atomic-write, and default isolation. * docs: note PR base is the integration branch (e.g. auth-server), not main
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.
Summary
This PR introduces a new client/server architecture for network messaging, replacing the
previous peer-to-peer CRDT synchronization with a centralized authoritative server model.
Key Changes
New Client/Server Architecture
permission checks
authoritative server instead of direct peer-to-peer communication
local entities
and network messages
Server-Side Features
prevent invalid state changes
(foundation for owner/server/all sync modes)
entities are introduced
for proper hierarchical rendering
Client-Side Changes
network message complexity abstracted away
ID:
authorative-server)peer-to-peer requests
Message Flow
Before (P2P):
Client A ↔ Client B ↔ Client C
After (Client/Server):
Client A ↘
Server (validates & broadcasts)
Client B ↗ ↘ Client C
Chunking and Broadcasting
engineToCrdt()forreliable message splitting
automatic chunking
Technical Architecture
Server Processing Flow
Client Processing Flow
Migration Impact
Test Plan