• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

CyclopsMC / IntegratedScripting / 33628141471

02 Sep 2026 12:06PM UTC coverage: 50.984% (+1.4%) from 49.619%
33628141471

Pull #71

github

claude
Register one script change listener per script instead of per error

Every created script error registered its own script change listener, to
resolve that error when the script changes. Those listeners were only
removed once their exception was collected AND a new exception factory was
created, which does not happen while a script variable holds on to its
value, so a script that keeps failing accumulated a listener per failed
evaluation. Removing them afterwards was quadratic on top of that, because
each one was removed separately from a list: 10000 errors left 10000
listeners behind, which took 28ms to expunge.

Exceptions are now collected per script, behind a single listener that
resolves all of them when that script changes, and drops them one by one
as they are collected. Registering a new exception expunges the collected
ones first, so failing scripts no longer accumulate them at all.

These listeners belong to the scripting data they were registered on, so
they are also forgotten when the server stops.

Related to #67

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JCW1HmWhLT27jh57t9d7B6
Pull Request #71: Register one script change listener per script instead of per error

308 of 856 branches covered (35.98%)

Branch coverage included in aggregate %.

1453 of 2598 relevant lines covered (55.93%)

20.18 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

89.71
/src/main/java/org/cyclops/integratedscripting/IntegratedScripting.java


Source Not Available

STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc