Commit Graph

730 Commits

Author SHA1 Message Date
George Gevoian
292c894b93 (core) Add Markdown cell format
Summary:
Text columns can now display their values as Markdown-formatted text
by changing their cell format to "Markdown". A minimal subset of the
Markdown specification is currently supported.

Test Plan: Browser tests.

Reviewers: Spoffy, dsagal

Reviewed By: Spoffy, dsagal

Subscribers: dsagal, Spoffy

Differential Revision: https://phab.getgrist.com/D4326
2024-08-23 11:24:35 -04:00
Xavi Montero
53bc030d1b Added translation using Weblate (Catalan) 2024-08-19 17:12:10 +00:00
github-actions[bot]
9ff8893e41 automated update to translation keys (#1150)
Co-authored-by: Paul's Grist Bot <paul+bot@getgrist.com>
2024-08-19 08:08:51 -04:00
Paul Fitzpatrick
0a78cdbaab (core) updates from grist-core 2024-08-19 07:01:01 -04:00
Riccardo Polignieri
3c45d8e43b Translated using Weblate (Italian)
Currently translated at 100.0% (1378 of 1378 strings)

Translation: Grist/client
Translate-URL: https://hosted.weblate.org/projects/grist/client/it/
2024-08-19 11:09:15 +02:00
SALIH AYDIN
d753d5e7ae Translated using Weblate (Turkish)
Currently translated at 0.4% (6 of 1378 strings)

Translation: Grist/client
Translate-URL: https://hosted.weblate.org/projects/grist/client/tr/
2024-08-18 08:09:13 +02:00
SALIH AYDIN
813e5cc26f Added translation using Weblate (Turkish) 2024-08-17 07:33:53 +02:00
xabirequejo
1c77909cda Translated using Weblate (Basque)
Currently translated at 99.8% (1376 of 1378 strings)

Translation: Grist/client
Translate-URL: https://hosted.weblate.org/projects/grist/client/eu/
2024-08-16 18:09:29 +02:00
George Gevoian
e70c294e3d (core) Add custom widget gallery
Summary:
Custom widgets are now shown in a gallery.

The gallery is automatically opened when a new custom widget is
added to a page.

Descriptions, authors, and update times are pulled from the widget
manifest.

Test Plan: Browser tests.

Reviewers: jarek

Reviewed By: jarek

Subscribers: dsagal

Differential Revision: https://phab.getgrist.com/D4309
2024-08-14 16:48:36 -04:00
Florent
fde6c8142d Support nonce and acr with OIDC + other improvements and tests (#883)
* Introduces new configuration variables for OIDC:
  - GRIST_OIDC_IDP_ENABLED_PROTECTIONS
  - GRIST_OIDC_IDP_ACR_VALUES
  - GRIST_OIDC_IDP_EXTRA_CLIENT_METADATA
* Implements all supported protections in oidc/Protections.ts
* Includes a better error page for failed OIDC logins
* Includes some other improvements, e.g. to logging, to OIDC
* Adds a large unit test for OIDCConfig
* Adds support for SERVER_NODE_OPTIONS for running tests
* Adds to documentation/develop.md info about GREP_TESTS, VERBOSE, and SERVER_NODE_OPTIONS.
2024-08-08 15:35:37 -04:00
Владимир В
be0de1852e Translated using Weblate (Russian)
Currently translated at 99.4% (1371 of 1378 strings)

Translation: Grist/client
Translate-URL: https://hosted.weblate.org/projects/grist/client/ru/
2024-08-08 21:09:24 +02:00
xabirequejo
9a761caf9f Translated using Weblate (Basque)
Currently translated at 99.8% (1376 of 1378 strings)

Translation: Grist/client
Translate-URL: https://hosted.weblate.org/projects/grist/client/eu/
2024-08-05 13:09:21 +02:00
Paul Janzen
5dfc2f6009 Translated using Weblate (German)
Currently translated at 100.0% (1378 of 1378 strings)

Translation: Grist/client
Translate-URL: https://hosted.weblate.org/projects/grist/client/de/
2024-08-05 13:09:20 +02:00
Paul Janzen
a7a11d378e Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (1378 of 1378 strings)

Translation: Grist/client
Translate-URL: https://hosted.weblate.org/projects/grist/client/pt_BR/
2024-08-05 13:09:19 +02:00
Franček Prijatelj
d6bdb0e726 Translated using Weblate (Slovenian)
Currently translated at 100.0% (1378 of 1378 strings)

Translation: Grist/client
Translate-URL: https://hosted.weblate.org/projects/grist/client/sl/
2024-08-03 21:09:17 +00:00
gallegonovato
09dcc81dda Translated using Weblate (Spanish)
Currently translated at 100.0% (1378 of 1378 strings)

Translation: Grist/client
Translate-URL: https://hosted.weblate.org/projects/grist/client/es/
2024-08-03 21:09:16 +00:00
gallegonovato
7ae60e82ef Translated using Weblate (Spanish)
Currently translated at 99.7% (1374 of 1378 strings)

Translation: Grist/client
Translate-URL: https://hosted.weblate.org/projects/grist/client/es/
2024-08-02 16:02:44 +00:00
xabirequejo
c205f4cfb1 Translated using Weblate (Basque)
Currently translated at 99.8% (1365 of 1367 strings)

Translation: Grist/client
Translate-URL: https://hosted.weblate.org/projects/grist/client/eu/
2024-08-02 16:09:29 +02:00
Roman Holinec
edfe1f9630 Translated using Weblate (Slovak)
Currently translated at 100.0% (1367 of 1367 strings)

Translation: Grist/client
Translate-URL: https://hosted.weblate.org/projects/grist/client/sk/
2024-08-02 16:09:28 +02:00
github-actions[bot]
07eae477e2 automated update to translation keys (#1132)
Co-authored-by: Paul's Grist Bot <paul+bot@getgrist.com>
2024-07-31 09:22:57 -04:00
xabirequejo
f2d3cff7e4 Translated using Weblate (Basque)
Currently translated at 99.8% (1365 of 1367 strings)

Translation: Grist/client
Translate-URL: https://hosted.weblate.org/projects/grist/client/eu/
2024-07-31 11:09:34 +02:00
gallegonovato
7037c36cc9 Translated using Weblate (Spanish)
Currently translated at 100.0% (1367 of 1367 strings)

Translation: Grist/client
Translate-URL: https://hosted.weblate.org/projects/grist/client/es/
2024-07-31 11:09:33 +02:00
Camille L
19d877f4fb Translated using Weblate (French)
Currently translated at 99.7% (1364 of 1367 strings)

Translation: Grist/client
Translate-URL: https://hosted.weblate.org/projects/grist/client/fr/
2024-07-31 11:09:33 +02:00
xabirequejo
bceecaf1ad Translated using Weblate (Basque)
Currently translated at 99.8% (1339 of 1341 strings)

Translation: Grist/client
Translate-URL: https://hosted.weblate.org/projects/grist/client/eu/
2024-07-30 09:09:20 +02:00
github-actions[bot]
a9521a8544 automated update to translation keys (#1119)
Co-authored-by: Paul's Grist Bot <paul+bot@getgrist.com>
2024-07-25 10:32:00 -04:00
xabirequejo
bb3135291c Translated using Weblate (Basque)
Currently translated at 90.5% (1214 of 1341 strings)

Translation: Grist/client
Translate-URL: https://hosted.weblate.org/projects/grist/client/eu/
2024-07-25 16:09:22 +02:00
xabirequejo
7bae7a86bf Translated using Weblate (Basque)
Currently translated at 90.4% (1213 of 1341 strings)

Translation: Grist/client
Translate-URL: https://hosted.weblate.org/projects/grist/client/eu/
2024-07-24 15:09:39 +02:00
George Gevoian
4740f1f933 (core) Update onboarding flow
Summary:
A new onboarding page is now shown to all new users visiting the doc
menu for the first time. Tutorial cards on the doc menu have been
replaced with a new version that tracks completion progress, alongside
a new card that opens the orientation video.

Test Plan: Browser tests.

Reviewers: jarek

Reviewed By: jarek

Differential Revision: https://phab.getgrist.com/D4296
2024-07-23 11:49:23 -04:00
xabirequejo
d982ca2103 Translated using Weblate (Basque)
Currently translated at 40.2% (540 of 1341 strings)

Translation: Grist/client
Translate-URL: https://hosted.weblate.org/projects/grist/client/eu/
2024-07-23 12:52:49 +02:00
xabirequejo
43aa714137 Added translation using Weblate (Basque) 2024-07-23 10:05:38 +02:00
Ricky From Hong Kong
916bff63b0 Translated using Weblate (Chinese (Traditional))
Currently translated at 74.1% (994 of 1341 strings)

Translation: Grist/client
Translate-URL: https://hosted.weblate.org/projects/grist/client/zh_Hant/
2024-07-23 10:05:37 +02:00
gallegonovato
57cacc9e2f Translated using Weblate (Spanish)
Currently translated at 100.0% (1341 of 1341 strings)

Translation: Grist/client
Translate-URL: https://hosted.weblate.org/projects/grist/client/es/
2024-07-21 21:09:20 +02:00
Franček Prijatelj
ea1de9d220 Translated using Weblate (Slovenian)
Currently translated at 100.0% (1341 of 1341 strings)

Translation: Grist/client
Translate-URL: https://hosted.weblate.org/projects/grist/client/sl/
2024-07-19 15:09:32 +00:00
Владимир В
4c2b5781df Translated using Weblate (Russian)
Currently translated at 99.5% (1335 of 1341 strings)

Translation: Grist/client
Translate-URL: https://hosted.weblate.org/projects/grist/client/ru/
2024-07-17 19:09:43 +00:00
Libor Blaheta
73e022b0c5 Translated using Weblate (Czech)
Currently translated at 7.9% (107 of 1340 strings)

Translation: Grist/client
Translate-URL: https://hosted.weblate.org/projects/grist/client/cs/
2024-07-16 13:10:24 +02:00
Владимир В
30eb956f5c Translated using Weblate (Russian)
Currently translated at 99.6% (1335 of 1340 strings)

Translation: Grist/client
Translate-URL: https://hosted.weblate.org/projects/grist/client/ru/
2024-07-16 13:10:23 +02:00
Paul Fitzpatrick
6171a012db (core) updates from grist-core 2024-07-08 08:52:56 -04:00
CamilleLegeron
0bfdaa9c02 Add authorization header in webhooks stored in secrets table (#941)
Summary:
Adding authorization header support for webhooks.

Issue:  https://github.com/gristlabs/grist-core/issues/827

---------

Co-authored-by: Florent <florent.git@zeteo.me>
2024-07-04 14:17:10 +02:00
Jarosław Sadziński
7f28aee79c (core) Billing updates
Summary:
- Adding confirmation dialog when user doesn't want to cancel site
- Changing `Cancel subscription` to `Cancel plan`
- Removing `Pro` from upgrade header on pricing modal
- Better handling situation when there is no default price
- Removing mentions about sprouts program
- Removing cache for stripe plans

Test Plan: Updated tests

Reviewers: georgegevoian

Reviewed By: georgegevoian

Differential Revision: https://phab.getgrist.com/D4273
2024-07-03 09:18:50 +02:00
Roman Holinec
3082fe0f01 Translated using Weblate (Slovak)
Currently translated at 100.0% (1340 of 1340 strings)

Translation: Grist/client
Translate-URL: https://hosted.weblate.org/projects/grist/client/sk/
2024-07-02 02:52:29 +02:00
Grégoire Cutzach
6801732c29 Translated using Weblate (French)
Currently translated at 99.1% (1329 of 1340 strings)

Translation: Grist/client
Translate-URL: https://hosted.weblate.org/projects/grist/client/fr/
2024-07-02 02:52:28 +02:00
Paul Janzen
0e777b1fcf Translated using Weblate (German)
Currently translated at 100.0% (1340 of 1340 strings)

Translation: Grist/client
Translate-URL: https://hosted.weblate.org/projects/grist/client/de/
2024-06-30 13:16:10 +02:00
Paul Janzen
d6d9d1c52e Translated using Weblate (Spanish)
Currently translated at 100.0% (1340 of 1340 strings)

Translation: Grist/client
Translate-URL: https://hosted.weblate.org/projects/grist/client/es/
2024-06-30 13:16:10 +02:00
Paul Janzen
3769c57915 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (1340 of 1340 strings)

Translation: Grist/client
Translate-URL: https://hosted.weblate.org/projects/grist/client/pt_BR/
2024-06-30 13:16:10 +02:00
Roman Holinec
994432e5de Translated using Weblate (Slovak)
Currently translated at 100.0% (1337 of 1337 strings)

Translation: Grist/client
Translate-URL: https://hosted.weblate.org/projects/grist/client/sk/
2024-06-29 11:09:32 +00:00
Riccardo Polignieri
6e9dae291c Translated using Weblate (Italian)
Currently translated at 100.0% (1337 of 1337 strings)

Translation: Grist/client
Translate-URL: https://hosted.weblate.org/projects/grist/client/it/
2024-06-29 11:09:31 +00:00
github-actions[bot]
187358cfa2 automated update to translation keys (#1065)
Co-authored-by: Paul's Grist Bot <paul+bot@getgrist.com>
2024-06-26 08:36:15 -04:00
Roman Holinec
eed5f364c0 Translated using Weblate (Slovak)
Currently translated at 37.1% (496 of 1336 strings)

Translation: Grist/client
Translate-URL: https://hosted.weblate.org/projects/grist/client/sk/
2024-06-26 13:09:35 +02:00
Franček Prijatelj
c0e4cea273 Translated using Weblate (Slovenian)
Currently translated at 100.0% (1336 of 1336 strings)

Translation: Grist/client
Translate-URL: https://hosted.weblate.org/projects/grist/client/sl/
2024-06-26 13:09:34 +02:00
Leslie H
24ce54b586 Improve session ID security (#1059)
Follow-up of #994. This PR revises the session ID generation logic to improve security in the absence of a secure session secret. It also adds a section in the admin panel "security" section to nag system admins when GRIST_SESSION_SECRET is not set.

Following is an excerpt from internal conversation.

TL;DR: Grist's current implementation generates semi-secure session IDs and uses a publicly known default signing key to sign them when the environment variable GRIST_SESSION_SECRET is not set. This PR generates cryptographically secure session IDs to dismiss security concerns around an insecure signing key, and encourages system admins to configure their own signing key anyway.

> The session secret is required by expressjs/session to sign its session IDs. It's designed as an extra protection against session hijacking by randomly guessing session IDs and hitting a valid one. While it is easy to encourage users to set a distinct session secret, this is unnecessary if session IDs are generated in a cryptographically secure way. As of now Grist uses version 4 UUIDs as session IDs (see app/server/lib/gristSessions.ts - it uses shortUUID.generate which invokes uuid.v4 under the hood). These contain 122 bits of entropy, technically insufficient to be considered cryptographically secure. In practice, this is never considered a real vulnerability. To compare, RSA2048 is still very commonly used in web servers, yet it only has 112 bits of security (>=128 bits = "secure", rule of thumb in cryptography). But for peace of mind I propose using crypto.getRandomValues to generate real 128-bit random values. This should render session ID signing unnecessary and hence dismiss security concerns around an insecure signing key.
2024-06-25 15:43:25 -04:00