gristlabs_grist-core/app/client/components
Paul Fitzpatrick e5c24eb5ea (core) revamp user attribute handling
Summary:
This changes how user attributes are loaded.  They are now loaded
directly from sqlite, with per-session caching.  Optimizations
considered but not addressed yet are (1) adding indexes to user attribute
tables and (2) swapping in a thinner sqlite wrapper.

The main benefit of this diff is that changes to user attribute
tables now work.  Clients whose user attributes are not changed
see no effect; clients whose user attributes have changed have
their document reloaded.

For the purposes of testing, the diff includes a tweak to
GristWSConnection to be "sticky" to a specific user when reloading
(and support machinery on the server side to honor that).  Until
now, if a GristWSConnection reloads, it uses whatever the current
default user is in the cookie-based session, which can change.
This was complicating a test where multiple users were accessing
the same document via different clients with occasional document
reloads.

Code for updating when schema or rule changes happen is moved
around but not improved in any meaningful way in this diff.

Test Plan: existing tests pass; extended test

Reviewers: dsagal

Reviewed By: dsagal

Differential Revision: https://phab.getgrist.com/D2685
2020-12-11 15:15:35 -05:00
..
AceEditor.css (core) move client code to core 2020-10-02 13:24:21 -04:00
AceEditor.js (core) move client code to core 2020-10-02 13:24:21 -04: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) hide long sequences of unchanged rows in diffs 2020-11-19 18:19:54 -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) implement authorization via query parameter 2020-12-09 09:48:06 -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) simplify document comparison code, and flesh out diff with local changes 2020-11-11 15:49:16 -05:00
GristDoc.css (core) move client code to core 2020-10-02 13:24:21 -04:00
GristDoc.ts (core) Implement much of the general AccessRules UI. 2020-12-07 14:48:41 -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