feat: wire lobby task and VIP prefab flows and sync UI assets

This commit is contained in:
2026-09-06 18:46:37 +08:00
parent 842c68ef55
commit 9c4510697c
184 changed files with 8348 additions and 19133 deletions
@@ -1,6 +1,13 @@
import test from 'node:test';
import assert from 'node:assert/strict';
import { openLobbyUrl } from '../../YouleNexus/assets/framework/adapters/native/lobby-links.ts';
import { openLobbyUrl, resolveLobbyLaunchMode } from '../../YouleNexus/assets/framework/adapters/native/lobby-links.ts';
test('launch mode uses original query or injected bridge field and rejects invalid values',()=>{
assert.equal(resolveLobbyLaunchMode('',false,undefined),0);
assert.equal(resolveLobbyLaunchMode('?Launchtype=1',false,0),1);
assert.equal(resolveLobbyLaunchMode('?Launchtype=0',true,'1'),1);
assert.throws(()=>resolveLobbyLaunchMode('',true,undefined),/Launchtype/);
assert.throws(()=>resolveLobbyLaunchMode('?Launchtype=bad',false,undefined),/Launchtype/);
});
test('announcement links preserve fixUrl and distinct native timestamp conventions',()=>{
const calls:unknown[]=[];
openLobbyUrl('https://example.test/?a=1?b=2',{kind:'settings',browser:u=>calls.push(u)},()=>123);