Commit Graph

2171 Commits

Author SHA1 Message Date
Jarosław Sadziński
d29770511c (core) Draft version of AI assistant
Summary:
The feature is behind a flag GRIST_FORMULA_ASSISTANT (must be "true"). But can be enabled in the
developer console by invoking GRIST_FORMULA_ASSISTANT.set(true).

Keys can be overriden in the document settings page.

Test Plan: For now just a stub test that checks if this feature is disabled by default.

Reviewers: paulfitz

Reviewed By: paulfitz

Subscribers: dsagal

Differential Revision: https://phab.getgrist.com/D3815
2023-03-24 10:07:26 +01:00
Dmitry S
33c08057ad (core) Bug fix: when on Raw Data popup, clicks on cells shouldn't navigate the page
Test Plan: Added a test check that fails without the fix

Reviewers: paulfitz

Reviewed By: paulfitz

Subscribers: paulfitz

Differential Revision: https://phab.getgrist.com/D3831
2023-03-23 16:23:59 -04:00
Dmitry S
22dbab0123 (core) Add tooltip for the opener icon for the Creator Panel
Test Plan: Tested manually.

Reviewers: paulfitz

Reviewed By: paulfitz

Subscribers: paulfitz

Differential Revision: https://phab.getgrist.com/D3830
2023-03-23 11:55:34 -04:00
Denys
3faab1a035
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (767 of 767 strings)

Translation: Grist/client
Translate-URL: https://hosted.weblate.org/projects/grist/client/uk/
2023-03-23 14:40:24 +01:00
Dmitry Sagalovskiy
e508259d04
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (767 of 767 strings)

Translation: Grist/client
Translate-URL: https://hosted.weblate.org/projects/grist/client/uk/
2023-03-23 14:40:23 +01:00
Paul Janzen
26822e89b8
Translated using Weblate (German)
Currently translated at 100.0% (767 of 767 strings)

Translation: Grist/client
Translate-URL: https://hosted.weblate.org/projects/grist/client/de/
2023-03-23 14:40:23 +01:00
Paul Janzen
69536e827e
Translated using Weblate (Spanish)
Currently translated at 100.0% (767 of 767 strings)

Translation: Grist/client
Translate-URL: https://hosted.weblate.org/projects/grist/client/es/
2023-03-23 14:40:22 +01:00
Paul Janzen
6206bc5beb
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (767 of 767 strings)

Translation: Grist/client
Translate-URL: https://hosted.weblate.org/projects/grist/client/pt_BR/
2023-03-23 14:40:22 +01:00
Paul Fitzpatrick
12f9567ff4 (core) add a /welcome/start endpoint that forwards sensibly
Summary:
This adds a nuanced redirecting endpoint. For example, on
docs.getgrist.com it does:

 1) If logged in and no team site -> https://docs.getgrist.com/
 2) If logged in and has team sites -> https://docs.getgrist.com/welcome/teams
 3) If logged out but has a cookie -> /login, then 1 or 2
 4) If entirely unknown -> /signup

Test Plan: added a test; tested behavior through logins manually

Reviewers: dsagal

Reviewed By: dsagal

Subscribers: dsagal

Differential Revision: https://phab.getgrist.com/D3828
2023-03-22 15:33:53 -04:00
Jarosław Sadziński
a9ff6b9a84 (core) Fixing couple of bugs in collapsed section layout
Summary:
The previous implementation for collapsing sections involved disposing of a view instance (Grid or Chart component). This caused numerous bugs with
linking sections as the implementation is located in the BaseView.js. Now the view instance is kept and attached to a dom in a hidden div, so it can respond
and function as a normal rendered section. It is also passed from between collapsed and main layout, when sections are dragged or moved using section's
menu commands (`collapse` and `add to main page`)

It also implies that the ViewLayout must still be rendered when a section is maximized (as it is responsible for the view instance), so the dom, and
some logic for rendering it, had to be changed.

Test Plan: New and updated

Reviewers: georgegevoian

Reviewed By: georgegevoian

Differential Revision: https://phab.getgrist.com/D3826
2023-03-22 16:23:09 +01:00
George Gevoian
be8e13df64 (core) Add initial tutorials implementation
Summary:
Documents can now be flagged as tutorials, which causes them to display
Markdown-formatted slides from a special GristDocTutorial table. Tutorial
documents are forked on open, and remember the last slide a user was on.
They can be restarted too, which prepares a new fork of the tutorial.

Test Plan: Browser tests.

Reviewers: jarek

Reviewed By: jarek

Differential Revision: https://phab.getgrist.com/D3813
2023-03-22 10:09:02 -04:00
Paul Janzen
1fc0b82dc1
Translated using Weblate (German)
Currently translated at 100.0% (767 of 767 strings)

Translation: Grist/client
Translate-URL: https://hosted.weblate.org/projects/grist/client/de/
2023-03-21 20:34:11 +01:00
Paul Janzen
11e9995382
Translated using Weblate (Spanish)
Currently translated at 100.0% (767 of 767 strings)

Translation: Grist/client
Translate-URL: https://hosted.weblate.org/projects/grist/client/es/
2023-03-21 20:34:11 +01:00
Paul Janzen
ce7db2ee7c
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (767 of 767 strings)

Translation: Grist/client
Translate-URL: https://hosted.weblate.org/projects/grist/client/pt_BR/
2023-03-21 20:34:11 +01:00
George Gevoian
210aa92eed (core) Fix dark mode on welcome pages
Summary:
The welcome pages were unreadable because dark mode CSS was not
being applied.

Test Plan: Tested manually.

Reviewers: jarek

Reviewed By: jarek

Differential Revision: https://phab.getgrist.com/D3827
2023-03-21 03:22:45 -04:00
Paul Fitzpatrick
327c78aa95
move a newly introduced private ActiveDoc method into the expected location (#465)
* place a new private ActiveDoc method in the expected order

This was tickling a lint failure on grist-core.

* reset an English translation that interferes with test currently
2023-03-20 11:25:09 -04:00
Владимир В
d8f66421d2
Translated using Weblate (Russian)
Currently translated at 99.3% (762 of 767 strings)

Translation: Grist/client
Translate-URL: https://hosted.weblate.org/projects/grist/client/ru/
2023-03-20 15:52:22 +01:00
Paul Fitzpatrick
627bb4697f
Translated using Weblate (English)
Currently translated at 100.0% (767 of 767 strings)

Translation: Grist/client
Translate-URL: https://hosted.weblate.org/projects/grist/client/en/
2023-03-20 15:52:22 +01:00
Paul Fitzpatrick
572995f19a (core) updates from grist-core 2023-03-20 09:46:37 -04:00
Paul Janzen
7b38ac2ca4
Translated using Weblate (German)
Currently translated at 100.0% (767 of 767 strings)

Translation: Grist/client
Translate-URL: https://hosted.weblate.org/projects/grist/client/de/
2023-03-19 01:39:34 +01:00
Paul Janzen
1f0c3c7ff2
Translated using Weblate (Spanish)
Currently translated at 100.0% (767 of 767 strings)

Translation: Grist/client
Translate-URL: https://hosted.weblate.org/projects/grist/client/es/
2023-03-19 01:39:34 +01:00
Paul Janzen
583f78b4f6
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (767 of 767 strings)

Translation: Grist/client
Translate-URL: https://hosted.weblate.org/projects/grist/client/pt_BR/
2023-03-19 01:39:33 +01:00
Allan Nordhøy
24532da6fb
Translated using Weblate (Norwegian Bokmål)
Currently translated at 89.4% (686 of 767 strings)

Translation: Grist/client
Translate-URL: https://hosted.weblate.org/projects/grist/client/nb_NO/
2023-03-19 01:39:33 +01:00
Riccardo Polignieri
54d66fd326
Translated using Weblate (Italian)
Currently translated at 98.5% (756 of 767 strings)

Translation: Grist/client
Translate-URL: https://hosted.weblate.org/projects/grist/client/it/
2023-03-17 23:29:11 +01:00
Владимир В
5c1e7d36e0
Translated using Weblate (Russian)
Currently translated at 98.5% (756 of 767 strings)

Translation: Grist/client
Translate-URL: https://hosted.weblate.org/projects/grist/client/ru/
2023-03-17 23:29:11 +01:00
Paul Janzen
722aae77bb
Translated using Weblate (German)
Currently translated at 99.0% (760 of 767 strings)

Translation: Grist/client
Translate-URL: https://hosted.weblate.org/projects/grist/client/de/
2023-03-17 23:29:11 +01:00
gallegonovato
cf007c9067
Translated using Weblate (Spanish)
Currently translated at 99.0% (760 of 767 strings)

Translation: Grist/client
Translate-URL: https://hosted.weblate.org/projects/grist/client/es/
2023-03-17 23:29:11 +01:00
Paul Janzen
48b7086f02
Translated using Weblate (Spanish)
Currently translated at 99.0% (760 of 767 strings)

Translation: Grist/client
Translate-URL: https://hosted.weblate.org/projects/grist/client/es/
2023-03-17 23:29:11 +01:00
Paul Janzen
c085a6e5f7
Translated using Weblate (Portuguese (Brazil))
Currently translated at 99.0% (760 of 767 strings)

Translation: Grist/client
Translate-URL: https://hosted.weblate.org/projects/grist/client/pt_BR/
2023-03-17 23:29:11 +01:00
Allan Nordhøy
2c27d8d2a7
Translated using Weblate (Norwegian Bokmål)
Currently translated at 89.4% (686 of 767 strings)

Translation: Grist/client
Translate-URL: https://hosted.weblate.org/projects/grist/client/nb_NO/
2023-03-17 23:29:11 +01:00
Allan Nordhøy
b61da7e33b
Translated using Weblate (English)
Currently translated at 100.0% (767 of 767 strings)

Translation: Grist/client
Translate-URL: https://hosted.weblate.org/projects/grist/client/en/
2023-03-17 23:29:11 +01:00
Paul Fitzpatrick
391d39effc (core) restore ActiveDoc shutdown behavior on error
Summary:
A recent change perturbed some error handling when an ActiveDoc
is shutting down. It is important that errors get thrown when
attempting to replace a non-existent document. My bad in review
for not catching.

Test Plan: Snapshot test passes again

Reviewers: georgegevoian

Reviewed By: georgegevoian

Subscribers: georgegevoian, cyprien

Differential Revision: https://phab.getgrist.com/D3824
2023-03-17 12:18:09 -04:00
Louis Delbosc
c54e910fd6
Export table schema (#459)
* add endpoint
* Add table-schema transformation data
2023-03-16 17:37:24 -04:00
Cyprien P
1ff93f89c2 (core) Porting the AI evaluation script
Summary:
Porting script that run an evaluation against our formula dataset.

To test you need an openai key (see here: https://platform.openai.com/)
or hugging face (it should work as well), then checkout the branch and run

`OPENAI_API_KEY=<my_openai_api_key> node core/test/formula-dataset/runCompletion.js`

Test Plan:
Needs manually testing: so far there is no plan to make it part of CI.

The current score is somewhere around 34 successful prompts over a total of 47.

Reviewers: paulfitz

Reviewed By: paulfitz

Subscribers: jarek

Differential Revision: https://phab.getgrist.com/D3816
2023-03-15 14:54:28 +01:00
Cyprien P
2b2e19c5b5 (core) Fix issue with summary update.
Summary:
The problem is that the implementation for a summary update was relying on type consistency to get columns (ie: matches agains colId and type).

Type consistency is an attempt at maintaining consistent type across same-named column for summaries of same table.

But the problem is that the consistency of types is NOT a strict guarantee or an invariant, more of a best-effort attempt (there are too many possible sequences of operations possible with renaming/adding/removing in summary tables and the underlying table).

With current implementation and with a document violating the type consistency, a summary table could end up with fields referencing columns to the former summary table (more detail below(1)). Which is a bad state (yields js errors on the client).

This diff fixes this issue by relaxing the type comparison when search for same-named column.

(1) __Below is a description of how a violation of type consistency could end-up in bad state document (example taken from the reported bug):__

> In this document, let's assume two summary tables `Table1 [by A]` and `Table1 [Totals]`. Let's also assume Table1 and `Table1 [Totals]` both have an `Amount(Numeric)` column, and that `Table1 [by A]` has one `Amount(Any)` column (violating the type consistency principle). Now when users wanted to change the `Table1 [Totals]` section to group by 'A', grist found that there is already a summary table with same grouping. But it couldn't find a matching column for `Amount(Numeric)` so it created a new one. Except that because there was still an `Amount(Any)` the new column was named `Amount2` which caused following code to ignore it and in particular forgetting to update it's corresponding section's field which was then pointing toward the column of a different table (which is bad).

Test Plan: Added python test.

Reviewers: georgegevoian

Reviewed By: georgegevoian

Differential Revision: https://phab.getgrist.com/D3809
2023-03-15 13:54:15 +01:00
Jarosław Sadziński
b3590c8a6f (core) Removing warnings about deprecated shortcuts.
Summary:
Warnings about deprecated shortcuts are no longer needed.
As a side effect it fixes a bug that caused those warnings to not persist its
state on pages with charts.

Test Plan: Removed

Reviewers: georgegevoian

Reviewed By: georgegevoian

Differential Revision: https://phab.getgrist.com/D3820
2023-03-15 10:50:14 +01:00
Przemek
8e5128182c
Translated using Weblate (Polish)
Currently translated at 100.0% (766 of 766 strings)

Translation: Grist/client
Translate-URL: https://hosted.weblate.org/projects/grist/client/pl/
2023-03-15 10:39:46 +01:00
George Gevoian
8a6962d3e6 (core) Hide id column in Access Rules
Summary: The id column was a possible option for rulesets, which was a bug.

Test Plan: Browser tests.

Reviewers: paulfitz

Reviewed By: paulfitz

Subscribers: paulfitz

Differential Revision: https://phab.getgrist.com/D3817
2023-03-14 12:34:23 -04:00
Dmitry S
efd92c6c2a (core) Two fixes to tests affected by changes that came from grist-core.
Summary:
- For python2, skip some tests of renaming which produce different results
  because of an un-upgradable astroid version.
- Fix test affected by pyCall() having changed to async; avoid hanging timeout
  callback in case of error.

Test Plan: All test cases should now pass (with 4 getting skipped)

Reviewers: paulfitz

Reviewed By: paulfitz

Differential Revision: https://phab.getgrist.com/D3819
2023-03-14 11:57:01 -04:00
Dmitry S
86681de595 (core) Add overflowTooltip() tool, and use for long tables in widget picker, and long page names.
Summary:
Usage is simply to call `overflowTooltip()` with no arguments, as an argument
to an element whose text may overflow. On 'mouseenter', it'll check for
overflow and show the element's .textContent in a tooltip.

- Added for long table names in the widget picker (Add Page, Add Widget to Page).
- Added for long page names in the left-panel list of pages.

Test Plan: Added test cases for the new overflow tooltips

Reviewers: jarek

Reviewed By: jarek

Differential Revision: https://phab.getgrist.com/D3814
2023-03-13 21:47:35 -04:00
github-actions[bot]
f4aa82189b
automated update to translation keys (#462)
Co-authored-by: Paul's Grist Bot <paul+bot@getgrist.com>
2023-03-13 12:40:15 -04:00
Paul Fitzpatrick
b28cbb378a
add a special key to allow translators to exclude language until ready (#461)
This adds a special key to be translated. While the key has not been
translated, the language should not be offered or used by default.
The key is not yet effective - that will be follow-up once the key
has propagated to weblate and existing translations have had time to
update.
2023-03-13 11:47:22 -04:00
Cyprien P
b312b3b08b (core) Fix css issue with tooltip in filter menu on safari
Summary:
Small glitch on safari: when we show behavioural tooltips the content
of the tooltip is first added to the parent of the target elem, then
we set tooltip's container positioning to absolute which normally causes recompute
of the layout. But in safari it doesn't, hence the button shows as if
the tooltip was still in there, as a sibling.

Diff fixes that issue by forcing positioning to absolute on the tooltip container.

{F68474}

Test Plan: Should not break anything.

Reviewers: georgegevoian

Differential Revision: https://phab.getgrist.com/D3802
2023-03-13 15:39:41 +01:00
Paul Fitzpatrick
186263b4fb (core) updates from grist-core 2023-03-13 09:27:21 -04:00
Przemek
8421166cf0
Translated using Weblate (Polish)
Currently translated at 84.7% (649 of 766 strings)

Translation: Grist/client
Translate-URL: https://hosted.weblate.org/projects/grist/client/pl/
2023-03-12 10:37:29 +01:00
Dmitry S
1274fe55fb (core) Fix linking of new records when attachment is the first thing added.
Summary:
Fixes a bug when in a linked widget, the automatic reference wasn't being set
for a new record if attachment is the first thing that gets added to the
record.

- Move handling of 'setCursorPos' pseudo-command to GristDoc to support cross-section switching (relevant when moving attachment into a cell of a non-active page widget)
- Modernize code for AttachmentsWidget slightly (better typings, css conventions)
- Change the fix in https://phab.getgrist.com/D3796 from using isolate to using different z-index values, to avoid a change in the look of the cursor on Attachment cells.

Test Plan: Added a test case for what's possible to test with webdriver.

Reviewers: georgegevoian

Reviewed By: georgegevoian

Differential Revision: https://phab.getgrist.com/D3811
2023-03-09 08:54:36 -05:00
skamensky
46c9603b8f
Update README.md to mention GRIST_WIDGET_LIST_URL (#456)
Add missing `GRIST_WIDGET_LIST_URL` environment variable found in https://support.getgrist.com/self-managed/
2023-03-08 18:40:14 -05:00
Paul Janzen
9ddf5ab609
Translated using Weblate (German)
Currently translated at 100.0% (766 of 766 strings)

Translation: Grist/client
Translate-URL: https://hosted.weblate.org/projects/grist/client/de/
2023-03-08 18:37:26 +01:00
gallegonovato
ddd62aa077
Translated using Weblate (Spanish)
Currently translated at 100.0% (766 of 766 strings)

Translation: Grist/client
Translate-URL: https://hosted.weblate.org/projects/grist/client/es/
2023-03-08 18:37:25 +01:00
Paul Janzen
146d3b7a72
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (766 of 766 strings)

Translation: Grist/client
Translate-URL: https://hosted.weblate.org/projects/grist/client/pt_BR/
2023-03-08 18:37:25 +01:00