gristlabs_grist-core/app
Cyprien P 8a26550312 (core) Fix issue when using Other Values with many rows
Summary:
Fix an error that used to happen on Chrome: `RangeError: Maximum call stack size
exceeded`. Happened when clicking the `Other Values` checkbox when
filtering a large table. Turns out culprit was a function call that
was using a spread operator to pass a large number of argument to a
function.

Spread operator for passing multiple argument must not be used with
too many arguments. Otherwise it could hit the engine's argument
length limit. That limit varies across browser (webkit's
javascriptcore engine has argument limit of 65536).

Some interesting description of the limit can be found here:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/apply#using_apply_and_built-in_functions

In order to get the fix fast, implementing a proper test for it is left for a follow-up commit.

Test Plan:
 - Manually tested on Chrome/FF

Reviewers: paulfitz

Reviewed By: paulfitz

Subscribers: paulfitz

Differential Revision: https://phab.getgrist.com/D2779
2021-04-20 15:15:18 +02:00
..
client (core) Fix issue when using Other Values with many rows 2021-04-20 15:15:18 +02:00
common (core) optimization: remove lodash/pullAt 2021-04-15 21:18:47 -04:00
gen-server (core) make AccessRules and FullCopies effective 2021-03-25 15:05:26 -04:00
plugin (core) hide long sequences of unchanged rows in diffs 2020-11-19 18:19:54 -05:00
server (core) support subscriptions to a doc with row-dependent column read permissions 2021-04-16 14:42:34 -04:00
tsconfig.json (core) move home server into core 2020-07-21 20:39:10 -04:00