-
Bug
-
Resolution: Fixed
-
Medium
-
8.15.0, 9.12.0, 8.20.29, 9.4.14
-
None
-
8.15
-
2
-
Severity 2 - Major
-
14
-
Issue Summary
Adding custom fields with many select options to Advanced Roadmaps plan makes the whole UI sluggish
Steps to Reproduce
- Create a plan
- Create custom fields with a total of 5000+ options
- Add fields to the plan
Expected Results
UI performance is not degraded, or at worst is only degraded in parts that directly interact with custom fields with thousands of select options (e.g. rendering a filter dropdown).
Actual Results
The performance of the entire UI is sluggish, including things like scrolling, managing the timeline, or saving changes to Jira.
Workaround
Currently, there is no known workaround for this behavior. A workaround will be added here when available
Notes
This issue sounds similar to JPOSERVER-2772, but is different, as it's not related to contexts and impacts UI, and not the backend.
Root cause
Advanced Roadmaps use Redux for storing plan data. Custom field's select options are stored there in a single, flat array. Unfortunately, this means that whenever Redux tries to figure out if the application state changed, it has to iterate over the entire array, which adds 10-100ms of delay to most operations. This small delay is enough to make the entire UI feel sluggish, as many operations (like scrolling or editing the timeline) trigger tens or even hundreds of operations per second.