You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Remove Railo-era compatibility code from Plugins.cfc #1975
Plugins.cfc:303-306 contains a Railo-specific Duplicate() workaround for a bug that was fixed in Railo 3.2. All Lucee versions (which replaced Railo) are unaffected. This is dead code that adds complexity for no benefit.
Current Code
// Plugins.cfc ~line 303-306
// Railo workaround — Duplicate() throws on certain component metadata
Changes
Remove the Railo-specific conditional branch
Simplify the surrounding logic now that only Lucee/Adobe CF are supported
Verify existing plugin tests pass
Files
vendor/wheels/Plugins.cfc:303-306
Phase
Phase 1 — Cleanup & Foundation (3.x, no breaking changes)
Remove a Railo-specific Duplicate() workaround in $initializeMixins() (lines 303-306) that guards against a bug fixed in Railo 3.2. Since Lucee replaced Railo and all supported engines are Lucee, Adobe CF, or BoxLang, this is dead code.
Merit Assessment
Recommendation: Proceed
The Railo branch at line 303 (application[$wheels.appKey].serverName == "Railo") can never be true — Railo is not a supported engine and the server detection in onapplicationstart.cfc:36-45 only sets BoxLang, Lucee, or Adobe ColdFusion.
Removing it simplifies $initializeMixins() and eliminates a confusing conditional that misleads contributors into thinking Railo compatibility matters.
Zero risk of behavioral change since the branch is unreachable.
Implementation Plan
Edit vendor/wheels/Plugins.cfc:302-312 — Remove the Railo conditional branch. The current code:
Run existing plugin tests — vendor/wheels/tests/specs/pluginsSpec.cfc covers mixin injection across controller, model, dispatch, and test targets. Existing tests are sufficient.
Estimated complexity: Trivial — 3 lines removed, no new logic.
Dependencies & Risks
No dependencies on other issues.
No breaking change risk — the removed branch was unreachable on all supported engines.
Could also audit for other Railo references across the codebase (search for "Railo") as a follow-up cleanup.
Automated analysis by @claude — review and adjust as needed.
Activity
bpamiri commentedon Mar 16, 2026
Analysis
Synopsis
Remove a Railo-specific
Duplicate()workaround in$initializeMixins()(lines 303-306) that guards against a bug fixed in Railo 3.2. Since Lucee replaced Railo and all supported engines are Lucee, Adobe CF, or BoxLang, this is dead code.Merit Assessment
Recommendation: Proceed
application[$wheels.appKey].serverName == "Railo") can never be true — Railo is not a supported engine and the server detection inonapplicationstart.cfc:36-45only setsBoxLang,Lucee, orAdobe ColdFusion.$initializeMixins()and eliminates a confusing conditional that misleads contributors into thinking Railo compatibility matters.Implementation Plan
vendor/wheels/Plugins.cfc:302-312— Remove the Railo conditional branch. The current code:vendor/wheels/tests/specs/pluginsSpec.cfccovers mixin injection across controller, model, dispatch, and test targets. Existing tests are sufficient.Dependencies & Risks
"Railo") as a follow-up cleanup.Automated analysis by @claude — review and adjust as needed.
Remove Railo compatibility workaround from $initializeMixins