Over the past quarter, Noibu has made significant changes to how the Issues table requests and displays issue data, with the end goal of reducing load time and improving overall performance. This has led to the development of a new internal API to pass front end requests to the back end datastore and display issue data selectively.
Until recently, the Issues table queried for every issue recorded in a given domain upon loading, and then applied filters and sort orders in the front end. This required the page to load every issue every time, causing significant lag in cases where a domain has tens of thousands of unique issues.
The new API does away with unnecessary load times by moving sorting, filtering, and pagination functionality to the backend. This way, the Issues table will only call and load issues that are relevant to the tab viewed or filters applied. This small change has an enormous impact. In extreme cases, our previous issue query method took up to three minutes to load the Issues table. Now, most domains will load the table in less than one second.
Aside from improved performance, the impact to your day-to-day experience in Noibu is negligible. However, the change comes with some minor downsides:
- Because the new API calls issue data selectively, we’ve lost the ability to jump to the last page of results. Other pagination controls, however, still function as normal.
- The new change does not support the Jira sync state, so the table will no longer display the synced icon. To see if an issue is synced with Jira, you must open its Manage tab.