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