Skip to content

Commit c2caadb

Browse files
committed
fix(pengu): keep Classic Mod entrypoints disabled
Prevent the frozen runtime sync from restoring ROSE-ClassicMods or ROSE-ClassicSkinSelector from an enabled state left by a development build. The bundled index.js_ entrypoints now remain authoritative on main, and the existing sanitizer parks any stale index.js copy. Validation: - 31 existing tests passed. - Simulated an enabled Classic Mod runtime followed by the main overlay; the stale index.js was parked and index.js_ remained active. - Confirmed an ordinary plugin still preserves its user-selected enabled state. - Python compilation and git diff --check passed. Review notes: - Classic Mod source files remain bundled for source consistency but are not loaded. - Regular CustomWheel and all unrelated plugin enable/disable choices are unchanged. - Re-enabling the experimental Classic Mod components later requires removing this main-only denylist together with renaming their entrypoints.
1 parent 6735ec1 commit c2caadb

1 file changed

Lines changed: 7 additions & 1 deletion

File tree

utils/integration/pengu_loader.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,10 @@
4444
_PLUGIN_ENTRYPOINT = "index.js"
4545
_PLUGIN_ENTRYPOINT_DISABLED = "index.js_"
4646
_PLUGIN_ENTRYPOINT_BUNDLED_BACKUP = "index.js.bundled"
47+
_BUNDLED_DISABLED_CLASSIC_MOD_PLUGINS = {
48+
"ROSE-ClassicMods",
49+
"ROSE-ClassicSkinSelector",
50+
}
4751

4852

4953
def _remove_legacy_pengu_logs(pengu_dir: Path) -> None:
@@ -169,7 +173,9 @@ def _restore_plugin_enable_state(pengu_dir: Path, enabled: set[str], disabled: s
169173

170174
# If the user had a plugin enabled, prefer enabled state: remove any
171175
# reintroduced `index.js_` from the bundle.
172-
for plugin_name in enabled:
176+
# These experimental Classic Mod entrypoints ship disabled on main;
177+
# do not revive an enabled copy left behind by a development build.
178+
for plugin_name in enabled - _BUNDLED_DISABLED_CLASSIC_MOD_PLUGINS:
173179
plugin_dir = plugins_dir / plugin_name
174180
if not plugin_dir.is_dir():
175181
continue

0 commit comments

Comments
 (0)