gristlabs_grist-core/app/client
Paul Fitzpatrick 876a0298a2 (core) do not look at content of recent actions when loading documents
Summary:
This removes the need for any information drawn from the content of recent actions when loading a document.

The undo/redo system does need some facts about recent actions up front. But that system has an important restriction: only actions a particular client is known to have generated can be undone by that client.

So in this diff, as we store which client has performed an action, we also store the few pieces of metadata about that action that the undo/redo system needs: `linkId`, `otherId`, `rowIdHint`, `isUndo` fields. These are all small integers (or in one case a boolean).

An existing limitation is that information about which client has performed which action is stored in memory in the worker, and not persisted anywhere. This diff does not change that limitation, meaning that undos continue to not survive a worker transition. A reasonable way to deal with that would be to back the store with redis.

Test Plan: existing tests pass

Reviewers: dsagal

Reviewed By: dsagal

Differential Revision: https://phab.getgrist.com/D3044
2021-09-29 11:27:02 -04:00
..
aclui (core) tweak description of FullCopies special permission 2021-07-30 06:18:41 -04:00
components (core) do not look at content of recent actions when loading documents 2021-09-29 11:27:02 -04:00
lib (core) Disable mousedown on token delete button 2021-09-16 10:45:06 -07:00
models (core) Adding traceback to trigger formulas 2021-09-27 17:12:39 +02:00
ui (core) Adding traceback to trigger formulas 2021-09-27 17:12:39 +02:00
ui2018 (core) Get first unicode character (e.g. 📝 ) for page label, not 1st byte 2021-09-17 12:59:53 +02:00
widgets (core) Adding traceback to trigger formulas 2021-09-27 17:12:39 +02:00
app.css (core) Make mobile the default mode. 2021-02-25 11:31:43 -05:00
app.js (core) Avoid loading the Grist frontend app more than once. 2021-09-07 16:40:40 -04:00
declarations.d.ts (core) Support 'new' row in anchor links. 2021-09-24 09:01:10 -04:00
errorMain.ts (core) clean up a collection of small problems affecting grist-core 2021-08-17 21:44:50 -04:00
exposeModulesForTests.js (core) Some cleanup: remove old unused modules. 2020-11-20 11:23:20 -05:00
logo.css (core) Cleanup removing some old unused files, fixing logo.css, and removing #grist-app. 2020-10-09 17:04:09 -04:00
tsconfig.json freshen app/client/ui2018/cssVars.ts 2020-06-23 16:16:38 -04:00