Mahatthana (Kelvin) Nomsawadi
authored
* Correct embedding hash options type semantically * Pass `X-Metabase-Locale` to embed downloads * wip locale header middleware * Allow smart scalar text to be translated * Stop using global variable * Add more details to embedding types * Extend the E2E util type and correct some properties types * Add e2e test * Fix dashboard name * Add a test for static embed question * Make a type name follows a convention Co-authored-by:Denis Berezin <denis.berezin@metabase.com> * Fix failed E2E tests due to missing default values * Fix public embed not working with `?locale` anymore * Revert "wip locale header middleware" This reverts commit 83d8d135. * Preserve locale when in the `as-admin` macro is used Motivating issue: ```shell ❯ http get 'http://localhost:3000/api/embed/dashboard/eyJhbGciOiJIUzI1NiJ9.eyJyZXNvdXJjZSI6eyJkYXNoYm9hcmQiOjEyfSwicGFyYW1zIjp7fX0.QZ-tEWpgJeSMUuaPfuH6_VQwM2yXNMcuureWCtHsszU/dashcard/162/card/124' x-metabase-locale:fr -pb | jq '.data|.cols|map(.display_name)' [ "State", "Count" ] ``` I'm running a query that has aggregated columns and it is returning the untranslated. Note that these are computed and dynamically given a display name. ```clojure (case tag :count (i18n/tru "Count") :cum-count (i18n/tru "Cumulative count")) ``` The problem is that we run embedding things as admin. And that gets the current user, which in embed and public spaces is nil, and so binds a nil to user-locale, which defaults to english when translating. After: ``` ❯ http get 'http://localhost:3000/api/embed/dashboard/eyJhbGciOiJIUzI1NiJ9.eyJyZXNvdXJjZSI6eyJkYXNoYm9hcmQiOjEyfSwicGFyYW1zIjp7fX0.QZ-tEWpgJeSMUuaPfuH6_VQwM2yXNMcuureWCtHsszU/dashcard/162/card/124' x-metabase-locale:fr -pb | jq '.data|.cols|map(.display_name)' [ "State", "Nombre de lignes" ] ❯ http get 'http://localhost:3000/api/embed/dashboard/eyJhbGciOiJIUzI1NiJ9.eyJyZXNvdXJjZSI6eyJkYXNoYm9hcmQiOjEyfSwicGFyYW1zIjp7fX0.QZ-tEWpgJeSMUuaPfuH6_VQwM2yXNMcuureWCtHsszU/dashcard/162/card/124' x-metabase-locale:zh -pb | jq '.data|.cols|map(.display_name)' [ "State", "行数" ] ❯ http get 'http://localhost:3000/api/embed/dashboard/eyJhbGciOiJIUzI1NiJ9.eyJyZXNvdXJjZSI6eyJkYXNoYm9hcmQiOjEyfSwicGFyYW1zIjp7fX0.QZ-tEWpgJeSMUuaPfuH6_VQwM2yXNMcuureWCtHsszU/dashcard/162/card/124 ' x-metabase-locale:es -pb | jq '.data|.cols|map(.display_name)' [ "State", "Contar" ] ``` This is fetching a dashboard's card which is a query of orders grouped by created at month, sum of total. --------- Co-authored-by:
Nicolò Pretto <info@npretto.com> Co-authored-by:
Denis Berezin <denis.berezin@metabase.com> Co-authored-by:
dan sutton <dan@dpsutton.com>
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
Name | Last commit | Last update |
---|---|---|
.. | ||
embedding-sdk | ||
metabase-enterprise |