Files
gen1recomp/tests
bryanthaboi 51908faabf fix(mods): stop the Gen 2 require facade answering the engine
bootGame's require("src.core.Game") was resolving to Gen2Compat's Game
facade after a Gold session, so the next Gen 1 boot got an empty proxy
whose rawget(load) is nil (iOS: "src.core.Game missing load after
reload"; Android: Game:load called on a nil value).

Two independent causes, both needed:

  * callerIsMod decided "not under src/" meant "a mod", and main.lua is
    not under src/, so the engine's own require was gated as a mod's.
    Root chunks main.lua and conf.lua are now matched exactly, which a
    mod's own mods/<id>/main.lua cannot collide with.

  * devShim.generation was only ever set, never cleared, so the
    generation Gold declared outlived Gold's session. Loader.endSession
    drops it from SessionLifecycle.endMountedSession, and the facade
    gate now requires generation == 2 rather than ~= 1.

Only platforms that return to the launcher in-process (Android, and iOS
since #1808) keep the shim alive across sessions; everywhere else the
process restart cleared it.
2026-08-25 15:14:47 -04:00
..
2026-08-24 11:32:42 -04:00
2026-08-24 07:52:05 -04:00
2026-08-24 07:52:05 -04:00
2026-08-24 07:52:05 -04:00
2026-08-24 07:52:05 -04:00
2026-08-24 07:52:05 -04:00
2026-08-24 07:52:05 -04:00
2026-08-24 07:52:05 -04:00
2026-08-24 07:52:05 -04:00
2026-08-24 07:52:05 -04:00
2026-08-24 07:52:05 -04:00
2026-08-24 07:52:05 -04:00
2026-08-24 13:07:11 -04:00
2026-08-24 07:52:05 -04:00
2026-08-24 07:52:05 -04:00
2026-08-24 07:52:05 -04:00
2026-08-24 07:52:05 -04:00
2026-08-25 09:21:33 -04:00
2026-08-24 07:52:05 -04:00
2026-08-24 07:52:05 -04:00
2026-08-24 07:52:05 -04:00
2026-08-24 07:52:05 -04:00
2026-08-24 07:52:05 -04:00