gristlabs_grist-core/app/client/components
Dmitry S 14cdd47675 (core) When checking for metadata consistency, check for stray column records too
Summary:
Currently, an undo of a non-last action can leave the doc in an inconsistent
state. For example, it may remove a table, but fail to remove all columns of
it from metadata. We normally check that schema corresponds to metadata, but
stray columns were not visible to this check, and instead caused later table
additions to fail.

This diff fixes the check to fail the action that causes stray columns, and
to restore the doc to a consistent state.

Note that this only handles schema-metadata inconsistencies, but an undo of a
non-last action can easily create other surprises.

Test Plan: Added a test case that triggered inconsistency before, and now triggers a failed undo.

Reviewers: paulfitz

Reviewed By: paulfitz

Differential Revision: https://phab.getgrist.com/D2715
2021-01-27 18:10:11 -05:00
..
AceEditor.css (core) move client code to core 2020-10-02 13:24:21 -04:00
AceEditor.js (core) One more phase of ACL UI revision. 2020-12-22 22:18:12 -05:00
AceEditorCompletions.ts (core) One more phase of ACL UI revision. 2020-12-22 22:18:12 -05:00
ActionLog.css (core) move client code to core 2020-10-02 13:24:21 -04:00
ActionLog.ts (core) Store formula values in DB, and include them into .stored/.undo fields of actions. 2020-11-04 16:45:47 -05:00
Base.js (core) move client code to core 2020-10-02 13:24:21 -04:00
BaseView.js (core) Fix bug with pasting in the presence of link-filtering. 2020-12-16 14:50:39 -05:00
ChartView.css (core) move client code to core 2020-10-02 13:24:21 -04:00
ChartView.ts (core) Improve printing of tables, fix printing of charts, add a browser test. 2020-10-12 16:04:18 -04:00
ClientScope.ts (core) move client code to core 2020-10-02 13:24:21 -04:00
Clipboard.css (core) move client code to core 2020-10-02 13:24:21 -04:00
Clipboard.js (core) Improve focus and keyboard shortcuts in modals. 2020-10-03 22:56:00 -04:00
CodeEditorPanel.css (core) move client code to core 2020-10-02 13:24:21 -04:00
CodeEditorPanel.js (core) move client code to core 2020-10-02 13:24:21 -04:00
ColumnFilters.css (core) move client code to core 2020-10-02 13:24:21 -04:00
ColumnTransform.ts (core) Automatically finalize action bundles when unrelated actions/bundles come in. 2020-11-10 10:32:07 -05:00
Comm.ts (core) implement authorization via query parameter 2020-12-09 09:48:06 -05:00
commandList.js (core) Implement 'Print widget' option to print individual view sections. 2020-10-10 00:35:33 -04:00
commands.css (core) move client code to core 2020-10-02 13:24:21 -04:00
commands.js (core) Improve focus and keyboard shortcuts in modals. 2020-10-03 22:56:00 -04:00
CopySelection.js (core) move client code to core 2020-10-02 13:24:21 -04:00
Cursor.ts (core) move client code to core 2020-10-02 13:24:21 -04:00
CustomView.css (core) Fix CustomView css to take full height of widget on all browsers including Safari 2020-10-06 13:18:50 -04:00
CustomView.ts (core) Implement 'Print widget' option to print individual view sections. 2020-10-10 00:35:33 -04:00
DetailView.css (core) Improve printing of tables, fix printing of charts, add a browser test. 2020-10-12 16:04:18 -04:00
DetailView.js (core) show differences in card views when comparing documents 2020-11-11 17:25:38 -05:00
DocComm.ts (core) Add getAclResources method for making all tables/columns available when editing ACL rules 2021-01-14 13:43:55 -05:00
DocConfigTab.js (core) move client code to core 2020-10-02 13:24:21 -04:00
duplicatePage.ts (core) move client code to core 2020-10-02 13:24:21 -04:00
EmbedForm.css (core) move client code to core 2020-10-02 13:24:21 -04:00
FieldConfigTab.css (core) move client code to core 2020-10-02 13:24:21 -04:00
FieldConfigTab.js (core) move client code to core 2020-10-02 13:24:21 -04:00
FormulaTransform.ts (core) Automatically finalize action bundles when unrelated actions/bundles come in. 2020-11-10 10:32:07 -05:00
GridView.css (core) Improve printing of tables, fix printing of charts, add a browser test. 2020-10-12 16:04:18 -04:00
GridView.js (core) Fix bug with pasting in the presence of link-filtering. 2020-12-16 14:50:39 -05:00
GristDoc.css (core) move client code to core 2020-10-02 13:24:21 -04:00
GristDoc.ts (core) When checking for metadata consistency, check for stray column records too 2021-01-27 18:10:11 -05:00
GristWSConnection.ts (core) revamp user attribute handling 2020-12-11 15:15:35 -05:00
Importer.ts (core) move client code to core 2020-10-02 13:24:21 -04:00
Layout.css (core) move client code to core 2020-10-02 13:24:21 -04:00
Layout.js (core) move client code to core 2020-10-02 13:24:21 -04:00
LayoutEditor.css (core) move client code to core 2020-10-02 13:24:21 -04:00
LayoutEditor.js (core) move client code to core 2020-10-02 13:24:21 -04:00
LayoutPreview.css (core) move client code to core 2020-10-02 13:24:21 -04:00
LayoutPreview.js (core) move client code to core 2020-10-02 13:24:21 -04:00
LinkingState.js (core) move client code to core 2020-10-02 13:24:21 -04:00
Login.css (core) move client code to core 2020-10-02 13:24:21 -04:00
ParseOptions.ts (core) move client code to core 2020-10-02 13:24:21 -04:00
Preferences.css (core) move client code to core 2020-10-02 13:24:21 -04:00
Printing.css (core) Improve printing of tables, fix printing of charts, add a browser test. 2020-10-12 16:04:18 -04:00
Printing.ts (core) Improve printing of tables, fix printing of charts, add a browser test. 2020-10-12 16:04:18 -04:00
RecordLayout.css (core) move client code to core 2020-10-02 13:24:21 -04:00
RecordLayout.js (core) Automatically finalize action bundles when unrelated actions/bundles come in. 2020-11-10 10:32:07 -05:00
RecordLayoutEditor.js (core) move client code to core 2020-10-02 13:24:21 -04:00
RefSelect.js (core) move client code to core 2020-10-02 13:24:21 -04:00
REPLTab.css (core) move client code to core 2020-10-02 13:24:21 -04:00
REPLTab.js (core) move client code to core 2020-10-02 13:24:21 -04:00
SearchBar.css (core) move client code to core 2020-10-02 13:24:21 -04:00
SearchBar.ts (core) move client code to core 2020-10-02 13:24:21 -04:00
Selector.js (core) move client code to core 2020-10-02 13:24:21 -04:00
SummaryConfig.js (core) move client code to core 2020-10-02 13:24:21 -04:00
TypeConversion.ts (core) move client code to core 2020-10-02 13:24:21 -04:00
TypeTransform.ts (core) Automatically finalize action bundles when unrelated actions/bundles come in. 2020-11-10 10:32:07 -05:00
UndoStack.ts (core) move client code to core 2020-10-02 13:24:21 -04:00
UnsavedChanges.ts (core) support ?embed=true and &style=light for a clean embed experience 2020-08-14 13:34:38 -04:00
ValidationPanel.css (core) move client code to core 2020-10-02 13:24:21 -04:00
ValidationPanel.js (core) move client code to core 2020-10-02 13:24:21 -04:00
viewCommon.css (core) hide long sequences of unchanged rows in diffs 2020-11-19 18:19:54 -05:00
viewCommon.js (core) move client code to core 2020-10-02 13:24:21 -04:00
ViewConfigTab.css (core) move client code to core 2020-10-02 13:24:21 -04:00
ViewConfigTab.js (core) Some cleanup: remove old unused modules. 2020-11-20 11:23:20 -05:00
ViewLayout.css (core) move client code to core 2020-10-02 13:24:21 -04:00
ViewLayout.ts (core) Implement 'Print widget' option to print individual view sections. 2020-10-10 00:35:33 -04:00
ViewLinker.css (core) move client code to core 2020-10-02 13:24:21 -04:00
ViewPane.ts (core) move client code to core 2020-10-02 13:24:21 -04:00