diff --git a/CHANGELOG.md b/CHANGELOG.md index 520c671..37abfa4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,11 @@ **Note on versioning:** the version numbers used here match the version numbers displayed to users in the Chrome Web Store. Sometimes there are gaps between release versions (e.g., version 2 jumps to version 5). This happens because each separate upload of Keemei to the web store increments the version number, and sometimes multiple uploads are necessary before a release is finalized (e.g., if the release is reviewed by an add-ons advisor and updates are required before it can go public). Therefore, the version numbering used here in the changelog and tagged GitHub releases will match the public release version displayed in the web store. +## Development version + +### Bug fixes +* Fixed performance issue where sidebar would freeze, time out, or fail to display when processing a large number of invalid cells. Now sidebar only displays the first 250 invalid cells ([#62](https://github.com/biocore/Keemei/issues/62)) + ## Version 8 (2016-01-27) Minor beta release with **experimental** support for validating Qiita sample template files. diff --git a/src/SheetView.gs b/src/SheetView.gs index 88cd361..f840c1b 100644 --- a/src/SheetView.gs +++ b/src/SheetView.gs @@ -13,6 +13,7 @@ function resetSheetView_(sheet) { var range = sheet.getRange(1, 1, sheet.getMaxRows(), sheet.getMaxColumns()); range.setBackground(Color.RESET); range.clearNote(); + SpreadsheetApp.flush(); }; function renderSheetView_(sheet, report) { @@ -51,6 +52,7 @@ function renderSheetView_(sheet, report) { range.setBackgrounds(state.colors); range.setNotes(state.notes); + SpreadsheetApp.flush(); }; function initializeState_(numRows, numColumns) { diff --git a/src/Sidebar.html b/src/Sidebar.html index c696d18..055fe8d 100644 --- a/src/Sidebar.html +++ b/src/Sidebar.html @@ -21,8 +21,14 @@

Validation report for sheet

Invalid cells + data.maxCellDisplay) { + displayCellCount = data.maxCellDisplay; ?> + Displaying only the first invalid cells. Try fixing some cells and rerunning Keemei. +

+
-

diff --git a/src/SidebarView.gs b/src/SidebarView.gs index 4c11d17..a555daa 100644 --- a/src/SidebarView.gs +++ b/src/SidebarView.gs @@ -30,6 +30,7 @@ function renderSidebarView_(sheet, report) { errorCount: errorCount, warningCount: warningCount }, + maxCellDisplay: 250, cellOrder: cellOrder, validationResults: validationResults }; @@ -37,6 +38,7 @@ function renderSidebarView_(sheet, report) { SpreadsheetApp.getUi().showSidebar(sidebar.evaluate() .setSandboxMode(HtmlService.SandboxMode.IFRAME) .setTitle("Keemei validation report")); + SpreadsheetApp.flush(); }; function focus(sheetId, a1) {