gristlabs_grist-core/sandbox/grist
Dmitry S 08b91c4cb7 (core) Fix serialization of values derived from primitive types, like IntEnum.
Summary:
There is a range of types that -- when returned from formulas -- used to cause
bad errors (that looked like a data engine crash and were reported as "Memory
Error") because they looked like primitive types but were not marshallable. For
example, IntEnum.

We now encode such values as the primitive type they are based on.

Test Plan:
- Added a unittest that encode_object() now handles problematic values.
- Added a browser test case that problematic values are no longer causing errors.

Reviewers: jarek

Reviewed By: jarek

Differential Revision: https://phab.getgrist.com/D4336
2024-09-04 16:51:51 -04:00
..
functions (core) Update documentation for lookup/find/prevnext for the Help Center 2024-08-12 12:50:44 -04:00
imports (core) Improve encoding detection for csv imports, and make encoding an editable option. 2023-08-24 09:50:52 -04:00
acl.py Update dropdown conditions on column rename (#1038) 2024-07-12 14:58:49 +00:00
action_obj.py (core) External requests 2022-06-17 21:53:20 +02:00
action_summary.py (core) Fix undo error for automatically removed rows, especially in summary tables 2022-09-09 22:15:45 +02:00
actions.py (core) AddOrUpdateRecord user action 2022-02-03 16:22:51 -05:00
attribute_recorder.py (core) Allow assistant to evaluate current formula 2023-07-24 21:59:00 +02:00
autocomplete_context.py (core) Make Python tests pass in Python 3.11 2023-07-28 16:37:38 +02:00
codebuilder.py (core) Implement PREVIOUS/NEXT/RANK and lookupRecords().find.* methods. 2024-07-17 12:00:55 -04:00
column.py (core) Fix for ReferenceList conversion during table rename 2024-04-24 17:00:11 +02:00
csv_patch.py (core) Simple Python 3 compatibility changes 2021-06-22 17:13:17 +02:00
depend.py (core) Implement trigger formulas (generalizing default formulas) 2021-06-25 22:53:07 -04:00
docactions.py (core) Update logging in sandbox code, and log tracebacks as single log messages. 2023-07-18 11:21:25 -04:00
docmodel.py (core) Record Cards 2023-11-19 20:12:37 -05:00
dropdown_condition.py (core) Replacing python3 specifc code 2024-07-16 17:52:38 +02:00
engine.py (core) New API to collect timing information from formula evaluation. 2024-04-24 11:07:11 +02:00
fake_std_streams.py (core) Implement PREVIOUS/NEXT/RANK and lookupRecords().find.* methods. 2024-07-17 12:00:55 -04:00
formula_prompt.py (core) Add AI Assistant retry with shorter prompt 2024-02-12 11:06:52 -05:00
friendly_errors.py (core) Upgrade friendly-traceback and its dependencies 2022-10-28 14:44:14 +02:00
gencode.py fixes removed module in Python 3.12 (#984) 2024-05-20 14:56:05 +01:00
grist.py (core) Use MixedTypesKey for sort_by arg of lookupRecords to avoid errors in Python 3 2021-11-09 18:08:29 +02:00
identifiers.py (core) Update logging in sandbox code, and log tracebacks as single log messages. 2023-07-18 11:21:25 -04:00
import_actions.py (core) Update logging in sandbox code, and log tracebacks as single log messages. 2023-07-18 11:21:25 -04:00
lookup.py (core) Implement PREVIOUS/NEXT/RANK and lookupRecords().find.* methods. 2024-07-17 12:00:55 -04:00
main.py (core) Adding UI for timing API 2024-05-22 14:56:53 +02:00
match_counter.py (core) move data engine code to core 2020-07-29 08:57:25 -04:00
migrations.py Webhook trigger update by column (#832) 2024-04-12 16:04:37 -04:00
moment.py (core) Cache converting timestamp to date 2024-01-08 10:50:50 +02:00
objtypes.py (core) Fix serialization of values derived from primitive types, like IntEnum. 2024-09-04 16:51:51 -04:00
parse_data.py (core) Update logging in sandbox code, and log tracebacks as single log messages. 2023-07-18 11:21:25 -04:00
predicate_formula.py Update dropdown conditions on column rename (#1038) 2024-07-12 14:58:49 +00:00
records.py (core) Update documentation for lookup/find/prevnext for the Help Center 2024-08-12 12:50:44 -04:00
relabeling.py (core) Simple Python 3 compatibility changes 2021-06-22 17:13:17 +02:00
relation.py (core) Polish and enable Reference List widget 2021-08-12 11:51:21 -07:00
runtests.py python(tests): print logging when running tests in verbose mode 2022-09-20 17:22:28 +02:00
sandbox.py (core) Update logging in sandbox code, and log tracebacks as single log messages. 2023-07-18 11:21:25 -04:00
schema.py Webhook trigger update by column (#832) 2024-04-12 16:04:37 -04:00
sort_key.py (core) Implement PREVIOUS/NEXT/RANK and lookupRecords().find.* methods. 2024-07-17 12:00:55 -04:00
sort_specs.py (core) Adding sort options for columns. 2021-11-03 15:31:39 +01:00
summary.py (core) Record Cards 2023-11-19 20:12:37 -05:00
table_data_set.py (core) Update logging in sandbox code, and log tracebacks as single log messages. 2023-07-18 11:21:25 -04:00
table.py (core) Update documentation for lookup/find/prevnext for the Help Center 2024-08-12 12:50:44 -04:00
test_acl_formula.py (core) Add dropdown conditions 2024-04-26 16:57:55 -04:00
test_acl_renames.py Update dropdown conditions on column rename (#1038) 2024-07-12 14:58:49 +00:00
test_actions.py (core) move data engine code to core 2020-07-29 08:57:25 -04:00
test_codebuilder.py Skip tests involving f-strings for Python 3.9 (#669) 2023-09-11 18:49:30 +02:00
test_column_actions.py (core) Record Cards 2023-11-19 20:12:37 -05:00
test_completion.py (core) add initial support for special shares 2024-01-04 05:57:38 -05:00
test_default_formulas.py (core) Update logging in sandbox code, and log tracebacks as single log messages. 2023-07-18 11:21:25 -04:00
test_depend.py (core) Fix recursion error in invalidate_deps 2021-06-18 15:42:20 +02:00
test_derived.py (core) Update logging in sandbox code, and log tracebacks as single log messages. 2023-07-18 11:21:25 -04:00
test_display_cols.py (core) Record Cards 2023-11-19 20:12:37 -05:00
test_docmodel.py (core) Record Cards 2023-11-19 20:12:37 -05:00
test_dropdown_condition_renames.py Update dropdown conditions on column rename (#1038) 2024-07-12 14:58:49 +00:00
test_dropdown_condition.py (core) Add dropdown conditions 2024-04-26 16:57:55 -04:00
test_engine.py (core) Implement PREVIOUS/NEXT/RANK and lookupRecords().find.* methods. 2024-07-17 12:00:55 -04:00
test_find_col.py Correct spelling mistakes 2022-02-19 09:46:49 +00:00
test_formula_error.py (core) Ignore leading whitespace in formulas, and strip out leading '=' sign users might add 2023-04-25 15:28:40 -04:00
test_formula_prompt.py Skip tests involving f-strings for Python 3.9 (#669) 2023-09-11 18:49:30 +02:00
test_formula_undo.py (core) Mark column changing actions as indirect when adding data to empty column 2022-05-25 16:21:04 +02:00
test_functions.py (core) Don't swallow TypeErrors in functions like SUM 2022-10-25 12:15:13 +02:00
test_gencode.py (core) Make Python tests pass in Python 3.11 2023-07-28 16:37:38 +02:00
test_import_actions.py (core) Record Cards 2023-11-19 20:12:37 -05:00
test_lookup_find.py (core) Implement PREVIOUS/NEXT/RANK and lookupRecords().find.* methods. 2024-07-17 12:00:55 -04:00
test_lookup_perf.py (core) Implement PREVIOUS/NEXT/RANK and lookupRecords().find.* methods. 2024-07-17 12:00:55 -04:00
test_lookup_sort.py (core) Implement PREVIOUS/NEXT/RANK and lookupRecords().find.* methods. 2024-07-17 12:00:55 -04:00
test_lookups.py (core) Implement PREVIOUS/NEXT/RANK and lookupRecords().find.* methods. 2024-07-17 12:00:55 -04:00
test_match_counter.py (core) Import Hashable from six.moves.collections_abc 2022-02-22 00:27:51 +02:00
test_migrations.py (core) Simple Python 3 compatibility changes 2021-06-22 17:13:17 +02:00
test_moment.py (core) New type conversion in the backend 2022-02-04 20:28:13 +02:00
test_objtypes.py (core) Fix serialization of values derived from primitive types, like IntEnum. 2024-09-04 16:51:51 -04:00
test_predicate_formula.py Update dropdown conditions on column rename (#1038) 2024-07-12 14:58:49 +00:00
test_prevnext.py (core) Implement PREVIOUS/NEXT/RANK and lookupRecords().find.* methods. 2024-07-17 12:00:55 -04:00
test_record_func.py (core) Update logging in sandbox code, and log tracebacks as single log messages. 2023-07-18 11:21:25 -04:00
test_recordlist.py (core) Return RecordSet instead of list from property access when possible, to allow further property access 2022-04-05 18:05:00 +02:00
test_reflist_rel.py (core) Update logging in sandbox code, and log tracebacks as single log messages. 2023-07-18 11:21:25 -04:00
test_relabeling.py (core) Update logging in sandbox code, and log tracebacks as single log messages. 2023-07-18 11:21:25 -04:00
test_renames2.py (core) Update logging in sandbox code, and log tracebacks as single log messages. 2023-07-18 11:21:25 -04:00
test_renames.py (core) Fix bug with column renames when using **kwargs with lookupOne or lookupRecords. 2024-05-09 09:37:10 -04:00
test_replace_table_data.py (core) Fix bug in data engine when records are added after clearing a table with ReplaceTableData. 2024-02-05 12:22:14 -05:00
test_replay.py (core) Python optimizations to speed up data engine 2023-02-09 12:49:58 -05:00
test_requests.py REQUEST with unknown and undetectable encoding (#600) 2023-08-02 16:49:37 -04:00
test_rules_grid.py (core) Implementing row conditional formatting 2022-08-09 20:11:36 +02:00
test_rules.py (core) Updating RawData views 2022-05-04 21:41:42 +02:00
test_side_effects.py (core) Ensure formulas return something and don't assign to attributes of rec 2022-05-23 21:06:18 +02:00
test_sort_key.py (core) Implement PREVIOUS/NEXT/RANK and lookupRecords().find.* methods. 2024-07-17 12:00:55 -04:00
test_sort_spec.py (core) Adding sort options for columns. 2021-11-03 15:31:39 +01:00
test_summary2.py (core) Update logging in sandbox code, and log tracebacks as single log messages. 2023-07-18 11:21:25 -04:00
test_summary_choicelist.py (core) Implement PREVIOUS/NEXT/RANK and lookupRecords().find.* methods. 2024-07-17 12:00:55 -04:00
test_summary_undo.py (core) Update logging in sandbox code, and log tracebacks as single log messages. 2023-07-18 11:21:25 -04:00
test_summary.py (core) Fix error in sandbox when removing multiple summary source columns 2023-09-27 16:23:49 +02:00
test_table_actions.py (core) Record Cards 2023-11-19 20:12:37 -05:00
test_table_data_set.py (core) Simple Python 3 compatibility changes 2021-06-22 17:13:17 +02:00
test_temp_rowids.py (core) Implement PREVIOUS/NEXT/RANK and lookupRecords().find.* methods. 2024-07-17 12:00:55 -04:00
test_textbuilder.py (core) Simple Python 3 compatibility changes 2021-06-22 17:13:17 +02:00
test_treeview.py (core) move data engine code to core 2020-07-29 08:57:25 -04:00
test_trigger_formulas.py (core) add initial support for special shares 2024-01-04 05:57:38 -05:00
test_twowaymap.py (core) move data engine code to core 2020-07-29 08:57:25 -04:00
test_types.py (core) Update logging in sandbox code, and log tracebacks as single log messages. 2023-07-18 11:21:25 -04:00
test_undo.py (core) Fix undo error for automatically removed rows, especially in summary tables 2022-09-09 22:15:45 +02:00
test_urllib_patch.py (core) Remaining Python 3 compatibility changes 2021-06-25 12:00:58 +02:00
test_user.py (core) add initial support for special shares 2024-01-04 05:57:38 -05:00
test_useractions.py (core) Revert D4302 2024-08-27 23:13:01 -04:00
testsamples.py (core) move data engine code to core 2020-07-29 08:57:25 -04:00
testscript.json (core) Polish Record Cards 2024-01-30 13:25:50 -05:00
testutil.py (core) Implement PREVIOUS/NEXT/RANK and lookupRecords().find.* methods. 2024-07-17 12:00:55 -04:00
textbuilder.py (core) Remaining Python 3 compatibility changes 2021-06-25 12:00:58 +02:00
timing.py (core) New API to collect timing information from formula evaluation. 2024-04-24 11:07:11 +02:00
treeview.py (core) move data engine code to core 2020-07-29 08:57:25 -04:00
twowaymap.py (core) Implement PREVIOUS/NEXT/RANK and lookupRecords().find.* methods. 2024-07-17 12:00:55 -04:00
tzdata.data (core) apply some dependabot suggestions 2022-09-07 14:15:34 -04:00
urllib_patch.py (core) Remaining Python 3 compatibility changes 2021-06-25 12:00:58 +02:00
user.py (core) add initial support for special shares 2024-01-04 05:57:38 -05:00
useractions.py (core) Revert D4302 2024-08-27 23:13:01 -04:00
usercode.py (core) Make Python tests pass in Python 3.11 2023-07-28 16:37:38 +02:00
usertypes.py (core) Implement PREVIOUS/NEXT/RANK and lookupRecords().find.* methods. 2024-07-17 12:00:55 -04:00
xmlrunner.py (core) Run python unit tests again in python 3 2021-06-30 21:46:18 +02:00