The public site built room/profile image URLs against a hardcoded
img.rec.net fallback for any non-localhost host, so thumbnails loaded
from real Rec Room (Azure-fronted — hence the TiPMix / x-ms-routing-name
cookies the browser rejected) and DorkNet custom-room images could never
display. Derive the CDN apex from the live host instead (shared
imageApex helper in types.ts, used by profileImageUrl and Rooms.tsx) so
images come from this server's own img.{apex}.
Add the two RR-Original thumbnails as static CDN files in data/images so
img.{apex} serves them directly: image_BowlingAlley.png and
image_PaintballKeyArt.png (both real PNGs).
Three carry-overs from the march branch (commits 80cc4ce, cd9d105) and
the launcher-side Vite build fix, all applicable to december without
modification:
1. Vite admin-ui + site configs switch from `base: '/'` to `base: './'`.
Built index.html now emits `<script src="./assets/...">` instead of
`/assets/...`, so the Easy Launcher's single-origin path-prefix mode
(`https://<apex>/__dn/admin/`) resolves assets under the prefix
instead of skipping it and 404'ing on the wrong server host.
2. Mod.ResolveType promoted from private to internal so PhotonPatches'
and SavePatches' local FindGameType helpers can delegate to the
broader assembly-scan fallback (was misssing IL2CPP-mangled type
names like the literal "PhotonNetwork"). Both helpers collapse to
one-line `=> Mod.ResolveType(name);`.
3. Parked AuthValuesInjector_Prefix into
DorkNet.ClientMod/attic/AuthValuesInjector.cs.attic. In december
this method was defined but **never wired to a harmony hook** in
OnLateInitializeMelon, so it was effectively dead code. Removed
the method + GetCurrentLockToken helper + Cfg.InjectAuthValues
field + LoadConfig reader + log mention. The .cs.attic suffix
keeps the SDK's auto-globber from compiling the parked file.
Restore notes inside the attic file describe how to re-enable —
for december the suggested hook is a postfix on
PUNNetworkManager.EMGGKBALALH (mutate the AuthValues there)
instead of march's NetworkingPeer.CallAuthenticate which never
fires in IL2CPP.
Targets Rec Room 2020.12.18 client.
Re-import after adding:
- DorkNet.ClientMod/dorknet-clientmod.json.template — config schema
the launcher's manifest-driven patcher renders into UserData/.
- tools/build-patcher-zip.ps1 — produces the dorknet-clientpatch-{key}.zip
Release asset the launcher fetches.
- .github/workflows/release.yml — auto-publishes both Release assets
on v1-december-* tag push.
Scrubbed via maintainer-side scrub-for-public.ps1: same drop rules as
the prior import, plus build-patcher-zip.ps1 added to the tools/
allow-list so it survives the scrub.