Cronicle icon indicating copy to clipboard operation
Cronicle copied to clipboard

[Bug]: Schedule tab becomes unresponsive with large number of events

Open danielgaleaa opened this issue 9 months ago • 1 comments

Is there an existing issue for this?

  • [x] I have searched the existing issues

What happened?

What happened? The Schedule tab in the Cronicle web interface becomes completely unresponsive when there are a large number of events (I have 40,000+) The browser hangs for 20+ minutes trying to load all events at once, eventually timing out or crashing

The Schedule tab should load quickly and display events with pagination, similar to other enterprise scheduling tools.

Expected behavior: The Schedule tab should load quickly and display events with pagination, similar to other enterprise scheduling tools.

Actual behavior: The Schedule tab attempts to load all 40,000+ events simultaneously in the browser, causing:

  • 20+ minute load times
  • Browser freezing/unresponsiveness
  • 63-70MB data transfer per page load
  • Potential browser crashes

This issue was predicted by the original developer in issue #71 where @jhuckaby stated: "The 'Schedule' tab in the UI has no pagination, and instead lists every event... With 30,000+ events, this page would probably lag the browser terribly, crash it, or at the least burn up the user's CPU."

Root cause: The Schedule tab JavaScript code loads all events without pagination:

this.events = [];
for (var idx = 0, len = app.schedule.length; idx < len; idx++) {
    var item = app.schedule[idx];
    this.events.push( copy_object(item) );
}

Suggested solution: Implement pagination in the Schedule tab to display 100-500 events per page instead of loading all events simultaneously. This would make the interface usable for production environments with thousands of events.

Reference: This issue was anticipated in #71 where scalability concerns were discussed for high-volume use cases.

Operating System

Ubuntu 22.04 LTS

Node.js Version

v18.x (will confirm exact version if needed)

Cronicle Version

0.9.76

Server Setup

Single Server

Storage Setup

Local Filesystem

Relevant log output


Code of Conduct

  • [x] I agree to follow this project's Code of Conduct

danielgaleaa avatar Jul 17 '25 09:07 danielgaleaa

Fixed in v2, coming out later this year (2025).

jhuckaby avatar Jul 17 '25 16:07 jhuckaby