Commit Graph

2656 Commits

Author SHA1 Message Date
Jarosław Sadziński
9509b2edcb (core) Hiding censored pages and all their leaves
Summary:
Page is now hidden when any of its ancestor (or the page itself)
is censored.

Test Plan: Updated

Reviewers: georgegevoian

Reviewed By: georgegevoian

Differential Revision: https://phab.getgrist.com/D4319
2024-08-14 19:48:17 +02:00
Dmitry S
fbc0418118 (core) Fix CustomView taking up more height than page layout gives it.
Summary:
Each view type currently responsible for fitting appropriately within the box
it's given (e.g. deciding which container is scrollable). CustomView wasn't
doing a good job of it, particularly when showing "columns aren't mapped"
message.

Test Plan:
Only CSS affected. Checked manually on FF, Chrome, Safari that CustomViews take
the right amount of space, and scroll well, in 3 situations: not-mapped,
not-configured, and a functional widget.

Reviewers: jarek

Reviewed By: jarek

Subscribers: jarek

Differential Revision: https://phab.getgrist.com/D4316
2024-08-13 12:34:28 -04:00
Dmitry S
5ef54b278f (core) When getting error details for on-demand formulas, provide an explanation
Summary:
Since formula errors are typically obtained from the Python data engine, they
were not returning any info for errors in on-demand tables (not loaded into the
data engine). This change implements a detailed message to explain such errors,
mainly to point out that on-demand table is the reason.

Test Plan: Added a check to the OnDemand test that formula error details are shown.

Reviewers: jarek

Reviewed By: jarek

Differential Revision: https://phab.getgrist.com/D4317
2024-08-13 12:34:08 -04:00
Dmitry S
95320f3f5b (core) Update documentation for lookup/find/prevnext for the Help Center
Summary: Documentation in https://github.com/gristlabs/grist-help/ is built using `./build-functions.sh`, and the current version (as updated and landed in https://github.com/gristlabs/grist-help/pull/368) already reflects the changes in this diff.

Test Plan: No changes to functionality, only documentation comments.

Reviewers: jarek

Reviewed By: jarek

Differential Revision: https://phab.getgrist.com/D4306
2024-08-12 12:50:44 -04:00
Dmitry S
69aabd1ae0 (core) Limit related videos when playing onboarding video tour from home page
Summary:
When video is opened from the app homepage, it opens in a popup, which stays
open when it ends. The rel=0 parameter limits the related videos shown at the
end to those from the same channel, avoiding surprising unrelated videos.

This doesn't affect the video shown during initial onboarding, since that once
auto-closes when it ends.

Test Plan: Tested manually

Reviewers: georgegevoian

Reviewed By: georgegevoian

Differential Revision: https://phab.getgrist.com/D4313
2024-08-09 19:24:09 -04:00
Paul Fitzpatrick
9b8d0c9fac (core) updates from grist-core 2024-08-09 17:56:34 -04:00
Dmitry S
4ed90faf79 (core) Fix more tests: bundleSize and Embed
Summary:
1. Unclear why Embed fails often. Locally, it fails for me every time, and
   this tweak makes it pass (while still keeping the test useful).
2. Reduced back main bundle's size by removing dependency of some common
   elements on the full AdminPanel. Updated expected size of errorPages
   bundle to the new reduced size.

Test Plan: No changes to functionality; relying on existing tests to verify that.

Reviewers: jordigh

Reviewed By: jordigh

Subscribers: georgegevoian, jordigh

Differential Revision: https://phab.getgrist.com/D4315
2024-08-09 16:08:31 -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
Paul Fitzpatrick
773588f795 (core) updates from grist-core 2024-08-07 14:06:59 -04:00
Jordi Gutiérrez Hermoso
ba7b72b39a Activations: add an enabled_at column
For #1140, I considered trying to use the existing fields in a better
way, but because we already use the activations table to store
preferences, we need to keep all of the existing data and its usage
as-is.

The enterprise code will use this new column to decide how long the
trial period should be.
2024-08-06 15:06:36 -04:00
Jordi Gutiérrez Hermoso
952544432e UserManager: show proper org domain (#476)
We had `getgrist.com` hardcoded here, which only works for SaaS. The
base domain as well as the way that orgs are encoded in the URL can be
different in other circumstances.

If we are encoding orgs in the domain name, that's easy. We just do
`orgname.base.domain.name`. If we are not, then we first try a base
domain, and if that isn't set, we'll use the domain of the home
server.
2024-08-06 14:39:43 -04:00
George Gevoian
1ce26ea6f5 (core) Fix typo in tutorial card
Test Plan: N/A

Reviewers: jarek

Reviewed By: jarek

Differential Revision: https://phab.getgrist.com/D4308
2024-08-06 09:53:49 -04:00
jarek
95189158c0
Enabling BiDi mode (#1152) 2024-08-05 23:27:34 +02:00
Jordi Gutiérrez Hermoso
4bfcbf20ac markdown: document this function 2024-08-05 13:21:09 -04: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
Florent
5206663ee3
Issues and PR templates (#1135)
Issues and PRs descriptions sometimes lacks of details we would like to have to better understand the motivations behind.

I propose here templates to guide the reporters towards good descriptions.

These templates are heavily inspired from the ones of the PeerTube project.

Fixes #1125

---------

Co-authored-by: CamilleLegeron <camille@telescoop.fr>
2024-08-02 11:33:58 -04: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
Jordi Gutiérrez Hermoso
42f696d50f README: update method to toggle enterprise 2024-07-31 09:53:02 -04: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
Jordi Gutiérrez Hermoso
1b6a80335f AdminPanel: add the toggle for enterprise
Final ingredient. This surfaces the work in creating the backend
config API, the frontend model, the grainjs observable, and the
grainjs DOM and CSS components.
2024-07-30 13:41:47 -04:00
Jordi Gutiérrez Hermoso
ffe3b22378 ToggleEnterpriseWidget: new frontend toggle for the admin
Strongly patterned after SupportGristPage. In fact, it has almost the
same structure.

Perhaps one day it would be possible to synchronise the logic between
the two toggles even further, but I couldn't see a simple way to do so
now. For now, some code structure duplication seemed easiest in lieau
of more abstractions.
2024-07-30 13:41:47 -04:00
Jordi Gutiérrez Hermoso
0bf3f9bc43 markdown: new utility module
Since we've started using Markdown, why not a simple utility function
to start using it?
2024-07-30 13:41:47 -04:00
Jordi Gutiérrez Hermoso
4621b67c8e AdminToggleCss: factor out CSS from SupportGristPage
We will create a new enterprise toggle, so we will need to share the same CSS.
2024-07-30 13:41:47 -04:00
Jordi Gutiérrez Hermoso
f0cf86be8e ToggleEnterpriseModel: new GrainJS model to handle changes to config API
Patterned after TelemetryModel.ts
2024-07-30 13:41:47 -04:00
Jordi Gutiérrez Hermoso
62a04e9510 ConfigAPI: new class to handle frontend requests to config backend
This new API is somewhat patterned after the InstallAPI, but simpler
whenever possible.
2024-07-30 13:41:47 -04:00
Jordi Gutiérrez Hermoso
960f023618 restart: gracefully handle restart failure
In case Grist isn't running with the supervisor (e.g. it's running
under nodemon instead via `yarn start`), surface the problem to the
frontend.
2024-07-30 13:41:47 -04:00
Jordi Gutiérrez Hermoso
9ae8918156 supervisor: remove config stub
The configuration is now handled by the config API, so we no longer
need the stub function here.
2024-07-30 13:41:47 -04:00
Jordi Gutiérrez Hermoso
bc8e5f6837 FlexServer: remove config from restart endpoint
The config endpoint now handles changing config values, so we only
need to handle restarts here.
2024-07-30 13:41:47 -04:00
Jordi Gutiérrez Hermoso
2d85ed1bfe config: new API endpoint
This adds PATCH and GET endpoints to handle `config.json`.
2024-07-30 13:41:47 -04:00
Jordi Gutiérrez Hermoso
d57c3f068d configCore: default to enterprise edition if TEST_ENABLE_ACTIVATION is truthy
This will ensure that the grist-ee image will have a consistent config
setting when created from the default value.
2024-07-30 13:41:47 -04:00
Jordi Gutiérrez Hermoso
f0aacc4d96 config: end the file with a newline
Small cosmetic change, POSIX requires final newlines in text files.

https://stackoverflow.com/questions/729692/why-should-text-files-end-with-a-newline
2024-07-30 13:41:47 -04:00
Jordi Gutiérrez Hermoso
f9e7558410 Dockerfile: silence a warning
Docker doesn't like mixed case in keywords.
2024-07-30 13:41:47 -04: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
Paul Fitzpatrick
5dbdb5c06c (core) updates from grist-core 2024-07-29 17:20:32 -04:00
Dmitry S
bb0213ecbe (core) Fix regression that caused Date/DateTime series to be treated as categorical data
Test Plan: Tested manually with a Date and DateTime column type.

Reviewers: paulfitz

Reviewed By: paulfitz

Subscribers: paulfitz

Differential Revision: https://phab.getgrist.com/D4305
2024-07-29 12:52:57 -07:00
Jordi Gutiérrez Hermoso
db26f3be6a documentation: fix data types table formatting 2024-07-29 09:56:12 -04:00
Jordi Gutiérrez Hermoso
fea7c0b536 create: add a comment explaining the session secret situation 2024-07-28 18:52:39 -04:00
Jordi Gutiérrez Hermoso
09871480ba create: add a short docstring for makeSimpleCreator 2024-07-28 18:52:39 -04:00
Jordi Gutiérrez Hermoso
9b3ae08ece create: hard-code the default session secret even more
The problem here is that making it this optional meant that it wasn't
supplied by [the enterprise creation
function](fb22d94878/ext/app/server/lib/create.ts (L10)).
This resulted in an odd situation where the secret was required for
the enterprise edition, even though it offers no additional security.
Without this key, the enterprise code crashes.

The requirement to supply a secret key would make a Grist instance
crash if you start in normal mode but switch to enterprise, as the
enterprise creator does not supply a default secret key.
2024-07-28 18:52:39 -04:00
Jordi Gutiérrez Hermoso
c9f9b70b67 apiconsole: allow uploads in console
By adding an XHR to "Try it out" requests, we can make non-JSON
requests pass a CORS check.
2024-07-26 09:09:11 -04:00