Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
75 commits
Select commit Hold shift + click to select a range
35bbdb0
feat(classic): add explicit Classic Mode ID domains
ccccxp Aug 5, 2026
9050fe7
feat(classic): store isolated Classic session state
ccccxp Aug 5, 2026
44708b1
feat(classic): detect JADE from live LCU session data
ccccxp Aug 5, 2026
245b4d4
feat(classic): clear Classic state on champ-select reset
ccccxp Aug 5, 2026
483a6dc
feat(classic): clear JADE identity when leaving the phase
ccccxp Aug 5, 2026
707a580
feat(classic): expose owned skin IDs from LCU
ccccxp Aug 5, 2026
ce72386
feat(classic): guard Classic skin writes at the LCU boundary
ccccxp Aug 5, 2026
d19c390
feat(classic): share selection state with the LCU selector
ccccxp Aug 5, 2026
186abca
feat(classic): normalize polled champion IDs
ccccxp Aug 5, 2026
c90b7b1
feat(classic): normalize websocket lock IDs
ccccxp Aug 5, 2026
fe148ab
refactor(selection): isolate websocket skin tracking
ccccxp Aug 5, 2026
7479b98
feat(classic): resolve carrier and ownership from websocket events
ccccxp Aug 5, 2026
89de0d3
feat(classic): validate live catalog carrier metadata
ccccxp Aug 5, 2026
2cb3aff
feat(classic): cache validated Classic catalog IDs
ccccxp Aug 5, 2026
198f175
feat(classic): validate and cache the JADE catalog
ccccxp Aug 5, 2026
c002bb6
feat(classic): handle local Classic skin projections
ccccxp Aug 5, 2026
e134850
feat(classic): translate Classic chroma selections
ccccxp Aug 5, 2026
6d091be
feat(classic): persist random mode per champion
ccccxp Aug 5, 2026
5e150c5
feat(classic): isolate exact history targets by mode
ccccxp Aug 5, 2026
0ed45d9
feat(classic): isolate primary skin history by mode
ccccxp Aug 5, 2026
f26a0b8
feat(classic): randomize only validated catalog skins
ccccxp Aug 5, 2026
a0b7ebf
feat(classic): persist and project Classic random mode
ccccxp Aug 5, 2026
543a189
feat(classic): restore persisted random mode from the catalog
ccccxp Aug 5, 2026
3004388
feat(classic): restore validated Classic history
ccccxp Aug 5, 2026
2592c9f
feat(classic): cancel history on an explicit skin choice
ccccxp Aug 5, 2026
c1e4c88
feat(classic): scope injected skin history by mode
ccccxp Aug 5, 2026
f785763
feat(classic): scope custom-mod history by mode
ccccxp Aug 5, 2026
1204dcc
fix(download): derive LeagueSkins endpoints from repo_url
ccccxp Aug 5, 2026
3fa4000
feat(classic): map incremental downloads to an isolated root
ccccxp Aug 5, 2026
eab05f2
feat(classic): extract Classic resources from full archives
ccccxp Aug 5, 2026
116bdb6
feat(classic): establish an isolated package root
ccccxp Aug 5, 2026
ebee958
feat(classic): resolve normalized IDs inside the Classic root
ccccxp Aug 5, 2026
d94058c
feat(classic): pass mode context into package preparation
ccccxp Aug 5, 2026
df7fe46
fix(injection): stop stale work before overlay launch
ccccxp Aug 5, 2026
2750246
feat(classic): carry game mode through injection management
ccccxp Aug 5, 2026
56b2583
feat(classic): reject stale selection generations
ccccxp Aug 5, 2026
9f56cc6
fix(classic): validate champion identity before catalog updates
ccccxp Aug 5, 2026
a9d0cad
feat(classic): align random results with carrier ownership
ccccxp Aug 5, 2026
58becbe
feat(classic): scope custom-mod history by mode
ccccxp Aug 5, 2026
5b81da2
feat(classic): separate owned skins from local injection
ccccxp Aug 5, 2026
f34f298
feat(classic): inject unowned skins through the validated carrier
ccccxp Aug 5, 2026
f1b48e4
feat(classic): make custom-mod preparation mode-aware
ccccxp Aug 5, 2026
34a74e1
feat(classic-ui): add the native JADE skin-card adapter
ccccxp Aug 5, 2026
dcc2111
feat(classic-ui): add isolated Classic chroma controls
ccccxp Aug 5, 2026
97cad9c
feat(classic-ui): add isolated Classic history presentation
ccccxp Aug 5, 2026
6d8a8af
feat(classic-ui): add isolated Classic random controls
ccccxp Aug 5, 2026
2fb61d2
fix(download): restore the upstream LeagueSkins source
ccccxp Aug 5, 2026
00f950f
docs(classic): document architecture and plug-in provenance
ccccxp Aug 5, 2026
3a89030
fix(plugins): isolate regular controls from JADE mode
ccccxp Aug 11, 2026
ebfe6d6
refactor(classic-wheel): establish native selection projection
ccccxp Aug 11, 2026
cbf6452
refactor(classic-chroma): consume the ClassicWheel selection contract
ccccxp Aug 11, 2026
ae83e2f
fix(classic-history): follow the active Classic projection
ccccxp Aug 11, 2026
b1e695c
fix(classic-random): synchronize control and card state
ccccxp Aug 11, 2026
69eb962
refactor(classic-backend): centralize projected selection state
ccccxp Aug 11, 2026
cee2304
feat(logging): isolate Classic logs and add state checkpoints
ccccxp Aug 11, 2026
a54eec9
refactor(classic-wheel): preserve the native finite carousel
ccccxp Aug 11, 2026
ece4e06
refactor(classic-core): define one JADE ID boundary
ccccxp Aug 11, 2026
d97b9bf
fix(classic-wheel): separate carrier selection from visual target
ccccxp Aug 11, 2026
deda55c
fix(classic-history): preserve projected target at injection
ccccxp Aug 11, 2026
1196741
fix(logging): expose Classic game-start identity
ccccxp Aug 11, 2026
b212eac
fix(classic-chroma): restore interaction fallbacks
ccccxp Aug 11, 2026
34114d8
fix(classic-party): resolve peer skins from the Classic library
ccccxp Aug 11, 2026
58620ab
fix(classic-chroma): stabilize selection lifecycle
ccccxp Aug 11, 2026
105d3f3
fix(classic-random): isolate persisted random state from history
ccccxp Aug 11, 2026
1901d61
fix(classic-random): defer visual projection to final countdown
ccccxp Aug 11, 2026
491b4e6
feat(classic-random): include eligible chroma variants
ccccxp Aug 11, 2026
941b776
fix(classic-wheel): preserve target splash after projection settles
ccccxp Aug 11, 2026
a554f15
docs(classic): document the stable native architecture
ccccxp Aug 11, 2026
984380a
refactor(classic-mods): isolate persisted Mod state by mode
ccccxp Aug 11, 2026
a3a0c09
feat(classic-mods): add the disabled full Mod selector
ccccxp Aug 11, 2026
54d983f
feat(classic-mods): add the disabled card Mod selector
ccccxp Aug 11, 2026
e403884
docs(classic-mods): record disabled component status
ccccxp Aug 11, 2026
09c5cc3
fix(pengu): keep Classic Mod entrypoints disabled
ccccxp Aug 11, 2026
e5e7be1
fix(classic-wheel): honor settled owned skin selections
ccccxp Aug 11, 2026
ea30f1a
fix(classic-chroma): keep the parent card during fallback
ccccxp Aug 11, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions Pengu Loader/plugins/ROSE-ChromaWheel/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -816,11 +816,22 @@
const phase = data.phase;
const gameMode = data.gameMode;
const mapId = data.mapId;
const classicMode =
mapId === 453 ||
data.queueId === 3260 ||
(typeof gameMode === "string" && gameMode.toUpperCase() === "JADE");
// Late startup can replay "ChampSelect" after skin-state is already current.
// Keep the last seen phase so we only reset on real phase transitions.
const previousPhase = currentPhase;
currentPhase = phase;

if (classicMode) {
resetFrontendSessionState("classic-plugin-isolation");
stopObserver();
isAramFromPython = false;
return;
}

if (phase === "ChampSelect") {
// Only reset on a real transition into a new Champ Select session.
// Startup replays can arrive after a valid skin-state payload.
Expand Down
Loading