This project is mirrored from https://github.com/metabase/metabase.
Pull mirroring updated .
- Apr 22, 2024
-
-
metabase-bot[bot] authored
Co-authored-by:
bryan <bryan.maass@gmail.com>
-
- Apr 16, 2024
-
-
metabase-bot[bot] authored
* Fix unable to disable scan field values (#41170) * Migration to remove scan field values triggers for DBs that turn it off (#41348) --------- Co-authored-by:
Ngoc Khuat <qn.khuat@gmail.com>
-
- Mar 29, 2024
-
-
metabase-bot[bot] authored
* Make Formatting on Exports Optional Formatting on exports can be turned off via a middleware key: `:format-export?` which will control if the 'app style' formatting will be applied to the exported results. `:format-export? false` will return the file as in previous Metabase versions. * format_export's default value provided in the QP middleware Should still default to formatted for v. 49, as the formatting is intended as a feature. This default value should be provided in a central place, so is added to the middleware and is therefore not necessary for the API to provide a default. * weird indentation * Add format_export param to dashboard dashcard query endpoint * Add format_export option to embedded dashboard downloads endpoint * Move default true value to the streaming-results-writer impls * Default true but for real this time * Add format_export to the public Question endpoint * Add test to card api * Dashboard exports endpoint test * Add test to dashboard embeds Test still fails and I don't know why yet * the dangers of println debugging.... Well, I was passing a string false the whole time. Turns out the problem was me * Public Card downloads endpoint now has format_export and test * export_format also works for adhoc queries using api/dataset * Let defendpoint do the boolean parsing * Embed endpoint should now work too. * Unify format-rows and format-export middlewares * Sneaky endpoint! * In xlsx, always parse temporal strings so that viz-settings formatting is applied * Snuck in an incomplete change by accident. removed it. * Can now specify format/no format on subscriptions * Fix and move migration * default format rows to true in attachments * Ok, I think that should actually work for subscriptions. * Change endpoints to use format_rows instead of confusing format_export * format_rows everywhere * Fix more test failures * redef'd function had wrong signature * Make format export optional (FE part) (#40643) * Refactor download URL builder code Need to handle query `params` and request `body` separately * Export `useHover` from `metabase/ui` * Add unformatted export for dashboard cards * Add unformatted export for saved questions * Fix POST body encoding * Add unformatted export for ad-hoc questions * Ensure `format_export` is always false for Excel * Add unformatted export to public questions * Add unformatted export to embedded questions and dashboards * Fix behavior for PNG format * Add tests for `QueryDownloadPopover` * Fix e2e downloads helper (allow URL query params) * Rework alt key handling * Add e2e test * Switch to `format_rows` instead of `format_export` * Add unformatted export option to subscriptions * Fix `isHoldingAltKey` initial state * Rework e2e test to use Total column * Fix initial checkbox state for subscriptions * Use "Alt" in tooltip label for Windows/Linux * Show the subscriptions toggle only for CSV attachments --------- * Address review feedback --------- Co-authored-by:
Adam James <adam.vermeer2@gmail.com> Co-authored-by:
Anton Kulyk <kuliks.anton@gmail.com>
-
- Mar 27, 2024
-
-
metabase-bot[bot] authored
Co-authored-by:
Noah Moss <32746338+noahmoss@users.noreply.github.com>
-
- Feb 22, 2024
-
-
metabase-bot[bot] authored
* update content for 49 * add date filter to question overview Co-authored-by:
Luiz Arakaki <luiz.arakaki@metabase.com>
-
- Feb 09, 2024
-
-
Oisin Coveney authored
* Add snowplow events for embedding setup flow * Fix dashboard model tests * Fix dashboard tests * Fix card tests * Fix dashboard API tests * Fix type error * Implement analytics 2/7 1. public_link_copied 2. public_link_removed * Fix snowplow schema enum Removing null as we don't seem to put `null` in `enum` * Complete the embed_flow snowplow schema * Modify `initial_published_at` to not be overridden * Implement analytics 4/7 1. public_link_copied 2. public_link_removed 3. public_embed_code_copied 4. static_embed_published 5. static_embed_unpublished * Prevent accidental ESLint log in Cypress * Differentiate `EmbeddingParametersSettings` from `EmbeddingParametersValues` We were mixing the type before, as the former one are the type of the setting values, not the actual values for the parameters. * Fix dashboard and card types * Fix `params` count for `static_embed_published` event * fixup! Prevent accidental ESLint log in Cypress * Fix ESlint from the result of upgrading ESLint package * Fix Snowplow schema enum to include null * Fully implement `static_embed_code_copied` * Finish embed_flow snowplow
* Fix unit tests because markup change * Fix E2E tests * Fix E2E CI failure Apparently using `.realClick()` on copy button could fail locally, but pass on CI and vice-versa. I couldn't replicate this all the time. I'm not sure why it would fail locally. * Fix copy to clipboard not working on CI * Improve test readability * Remove extra test-id * Fix refactor `*CodeOptionId` * Restrict Snowplow schema * Revert unnecessary change * Apply Cal's suggestions for BE improvements Co-authored-by:Cal Herries <39073188+calherries@users.noreply.github.com> * Update src/metabase/util/embed.clj Co-authored-by:
Cal Herries <39073188+calherries@users.noreply.github.com> * Fix backend linter error, hopefully. --------- Co-authored-by:
Mahatthana Nomsawadi <mahatthana.n@gmail.com> Co-authored-by:
Mahatthana (Kelvin) Nomsawadi <me@bboykelvin.dev> Co-authored-by:
Cal Herries <39073188+calherries@users.noreply.github.com> Co-authored-by:
Nicolò Pretto <info@npretto.com>
-
Noah Moss authored
* Default enable-public-sharing to false for existing instances, and true for new ones * add rollback * fix typo * try to fix e2e test * invert conditionals * use derivedSettings instead
-
Noah Moss authored
* new audit views and migrations * fix tests * rename external users group to anonymous, handle api key users, and add query definition to query_execution table * fix mysql user email field * update yamls for 49 --------- Co-authored-by:
Luiz Arakaki <luiz.arakaki@metabase.com>
-
- Feb 05, 2024
-
-
Ryan Laurie authored
* add Hebrew support
-
Ngoc Khuat authored
-
- Feb 01, 2024
-
-
adam-james authored
* Migration adding 'width' to Dashboards 3 migrations: - 1st adding the width column with default value of 'fixed' - 2nd updating all existing dashboards to have width 'full', which corresponds to what the current behaviour is (will be the 'old' behaviour after the fixed-width project lands). - The rolloback here is necessary but we don't care what happens as the column will be dropped immediately in the next rollback anyway - 3rd sets the notNullableConstraint. DefaultNull is 'full' here, just in case there's an existing dashboard whose width value is not yet set from the 1st migration. Don't know how that could happen, but its here in case * Dashboard PUT api endpoint accepts width changes and updates appdb update-dashboard function now is aware of the :width key so those changes can end up in the transaction. Also added a width test that asserts that the value's default is "fixed", it can be changed, eg. to "full", but cannot be changed to other values. * Add width to revision tests * Fix dashboard revision tests. :width key is now needed in some revision tests. As well we need a string communicating that the :width setting has changed from 'full' to 'fixed' or vice-versa. * Fix comments/remarks in migration to be accurate * Attempt to fix default not working mysql/mariadb * Set default in dashboard model Signed-off-by:
Adam James <adam.vermeer2@gmail.com> * Revert default :width 'fixed' value. * Explicitly add default value 'fixed' for MySQL/MariaDB --------- Signed-off-by:
Adam James <adam.vermeer2@gmail.com>
-
- Jan 31, 2024
-
-
Vamsi Peri authored
Updated the Global Bundle with the content of https://truststore.pki.rds.amazonaws.com/global/global-bundle.pem -O rds-combined-ca-bundle.pem This is the new URL to be used, as described on https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.SSL.html The new bundle: - removes expired root certificates - keeps certificates for `rds-ca-2019` - adds certificates for all regions for - `rds-ca-rsa2048-g1`: certificate authority with RSA 2048 private key algorithm and SHA256 signing algorithm - `rds-ca-rsa4096-g1`: certificate authority with RSA 4096 private key algorithm and SHA384 signing algorithm - `rds-ca-ecc384-g1`: certificate authority with ECC 384 private key algorithm and SHA384 signing algorithm It fixes #32017 and #27790 Co-authored-by:
Théophile Helleboid <theophile.helleboid.ext@qonto.com>
-
- Jan 26, 2024
-
-
Romeo Van Snick authored
For big databases autocomplete can be quite slow. At stats, query in regular form takes about 80 ms to run. Filtering out inactive tables and adding an index (pgsql-only unfortunately) for ordering clause brings that down to 10 ms. Also I suspect that in a single session you'll hit similar autocomplete rules multiple time, so some client caching could help with performance.
-
- Jan 19, 2024
-
-
Ngoc Khuat authored
-
- Jan 18, 2024
-
-
John Swanson authored
Just add a comment warning that the file is autogenerated and not to edit it by hand.
-
- Jan 17, 2024
-
-
Anton Kulyk authored
* Update Trend chart copy for special cases (on frontend) (#35184) * add computeTrend * fix unit test * fix e2e test * explicitly fallback to day unit if backend doesn’t provide one * fix empty data cases * rename function parameters * correct and simplify computeChange function - when prevVal < 0 and nextVal < 0, it would return the wrong percentChange. (nextVal - prevVal) / Math.abs(prevVal) fixes this issue. - i.e. prevVal = -5, nextVal = -10 -> computeChange(-5, -10) -> computeChange(--10, --5) -> -50% but we should it expect to be -100% since it dropped by a factor of Math.abs(prevVal) * refactor PREVIOUS_VALUE options * correct and simplify computeChange further (-) -> (0) should be + increase (our end case already accounts for this behavior) * update unit tests to reflect correctness changes to computeChange * refactor for readability * refactor to use isEmpty instead of ==/!= null * refactor variable names for readability * refactor nested ternaries into function * refactor for readability * refactor variable names * re-use end of array index variable * re-word comments * refactor consumers based on return variable re-naming * add missing test cases * nit refactor * re-arrange functions for readability * truncate prevDate based on nextDate - if prevDate is same day as nextDate, remove the day, month, and year from the comparisonPeriodStr - if prevDate is same year as nextDate, remove the year from the comparisonPeriodStr * fix comment * fix test * instead of ↓ and ↑ symbols, use icon names * fix night mode hack * refactor formatDateTimeRangeWithUnit behavior - refactor how options.removeDay and options.removeYear work - reorganize the layout to make the conditional branches easier to see * fix tooltip styles * Add tests to cover new options - options.removeDay - options.removeYear * add option descriptors to test string --------- Co-authored-by:
Jesse Devaney <22608765+JesseSDevaney@users.noreply.github.com> * Trend Charts: Support arbitrary date comparison (#36666) * add computeTrend * fix unit test * fix e2e test * explicitly fallback to day unit if backend doesn’t provide one * fix empty data cases * rename function parameters * correct and simplify computeChange function - when prevVal < 0 and nextVal < 0, it would return the wrong percentChange. (nextVal - prevVal) / Math.abs(prevVal) fixes this issue. - i.e. prevVal = -5, nextVal = -10 -> computeChange(-5, -10) -> computeChange(--10, --5) -> -50% but we should it expect to be -100% since it dropped by a factor of Math.abs(prevVal) * refactor PREVIOUS_VALUE options * correct and simplify computeChange further (-) -> (0) should be + increase (our end case already accounts for this behavior) * update unit tests to reflect correctness changes to computeChange * refactor for readability * refactor to use isEmpty instead of ==/!= null * refactor variable names for readability * refactor nested ternaries into function * refactor for readability * refactor variable names * re-use end of array index variable * re-word comments * refactor consumers based on return variable re-naming * add missing test cases * nit refactor * re-arrange functions for readability * truncate prevDate based on nextDate - if prevDate is same day as nextDate, remove the day, month, and year from the comparisonPeriodStr - if prevDate is same year as nextDate, remove the year from the comparisonPeriodStr * fix comment * fix test * instead of ↓ and ↑ symbols, use icon names * fix night mode hack * refactor formatDateTimeRangeWithUnit behavior - refactor how options.removeDay and options.removeYear work - reorganize the layout to make the conditional branches easier to see * fix tooltip styles * Add tests to cover new options - options.removeDay - options.removeYear * add option descriptors to test string * add support for different trend comparisons - compare to previous value - compare to previous period (minute, hour, day, ...) - compare to X previous periods ago (30 minutes, 6 hours, 3 days, ...) * refactor + add comments * only show periodsAgo comparison option if # of selectable periods ago is >= 2 * auto select all text on click in periodsAgo field input * fix bug caused by upstream date change - this caused the parser to try to parse an already existing date object when it expected a string timestamp * prevent accidental button click - Since the input field is small, when mouseDown in child and dragged across (to highlight the input text) and outside the input field, it accidentally mouseUps on the button. This causes the button to be considered clicked since the child element is within the parent element. * fix searching outside of array bounds * validate scalar.comparisons setting after any query changes * add ttag for new copy * clamp search to start of array incase rows contain missing periods * rename styled components * fix SmartScalarSettingsWidgets type errors * change default comparison to previous period (if dateUnit is supplied) - default to "compare to previous" if no dateUnit is supplied * leave "X periods ago" setting even if filtered data reduces date range of dataset * change copy for no comparable value using `compare to previous` comparison * rename comparison `compare to previous` to `previous value` * fix type errors * fix bug if dateUnit is null * fix bug and move option down * fix type error * remove comment * refactor names * fix wrong date display * add tests * add tests for "compare to previous" * fix "previous period" tests * rename COMPARE_TO_PREVIOUS to PREVIOUS_VALUE - because copy changed, lets change this const name to match it * default return null if no comparison selected * remove unused export * remove unused export on types * do not hide primary number selector * fix dateUnit null * refactor computeTrend * fix test b/c of refactor * update computeChange unit tests * refactor * improve tests * refactor tests based on functionality * fix timezones bug * reformat tests * add test cases for invalid settings * handle invalid comparison types * fix type errors and rename variables * hit "Enter" to submit periodsAgo comparison value * fix timezone bug when comparisons dates are in different time-zones - different time-zones in this case in daylight savings time - this was causing two dates to not be the same ONLY b/c there timezone offset was different * refactor tests * reorganize SmartScalar file * rename comparison option name * fix type * add unit tests for comparison option functions and comparison validation * add component tests for SmartScalar * re-organize tests * add E2E tests * use more direct variable * refactor variable names * fix translations error * fix type errors * update translation strings * fix dateTime diffing - see comment in function and tests for more info * refactor test assertions * move comparison types to metabase-types/api/visualization-settings * drop any type * update native_form type * remove todo comment * remove optionality on types * remove console.error mock - used for creating tests to sift out repetitive test errors. forgot to remove * refactor icon check * Remove CSS class targeting * relocate props type object * Remove CSS class targeting * group smartscalar settings components into their own directory * refactor component * refactor tests to use it.each * use createMockSingleSeries * use createMockVisualizationSettings * use createMockColumn * reorganize code and files * fix type * fix i18n translations * update periods ago value on blur if selected * fix type error * Trend Charts: Address Milestone 2 Feedback (#37062) * add computeTrend * fix unit test * fix e2e test * explicitly fallback to day unit if backend doesn’t provide one * fix empty data cases * rename function parameters * correct and simplify computeChange function - when prevVal < 0 and nextVal < 0, it would return the wrong percentChange. (nextVal - prevVal) / Math.abs(prevVal) fixes this issue. - i.e. prevVal = -5, nextVal = -10 -> computeChange(-5, -10) -> computeChange(--10, --5) -> -50% but we should it expect to be -100% since it dropped by a factor of Math.abs(prevVal) * refactor PREVIOUS_VALUE options * correct and simplify computeChange further (-) -> (0) should be + increase (our end case already accounts for this behavior) * update unit tests to reflect correctness changes to computeChange * refactor for readability * refactor to use isEmpty instead of ==/!= null * refactor variable names for readability * refactor nested ternaries into function * refactor for readability * refactor variable names * re-use end of array index variable * re-word comments * refactor consumers based on return variable re-naming * add missing test cases * nit refactor * re-arrange functions for readability * truncate prevDate based on nextDate - if prevDate is same day as nextDate, remove the day, month, and year from the comparisonPeriodStr - if prevDate is same year as nextDate, remove the year from the comparisonPeriodStr * fix comment * fix test * instead of ↓ and ↑ symbols, use icon names * fix night mode hack * refactor formatDateTimeRangeWithUnit behavior - refactor how options.removeDay and options.removeYear work - reorganize the layout to make the conditional branches easier to see * fix tooltip styles * Add tests to cover new options - options.removeDay - options.removeYear * add option descriptors to test string * add support for different trend comparisons - compare to previous value - compare to previous period (minute, hour, day, ...) - compare to X previous periods ago (30 minutes, 6 hours, 3 days, ...) * refactor + add comments * only show periodsAgo comparison option if # of selectable periods ago is >= 2 * auto select all text on click in periodsAgo field input * fix bug caused by upstream date change - this caused the parser to try to parse an already existing date object when it expected a string timestamp * prevent accidental button click - Since the input field is small, when mouseDown in child and dragged across (to highlight the input text) and outside the input field, it accidentally mouseUps on the button. This causes the button to be considered clicked since the child element is within the parent element. * fix searching outside of array bounds * validate scalar.comparisons setting after any query changes * add ttag for new copy * clamp search to start of array incase rows contain missing periods * rename styled components * fix SmartScalarSettingsWidgets type errors * change default comparison to previous period (if dateUnit is supplied) - default to "compare to previous" if no dateUnit is supplied * leave "X periods ago" setting even if filtered data reduces date range of dataset * change copy for no comparable value using `compare to previous` comparison * rename comparison `compare to previous` to `previous value` * fix type errors * fix bug if dateUnit is null * fix bug and move option down * fix type error * remove comment * refactor names * fix wrong date display * add tests * add tests for "compare to previous" * fix "previous period" tests * rename COMPARE_TO_PREVIOUS to PREVIOUS_VALUE - because copy changed, lets change this const name to match it * default return null if no comparison selected * remove unused export * remove unused export on types * do not hide primary number selector * fix dateUnit null * refactor computeTrend * fix test b/c of refactor * update computeChange unit tests * refactor * improve tests * refactor tests based on functionality * fix timezones bug * reformat tests * add test cases for invalid settings * handle invalid comparison types * fix type errors and rename variables * hit "Enter" to submit periodsAgo comparison value * fix timezone bug when comparisons dates are in different time-zones - different time-zones in this case in daylight savings time - this was causing two dates to not be the same ONLY b/c there timezone offset was different * refactor tests * reorganize SmartScalar file * rename comparison option name * fix type * add unit tests for comparison option functions and comparison validation * add component tests for SmartScalar * re-organize tests * add E2E tests * use more direct variable * refactor variable names * fix translations error * fix type errors * update translation strings * fix dateTime diffing - see comment in function and tests for more info * refactor test assertions * move comparison types to metabase-types/api/visualization-settings * drop any type * update native_form type * remove todo comment * remove optionality on types * remove console.error mock - used for creating tests to sift out repetitive test errors. forgot to remove * refactor icon check * Remove CSS class targeting * relocate props type object * Remove CSS class targeting * group smartscalar settings components into their own directory * refactor component * refactor tests to use it.each * use createMockSingleSeries * use createMockVisualizationSettings * use createMockColumn * reorganize code and files * fix type * fix i18n translations * update periods ago value on blur if selected * fix type error * rename types * improve types * rename function * improve button styles * rename component * remove comments * use rightIcon prop * rename style * refactor click hacks for periodsAgo menu component * refactor menu change handling - if menu is closed, submit onChange with the latest edited value. - if item is simple, submit value itself - it item is complex, set edited value state as input changes and submit value when committed * disable invalid typescript error - error is coming from using typescript 4.7.2 when .findLast was first introduced in 5.0.0 - code functions properly. IDE recognizes correct type * if selectedValue and editedValue are equal, we do not need to submit a new value * update file names to reflect component name changes * refactor type export * remove prop type covered by other type * remove unused file * remove unnecessary {} * fix broken test b/c of functionality changes * remove typescript ignore and replace with type safe function * rename handleChange to onChange * rename input validation function * Trend Charts — Add static number comparison (#36951) * Fix `MenuItemStyled` props type * Implement static number comparison * Fix `utils` unit tests * Add unit tests for `getTrend` * Add e2e test coverage * Fix type * Fix `compute` tests * Rename `SmartScalarComparisonStaticNumber` type * Replace `Flex` with `Stack` * Fix `StaticNumberForm's` `value` type * Fix options calc * Simplify block * Validate static number comparison * Remove test * Replace `Flex` with `Group` * Minor `DoneButton` tweak * Minor fix * Fix value state * Trend charts — Compact formatting viz setting (#36992) * Refactor `compactifyValue` * Add setting to `VisualizationSettings` type * Respect `compact` option in `compactifyValue` * Add viz setting * Add e2e coverage * Fix `onChange` for `StaticNumberForm` * Move compact setting to `computeTrend` * Add `formatOptions` tests for `computeTrend` * Extend e2e tests * Test formatting done by `computeTrend` * Trend charts — Compare to another column (#37087) * Add viz setting type * Implement comparison * Extract `renderMenuDropdownContent` * Align `Select` label style with other inputs * Use `column.name` * Show opt only if there're cols to choose from * Extend comparison validation check * Handle missing column * Fix type error * Add tests for `getComparisonOptions` * Extract test `describe` group * Add tests for `isComparisonValid` * Add tests for `computeTrend` * Add basic e2e test * Ensure comparison column exists in query results * Fix onChange callback * Trend charts — multiple comparisons (#37176) * Turn `scalar.comparisons` into an array * Implement adding new comparisons * Implement removing comparison * Use HTML list for comparisons * Add `id` to comparison objects * Implement sorting * Extract `ComparisonPicker` component * Trend charts — Misc fixes and polish (#37269) * Use vertical layout for `StaticNumberForm` * Update comparison picker display name * Make smart scalar utils easier to use in static viz * Fix height * Fix `Icon` import * Fix deprecated color reference * Fix deprecated color reference * Static viz path for the updated trend chart (#37418) * Returning map-based response from js-svg/isomorphic. * add common static viz code path which will be used for the trend chart * review feedback * update formatter type * Fixed detect-pulse-chart-type test response to `:javascript_visualization` for `:smartscalar` case. * Fixed TODO WRT keywordizing type value of `javascript-visualization` result. * Better clj formatting --------- Co-authored-by:
Mark Bastian <markbastian@gmail.com> * Fix merge conflict * Trend charts — Static viz (#37602) * Make `computeTrend` independent of "lib/formatting" * Refactor `getArrowColor` * Make `computeTrend` independent of "lib/colors" * Make `computeTrend` independent `formatChange` * Add `SmartScalar` placeholder * Add basic static `SmartScalar` viz * Fix `findLast` not available for static viz * Clean up `SmartScalar` * Enable PNG export * static trend settings computation * Fix `getDefaultComparison` return type * Add `VIZ_SETTINGS_DEFAULTS` const for trend charts * Add `getDefaultColumn` helper for `scalar.field` * Fix `getDefaultComparison` tests * Revert "Make `computeTrend` independent `formatChange`" This reverts commit 9ab1db5a84cbcb58ec2d044f4d6cf7ffb341f62b. * Fix `formatChange` * Remove custom `formatChange` * Add `scalar.comparisons` to `computeSmartScalarSettings` * Fix `measureText` type * Fix bad default value for `scalar.field` * Use `getColor` instead of `color` * Add stories * Visual tweaks * Add `getValue` for `scalar.comparisons` * Extend e2e test --------- Co-authored-by:
Aleksandr Lesnenko <alxnddr@gmail.com> * Fix flaky test * Hide drag handle when there's only one comparison * Update the "periods ago" control * Inform people when "periodsAgo" value is clamped --------- Co-authored-by:
shaun <shaun@metabase.com> Co-authored-by:
Jesse Devaney <22608765+JesseSDevaney@users.noreply.github.com> Co-authored-by:
Aleksandr Lesnenko <alxnddr@users.noreply.github.com> Co-authored-by:
Mark Bastian <markbastian@gmail.com> Co-authored-by:
Aleksandr Lesnenko <alxnddr@gmail.com>
-
- Jan 15, 2024
-
-
Mahatthana (Kelvin) Nomsawadi authored
* Add show metabase links toggle admin setting * Hide Metabase links * Fix type error * Add selector tests * Hide a link in HomeHelpCard * Make test names more consistent with existing test suites * Add tests to `NewModelOptions` * Prepare `VisualizationError` for testing * Add tests to `VisualizationError` * Hide link and add tests to `PreviewQueryModal` * Extract components to make it easier to test * Move the new component into its own folder * Hide Metabase link in `ActionDashcardSettings` * Prepare `EmptyFormPlaceholder` for testing * Hide Metabase link in `EmptyFormPlaceholder` * Extract Metabase link from `FormCreator` for testing * Hide Metabase link in `FormCreator` * Extract link from `DashCardCardParameterMapper` to prepare for testing * Hide Metabase link in `DashCardParameterMapper` * Clean up the test setup function * Hide Metabase link in `ExpressionEditorHelpText` * Hide Metabase link in `TagEditorHelp` * Hide Metabase links in `MetricList` * Hide Metabase link in `SegmentList` * Prepare `CaveatMessage` for testing * Hide Metabase link in `CaveatMessage` * Hide Metabase link in `CustomMapFooter` * Hide Metabase link in `ImpossibleToCreateModelModal` * Hide Metabase link in `ExpressionWidget` * Hide Metabase link in `ExpressionWidget` * Add BE tests * Update sample database description * Fix TypeScript type-check * Fix failed unit tests * Fix wrong test names * Add missing translations * Make tests looks like tests from other components * Update enterprise/frontend/src/metabase-enterprise/whitelabel/components/MetabaseLinksToggleWidget/MetabaseLinksToggleWidget.tsx Co-authored-by:
Nicolò Pretto <info@npretto.com> * Simplify the change * Fix weird import directory * Fix wrapped translation copy * Fix test name * Move comment next to the component * Fix test names * Review: Make code easier to review * Fix wrong document link * Update src/metabase/public_settings.clj Co-authored-by:
Noah Moss <32746338+noahmoss@users.noreply.github.com> * Update src/metabase/public_settings.clj Co-authored-by:
Noah Moss <32746338+noahmoss@users.noreply.github.com> * Address review: BE changes --------- Co-authored-by:
Nicolò Pretto <info@npretto.com> Co-authored-by:
Noah Moss <32746338+noahmoss@users.noreply.github.com>
-
- Jan 09, 2024
-
-
Ngoc Khuat authored
-
- Jan 03, 2024
-
-
Ngoc Khuat authored
-
Ngoc Khuat authored
-
- Dec 24, 2023
-
-
Ngoc Khuat authored
-
- Dec 22, 2023
-
-
John Swanson authored
This required a bit of modification of the DB. First, I had named the column meant to hold the ID of the user who last updated an API key as `updated_by`. But it seemed like `updated_by` was the natural field to hold the user name that FE wanted, and I didn't want to clobber an existing field with `hydrate`. So, I renamed the existing column to `updated_by_id` and used `updated_by` to hold the hydrated user that updated the ApiKey. Second, for consistency, I renamed `created_by` to `creator_id`. The logic for presenting an ApiKey was getting a bit complicated and spread out over many different endpoints, so I pulled it out into its own function that's called from almost every endpoint defined in the `metabase.api.api-key` namespace. Note that it calls `(t2/hydrate api-key :updated_by :group_name)` - but I verified that this will not result in additional DB calls if the model was already hydrated.
-
- Dec 20, 2023
-
-
Noah Moss authored
Co-authored-by:
metamben <103100869+metamben@users.noreply.github.com>
-
Oisin Coveney authored
Co-authored-by:
Mahatthana (Kelvin) Nomsawadi <me@bboykelvin.dev>
-
Ngoc Khuat authored
-
- Dec 19, 2023
-
-
John Swanson authored
This creates a new endpoint, `POST /api/api-key` that takes two arguments, a `group_id` and a `name`, and creates an API key (along with a special API key user). I also went ahead and threw in the `api-key/count` endpoint here since it's so small.
-
- Dec 15, 2023
-
-
adam-james authored
* Migrate PulseCards include_csv = true when the card has :display table Why? This is so that we can eliminate the behaviour of csv attachments being included in emails even when a user doesn't have them seleted in the dashboard subscription pane. This is confusing behaviour and undesirable in many cases. The likely better behaviour is that attachments for any card are only included if explicitly asked for by a user. But, in order to change the app to behave this way, we should first migrate things so that any user who relies on this old behavior will still see the attachments they have come to expect. This PR is still draft and some things must happen still: - [ ] the migration is incomplete! At the moment, this will include .csv attachments even for tables with n-rows < 10. This migration would cause users to see more .csv attachments than before. So, the migration should only set include_csv = true when the row count of the results is greater than 10. - [ ] the migration # is NOT claimed in the slack channel yet. This should be claimed as soon as the migration approach is reviewed to work and an appropriate issue for this change is linked. * Use the proper migration # which is now claimed appropriately * Change SQL to work with H2 * Attachment message logic depends on include_csv/xls values now Also lift the attachment message inclusion up a level so that it can be applied to all card types, not just tables. * Fix a failing test * Change copy for when attachments are included Also change a test to explicitly include csv (since now that's the only way csvs will be attached). * Fix test
-
- Dec 13, 2023
-
-
John Swanson authored
* Part 1: Add `core_user.type` With the addition of API keys and "api key users", we want to add a `type` field to users to easily distinguish between "regular" users and API key users. The one non-standard user we have right now is the "internal" Metabase user. We don't actually need this field for that one (because we fix that user's ID to `13371338`), but we might as well set the `type` correctly anyway. * Part 2: API Key table Create an API Key table to contain, uh, API keys. The table has the following fields: - id - user_id (the associated API key user, who this API key "acts as") - key (the hash of the API key itself) - key_prefix (the first 7 digits of the *raw* API key, beginning with `mb_XXXX`) - created_by (the user that created the API key) - created_at - updated_at * Part 3: Set the type of the internal user The internal user is actually identified by the ID, but we might as well set the type correctly. Finally: don't condition view recompilation on is-prod? since Cypress actually runs the backend in prod mode --------- Co-authored-by:
Noah Moss <noahbmoss@gmail.com>
-
- Dec 12, 2023
-
-
Ngoc Khuat authored
-
- Dec 11, 2023
-
-
Luiz Arakaki authored
-
Ngoc Khuat authored
-
Ryan Laurie authored
-
- Dec 08, 2023
-
-
Cam Saul authored
Use `sorted-set` for `locales.clj` so order doesn't change every time we add a new language (#36617)
-
Luiz Arakaki authored
-
- Dec 06, 2023
-
-
Noah Moss authored
-
- Dec 05, 2023
-
-
Alexander Solovyov authored
resolves #36365
-
- Dec 04, 2023
-
-
Alexander Solovyov authored
-
- Nov 27, 2023
-
-
Noah Moss authored
Co-authored-by:
Noah Moss <noahbmoss@gmail.com> Co-authored-by:
Ryan Laurie <iethree@gmail.com> Co-authored-by:
Noah Moss <32746338+noahmoss@users.noreply.github.com> Co-authored-by:
Luiz Arakaki <luiz.arakaki@metabase.com>
-
-
Luiz Arakaki authored
* update yamls for latest change on key order * bring custom reports back * add Metabase Analytics instance type * add new view v_tasks, iterate content adding links * add v_tasks to permissions * fix double precision types for h2 and mysql * add type to instance analytics col * add mysql rollback * fix paths in migration * handle dynamic tab ids * update yamls click behavior * add namespace=analytics to audit collection * add type to collection --------- Co-authored-by:
Noah Moss <noahbmoss@gmail.com> Co-authored-by:
Ryan Laurie <iethree@gmail.com> Co-authored-by:
Noah Moss <32746338+noahmoss@users.noreply.github.com>
-