Skip to content
Snippets Groups Projects
This project is mirrored from https://github.com/metabase/metabase. Pull mirroring updated .
  1. Jun 05, 2023
  2. Jun 02, 2023
  3. May 30, 2023
    • bryan's avatar
      Add type column to collections + hydrate dashboards and cards with it (#30994) · 5b64eafb
      bryan authored
      * add migration for typed collections
      
      * add hydration of collections to card+dashboard api
      
      - adds it for:
        - GET /api/question/:id
        - GET /api/dashboard/:id
      
      * fix test that checks for collection shape
      
      * get tests working with hydrated collection
      
      * typo fixes
      
      * fix more tests
      
      - PUT requests don't hydrate :collection
      
      * update tests to fix param_values {} vs nil inconsistencies
      Unverified
      5b64eafb
  4. May 26, 2023
    • Denis Berezin's avatar
      [Epic PR] Make drill-through chiller (#26836) (#30273) · 45dcf573
      Denis Berezin authored
      * Update underlying records drill - bring to top, label changes (#29984)
      
      * Zoom in Drill (#30208)
      
      * Add updated zoom drill title
      
      * Fix e2e tests
      
      * Add title unit tests
      
      * Fix for Records drill UI when it is the only one displayed
      
      * Review fixes
      
      * Add pivot drill common popover (#30275)
      
      * Add grouping for Pivot drill options
      
      * Reuse filterField type
      
      * Fix date formatting after rebase
      
      * Move Automatic insight action to a common popover (#30370)
      
      * Refactor ChartClickActionsView, reuse it component in drills (#30706)
      
      * 26836 separate views for quick cell click filters (#30532)
      
      * Added separate views for QuickFilterDrill
      
      * Add tests, fix styles issues
      
      * 26836 contains/does not contain quick filter for tables (#30778)
      
      * Add contains/does not contain quick filter for tables
      
      * Self review fixes
      
      * Fix for column header filter search options cropped
      
      * Fix for icon margin difference for contains / does not contain filters
      
      * Fix contains filter actions icon styles
      
      * Add quick filters support for aggregated queries
      
      * Not show contains filter for joined fields
      
      * Fix typecheck
      
      * Adjust string field quick filter section title to have column name (#30888)
      
      * 26836 Add View details action for quick filters (#30967)
      
      * Add View details action to quick filters
      
      * Self review fixes
      
      * Fix e2e tests
      
      * Fix review issues
      Unverified
      45dcf573
  5. May 24, 2023
    • Ryan Laurie's avatar
      Indexed Entities (#30487) · 7f51f3c9
      Ryan Laurie authored
      * indexed entities schema
      
      * schema
      
      * endpoint with create and delete
      
      * hooked up tasks
      
      * first tests and hooking it all together
      
      * some e2e tests
      
      * search
      
      * search
      
      had to rename value -> name. The search stuff works well for stuff that
      looks the same. And previously was renaming `:value` to name in the
      search result, but it uses the searchable-columns-for-model for which
      values to score on and wasn't finding :value. So easier to just let name
      flow through.
      
      * include model_pk in results
      
      * send pk back as id, include pk_ref
      
      * rename fk constraint (had copied it)
      
      * populate indexed values with name not value
      
      * GET http://localhost:3000/api/model_index?model_id=135
      
      * populate indexed values on post
      
      done here for ease of demo. followup work will schedule the task
      immediately, but for now, do it on thread and return info
      
      * test search results
      
      * fix t2 delete syntax on h2
      
      * fix h2
      
      * tests work on h2 and postgres app dbs
      
      * ...
      Unverified
      7f51f3c9
    • Cal Herries's avatar
      Fix column settings being duplicated when fields have the same `id-or-name`,... · b0c4d992
      Cal Herries authored
      Fix column settings being duplicated when fields have the same `id-or-name`, but different `join-alias` (#27487)
      
      Unverified
      b0c4d992
  6. May 22, 2023
  7. May 18, 2023
  8. May 16, 2023
  9. May 12, 2023
    • bryan's avatar
      Add app db as audit db on app startup (#30305) · 11c1bbaf
      bryan authored
      * add column for marking the audit database
      
      * create audit db on app startup
      
      On app startup, in enterprise mode, always check that there is an
      up-to-date audit database with is_audit set to true. up-to-date means
      that it matches the app-db. If the audit db doesnt exist, or doesn't match up with
      the app-db, it will be created. otherwise no-op
      
      - refactor GET /api/database/ into defendpoint
      
      * add a few tests
      
      * add more tests + return kw for no-op
      
      * Merge branch 'master' into bcm-add-app-db-as-audit-db
      
      * fix migrations file
      
      * lint fix + remove def
      
      * keep the old audit db around
      
      - nil -> ::no-op
      
      * small macro fix
      
      * Merge branch 'master' into bcm-add-app-db-as-audit-db
      
      * Merge branch 'master' into bcm-add-app-db-as-audit-db
      
      * move ensure-db-exists! into its own namespace
      
      - avoids circlar dependency on app startup
      
      * fix tests
      
      * lint fix
      
      * inspect test values
      
      * use mdb.env/env to initialize audit db
      
      * try returning the app-db connection pool
      
      - instead of making a doppelganger in metabase database
      
      * get the is_audit column when looking up dbs in qp
      
      - this key is needed to return the appdb for the "Audit DB"'s connection
      
      * clean up audit-db install/update/noop logic
      
      * remove audit db from GET api/database/
      
      * Merge branch 'master' of github.com:metabase/metabase into bcm-add-app-db-as-audit-db
      
      * fix linter + inline extra function
      
      * fix a test
      
      * Merge branch 'master' into bcm-add-app-db-as-audit-db
      
      * don't test actions on audit db :cry:
      
      * Revert "don't test actions on audit db :cry:"
      
      This reverts commit 581ed1ab9495de7b46bccb8b1ab19f66a8fd106d.
      
      * for tests to work low IDs are basically reserved
      
      - use a higher id when installing audit db
      
      * use defenterprise for ensure-audit-db-installed!
      
      * Merge branch 'master' into bcm-add-app-db-as-audit-db
      Unverified
      11c1bbaf
    • Ngoc Khuat's avatar
      [Feature] Dashboard Tab basic functionality (#30177) · d617aecf
      Ngoc Khuat authored
      
      * Dashboard Tab entity (#29802)
      
      * add dashboard tab entity
      
      * Dashboard tabs CRUD (#29861)
      
      * Dashboard tabs frontend (#30189)
      
      * rename `DashboardHeader.tsx` to `DashboardHeaderView` to avoid collision with `DashboardHeader.jsx`
      
      commit-id:7cdfd86a
      
      * add tabs to dash
      
      commit-id:d3c2fa74
      
      * improve code structure and other fixes
      
      * rename `dashboardtab_id` to `dashboard_tab_id`
      
      * remove explicit `position` logic
      
      * improve code quality
      
      * add renaming functionality
      
      * add two new tabs when creating first tab
      
      * hide tabs if there is only one
      
      * add unit test for `DashboardTabs` component
      
      * refactor
      
      * fix type errors
      
      * add `tabId` to text cards
      
      * add `tabId` to link cards
      
      * add `tabId` to action button
      
      * use disabled state when only one tab remains
      
      * refetch cards with filter value when changing tabs
      
      * add e2e test
      
      * fix broken e2e tests
      
      * add horizontal scrolling
      
      * fix unit test
      
      * fix create tab button being on right
      
      * fix performance issue when switching tabs
      
      * add `ttag` to `tabs.ts`
      
      * use `aria-label` in e2e test helper
      
      * fix type error after rebasing
      
      * making ordered_tabs optional for tests purposes
      
      * fix failing unit tests
      
      * fix failing e2e tests
      
      * fix flaky revision history e2e test
      
      * fix type error after merging feature branch with master and rebasing
      
      * fix revisions unit test
      
      * fix `ActionParmatersInputsForm.tsx` to stop `actions-on-dashboards.cy.spec.js` from flaking
      
      ---------
      
      Co-authored-by: default avatarNgoc Khuat <qn.khuat@gmail.com>
      
      ---------
      
      Co-authored-by: default avatarEmmad Usmani <emmadusmani@berkeley.edu>
      Unverified
      d617aecf
  10. May 02, 2023
    • Cal Herries's avatar
      Migrate field refs in visualization_settings.column_settings from legacy format (#30460) · 74b56884
      Cal Herries authored
      * Create a migration for updating column_settings
      
      * Make fn private
      
      * Update test description
      
      * Fix clj-kondo
      
      * Migrate the entire vizualization_settings
      
      * Add test for normalization and migration
      
      * Update migration class name
      
      * Use generate-string to improve key readability
      
      * Add testing strings
      
      * Fix migration
      
      * transduce
      
      * Add another test checking that `expected` is actually the up-to-date version
      
      * Rework migration to only update field refs
      
      * Use run!
      Unverified
      74b56884
  11. Apr 26, 2023
    • Tim Macdonald's avatar
      Upload CSVs (#30256) · a06e640e
      Tim Macdonald authored
      
      * allow formData uploads
      
      * basic CSV uploads from collections
      
      * add dropzone support for collections
      
      * Add CSV uploads feature and have postgres and H2 support it (#29636)
      
      * Add csv uploads feature and have postgres support it
      
      * Add h2 support
      
      * CSV: schema detection (#29650)
      
      * CSV / Admin Upload Settings (#29709)
      
      * allow formData uploads
      
      * basic CSV uploads from collections
      
      * add dropzone support for collections
      
      * allow formData uploads
      
      * basic CSV uploads from collections
      
      * add dropzone support for collections
      
      * Add CSV uploads feature and have postgres and H2 support it (#29636)
      
      * Add csv uploads feature and have postgres support it
      
      * Add h2 support
      
      * Add defsettings
      
      * Add table prefix setting
      
      * add data upload settings
      
      * Add newline
      
      * update settings mock
      
      * Whether or not uploads are enabled
      
      ---------
      
      Co-authored-by: default avatarCal Herries <39073188+calherries@users.noreply.github.com>
      Co-authored-by: default avatarCallum Herries <hi@callumherries.com>
      
      * Create table and insert rows from CSV uploads for postgres (#29677)
      
      * WIP create table and insert rows
      
      * Add newline
      
      * Use multimethods
      
      * WIP
      
      * Fix postgres
      
      * Fix postgres impl
      
      * Use detect-schema and add test
      
      * Fix load-from-csv arglists
      
      * Undo whitespace change
      
      * Use empty db instead
      
      * Add table and field tests
      
      * Remove prn
      
      * Uniquify names
      
      * newline
      
      * Add test for float
      
      * Add a test for the table contents
      
      * Tidy load-from-csv
      
      * Drop the table if loading the csv fails
      
      * Drop the table only if loading the csv fails
      
      * whitespace
      
      * Address SQL injection vulnerability
      
      * Use the slugified file-name as the table-name
      
      * Fix kondo
      
      * Using absolute path instead of relative
      
      * Fix kondo
      
      * Detect types for empty CSV files appropriately (#29754)
      
      * Create models from CSV uploads (#29966)
      
      * Wire up CSV uploads, sync the new table
      
      Still need to create a model
      
      * Check database support for CSV uploads better
      
      * Another test
      
      * Create model after sync
      
      * Fix request with formData
      
      * Fix tests
      
      * Fix tests
      
      * Revert "Fix request with formData"
      
      This reverts commit 66f146a41cf42feb34dbb03ed8566fa4220d0642.
      
      * Add whitespace
      
      ---------
      
      Co-authored-by: default avatarTim Macdonald <tim@tsmacdonald.com>
      
      * Fix postgres support for uploads (#29922)
      
      * Check write perms for collection (#29976)
      
      * Rename metabase.csv -> metabase.upload (#29975)
      
      * Rename metabase.csv -> metabase.upload
      
      * Add docstring
      
      * Rename alias for release.common.upload
      
      ---------
      
      Co-authored-by: default avatarCallum Herries <hi@callumherries.com>
      
      * WIP - 29598 csv status toast (#29757)
      
      * temp
      
      * generalize StatusListing types
      
      * Putting a pin in this for now
      
      * poorly done typing
      
      * generalizing upload function names
      
      * point to real API
      
      * Fixing Storybook
      
      * Permissions for Status Listing
      
      * use formdata and fix types
      
      ---------
      
      Co-authored-by: default avatarRyan Laurie <iethree@gmail.com>
      
      * Don't support redshift (#29981)
      
      * Handle uploads to the root collection (#29985)
      
      * Allow the uploads schema to be nil (for MySQL, etc.) (#29987)
      
      * CSV upload: fix stack overflow in detect-schema (#29983)
      
      * Fix stack overflow error on detect schema
      
      * map + vec -> mapv
      
      ---------
      
      Co-authored-by: default avatarTim Macdonald <tim@metabase.com>
      
      * reload collection data after upload (#30009)
      
      * MySQL support for uploads (#29829)
      
      * Add MySQL support for uploads
      
      * Rename arg to upload-type
      
      * Use new ns name
      
      * Allow no table-name prefix to be specified and fix tests
      
      ---------
      
      Co-authored-by: default avatarTim Macdonald <tim@tsmacdonald.com>
      
      * Fix setting descriptions (#30023)
      
      * Batch CSV insertion for better performance (#30028)
      
      * CSV upload e2e tests (#30005)
      
      * add CSV upload e2e tests
      
      * update tests
      
      * H2 support for uploads (#29828)
      
      * Add uploads support for H2
      
      * Rename arg
      
      * whitespace
      
      * Use new metabase.upload ns name
      
      * Fix tests for H2
      
      * Make table and field matching case insensitive
      
      * Fix kondo error
      
      ---------
      
      Co-authored-by: default avatarTim Macdonald <tim@tsmacdonald.com>
      
      * Clear CSV upload state after a while (#30014)
      
      * clear upload status after 5s
      
      * make async behavior clearer
      
      * CSV Upload Dates and Datetimes Types (#30076)
      
      * Simple dates
      
      * Simple datetimes
      
      * Fix coalesce for date and datetime
      
      * Add mysql and h2 types
      
      * Fix test
      
      * Misc cleanup
      
      * Fix test
      
      ---------
      
      Co-authored-by: default avatarTim Macdonald <tim@tsmacdonald.com>
      
      * Fix Kondo (rebase gone wrong)
      
      * MySQL test fix
      
      * Fix order of Metabot setting
      
      * adding unit tests to upload actions and reducers (#30161)
      
      * adding unit tests to upload actions and reducers
      
      * use fetch-mock
      
      * Adding component unit test
      
      * Check CSV Upload permissions on the frontend (#30094)
      
      * CSV / Admin Upload Settings (#29709)
      
      * allow formData uploads
      
      * basic CSV uploads from collections
      
      * add dropzone support for collections
      
      * allow formData uploads
      
      * basic CSV uploads from collections
      
      * add dropzone support for collections
      
      * Add CSV uploads feature and have postgres and H2 support it (#29636)
      
      * Add csv uploads feature and have postgres support it
      
      * Add h2 support
      
      * Add defsettings
      
      * Add table prefix setting
      
      * add data upload settings
      
      * Add newline
      
      * update settings mock
      
      * Whether or not uploads are enabled
      
      ---------
      
      Co-authored-by: default avatarCal Herries <39073188+calherries@users.noreply.github.com>
      Co-authored-by: default avatarCallum Herries <hi@callumherries.com>
      
      * properly check if user can upload to a collection
      
      * do some db checking
      
      * don't check admin status for upload notification
      
      * misc cleanup
      
      * fix rebase
      
      * add loggedin check to statusListing
      
      also combines container + view component into a single file
      
      * update unit tests
      
      * update tests
      
      ---------
      
      Co-authored-by: default avatarCal Herries <39073188+calherries@users.noreply.github.com>
      Co-authored-by: default avatarCallum Herries <hi@callumherries.com>
      
      * Csv/misc bugfixes (#30219)
      
      * Support empty header names
      
      * Handle long CSV names more appropriately
      
      Handle duplicate column names in CSVs
      
      * Test fix
      
      * Partition CSV inserts a little more intelligently
      
      * Test fix
      
      * Remove 'duplicate' from duplicated column names
      
      * More intelligent sampling
      
      * Add comment re. Postgres table-name-length-limit
      
      * Quote column names, clean up tests
      
      When unquoted, we couldn't use reserved words (true, false, group, etc.)
      as column names
      
      * Fix test
      
      Now that we quote things, H2 is case-sensitive
      
      * Use dialect-appropriate quoting
      
      Also clean up some card-filtering tests so they work with a dirty DB
      
      * Fix deduplication
      
      * Remove use of setting/get
      
      * Remove unneeded migration
      
      ---------
      
      Co-authored-by: default avatarCallum Herries <hi@callumherries.com>
      
      * Fix test (#30383)
      
      ---------
      
      Co-authored-by: default avatarRyan Laurie <iethree@gmail.com>
      Co-authored-by: default avatarCal Herries <39073188+calherries@users.noreply.github.com>
      Co-authored-by: default avatarRyan Laurie <30528226+iethree@users.noreply.github.com>
      Co-authored-by: default avatarCallum Herries <hi@callumherries.com>
      Co-authored-by: default avatarNick Fitzpatrick <nick@metabase.com>
      Unverified
      a06e640e
  12. Apr 24, 2023
    • Jerry Huang's avatar
      Replace user google_auth and ldap_auth columns with sso_source values (#30169) · 188125ec
      Jerry Huang authored
      * initial changes
      
      * fix test
      
      * add ldap
      
      * fix tests
      
      * update migrations
      
      * swap
      
      * swap ldap
      
      * fix test
      
      * update test
      
      * fix test
      
      * fix test
      
      * address comments
      
      * update
      Unverified
      188125ec
    • Cal Herries's avatar
      Toggle JSON unfolding by field (again) (#29751) · da930dfa
      Cal Herries authored
      
      * Use type/JSON instead of type/SerializedJSON
      
      * Tidy migration
      
      * Update migration
      
      * Fix rollback migration for h2
      
      * whitespace
      
      * Add test for migration
      
      * Fix test
      
      * Add rollback
      
      * whitespace
      
      * Test JSONB type as well as JSON
      
      * Don't fingerprint JSON columns
      
      * Remove comment, that might be wrong in the future
      
      * Update test
      
      * Add tests for fingerprinting
      
      * Use base-type JSON for fingerprinting base query
      
      * Add test for visibility-type=details-only
      
      * undo .
      
      * Change migration id
      
      * Fix migration test
      
      * Merge master
      
      * Exclude mariadb from tests
      
      * Make is-mariadb? public
      
      * Migration for adding nfc_enabled
      
      * Add nfc_enabled to field settings
      
      * Update describe-nested-field-columns to only unfold fields that have not been disabled
      
      * Remove spy
      
      * Tidy
      
      * Fix
      
      * Clear nested fields immediately if folding is disabled
      
      * Clear nested fields on nfc_enabled change
      
      * Trim trailing whitespace
      
      * Tidy
      
      * Fix
      
      * Add enable-json-unfolding-test
      
      * Move to field api test
      
      * nfc_enabled -> json_unfolding
      
      * Tidy test
      
      * Make json-unfolding in database details just the default for new settings
      
      * Restore original visibility-type logic
      
      * Fix
      
      * Sync field json_unfolding according to db json_folding
      
      * Rename to json-unfolding-default
      
      * Add test for the case when the json-unfolding is false for the database
      
      * Implement default json unfolding for first sync
      
      * Update comment
      
      * Update comment
      
      * Restore PUT field
      
      * Migration for populating json_unfolding for mysql and postgres
      
      * Remove migration and use default on the frontend instead
      
      * Update json-unfolding database setting copy
      
      * Move Unfold JSON setting under semantic type setting
      
      * Separate sentences with spaces
      
      * Capitalize
      
      * Restore handleChangeSemanticType
      
      * Use base_type TYPE.JSON instead
      
      * Change order of migrations
      
      * Add h2 migration
      
      * Add test for migration
      
      * Update test description
      
      * Remove validCheckSum
      
      Co-authored-by: default avatarNgoc Khuat <qn.khuat@gmail.com>
      
      * Use ?? instead of ||
      
      * Fix tests
      
      * Remove outdated serdes stuff
      
      * Remove unnecessary and
      
      * Fix mysql migration
      
      * Remove unused require
      
      * Fix test
      
      * Add false default value for json_unfolding
      
      * Fix json-unfolding nil case
      
      * Other suggestions
      
      * whitespace
      
      * Tidy describe-nested-field-columns
      
      * Update comment
      
      * Remove unused clear-nested-fields!
      
      * Remove unused return value
      
      * Fix H2 migration to use base_type not database_type
      
      * Always set json-unfolding during sync
      
      * Fix test
      
      * Fix test
      
      * Fix test
      
      * Add comment explaining nested-field-column support for MySQL
      
      * Fix tests
      
      * Fix tests
      
      * Fix test
      
      * Fix test
      
      * Default json_unfolding to false for new fields
      
      * Fix merge
      
      * Add json_unfolding to mock tables
      
      * Don't capitalize prepositions
      
      * Update setting description
      
      * whitespace
      
      * whitespace
      
      * Fix fetch_metadata
      
      * Fix fetch_metadata
      
      * Fix tests
      
      * Fix test
      
      * Fix clj-kondo
      
      * Remove postgres database-supports test
      
      * Fix postgres test
      
      * Fix postgres test
      
      * Fix mysql migration
      
      * Fix clj-kondo
      
      * Don't test mariadb
      
      * Fix mysql test
      
      * Fix mysql json-unfolding nil case
      
      * Add comments to test
      
      * Add upterm step to mariadb test
      
      * Move upterm step before tests
      
      * Fix postgresql migration
      
      * move upterm step to test-driver action
      
      * Remove upterm step from drivers.yml
      
      * Comment out everything else in test-driver
      
      * Fix mariadb migration
      
      * Remove upterm action
      
      * Whitespace
      
      * Only handle JSONObjects with JSON_VALUE, not JSONArray
      
      * Fix fields.sync_metadata/update-field-metadata-if-needed!
      
      * Add comment explaining `json-unfolding-default`
      
      * Add comment for JSON_VALUE test
      
      * Update json-unfolding-default-true-test to use fresh db
      
      * Fix test descriptions
      
      * Don't capitalize setting display name
      
      * Fix update json_unfolding
      
      * Fix unfolding json for only one JSON column, not all
      
      * Add e2e test for JSON unfolding setting
      
      * Fix test
      
      * whitespace
      
      * Fix test
      
      * Fix json-unfolding for nested field columns
      
      * Fix mysql and postgres tests for nested field columns
      
      * Coerce nil json-unfolding to false for sync_metadata
      
      * Add test for nil json-unfolding for sync_metadata
      
      * Fix test
      
      * Don't update json_unfolding from intial sync
      
      * Add json_unfolding to update-field-test
      
      * Fix tests
      
      * Use cypress-testing-library commands
      
      * Fix e2e test
      
      * Fix e2e test
      
      * Add json-simple to deps
      
      * Update uberjar.yml
      
      * import org.json.simple
      
      * Replace SQL migrations and H2 UDF with a clojure migration
      
      * Remove json-simple from deps
      
      * Restore uberjar.yml
      
      * Rename to set-json-unfolding!
      
      * Make the DB JSON unfolding setting override the field setting, instead of being a default.
      
      * Remove unused var
      
      * Fix error
      
      * Remove custom clojure migration
      
      * Fix migration
      
      * Fix migration again
      
      * Fix migration and kondo
      
      ---------
      
      Co-authored-by: default avatarNgoc Khuat <qn.khuat@gmail.com>
      Unverified
      da930dfa
  13. Apr 21, 2023
    • Mahatthana (Kelvin) Nomsawadi's avatar
      Milestone 1 of [Epic] Prevent auto-apply filters in slow dashboards (#30232) · c9d14f63
      Mahatthana (Kelvin) Nomsawadi authored
      
      * Backend for allow disabling auto-apply filters in slow dashboards (#30069)
      
      * Dumb BE change before proper BE code is implemented
      
      * Add some backend tests for auto_apply_filters
      
      - included in revisions
      - included in serdes
      
      fixup some tests that didn't expect it
      
      * Fix BE for public dashboards
      
      ---------
      
      Co-authored-by: default avatardan sutton <dan@dpsutton.com>
      
      * Prevent auto apply filters on slow dashboards (#29569)
      
      * Able to toggle auto-apply dashboard filters
      
      Make FormField be able to show title with new style
      
      * Only apply filters when clicking apply button
      
      * Add E2E test
      
      * Fix dashboard double fetch cards onload with parameters query
      
      * Remove puzzle driven development comments
      
      * Move logic from HoC to redux 1/x
      
      * Make apply filter button works on embeddings
      
      * Fix x-ray dashboard parameters not working
      
      * Fix unit tests
      
      * Add E2E tests to public dashboard sharing
      
      * Add signed embedding E2E tests
      
      * Fix the apply button transition not working when clicked
      
      Since there's another CSS applied when the button is hovered.
      
      * Reviews: Fix x-ray dashboard actions
      
      Remove the need of 3-states boolean in `setParameterValue` action for
      x-ray dashboards. This fixes so that BE sends x-ray dashboards with
      `auto_apply_filters: true`.
      
      * Review: remove duplicate `aria-label`
      
      * Review: standadize `draftParameterValues` default values
      
      * Review: Fix `aria-label` to not change when filter values change
      
      * Review: avoid passing `ReactNode` as a prop
      
      Also fix transition not working and apply button shift when adding a
      filter.
      
      * Move selectors and actions to their own file
      
      * Review: Don't animate (un)mount of FilterApplyButton
      
      * Address: Clean up eslint ignore on tests
      
      * Review: Only test 1 scenario in E2E
      
      Since testing other scenarios are unnecessary since they're repeat the
      same thing
      
      * Review: Use E2E helper to clean up test
      
      * Review: Reuse selector
      
      * Review: Use e2e helpers to clean up the test
      
      * Fix typo
      
      * Ensure Apply button won't appear unnecessarily (#30255)
      
      ---------
      
      Co-authored-by: default avatardan sutton <dan@dpsutton.com>
      Unverified
      c9d14f63
  14. Apr 12, 2023
  15. Apr 10, 2023
  16. Apr 05, 2023
  17. Mar 31, 2023
    • Nemanja Glumac's avatar
      Revert "Toggle JSON unfolding by field (#28742)" (#29720) · b92aaea1
      Nemanja Glumac authored
      This reverts commit 25a1b259.
      Unverified
      b92aaea1
    • Cal Herries's avatar
      Toggle JSON unfolding by field (#28742) · 25a1b259
      Cal Herries authored
      
      * Use type/JSON instead of type/SerializedJSON
      
      * Tidy migration
      
      * Update migration
      
      * Fix rollback migration for h2
      
      * whitespace
      
      * Add test for migration
      
      * Fix test
      
      * Add rollback
      
      * whitespace
      
      * Test JSONB type as well as JSON
      
      * Don't fingerprint JSON columns
      
      * Remove comment, that might be wrong in the future
      
      * Update test
      
      * Add tests for fingerprinting
      
      * Use base-type JSON for fingerprinting base query
      
      * Add test for visibility-type=details-only
      
      * undo .
      
      * Change migration id
      
      * Fix migration test
      
      * Merge master
      
      * Exclude mariadb from tests
      
      * Make is-mariadb? public
      
      * Migration for adding nfc_enabled
      
      * Add nfc_enabled to field settings
      
      * Update describe-nested-field-columns to only unfold fields that have not been disabled
      
      * Remove spy
      
      * Tidy
      
      * Fix
      
      * Clear nested fields immediately if folding is disabled
      
      * Clear nested fields on nfc_enabled change
      
      * Trim trailing whitespace
      
      * Tidy
      
      * Fix
      
      * Add enable-json-unfolding-test
      
      * Move to field api test
      
      * nfc_enabled -> json_unfolding
      
      * Tidy test
      
      * Make json-unfolding in database details just the default for new settings
      
      * Restore original visibility-type logic
      
      * Fix
      
      * Sync field json_unfolding according to db json_folding
      
      * Rename to json-unfolding-default
      
      * Add test for the case when the json-unfolding is false for the database
      
      * Implement default json unfolding for first sync
      
      * Update comment
      
      * Update comment
      
      * Restore PUT field
      
      * Migration for populating json_unfolding for mysql and postgres
      
      * Remove migration and use default on the frontend instead
      
      * Update json-unfolding database setting copy
      
      * Move Unfold JSON setting under semantic type setting
      
      * Separate sentences with spaces
      
      * Capitalize
      
      * Restore handleChangeSemanticType
      
      * Use base_type TYPE.JSON instead
      
      * Change order of migrations
      
      * Add h2 migration
      
      * Add test for migration
      
      * Update test description
      
      * Remove validCheckSum
      
      Co-authored-by: default avatarNgoc Khuat <qn.khuat@gmail.com>
      
      * Use ?? instead of ||
      
      * Fix tests
      
      * Remove outdated serdes stuff
      
      * Remove unnecessary and
      
      * Fix mysql migration
      
      * Remove unused require
      
      * Fix test
      
      * Add false default value for json_unfolding
      
      * Fix json-unfolding nil case
      
      * Other suggestions
      
      * whitespace
      
      * Tidy describe-nested-field-columns
      
      * Update comment
      
      * Remove unused clear-nested-fields!
      
      * Remove unused return value
      
      * Fix H2 migration to use base_type not database_type
      
      * Always set json-unfolding during sync
      
      * Fix test
      
      * Fix test
      
      * Fix test
      
      * Add comment explaining nested-field-column support for MySQL
      
      * Fix tests
      
      * Fix tests
      
      * Fix test
      
      * Fix test
      
      * Default json_unfolding to false for new fields
      
      * Fix merge
      
      * Add json_unfolding to mock tables
      
      * Don't capitalize prepositions
      
      * Update setting description
      
      * whitespace
      
      * whitespace
      
      * Fix fetch_metadata
      
      * Fix fetch_metadata
      
      * Fix tests
      
      * Fix test
      
      * Fix clj-kondo
      
      * Remove postgres database-supports test
      
      * Fix postgres test
      
      * Fix postgres test
      
      * Fix mysql migration
      
      * Fix clj-kondo
      
      * Don't test mariadb
      
      * Fix mysql test
      
      * Fix mysql json-unfolding nil case
      
      * Add comments to test
      
      * Add upterm step to mariadb test
      
      * Move upterm step before tests
      
      * Fix postgresql migration
      
      * move upterm step to test-driver action
      
      * Remove upterm step from drivers.yml
      
      * Comment out everything else in test-driver
      
      * Fix mariadb migration
      
      * Remove upterm action
      
      * Whitespace
      
      * Only handle JSONObjects with JSON_VALUE, not JSONArray
      
      * Fix fields.sync_metadata/update-field-metadata-if-needed!
      
      * Add comment explaining `json-unfolding-default`
      
      * Add comment for JSON_VALUE test
      
      * Update json-unfolding-default-true-test to use fresh db
      
      * Fix test descriptions
      
      * Don't capitalize setting display name
      
      * Fix update json_unfolding
      
      * Fix unfolding json for only one JSON column, not all
      
      * Add e2e test for JSON unfolding setting
      
      * Fix test
      
      * whitespace
      
      * Fix test
      
      * Fix json-unfolding for nested field columns
      
      * Fix mysql and postgres tests for nested field columns
      
      * Coerce nil json-unfolding to false for sync_metadata
      
      * Add test for nil json-unfolding for sync_metadata
      
      * Fix test
      
      * Don't update json_unfolding from intial sync
      
      * Add json_unfolding to update-field-test
      
      * Fix tests
      
      ---------
      
      Co-authored-by: default avatarNgoc Khuat <qn.khuat@gmail.com>
      Unverified
      25a1b259
  18. Mar 23, 2023
    • Cal Herries's avatar
      Use type/JSON for field base_type for postgres and mysql (#28849) · 48dcfc92
      Cal Herries authored
      * Use type/JSON instead of type/SerializedJSON
      
      * Tidy migration
      
      * Update migration
      
      * Fix rollback migration for h2
      
      * whitespace
      
      * Add test for migration
      
      * Fix test
      
      * Add rollback
      
      * whitespace
      
      * Test JSONB type as well as JSON
      
      * Don't fingerprint JSON columns
      
      * Remove comment, that might be wrong in the future
      
      * Update test
      
      * Add tests for fingerprinting
      
      * Use base-type JSON for fingerprinting base query
      
      * Add test for visibility-type=details-only
      
      * undo .
      
      * Change migration id
      
      * Fix migration test
      
      * Merge master
      
      * Exclude mariadb from tests
      
      * Make is-mariadb? public
      Unverified
      48dcfc92
  19. Mar 17, 2023
  20. Mar 13, 2023
    • Cal Herries's avatar
      Delete the abandonment email task (#28998) · 3e636378
      Cal Herries authored
      * Add migration for deleting the abandonment email task
      
      * Start+stop scheduler around the migration
      
      * Update clj-kondo
      
      * Rename migration
      
      * Change to 46
      
      * Fix define-migration
      
      * Add test
      
      * Update ns description
      
      * Remove stop-scheduler! from migration
      
      * Remove migration dependency on metabase.task
      
      * Restore mdb.connection -> mdb
      
      * Update custom-migrations ns docstring
      
      * Remove unused code
      
      * Fix comment
      Unverified
      3e636378
  21. Mar 09, 2023
  22. Mar 01, 2023
  23. Feb 24, 2023
  24. Feb 23, 2023
    • Noah Moss's avatar
      Clojure migration to split v1 data perm paths into v2 data & query perms (#28350) · cde7ff70
      Noah Moss authored
      * new clojure migration for v1->v2 permissions
      
      * updates
      
      * fix rebase issue
      
      * fix reflection warning
      
      * fix final test and address comment about macro name
      
      * fix indentation
      
      * revert changes to defmigration macro to try to fix final test
      Unverified
      cde7ff70
    • Cal Herries's avatar
      Allow actions to run on H2 and sample database (#28212) · 6ad641d8
      Cal Herries authored
      
      * Decouple checking ddl from classifying h2 stmts
      
      - should enable followup for easily blocking more kinds of queries
      - check all statements to make sure they aren't "ddl".
      
      * fix classify-query
      
      * linter fixes + get-field refactor
      
      * return the CommandInterface values as ints
      
      Reach into the CommandList when needed
      
      * docstring wording
      
      * catch invalid queries -- they can't be classified
      
      * Remove action subtypes from inlined-models
      
      * Add ddl check for `execute-write-query!`
      
      * Remove ACCESS_MODE_DATA
      
      * Check queries are single select statements
      
      * Add test for sample database privileges
      
      * Fix single-select check
      
      * Add single-select test
      
      * Rename and add more tests for checking read only commands
      
      * commands -> statements
      
      * Fix check-disallow-ddl-commands
      
      * new line
      
      * Add more read-only statements to the tests
      
      * Update error text
      
      * Use are
      
      * Add integration test for executing actions with disallowed commands
      
      * Add test before inserting row
      
      * Run GRANT ALL ON SCHEMA "PUBLIC" TO GUEST
      
      * Restore classify-query
      
      * whitespace
      
      ---------
      
      Co-authored-by: default avatarBryan Maass <bryan.maass@gmail.com>
      Unverified
      6ad641d8
    • Ngoc Khuat's avatar
      Set action.model_id to cascade on delete (#28518) · 91745f6b
      Ngoc Khuat authored
      * set action.model_id to cascade on delete
      
      * add rollback
      Unverified
      91745f6b
  25. Feb 17, 2023
  26. Feb 14, 2023
    • Aleksandr Lesnenko's avatar
    • Tim Macdonald's avatar
      Action archiving (#28268) · 8554eaed
      Tim Macdonald authored
      * Add action.archived and search
      
      Constituent commits:
      
      Basic action archiving and search; no perms
      
      Only show actions in search with appropriate permissions
      
      archive test
      
      Make search tests more tolerant of local DB state
      
      Show model that actions come from in search results
      
      Test action search properly
      
      Per Conor/Bruno, actions have higher search precedence than pulses
      
      Don't return archived actions from the main GET endpoint
      
      Clean things up based on PR review
      
      Don't show archived actions in most endpoints
      
      Remove actions from search so this can be merged sooner
      
      Delete associated DashboardCard when Action is archived
      
      Add a few more tests
      Unverified
      8554eaed
  27. Feb 07, 2023
    • Cal Herries's avatar
      Serdes for Actions (#27879) · 115d42c6
      Cal Herries authored
      * Whitespace
      
      * Add Action to entities list
      
      * Add entity_id column migration
      
      * Correct migration ids
      
      * Add entity-id property to action model
      
      * Extract and serdes-dependencies for action
      
      * storage for Action
      
      * ingest for Action
      
      * Generate for Action
      
      * load for Action
      
      * Remove comment
      
      * Add entity_id to action submodels
      
      * Add submodels to copy entities
      
      * Add submodels to exported-models
      
      * Add submodels to legal-top-level-paths
      
      * Slufigy extracted label for action
      
      * Extract for QueryAction
      
      * Generate query_action
      
      * Fix query_action extract test
      
      * Add action subtype extract tests
      
      * Update Action-subtype-IModel-impl docstring
      
      * Generate ImplicitAction and HTTPAction
      
      * Export and Import action_id FK with dashcards
      
      * Generate nano-id
      
      * Add load tests to e2e test
      
      * Nest subtypes directories in actions
      
      * Remove prn
      
      * Add docstring
      
      * Fix copy
      
      * Add select-action fn
      
      * Change extract tests to only extract Action model
      
      * Update action/select-one tests
      
      * Update legal-top-level-paths
      
      * Rename select-action -> select-one
      
      * Implement extract-one for Action only, not subtypes
      
      * Move subtype models from exported to inlined
      
      * Remove entity_id from subtypes
      
      * Reuse type->model
      
      * Ingest Action with inlined subtype info
      
      * Fix serdes-dependencies for Action
      
      * Add action to serdes-descendants for Dashboard
      
      * Add docstring to action update!
      
      * Reuse update! for PUT API
      
      * Add missing ns
      
      * Remove serdes-generate-path impl
      
      * Tidy
      
      * Sort ns
      
      * Restore add-entity-id
      
      * Update entity_id_test
      
      * Undo refactor
      
      * Include id in action arg for update!
      
      * Delete action, with delete cascading to the subtype
      
      * Fix clj-kondo warning
      
      * Fix returning nil Action in dashboard serdes-descendants
      
      * Braden's suggestions
      Unverified
      115d42c6
  28. Feb 06, 2023
    • Cal Herries's avatar
      [Feature] Allow actions to be shared via public link: Milestone 1 (#27777) · 90919d31
      Cal Herries authored
      * Add public_uuid and made_public_by_id to actions table & endpoints to enable/disable the public sharing on individual actions (#27721)
      
      * Add migration for public_uuid (indexed) and made_public_by_id
      
      * Add UUIDString schema
      
      * Add endpoints for enabling/disabling sharing of actions
      
      * Test that the new fields are returned with `GET /api/action/:id`
      
      * Remove validCheckSum on migration
      
      * Remove trailing whitespace
      
      * Fix DELETE test
      
      * Fix tests
      
      * Please migration linter
      
      * Update the default public_uuid every test run
      
      * Please migration linter
      
      * Add FK onDelete cascade
      
      * Replace ü
      
      * Add GET endpoint and post-select for action
      
      * Revert "Add GET endpoint and post-select for action"
      
      This reverts commit 8cc8b57d6034146dd726b54bc4199830ec1fda21.
      
      * Fix merge
      
      * Reorder migrations
      
      * Update test for GET `api/action?model-id=<id>` endpoint to include public sharing keys (#27802)
      
      * Add GET: /api/public/action/:uuid endpoint (#27781)
      
      * Add test
      
      * Remove non-public columns and check for 404
      
      * Fix docstring
      
      * Rename for clarity
      
      * Fix missing ns
      
      * Remove unneccessary keys from action
      
      * Update test
      
      * Remove unused refer
      
      * Reorder migrations
      
      * Use mt
      
      * Add require and refactor
      
      * Use mt
      
      * Add endpoint for executing a public action (#27793)
      
      * Add endpoint and test
      
      * Add more tests and TODOs
      
      * Use mt
      
      * Reorder migrations
      
      * Remove unused require
      
      * Rate limit actions at 1 per second
      
      * Fix the tests for the throttle
      
      * Refactor tests
      
      * Fix test
      
      * Fix docstring
      
      * Add test for failed execution if actions are disabled
      
      * Use crowberto in tests
      
      * Fix using crowberto in tests
      
      * Fix cyclic load dependency
      
      * Refactor ActionCreator (#27832)
      
      * Refactor make ActionCreator more sane
      
      * Render sidebar conditionally with JS rather than hiding it in CSS
      
      * Make action public (#27809)
      
      * Move action creator action buttons to the header following design
      
      * Remove double border which make it looks thicker
      
      * Draft toggle action public
      
      * Add confirmation when disabling public link similiar to questions and dashboards
      
      * Add an action public UUID input and copy button
      
      * Show action settings based on user permission
      
      * Add public action toggle tests
      
      * Remove unused import :face_palm:‍
      
      * Attempt to fix flaky CI unit tests
      
      The problem seems to be because of how long it takes for the response
      to be received even on unit tests, it took longer than 1 second which is
      the default timeout for `waitFor`.
      
      * See if not using `userEvent` could make the involving nock faster
      
      * Improve test speed to reduce flakiness
      
      * Add public action page (#27747)
      
      * Add basic public action page
      
      * Add form submit logic placeholder
      
      * Use "Submit" as default action form's button label
      
      * Add "big" variant to `EmbedFrame's` footer
      
      * Use new footer variant for action page
      
      * Break down the page, add document title
      
      * Handle long forms better
      
      * Add `PublicWritebackAction` type
      
      * Use public action GET endpoint
      
      * Add endpoint to execute public actions
      
      * Use action execution endpoint
      
      * Add tests
      
      * Handle actions without parameters
      
      * Rename variant prop
      
      * Replace `waitFor` with `findBy`
      
      * Define `FooterVariant` type
      
      * Fix router setup in `renderWithProviders`
      
      * Show which action is publicly accessible on model detail page (#28039)
      
      * Bring e2e tests back
      
      Manually bringing back tests added in: https://github.com/metabase/metabase/pull/28056
      
      
      
      * Update typo
      
      Co-authored-by: default avatarTim Macdonald <tim@metabase.com>
      
      * Remove TODO and use malli for defendpoint
      
      * Add malli schema for endpoints
      
      * Update permissions checks for POST and DELETE
      
      ---------
      
      Co-authored-by: default avatarMahatthana (Kelvin) Nomsawadi <me@bboykelvin.dev>
      Co-authored-by: default avatarMahatthana Nomsawadi <mahatthana.n@gmail.com>
      Co-authored-by: default avatarAnton Kulyk <kuliks.anton@gmail.com>
      Co-authored-by: default avatarTim Macdonald <tim@metabase.com>
      Unverified
      90919d31
  29. Feb 03, 2023
    • metamben's avatar
      Invalidate sandbox FieldValues cache on question change (#27783) · d01d519b
      metamben authored
      * Invalidate sandbox FieldValues cache on question change
      
      See #25411 for context.
      
      * Increase precision of report_card.updated_at to a microsecond
      
      This is so that the test doesn't have to wait a second to get a modified timestamp.
      It's also more consistent with other timestamp columns.
      
      * Add back test cases for :linked-filter
      Unverified
      d01d519b
  30. Feb 01, 2023
Loading