Skip to content

Commit

Permalink
Merge pull request #5779 from decentraland/release/release-20231009
Browse files Browse the repository at this point in the history
Release: release 2023 10 09
  • Loading branch information
davidejensen committed Oct 9, 2023
2 parents 60a8fe3 + 87a66a8 commit 606ec56
Show file tree
Hide file tree
Showing 215 changed files with 31,673 additions and 4,766 deletions.
35 changes: 21 additions & 14 deletions .github/ISSUE_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -1,32 +1,35 @@

## **Issue Description:**
### **Issue Description:**
<!-- Short description of the observed issue -->

### **Steps to reproduce:**

1.
2.
3.
4.
5.


1.
2.
3.

### **Expected behaviour:**



### **Current behaviour:**



### **Reproduction rate:**
<!-- Values from 5/5 -->


### **Severity:**
<!-- Cosmetic, Minor, Medium, High, Critical, Blocker -->

- [ ] Cosmetic
- [ ] Minor
- [ ] Medium
- [ ] High
- [ ] Critical
- [ ] Blocker

### **Priority:**
- [ ] High
- [ ] Medium
- [ ] Low

### **Platforms:**
- [ ] Windows
Expand All @@ -37,14 +40,18 @@
- [ ] Google Chrome
- [ ] Microsoft Edge
- [ ] Firefox
- [ ] Desktop
- [ ] Not Browser Specific

### **Environment:**
- [ ] Production
- [ ] Branch specific
- [ ] Release Branch


### **Additional Notes:**
#### **Evidence:**

#### **Additional Notes:**


### **Evidence:**

2 changes: 2 additions & 0 deletions browser-interface/packages/shared/analytics/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -95,4 +95,6 @@ export type TrackEvents = PositionTrackEvents & {
['seamless_login tos accepted']: Record<string, never> // {}
['seamless_login tos rejected']: Record<string, never> // {}
['seamless_login go to tos']: Record<string, never> // {}

['DEFAULT_REALM']: { message: string }
}
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ import type { PortContext } from './context'
import * as codegen from '@dcl/rpc/dist/codegen'

import { PortableExperiencesServiceDefinition } from 'shared/protocol/decentraland/kernel/apis/portable_experiences.gen'
import { isDclEns } from '../../realm/resolver'
import { isEns } from '../../realm/resolver'

export function registerPortableExperiencesServiceServerImplementation(port: RpcServerPort<PortContext>) {
codegen.registerService(port, PortableExperiencesServiceDefinition, async () => ({
Expand All @@ -30,7 +30,7 @@ export function registerPortableExperiencesServiceServerImplementation(port: Rpc
return px
}
// Load via Worlds ENS url
if (!isDclEns(req.ens)) throw new Error('Invalid ens name')
if (!isEns(req.ens)) throw new Error('Invalid ens name')
const px = await spawnPortableExperienceFromEns(req.ens, ctx.sceneData.id)
return { ...px, ens: req.ens }
},
Expand Down
2 changes: 1 addition & 1 deletion browser-interface/packages/shared/apis/host/Runtime.ts
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ export function registerRuntimeServiceServerImplementation(port: RpcServerPort<P
baseUrl,
realmName: realmAdapter.about.configurations?.realmName ?? '',
networkId: realmAdapter.about.configurations?.networkId ?? 1,
commsAdapter: realmAdapter.about.comms?.fixedAdapter ?? '',
commsAdapter: realmAdapter.about.comms?.adapter ?? '',
isPreview: PREVIEW
}
}
Expand Down
3 changes: 1 addition & 2 deletions browser-interface/packages/shared/comms/sagas.ts
Original file line number Diff line number Diff line change
Expand Up @@ -196,7 +196,6 @@ function* pingerProcess() {
function* handleConnectToComms(action: ConnectToCommsAction) {
try {
const identity: ExplorerIdentity = yield select(getCurrentIdentity)

yield put(setCommsIsland(action.payload.event.islandId))

const adapter: RoomConnection = yield call(connectAdapter, action.payload.event.connStr, identity)
Expand Down Expand Up @@ -294,7 +293,7 @@ async function connectAdapter(connStr: string, identity: ExplorerIdentity): Prom
logger: commsLogger,
url: theUrl.origin + theUrl.pathname,
token,
globalAudioStream: await getGlobalAudioStream(),
globalAudioStream: await getGlobalAudioStream()
})

store.dispatch(setLiveKitAdapter(livekitAdapter))
Expand Down
5 changes: 2 additions & 3 deletions browser-interface/packages/shared/dao/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ export async function fetchCatalystStatus(
aboutResponse.status === ServerConnectionStatus.OK &&
result &&
result.comms &&
result.configurations &&
result.configurations &&
result.configurations.realmName &&
result.bff &&
result.content &&
Expand Down Expand Up @@ -170,7 +170,7 @@ async function resolveOfflineRealmAboutFromConnectionString(
comms: {
healthy: false,
protocol: params.get('protocol') || 'offline',
fixedAdapter: params.get('fixedAdapter') || 'offline:offline'
adapter: params.get('adapter') || params.get('fixedAdapter') || 'offline:offline'
},
configurations: {
realmName: realmString,
Expand Down Expand Up @@ -231,7 +231,6 @@ export async function changeRealm(realmString: string, forceChange: boolean = fa
commsLogger.info('Connecting to realm', realmString)

const newAdapter = await adapterForRealmConfig(realmConfig.baseUrl, realmConfig.about, identity)

if (newAdapter) {
store.dispatch(setRealmAdapter(newAdapter))
} else {
Expand Down
1 change: 0 additions & 1 deletion browser-interface/packages/shared/dao/sagas.ts
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,6 @@ function clearQsRealm() {

function* tryConnectRealm(realm: string) {
const realmConfig = yield call(resolveRealmConfigFromString, realm)

const lastConnectedCandidates = yield select(getLastConnectedCandidates)
lastConnectedCandidates.set(realmConfig.baseUrl, Date.now())
yield put(setLastConnectedCandidates(lastConnectedCandidates))
Expand Down
1 change: 0 additions & 1 deletion browser-interface/packages/shared/meta/sagas.ts
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,6 @@ export function* metaSaga(): any {
...config,
featureFlagsV2: flagsAndVariants
}

yield put(metaConfigurationInitialized(merge))
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,16 +23,14 @@ function craftMessage(packet: ClientPacket): Uint8Array {

export async function createArchipelagoConnection(
baseUrl: string,
archipelagoUrl: string,
about: AboutResponse,
identity: ExplorerIdentity
): Promise<IRealmAdapter> {
const logger = createLogger('Archipelago handshake: ')
const address = identity.address
const url = new URL('/archipelago/ws', baseUrl).toString()
const wsUrl = url.replace(/^http/, 'ws')

const connected = future<void>()
const ws = new WebSocket(wsUrl, 'archipelago')
const ws = new WebSocket(archipelagoUrl, 'archipelago')
ws.binaryType = 'arraybuffer'
ws.onopen = () => connected.resolve()

Expand Down
8 changes: 6 additions & 2 deletions browser-interface/packages/shared/realm/logic.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,12 @@ export function hookConnectToFixedAdaptersIfNecessary(realm: IRealmAdapter) {
let connStr: string | undefined = undefined

if (realm.about.comms?.fixedAdapter) {
connStr = realm.about.comms?.fixedAdapter
} else if (realm.about.comms?.protocol === 'v3' && !realm.about.bff?.healthy) {
connStr = realm.about.comms?.fixedAdapter as string
} else if (realm.about.comms?.adapter && realm.about.comms?.adapter.startsWith('fixed-adapter')) {
const adapter = realm.about.comms?.adapter
const ix = adapter.indexOf(':')
connStr = adapter.substring(ix + 1)
} else if (realm.about.comms?.protocol === 'v3' && !realm.about.comms?.healthy) {
connStr = `offline`
}

Expand Down
17 changes: 12 additions & 5 deletions browser-interface/packages/shared/realm/resolver.ts
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,14 @@ export async function adapterForRealmConfig(
}

if (about.bff?.healthy) {
return createArchipelagoConnection(baseUrl, about, identity)
if (about.comms?.adapter && about.comms.adapter.startsWith('archipelago:archipelago')) {
const archipelagoUrl = about.comms.adapter.substring('archipelago:archipelago:'.length)
return createArchipelagoConnection(baseUrl, archipelagoUrl, about, identity)
} else {
const url = baseUrl + '/archipelago/ws'
const wsUrl = url.replace(/^http/, 'ws')
return createArchipelagoConnection(baseUrl, wsUrl, about, identity)
}
}

// return a mocked Archipelago
Expand All @@ -64,8 +71,8 @@ export function prettyRealmName(realm: string, candidates: Candidate[]) {
return realm
}

export function isDclEns(str: string | undefined): str is `${string}.dcl.eth` {
return !!str?.match(/^[a-zA-Z0-9]+\.dcl\.eth$/)?.length
export function isEns(str: string | undefined): str is `${string}.eth` {
return !!str?.match(/^[a-zA-Z0-9.]+\.eth$/)?.length
}

export function dclWorldUrl(dclName: string) {
Expand All @@ -79,7 +86,7 @@ export function realmToConnectionString(realm: IRealmAdapter) {
return realmName
}

if (isDclEns(realmName) && realm.baseUrl === dclWorldUrl(realmName)) {
if (isEns(realmName) && realm.baseUrl === dclWorldUrl(realmName)) {
return realmName
}

Expand All @@ -98,7 +105,7 @@ export function resolveRealmBaseUrlFromRealmQueryParameter(realmString: string,
}
}

if (isDclEns(realmString)) {
if (isEns(realmString)) {
return dclWorldUrl(realmString)
}

Expand Down
2 changes: 1 addition & 1 deletion browser-interface/test/sceneEvents/comms.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ import { reducers } from 'shared/store/rootReducer'
import { allScenesEvent } from 'shared/world/parcelSceneManager'

const about: AboutResponse = {
comms: { healthy: false, protocol: 'v2' },
comms: { healthy: false, protocol: 'v2', adapter: 'offline' },
configurations: {
scenesUrn: [],
globalScenesUrn: [],
Expand Down
8 changes: 4 additions & 4 deletions browser-interface/test/unit/comms-resolver.test.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ describe('Comms resolver', () => {
comms: {
healthy: false,
protocol: 'offline',
fixedAdapter: 'offline:offline'
adapter: 'offline:offline'
},
configurations: {
realmName: 'offline',
Expand Down Expand Up @@ -48,7 +48,7 @@ describe('Comms resolver', () => {
comms: {
healthy: false,
protocol: 'offline',
fixedAdapter: 'offline:offline'
adapter: 'offline:offline'
},
configurations: {
realmName: 'offline?baseUrl=peer.decentraland.zone',
Expand Down Expand Up @@ -76,7 +76,7 @@ describe('Comms resolver', () => {
comms: {
healthy: false,
protocol: 'offline',
fixedAdapter: 'offline:offline'
adapter: 'offline:offline'
},
configurations: {
realmName: 'offline?baseUrl=https://peer.decentraland.zone',
Expand Down Expand Up @@ -104,7 +104,7 @@ describe('Comms resolver', () => {
comms: {
healthy: false,
protocol: 'offline',
fixedAdapter: 'offline:offline'
adapter: 'offline:offline'
},
configurations: {
realmName: 'offline?baseUrl=http://peer.decentraland.zone',
Expand Down
8 changes: 5 additions & 3 deletions renderer-protocol/proto/decentraland/renderer/about.proto
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ message AboutResponse {
bool healthy = 1;
AboutConfiguration configurations = 2;
ContentInfo content = 3;
CommsInfo comms = 4;
optional CommsInfo comms = 4;
LambdasInfo lambdas = 5;
optional BffInfo bff = 6;
bool accepting_users = 7;
Expand Down Expand Up @@ -61,7 +61,9 @@ message AboutResponse {
// specific properties
string protocol = 50;
optional int32 users_count = 51;
optional string fixed_adapter = 52;
// Deprecated: Use adapter instead. This field may be removed in the future.
optional string fixed_adapter = 52 [deprecated = true];
string adapter = 53;
}
message BffInfo {
// common properties
Expand All @@ -73,4 +75,4 @@ message AboutResponse {
optional int32 user_count = 51;
optional string protocol_version = 52;
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ MonoBehaviour:
m_Name: AddressableAssetSettings
m_EditorClassIdentifier:
m_DefaultGroup: 2ba95c866c28abd43a150e06c782a8a7
m_CachedHash:
m_currentHash:
serializedVersion: 2
Hash: 00000000000000000000000000000000
m_OptimizeCatalogSize: 0
Expand All @@ -32,11 +32,14 @@ MonoBehaviour:
m_ShaderBundleNaming: 0
m_ShaderBundleCustomNaming:
m_MonoScriptBundleNaming: 0
m_CheckForContentUpdateRestrictionsOption: 0
m_MonoScriptBundleCustomNaming:
m_RemoteCatalogBuildPath:
m_Id: 8b2418b529ba0964b80e889a36a5c2fe
m_RemoteCatalogLoadPath:
m_Id: 57100c7a11f6c74499fda4a46a939cc0
m_ContentStateBuildPathProfileVariableName:
m_CustomContentStateBuildPath:
m_ContentStateBuildPath:
m_BuildAddressablesWithPlayerBuild: 0
m_overridePlayerVersion:
Expand All @@ -61,6 +64,8 @@ MonoBehaviour:
- {fileID: 11400000, guid: 90968b9c92a084c9c8a44c744ce97b08, type: 2}
- {fileID: 11400000, guid: 5b335e2b63a3fce4da2bd4f9c6045770, type: 2}
- {fileID: 11400000, guid: 888bff1f4e4860648a92ed3de601e6da, type: 2}
- {fileID: 11400000, guid: 06506309e25210e49a3e8f6f591053ad, type: 2}
- {fileID: 11400000, guid: 1148056255f8c314a9ea6d6e03cd556b, type: 2}
m_BuildSettings:
m_CompileScriptsInVirtualMode: 0
m_CleanupStreamingAssetsAfterBuilds: 1
Expand Down Expand Up @@ -123,3 +128,4 @@ MonoBehaviour:
m_Settings: {fileID: 11400000}
m_NextInstanceId: 0
m_RegisteredServiceTypeRefs: []
m_PingTimeoutInMilliseconds: 5000
Loading

0 comments on commit 606ec56

Please sign in to comment.