From 5dc0cc985fb9a610a4e48b991eaf233f066ab74c Mon Sep 17 00:00:00 2001 From: Vitaly Popuzin Date: Mon, 26 Dec 2022 20:03:54 +0100 Subject: [PATCH 01/13] add logs for change realm --- packages/shared/apis/host/RestrictedActions.ts | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/packages/shared/apis/host/RestrictedActions.ts b/packages/shared/apis/host/RestrictedActions.ts index 8cdd2ec50..037f8c7f6 100644 --- a/packages/shared/apis/host/RestrictedActions.ts +++ b/packages/shared/apis/host/RestrictedActions.ts @@ -99,9 +99,13 @@ function isPositionValid(position: Vector3, ctx: PortContext) { export function registerRestrictedActionsServiceServerImplementation(port: RpcServerPort) { codegen.registerService(port, RestrictedActionsServiceDefinition, async () => ({ async triggerEmote(req: TriggerEmoteRequest, ctx: PortContext) { + console.log("VV: 0 " + req) + return triggerEmote(req, ctx) }, async movePlayerTo(req: MovePlayerToRequest, ctx: PortContext) { + console.log("VV: 1 " + req) + return movePlayerTo(req, ctx) }, async changeRealm(req: ChangeRealmRequest, ctx: PortContext) { @@ -114,6 +118,7 @@ export function registerRestrictedActionsServiceServerImplementation(port: RpcSe // TODO: add visual prompt for the user const userApprovedChangingRealm = true // await unity.promptChangeRealm(sceneId, req.message, req.realm) + console.log("VV: 2 " + req) if (userApprovedChangingRealm) { try { await changeRealm(req.realm) From abbd7cd40560199d2d98516b32bcc2826258b598 Mon Sep 17 00:00:00 2001 From: Vitaly Popuzin Date: Mon, 26 Dec 2022 20:29:20 +0100 Subject: [PATCH 02/13] add one more console log --- packages/shared/dao/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/shared/dao/index.ts b/packages/shared/dao/index.ts index fe9a22c0f..4a79c5cf5 100644 --- a/packages/shared/dao/index.ts +++ b/packages/shared/dao/index.ts @@ -209,7 +209,7 @@ export async function changeRealm(realmString: string, forceChange: boolean = fa } const catalystURL = new URL(realmConfig.baseUrl) - + console.log("vv " + realmConfig.baseUrl); if (!forceChange) { const denylistedCatalysts: string[] = getDisabledCatalystConfig(store.getState()) ?? [] if (denylistedCatalysts.find((denied) => new URL(denied).host === catalystURL.host)) { From ce1d75a5fb44b967f5fca2974eb60a6995fd23d5 Mon Sep 17 00:00:00 2001 From: Vitaly Popuzin Date: Mon, 26 Dec 2022 20:45:57 +0100 Subject: [PATCH 03/13] exrended logs --- packages/shared/dao/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/shared/dao/index.ts b/packages/shared/dao/index.ts index 4a79c5cf5..9712260b6 100644 --- a/packages/shared/dao/index.ts +++ b/packages/shared/dao/index.ts @@ -209,7 +209,7 @@ export async function changeRealm(realmString: string, forceChange: boolean = fa } const catalystURL = new URL(realmConfig.baseUrl) - console.log("vv " + realmConfig.baseUrl); + console.log("vv " + realmString + " forceChange " + forceChange + " realmConfig " + realmConfig); if (!forceChange) { const denylistedCatalysts: string[] = getDisabledCatalystConfig(store.getState()) ?? [] if (denylistedCatalysts.find((denied) => new URL(denied).host === catalystURL.host)) { From 57749b1399be67ccbbb2e4878def3c83d0f18486 Mon Sep 17 00:00:00 2001 From: Vitaly Popuzin Date: Mon, 26 Dec 2022 20:47:56 +0100 Subject: [PATCH 04/13] more logs --- packages/shared/dao/index.ts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/packages/shared/dao/index.ts b/packages/shared/dao/index.ts index 9712260b6..49435ef46 100644 --- a/packages/shared/dao/index.ts +++ b/packages/shared/dao/index.ts @@ -220,6 +220,9 @@ export async function changeRealm(realmString: string, forceChange: boolean = fa const currentRealmAdapter = getRealmAdapter(store.getState()) const identity = getCurrentIdentity(store.getState()) + console.log("vv currentRealmAdapter " + currentRealmAdapter); + console.log("vv identity " + identity); + // if not forceChange, then cancel operation if we are inside the desired realm if (!forceChange && currentRealmAdapter && currentRealmAdapter.baseUrl === realmConfig.baseUrl) { return From 2dcc57e0d0a46cc6ed95fa7588c1733af85875e6 Mon Sep 17 00:00:00 2001 From: Vitaly Popuzin Date: Mon, 26 Dec 2022 20:59:14 +0100 Subject: [PATCH 05/13] changed logger to commsLogger --- packages/shared/dao/index.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/shared/dao/index.ts b/packages/shared/dao/index.ts index 49435ef46..fdf9b9fce 100644 --- a/packages/shared/dao/index.ts +++ b/packages/shared/dao/index.ts @@ -209,7 +209,7 @@ export async function changeRealm(realmString: string, forceChange: boolean = fa } const catalystURL = new URL(realmConfig.baseUrl) - console.log("vv " + realmString + " forceChange " + forceChange + " realmConfig " + realmConfig); + commsLogger.info("vv " + realmString + " forceChange " + forceChange + " realmConfig " + realmConfig); if (!forceChange) { const denylistedCatalysts: string[] = getDisabledCatalystConfig(store.getState()) ?? [] if (denylistedCatalysts.find((denied) => new URL(denied).host === catalystURL.host)) { @@ -220,8 +220,8 @@ export async function changeRealm(realmString: string, forceChange: boolean = fa const currentRealmAdapter = getRealmAdapter(store.getState()) const identity = getCurrentIdentity(store.getState()) - console.log("vv currentRealmAdapter " + currentRealmAdapter); - console.log("vv identity " + identity); + commsLogger.info("vv currentRealmAdapter " + currentRealmAdapter); + commsLogger.info("vv identity " + identity); // if not forceChange, then cancel operation if we are inside the desired realm if (!forceChange && currentRealmAdapter && currentRealmAdapter.baseUrl === realmConfig.baseUrl) { From 1536928e5ef4321f3284c86fac6d33e0f67ca9f7 Mon Sep 17 00:00:00 2001 From: Vitaly Popuzin Date: Mon, 26 Dec 2022 21:07:41 +0100 Subject: [PATCH 06/13] fixed logs for commsLogger --- packages/shared/dao/index.ts | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/packages/shared/dao/index.ts b/packages/shared/dao/index.ts index fdf9b9fce..536cc12dd 100644 --- a/packages/shared/dao/index.ts +++ b/packages/shared/dao/index.ts @@ -209,7 +209,9 @@ export async function changeRealm(realmString: string, forceChange: boolean = fa } const catalystURL = new URL(realmConfig.baseUrl) - commsLogger.info("vv " + realmString + " forceChange " + forceChange + " realmConfig " + realmConfig); + commsLogger.info("vv realmString", realmString ); + commsLogger.info("vv realmConfig " , realmConfig); + if (!forceChange) { const denylistedCatalysts: string[] = getDisabledCatalystConfig(store.getState()) ?? [] if (denylistedCatalysts.find((denied) => new URL(denied).host === catalystURL.host)) { @@ -220,8 +222,8 @@ export async function changeRealm(realmString: string, forceChange: boolean = fa const currentRealmAdapter = getRealmAdapter(store.getState()) const identity = getCurrentIdentity(store.getState()) - commsLogger.info("vv currentRealmAdapter " + currentRealmAdapter); - commsLogger.info("vv identity " + identity); + commsLogger.info("vv currentRealmAdapter ", currentRealmAdapter); + commsLogger.info("vv identity ", identity); // if not forceChange, then cancel operation if we are inside the desired realm if (!forceChange && currentRealmAdapter && currentRealmAdapter.baseUrl === realmConfig.baseUrl) { From 61660bd9bea0f5f178a8a7afd65c512fcbcfe199 Mon Sep 17 00:00:00 2001 From: Vitaly Popuzin Date: Mon, 26 Dec 2022 21:47:13 +0100 Subject: [PATCH 07/13] add 2 more logs --- packages/shared/scene-loader/sagas.ts | 1 + packages/shared/world/TeleportController.ts | 1 + 2 files changed, 2 insertions(+) diff --git a/packages/shared/scene-loader/sagas.ts b/packages/shared/scene-loader/sagas.ts index 2ad9a63c9..2bb8e3018 100644 --- a/packages/shared/scene-loader/sagas.ts +++ b/packages/shared/scene-loader/sagas.ts @@ -109,6 +109,7 @@ function* waitForSceneLoader() { // to unsettle the position. function* unsettlePositionOnSceneLoader() { const lastPosition: ReadOnlyVector2 = yield select(getParcelPosition) + console.log("vv 0 " + lastPosition.x) yield put(teleportToAction({ position: gridToWorld(lastPosition.x, lastPosition.y) })) } diff --git a/packages/shared/world/TeleportController.ts b/packages/shared/world/TeleportController.ts index beabca82f..1faac0a1a 100644 --- a/packages/shared/world/TeleportController.ts +++ b/packages/shared/world/TeleportController.ts @@ -94,6 +94,7 @@ export class TeleportController { if (isInsideWorldLimits(x, y)) { await changeToMostPopulatedRealm() + console.log("vv 1 goto" + tpMessage) store.dispatch(trackTeleportTriggered(tpMessage)) /// This doesn't work when the logic of activate/deactivate rendering is so tightly coupled with the loading /// screen. The code needs rework From 42ed44ae3d5638ae17e99da4b6051d9175a011f0 Mon Sep 17 00:00:00 2001 From: Vitaly Popuzin Date: Mon, 26 Dec 2022 22:05:15 +0100 Subject: [PATCH 08/13] add y position log --- packages/shared/scene-loader/sagas.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/shared/scene-loader/sagas.ts b/packages/shared/scene-loader/sagas.ts index 2bb8e3018..54e2692e6 100644 --- a/packages/shared/scene-loader/sagas.ts +++ b/packages/shared/scene-loader/sagas.ts @@ -109,7 +109,7 @@ function* waitForSceneLoader() { // to unsettle the position. function* unsettlePositionOnSceneLoader() { const lastPosition: ReadOnlyVector2 = yield select(getParcelPosition) - console.log("vv 0 " + lastPosition.x) + console.log("vv 0 " + lastPosition.x + lastPosition.y) yield put(teleportToAction({ position: gridToWorld(lastPosition.x, lastPosition.y) })) } From 38838061ff882ddab9a228cd28cb25c887cf8917 Mon Sep 17 00:00:00 2001 From: Vitaly Popuzin Date: Mon, 26 Dec 2022 22:50:23 +0100 Subject: [PATCH 09/13] some other logs --- packages/shared/scene-loader/sagas.ts | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/packages/shared/scene-loader/sagas.ts b/packages/shared/scene-loader/sagas.ts index 54e2692e6..4228bb191 100644 --- a/packages/shared/scene-loader/sagas.ts +++ b/packages/shared/scene-loader/sagas.ts @@ -47,6 +47,7 @@ import { getAllowedContentServer } from 'shared/meta/selectors' import { CHANGE_LOGIN_STAGE } from 'shared/session/actions' import { isLoginCompleted } from 'shared/session/selectors' import { updateLoadingScreen } from '../loadingScreen/actions' +import {commsLogger} from "../comms/context"; export function* sceneLoaderSaga() { yield takeLatest(SET_REALM_ADAPTER, setSceneLoaderOnSetRealmAction) @@ -126,11 +127,15 @@ A scene can fail loading due to an error or timeout. */ function* teleportHandler(action: TeleportToAction) { + commsLogger.info("vv 00", action ); + yield put(setParcelPosition(worldToGrid(action.payload.position))) + commsLogger.info("vv 01 worldToGrid", action.payload.position ); const sceneLoader: ISceneLoader = yield call(waitForSceneLoader) try { // look for the target scene + const pointer = encodeParcelPosition(worldToGrid(action.payload.position)) const command: SetDesiredScenesCommand = yield apply(sceneLoader, sceneLoader.fetchScenesByLocation, [[pointer]]) From 329c61d6a7ace5f68e223c2230a4b05f628f529c Mon Sep 17 00:00:00 2001 From: Vitaly Popuzin Date: Mon, 26 Dec 2022 23:00:53 +0100 Subject: [PATCH 10/13] fixed getting func result in log --- packages/shared/scene-loader/sagas.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/shared/scene-loader/sagas.ts b/packages/shared/scene-loader/sagas.ts index 4228bb191..571acf21b 100644 --- a/packages/shared/scene-loader/sagas.ts +++ b/packages/shared/scene-loader/sagas.ts @@ -130,7 +130,7 @@ function* teleportHandler(action: TeleportToAction) { commsLogger.info("vv 00", action ); yield put(setParcelPosition(worldToGrid(action.payload.position))) - commsLogger.info("vv 01 worldToGrid", action.payload.position ); + commsLogger.info("vv 01 worldToGrid", worldToGrid(action.payload.position) ); const sceneLoader: ISceneLoader = yield call(waitForSceneLoader) try { From 30adea6f32d36e00c24131bda2f82b35adb2cfb6 Mon Sep 17 00:00:00 2001 From: Vitaly Popuzin Date: Wed, 28 Dec 2022 17:18:08 +0100 Subject: [PATCH 11/13] add teleportation to 0,0 when jumped from the World --- packages/shared/realm/selectors.ts | 8 ++++++++ packages/shared/scene-loader/sagas.ts | 12 +++++++----- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/packages/shared/realm/selectors.ts b/packages/shared/realm/selectors.ts index 84956c821..2f05c0c52 100644 --- a/packages/shared/realm/selectors.ts +++ b/packages/shared/realm/selectors.ts @@ -5,6 +5,14 @@ import { SET_REALM_ADAPTER } from './actions' import { realmToConnectionString, urlWithProtocol } from './resolver' import { IRealmAdapter, RootRealmState, OFFLINE_REALM } from './types' +export const isWorldLoaderActive = (realmAdapter: IRealmAdapter) => + !!realmAdapter?.about.configurations?.scenesUrn?.length || + realmAdapter?.about.configurations?.cityLoaderContentServer === '' + +export function isWorldActiveSelector(state: RootRealmState) { + return state.realm.realmAdapter && isWorldLoaderActive(state.realm.realmAdapter) +} + export const getRealmAdapter = (state: RootRealmState): IRealmAdapter | undefined => state.realm.realmAdapter export const getRealmConnectionString = (state: RootRealmState): string => state.realm.realmAdapter ? realmToConnectionString(state.realm.realmAdapter) : OFFLINE_REALM diff --git a/packages/shared/scene-loader/sagas.ts b/packages/shared/scene-loader/sagas.ts index 571acf21b..0602e95f5 100644 --- a/packages/shared/scene-loader/sagas.ts +++ b/packages/shared/scene-loader/sagas.ts @@ -30,7 +30,7 @@ import { getSceneLoader, getPositionSettled } from './selectors' -import { getFetchContentServerFromRealmAdapter } from 'shared/realm/selectors' +import {getFetchContentServerFromRealmAdapter, isWorldActiveSelector, isWorldLoaderActive} from 'shared/realm/selectors' import { ISceneLoader, SceneLoaderPositionReport, SetDesiredScenesCommand } from './types' import { getSceneWorkerBySceneID, setDesiredParcelScenes } from 'shared/world/parcelSceneManager' import { BEFORE_UNLOAD } from 'shared/actions' @@ -110,7 +110,6 @@ function* waitForSceneLoader() { // to unsettle the position. function* unsettlePositionOnSceneLoader() { const lastPosition: ReadOnlyVector2 = yield select(getParcelPosition) - console.log("vv 0 " + lastPosition.x + lastPosition.y) yield put(teleportToAction({ position: gridToWorld(lastPosition.x, lastPosition.y) })) } @@ -196,6 +195,7 @@ function* onPositionSettled(action: PositionSettled | PositionSettled) { // This saga reacts to new realms/bff and creates the proper scene loader function* setSceneLoaderOnSetRealmAction(action: SetRealmAdapterAction) { + const isWorld = yield select(isWorldActiveSelector) const adapter: IRealmAdapter | undefined = action.payload if (!adapter) { @@ -203,10 +203,9 @@ function* setSceneLoaderOnSetRealmAction(action: SetRealmAdapterAction) { } else { // if the /about endpoint returns scenesUrn(s) then those need to be loaded // and the genesis city should not start - const loadFixedWorld = - !!adapter.about.configurations?.scenesUrn?.length || adapter.about.configurations?.cityLoaderContentServer === '' + const willLoadFixedWorld = isWorldLoaderActive(adapter) - if (loadFixedWorld) { + if (willLoadFixedWorld) { // TODO: disable green blockers here const loader: ISceneLoader = yield call(createWorldLoader, { @@ -232,6 +231,9 @@ function* setSceneLoaderOnSetRealmAction(action: SetRealmAdapterAction) { emptyParcelsBaseUrl }) yield put(setSceneLoader(loader)) + + if(isWorld) + yield call( teleportHandler, teleportToAction({ position: gridToWorld(0, 0) })) } yield put(signalParcelLoadingStarted()) From 03eba213d5124b167fa4e47b9387f324ccef99c6 Mon Sep 17 00:00:00 2001 From: menduz Date: Wed, 28 Dec 2022 20:40:18 -0300 Subject: [PATCH 12/13] almost there --- .../shared/apis/host/RestrictedActions.ts | 6 +-- packages/shared/comms/sagas.ts | 38 +++++++++++++++++-- packages/shared/dao/actions.ts | 4 -- packages/shared/dao/index.ts | 8 ++-- packages/shared/dao/sagas.ts | 19 +++------- packages/shared/realm/selectors.ts | 2 +- packages/shared/scene-loader/sagas.ts | 15 +++++--- packages/shared/voiceChat/selectors.ts | 3 +- packages/shared/world/TeleportController.ts | 2 +- 9 files changed, 59 insertions(+), 38 deletions(-) diff --git a/packages/shared/apis/host/RestrictedActions.ts b/packages/shared/apis/host/RestrictedActions.ts index 037f8c7f6..91ff2e6a1 100644 --- a/packages/shared/apis/host/RestrictedActions.ts +++ b/packages/shared/apis/host/RestrictedActions.ts @@ -99,12 +99,12 @@ function isPositionValid(position: Vector3, ctx: PortContext) { export function registerRestrictedActionsServiceServerImplementation(port: RpcServerPort) { codegen.registerService(port, RestrictedActionsServiceDefinition, async () => ({ async triggerEmote(req: TriggerEmoteRequest, ctx: PortContext) { - console.log("VV: 0 " + req) + console.log('VV: 0 ' + req) return triggerEmote(req, ctx) }, async movePlayerTo(req: MovePlayerToRequest, ctx: PortContext) { - console.log("VV: 1 " + req) + console.log('VV: 1 ' + req) return movePlayerTo(req, ctx) }, @@ -118,7 +118,7 @@ export function registerRestrictedActionsServiceServerImplementation(port: RpcSe // TODO: add visual prompt for the user const userApprovedChangingRealm = true // await unity.promptChangeRealm(sceneId, req.message, req.realm) - console.log("VV: 2 " + req) + console.log('VV: 2 ' + req) if (userApprovedChangingRealm) { try { await changeRealm(req.realm) diff --git a/packages/shared/comms/sagas.ts b/packages/shared/comms/sagas.ts index 47784cb38..2baf653ef 100644 --- a/packages/shared/comms/sagas.ts +++ b/packages/shared/comms/sagas.ts @@ -1,4 +1,4 @@ -import { put, takeEvery, select, call, takeLatest, fork, take, race, delay, apply } from 'redux-saga/effects' +import { put, takeEvery, select, call, fork, take, race, delay, apply } from 'redux-saga/effects' import { commsEstablished, establishingComms, FATAL_ERROR } from 'shared/loading/types' import { commsLogger } from './context' @@ -27,7 +27,7 @@ import { EventChannel } from 'redux-saga' import { ExplorerIdentity } from 'shared/session/types' import { USER_AUTHENTIFIED } from 'shared/session/actions' import * as rfc4 from '@dcl/protocol/out-ts/decentraland/kernel/comms/rfc4/comms.gen' -import { selectAndReconnectRealm } from 'shared/dao/sagas' +import { clearRealmFromQueryString, selectAndReconnectRealm } from 'shared/dao/sagas' import { waitForMetaConfigurationInitialization } from 'shared/meta/sagas' import { getCommsConfig, getFeatureFlagEnabled, getMaxVisiblePeers } from 'shared/meta/selectors' import { getCurrentIdentity } from 'shared/session/selectors' @@ -58,12 +58,13 @@ import { import { getUnityInstance } from 'unity-interface/IUnityInterface' import { NotificationType } from 'shared/types' import { trackEvent } from 'shared/analytics' +import { TeleportController } from 'shared/world/TeleportController' const TIME_BETWEEN_PROFILE_RESPONSES = 1000 const INTERVAL_ANNOUNCE_PROFILE = 1000 export function* commsSaga() { - yield takeLatest(HANDLE_ROOM_DISCONNECTION, handleRoomDisconnectionSaga) + yield takeEvery(HANDLE_ROOM_DISCONNECTION, handleRoomDisconnectionSaga) yield takeEvery(FATAL_ERROR, function* () { // set null context on fatal error. this will bring down comms. @@ -260,6 +261,8 @@ function* handleConnectToComms(action: ConnectToCommsAction) { notifyStatusThroughChat('Error connecting to comms. Will try another realm') yield put(setRealmAdapter(undefined)) yield put(setRoomConnection(undefined)) + yield call(clearRealmFromQueryString) + yield call(selectAndReconnectRealm) } } @@ -556,16 +559,43 @@ export async function disconnectRoom(context: RoomConnection) { } } +function showErrorNotification(message: string) { + getUnityInstance().ShowNotification({ + type: NotificationType.GENERIC, + message, + buttonMessage: 'OK', + timer: 15 + }) +} + // this saga handles the suddenly disconnection of a CommsContext function* handleRoomDisconnectionSaga(action: HandleRoomDisconnection) { const room: RoomConnection = yield select(getCommsRoom) + // only if we are receiving an action corresponding to the current state if (room && room === action.payload.context) { // this also remove the context yield put(setRoomConnection(undefined)) if (action.payload.context) { - notifyStatusThroughChat(`Lost connection to realm`) + showErrorNotification(`Lost connection to realm`) + } + + const realm: IRealmAdapter | undefined = yield select(getRealmAdapter) + // when the RoomConnection gets disconnected, it may be necessary to bring + // the user to a functional realm. The realm will be chosen by the same + // algorithm as the one used when the application starts. + // ONLY IF the current realm has a fixedAdapter. otherwise, archipelago may + // assign another realm + if (!realm || realm.about.comms?.fixedAdapter) { + yield call(clearRealmFromQueryString) + + // if it was a WORLD, then we take the user to their home-point (if possible) + if (realm?.about.configurations?.realmName?.endsWith('.dcl.eth')) { + yield apply(TeleportController, TeleportController.goToHome, []) + } + + yield call(selectAndReconnectRealm) } } } diff --git a/packages/shared/dao/actions.ts b/packages/shared/dao/actions.ts index 722e53f78..d120d2963 100644 --- a/packages/shared/dao/actions.ts +++ b/packages/shared/dao/actions.ts @@ -13,7 +13,3 @@ export type SetCatalystCandidates = ReturnType export const SELECT_NETWORK = '[DAO] Select network' export const selectNetwork = (network: ETHEREUM_NETWORK) => action(SELECT_NETWORK, network) export type SelectNetworkAction = ReturnType - -export const CATALYST_REALMS_SCAN_REQUESTED = '[Request] Catalyst Realms scan' -export const catalystRealmsScanRequested = () => action(CATALYST_REALMS_SCAN_REQUESTED) -export type CatalystRealmsScanRequested = ReturnType diff --git a/packages/shared/dao/index.ts b/packages/shared/dao/index.ts index 536cc12dd..09043c07e 100644 --- a/packages/shared/dao/index.ts +++ b/packages/shared/dao/index.ts @@ -209,8 +209,8 @@ export async function changeRealm(realmString: string, forceChange: boolean = fa } const catalystURL = new URL(realmConfig.baseUrl) - commsLogger.info("vv realmString", realmString ); - commsLogger.info("vv realmConfig " , realmConfig); + commsLogger.info('vv realmString', realmString) + commsLogger.info('vv realmConfig ', realmConfig) if (!forceChange) { const denylistedCatalysts: string[] = getDisabledCatalystConfig(store.getState()) ?? [] @@ -222,8 +222,8 @@ export async function changeRealm(realmString: string, forceChange: boolean = fa const currentRealmAdapter = getRealmAdapter(store.getState()) const identity = getCurrentIdentity(store.getState()) - commsLogger.info("vv currentRealmAdapter ", currentRealmAdapter); - commsLogger.info("vv identity ", identity); + commsLogger.info('vv currentRealmAdapter ', currentRealmAdapter) + commsLogger.info('vv identity ', identity) // if not forceChange, then cancel operation if we are inside the desired realm if (!forceChange && currentRealmAdapter && currentRealmAdapter.baseUrl === realmConfig.baseUrl) { diff --git a/packages/shared/dao/sagas.ts b/packages/shared/dao/sagas.ts index 35e0ea1be..0ce944fd1 100644 --- a/packages/shared/dao/sagas.ts +++ b/packages/shared/dao/sagas.ts @@ -1,9 +1,4 @@ -import { - setCatalystCandidates, - SET_CATALYST_CANDIDATES, - SetCatalystCandidates, - catalystRealmsScanRequested -} from './actions' +import { setCatalystCandidates, SET_CATALYST_CANDIDATES, SetCatalystCandidates } from './actions' import { call, put, takeEvery, select, take } from 'redux-saga/effects' import { PIN_CATALYST, ETHEREUM_NETWORK, PREVIEW, rootURLPreviewMode } from 'config' import { waitForMetaConfigurationInitialization, waitForNetworkSelected } from '../meta/sagas' @@ -77,12 +72,12 @@ function* pickCatalystRealm() { return urlWithProtocol(realm.hostname) } -function qsRealm() { +function getRealmFromQueryString() { const qs = new URLSearchParams(document.location.search) return qs.get('realm') } -function clearQsRealm() { +export function clearRealmFromQueryString() { const q = new URLSearchParams(globalThis.location.search) q.delete('realm') globalThis.history.replaceState({}, 'realm', `?${q.toString()}`) @@ -114,7 +109,7 @@ export function* selectAndReconnectRealm() { // if no realm was selected, then do the whole initialization dance } catch (e: any) { // if it failed, try changing the queryString - clearQsRealm() + clearRealmFromQueryString() try { // and try again yield call(tryConnectRealm) @@ -135,17 +130,16 @@ function* waitForCandidates() { function* selectRealm() { const network: ETHEREUM_NETWORK = yield call(waitForNetworkSelected) - yield call(initializeCatalystCandidates) - const candidatesReceived = yield select(getCatalystCandidatesReceived) if (!candidatesReceived) { + yield call(initializeCatalystCandidates) yield call(waitForCandidates) } const realm: string | undefined = // query param (dao candidates & cached) - (yield call(qsRealm)) || + (yield call(getRealmFromQueryString)) || // preview mode (PREVIEW ? rootURLPreviewMode() : null) || // CATALYST from url parameter @@ -177,7 +171,6 @@ async function getRealmFromLocalStorage(network: ETHEREUM_NETWORK) { function* initializeCatalystCandidates() { yield call(waitForMetaConfigurationInitialization) - yield put(catalystRealmsScanRequested()) const catalystsNodesEndpointURL: string | undefined = yield select(getCatalystNodesEndpoint) diff --git a/packages/shared/realm/selectors.ts b/packages/shared/realm/selectors.ts index 2f05c0c52..716d76016 100644 --- a/packages/shared/realm/selectors.ts +++ b/packages/shared/realm/selectors.ts @@ -7,7 +7,7 @@ import { IRealmAdapter, RootRealmState, OFFLINE_REALM } from './types' export const isWorldLoaderActive = (realmAdapter: IRealmAdapter) => !!realmAdapter?.about.configurations?.scenesUrn?.length || - realmAdapter?.about.configurations?.cityLoaderContentServer === '' + realmAdapter?.about.configurations?.cityLoaderContentServer === '' export function isWorldActiveSelector(state: RootRealmState) { return state.realm.realmAdapter && isWorldLoaderActive(state.realm.realmAdapter) diff --git a/packages/shared/scene-loader/sagas.ts b/packages/shared/scene-loader/sagas.ts index 0602e95f5..f9880097e 100644 --- a/packages/shared/scene-loader/sagas.ts +++ b/packages/shared/scene-loader/sagas.ts @@ -30,7 +30,11 @@ import { getSceneLoader, getPositionSettled } from './selectors' -import {getFetchContentServerFromRealmAdapter, isWorldActiveSelector, isWorldLoaderActive} from 'shared/realm/selectors' +import { + getFetchContentServerFromRealmAdapter, + isWorldActiveSelector, + isWorldLoaderActive +} from 'shared/realm/selectors' import { ISceneLoader, SceneLoaderPositionReport, SetDesiredScenesCommand } from './types' import { getSceneWorkerBySceneID, setDesiredParcelScenes } from 'shared/world/parcelSceneManager' import { BEFORE_UNLOAD } from 'shared/actions' @@ -47,7 +51,7 @@ import { getAllowedContentServer } from 'shared/meta/selectors' import { CHANGE_LOGIN_STAGE } from 'shared/session/actions' import { isLoginCompleted } from 'shared/session/selectors' import { updateLoadingScreen } from '../loadingScreen/actions' -import {commsLogger} from "../comms/context"; +import { commsLogger } from '../comms/context' export function* sceneLoaderSaga() { yield takeLatest(SET_REALM_ADAPTER, setSceneLoaderOnSetRealmAction) @@ -126,10 +130,10 @@ A scene can fail loading due to an error or timeout. */ function* teleportHandler(action: TeleportToAction) { - commsLogger.info("vv 00", action ); + commsLogger.info('vv 00', action) yield put(setParcelPosition(worldToGrid(action.payload.position))) - commsLogger.info("vv 01 worldToGrid", worldToGrid(action.payload.position) ); + commsLogger.info('vv 01 worldToGrid', worldToGrid(action.payload.position)) const sceneLoader: ISceneLoader = yield call(waitForSceneLoader) try { @@ -232,8 +236,7 @@ function* setSceneLoaderOnSetRealmAction(action: SetRealmAdapterAction) { }) yield put(setSceneLoader(loader)) - if(isWorld) - yield call( teleportHandler, teleportToAction({ position: gridToWorld(0, 0) })) + if (isWorld) yield call(teleportHandler, teleportToAction({ position: gridToWorld(0, 0) })) } yield put(signalParcelLoadingStarted()) diff --git a/packages/shared/voiceChat/selectors.ts b/packages/shared/voiceChat/selectors.ts index b7af6f4ac..1d9863a13 100644 --- a/packages/shared/voiceChat/selectors.ts +++ b/packages/shared/voiceChat/selectors.ts @@ -4,7 +4,7 @@ import { isFriend } from 'shared/friends/selectors' import { RootFriendsState } from 'shared/friends/types' import { getBannedUsers } from 'shared/meta/selectors' import { BannedUsers, RootMetaState } from 'shared/meta/types' -import { getCurrentUserProfile, getProfile } from 'shared/profiles/selectors' +import { getProfile } from 'shared/profiles/selectors' import { RootProfileState } from 'shared/profiles/types' import { RootVoiceChatState, VoicePolicy } from './types' import { VOICE_CHAT_FEATURE_TOGGLE } from 'shared/types' @@ -12,7 +12,6 @@ import { RootWorldState } from 'shared/world/types' import { getCurrentIdentity } from 'shared/session/selectors' import { RootSessionState } from 'shared/session/types' import { getSceneWorkerBySceneID } from 'shared/world/parcelSceneManager' -import { store } from '../store/isolatedStore' export const hasJoinedVoiceChat = (store: RootVoiceChatState) => store.voiceChat.joined diff --git a/packages/shared/world/TeleportController.ts b/packages/shared/world/TeleportController.ts index 1faac0a1a..fdc70041a 100644 --- a/packages/shared/world/TeleportController.ts +++ b/packages/shared/world/TeleportController.ts @@ -94,7 +94,7 @@ export class TeleportController { if (isInsideWorldLimits(x, y)) { await changeToMostPopulatedRealm() - console.log("vv 1 goto" + tpMessage) + console.log('vv 1 goto' + tpMessage) store.dispatch(trackTeleportTriggered(tpMessage)) /// This doesn't work when the logic of activate/deactivate rendering is so tightly coupled with the loading /// screen. The code needs rework From 80d2e79f6cd3f31e2403f8270d94fd851adcd052 Mon Sep 17 00:00:00 2001 From: menduz Date: Thu, 29 Dec 2022 09:35:26 -0300 Subject: [PATCH 13/13] remove logs --- packages/shared/apis/host/RestrictedActions.ts | 5 ----- packages/shared/dao/index.ts | 5 ----- packages/shared/scene-loader/sagas.ts | 14 +------------- packages/shared/world/TeleportController.ts | 1 - 4 files changed, 1 insertion(+), 24 deletions(-) diff --git a/packages/shared/apis/host/RestrictedActions.ts b/packages/shared/apis/host/RestrictedActions.ts index 91ff2e6a1..8cdd2ec50 100644 --- a/packages/shared/apis/host/RestrictedActions.ts +++ b/packages/shared/apis/host/RestrictedActions.ts @@ -99,13 +99,9 @@ function isPositionValid(position: Vector3, ctx: PortContext) { export function registerRestrictedActionsServiceServerImplementation(port: RpcServerPort) { codegen.registerService(port, RestrictedActionsServiceDefinition, async () => ({ async triggerEmote(req: TriggerEmoteRequest, ctx: PortContext) { - console.log('VV: 0 ' + req) - return triggerEmote(req, ctx) }, async movePlayerTo(req: MovePlayerToRequest, ctx: PortContext) { - console.log('VV: 1 ' + req) - return movePlayerTo(req, ctx) }, async changeRealm(req: ChangeRealmRequest, ctx: PortContext) { @@ -118,7 +114,6 @@ export function registerRestrictedActionsServiceServerImplementation(port: RpcSe // TODO: add visual prompt for the user const userApprovedChangingRealm = true // await unity.promptChangeRealm(sceneId, req.message, req.realm) - console.log('VV: 2 ' + req) if (userApprovedChangingRealm) { try { await changeRealm(req.realm) diff --git a/packages/shared/dao/index.ts b/packages/shared/dao/index.ts index 09043c07e..fe9a22c0f 100644 --- a/packages/shared/dao/index.ts +++ b/packages/shared/dao/index.ts @@ -209,8 +209,6 @@ export async function changeRealm(realmString: string, forceChange: boolean = fa } const catalystURL = new URL(realmConfig.baseUrl) - commsLogger.info('vv realmString', realmString) - commsLogger.info('vv realmConfig ', realmConfig) if (!forceChange) { const denylistedCatalysts: string[] = getDisabledCatalystConfig(store.getState()) ?? [] @@ -222,9 +220,6 @@ export async function changeRealm(realmString: string, forceChange: boolean = fa const currentRealmAdapter = getRealmAdapter(store.getState()) const identity = getCurrentIdentity(store.getState()) - commsLogger.info('vv currentRealmAdapter ', currentRealmAdapter) - commsLogger.info('vv identity ', identity) - // if not forceChange, then cancel operation if we are inside the desired realm if (!forceChange && currentRealmAdapter && currentRealmAdapter.baseUrl === realmConfig.baseUrl) { return diff --git a/packages/shared/scene-loader/sagas.ts b/packages/shared/scene-loader/sagas.ts index f9880097e..b6d047285 100644 --- a/packages/shared/scene-loader/sagas.ts +++ b/packages/shared/scene-loader/sagas.ts @@ -30,11 +30,7 @@ import { getSceneLoader, getPositionSettled } from './selectors' -import { - getFetchContentServerFromRealmAdapter, - isWorldActiveSelector, - isWorldLoaderActive -} from 'shared/realm/selectors' +import { getFetchContentServerFromRealmAdapter, isWorldLoaderActive } from 'shared/realm/selectors' import { ISceneLoader, SceneLoaderPositionReport, SetDesiredScenesCommand } from './types' import { getSceneWorkerBySceneID, setDesiredParcelScenes } from 'shared/world/parcelSceneManager' import { BEFORE_UNLOAD } from 'shared/actions' @@ -51,7 +47,6 @@ import { getAllowedContentServer } from 'shared/meta/selectors' import { CHANGE_LOGIN_STAGE } from 'shared/session/actions' import { isLoginCompleted } from 'shared/session/selectors' import { updateLoadingScreen } from '../loadingScreen/actions' -import { commsLogger } from '../comms/context' export function* sceneLoaderSaga() { yield takeLatest(SET_REALM_ADAPTER, setSceneLoaderOnSetRealmAction) @@ -130,15 +125,11 @@ A scene can fail loading due to an error or timeout. */ function* teleportHandler(action: TeleportToAction) { - commsLogger.info('vv 00', action) - yield put(setParcelPosition(worldToGrid(action.payload.position))) - commsLogger.info('vv 01 worldToGrid', worldToGrid(action.payload.position)) const sceneLoader: ISceneLoader = yield call(waitForSceneLoader) try { // look for the target scene - const pointer = encodeParcelPosition(worldToGrid(action.payload.position)) const command: SetDesiredScenesCommand = yield apply(sceneLoader, sceneLoader.fetchScenesByLocation, [[pointer]]) @@ -199,7 +190,6 @@ function* onPositionSettled(action: PositionSettled | PositionSettled) { // This saga reacts to new realms/bff and creates the proper scene loader function* setSceneLoaderOnSetRealmAction(action: SetRealmAdapterAction) { - const isWorld = yield select(isWorldActiveSelector) const adapter: IRealmAdapter | undefined = action.payload if (!adapter) { @@ -235,8 +225,6 @@ function* setSceneLoaderOnSetRealmAction(action: SetRealmAdapterAction) { emptyParcelsBaseUrl }) yield put(setSceneLoader(loader)) - - if (isWorld) yield call(teleportHandler, teleportToAction({ position: gridToWorld(0, 0) })) } yield put(signalParcelLoadingStarted()) diff --git a/packages/shared/world/TeleportController.ts b/packages/shared/world/TeleportController.ts index fdc70041a..beabca82f 100644 --- a/packages/shared/world/TeleportController.ts +++ b/packages/shared/world/TeleportController.ts @@ -94,7 +94,6 @@ export class TeleportController { if (isInsideWorldLimits(x, y)) { await changeToMostPopulatedRealm() - console.log('vv 1 goto' + tpMessage) store.dispatch(trackTeleportTriggered(tpMessage)) /// This doesn't work when the logic of activate/deactivate rendering is so tightly coupled with the loading /// screen. The code needs rework