Skip to content
Snippets Groups Projects
This project is mirrored from https://github.com/metabase/metabase. Pull mirroring updated .
  1. May 15, 2024
    • Nick Fitzpatrick's avatar
      replace search bar with command palette toggle (#42603) · f37c417b
      Nick Fitzpatrick authored
      * replace search bar with command palette toggle
      
      * e2e test part one
      
      * onboarding suite
      
      * green e2e
      
      * unit tests
      
      * delete shame
      Unverified
      f37c417b
    • John Swanson's avatar
      remove TODOs from metabase.models.setting (#40020) · 9aa572cb
      John Swanson authored
      3 TODOs were removed here:
      
      - "a way to SET Database-local values." More like TODONE :haaa:
      
      - "we should probably also bind this [that is, *database-local-values*]
      in sync contexts e.g. functions in [[metabase.sync]]" I think we don't
      need to do this. The full set of maybe-database-local settings right now
      is `aggregated-query-row-limit`, `unaggregated-query-row-limit`,
      `database-enable-actions`, and `persist-models-enabled`. None of these
      need to be set when `sync`ing. If at some point we do add a db-local
      setting that should affect the way syncing works, we will need to do
      this - but I don't think this TODO will help figure that out.
      
      - "settings sent via an env var aren't returned for security purposes.
      It is an open question whether we should obfuscate them and still show
      the last two characters like we do for sensitive values that are set via
      the UI." I think if it's been this way for 5 years, it no longer
      qualifies as an "open question." We can reopen if down the road if this
      is something we want.
      Unverified
      9aa572cb
    • adam-james's avatar
      Pivot table exports (#41668) · a52450c3
      adam-james authored
      
      * PoC Pivot table exporting.
      
      Works so far!
      
      This just hacks a couple things in. I added the :query via format_rows, which should instead have its own proper
      middleware
      
      Pivot export should probably not just be in the middleware namespace but in qp.pivot.
      
      Should not break the streaming results writer for non-pivots... obviously this breaks ordinary results, so that needs
      to be handled properly.
      
      Better documentation about how the logic actually works. Pivot tables are hard to remember/easy to forget, so some
      very clear diagrams/examples would probably be good.
      
      * adjust csv export to export a pivot table when pivot options exist
      
      * post processing of pivot table rows for card/dashcard downloads
      
      * WIP on getting pivot exports to work with unsaved questions
      
      * WIP getting pivot exports working on unsaved questions
      
      The dataset POST /pivot endpoint is used to get the pivot data to the frontend, but also to get the pivot query.
      
      The query that is returned by the POST comes from the json_query, which is populated by the userland-query stuff with
      the last run query. The pivot qp runs mulitple queries and each query runs through the regular userland query qp, so
      we'll 1. see lots of executions recorded and 2. end up with the wrong query in the POST return. It'll look mostly
      correct, but due to how the pivot qp works won't necessarily have all of the fields.
      
      That incorrect pivot query is passed to the /:export-format endpoint and we don't end up seeing correct results.
      
      Since that json_query gets fed back to the backend when doing an export, we do need it to be correct, like the query
      that was sent to /pivot in the first place.
      
      Since this is a WIP, I've just passed the query as a string to :original-query in :info, and if that exists, use that
      to fill the :json_query key.
      
      Then, also add a :was-pivot flag so that the dataset download endpoint can look at it and use the pivot qp instead of
      the regular qp. Even if we have the correct 'top level' query, we need to run it through the pivot qp to get the full,
      correct pivoted results.
      
      * Pivot Export Test
      
      Here I've added a pivot export test that has various assertions trying to capture the correct output from the pivot
      csv export.
      
      I've done my best to explain the tests with comments, but have also left a (comment ) form with a function
      `explore-pivot` to help *show* rather than tell what the expected pivot output should be.
      
      I've created this new namespace to first capture this pivot export test with the intent to add tests that can improve
      our confidence that ALL exports/downloads in ALL places behave as we expect in the future. It just seemed nice to
      start fresh here with the pivot export test first.
      
      * Don't need to make this public.
      
      * Add lots of comments to hopefully make this a bit easier to follow
      
      * Added an explore-raw-pivot fn in comment form
      
      * Update test/metabase/api/downloads_exports_test.clj
      
      Co-authored-by: default avatarCam Saul <1455846+camsaul@users.noreply.github.com>
      
      * begin addressing feedback
      
      - finish an unfinished docstring
      - merge info instead of assoc
      - use a native query to build the pivot data instead of using a custom dataset, to keep test speed ok
      
      * Create a new ns for the pivot post processing utils
      
      Separate the post processing fns into their own namespace. This means I can easily add a test namespace for the post
      processing specifically as well.
      
      * Add pivot postprocessing test ns, not complete, but decent start
      
      * fix mistake in endpoint. Only add original query to first pivot q
      
      * Figured out how to keep the original query without storing as a string
      
      * Perhaps this'll fix things properly?
      
      ---------
      
      Co-authored-by: default avatarCam Saul <1455846+camsaul@users.noreply.github.com>
      Unverified
      a52450c3
    • Raphael Krut-Landau's avatar
    • Alexander Solovyov's avatar
      json unfolding: parse incrementally instead of using cheshire (#42638) · 5cfc079d
      Alexander Solovyov authored
      this lowers memory usage 100x for 50kb strings (our limit before this change) and speeds up parsing by an order of magnitude.
      
      For example, results for parsing 42kb string (already in memory):
      
      Before: Time per call: 6.32 ms    Alloc per call: 8,732,850b
      After:  Time per call: 55.16 us   Alloc per call: 83,254b
      Unverified
      5cfc079d
    • Ngoc Khuat's avatar
      An one time job to init send-pulse trigger and migration down to clean up... · fe1f5950
      Ngoc Khuat authored
      An one time job to init send-pulse trigger and migration down to clean up send-pulse triggers (#42316)
      
      * Add a job to init send pulse trigger only once
      
      * Send pulse triggers should respect report timezone (#42502)
      Unverified
      fe1f5950
  2. May 14, 2024
  3. May 13, 2024
    • bryan's avatar
      New Recents API Format (#42239) · 2b91354f
      bryan authored
      
      * wip
      
      * adds more collection-touch events
      
      * remove sneaky dep that slipped in
      
      * cleaning up, and adding tests
      
      * respond to review comments + mini bug reports
      
      * make it official
      
      * double official
      
      * cleanup + return recent-views/Item for `GET activity/popular_items`
      
      * get popular_items returning the proper shape
      
      * compare doesn't what I thought
      
      * add display_name to tables
      
      * table.database.name should be the db name, not the table name
      
      * add table.database.initial_sync_status
      
      * improve call to toucan2
      
      * light renaming + many text fixes
      
      * include moderated_status in cards and datasets
      
      * look up Dashboard permissions for Dashboards
      
      * stop double-querying for `can-write?` checks
      
      - also include some debug logging
      
      * fix card <-> model dispatching
      
      also gets tests passing locally
      
      * let the test runner run the tests
      
      * fix gc test
      
      * adds description
      
      * description can be null
      
      * better tests
      
      no more nils passed through the app
      
      * debugging test
      
      * fix tests and skip archived
      
      * mysql finesse
      
      * ellide inactive tables
      
      * wip
      
      * adds more collection-touch events
      
      * remove sneaky dep that slipped in
      
      * cleaning up, and adding tests
      
      * respond to review comments + mini bug reports
      
      * make it official
      
      * double official
      
      * cleanup + return recent-views/Item for `GET activity/popular_items`
      
      * get popular_items returning the proper shape
      
      * compare doesn't what I thought
      
      * add display_name to tables
      
      * table.database.name should be the db name, not the table name
      
      * add table.database.initial_sync_status
      
      * improve call to toucan2
      
      * light renaming + many text fixes
      
      * include moderated_status in cards and datasets
      
      * look up Dashboard permissions for Dashboards
      
      * stop double-querying for `can-write?` checks
      
      - also include some debug logging
      
      * fix card <-> model dispatching
      
      also gets tests passing locally
      
      * let the test runner run the tests
      
      * fix gc test
      
      * adds description
      
      * description can be null
      
      * better tests
      
      no more nils passed through the app
      
      * debugging test
      
      * fix tests and skip archived
      
      * mysql finesse
      
      * New Recents + Popular API Format - Frontend (#42305)
      
      * fix tests
      
      * new API payload format for recents and populars
      
      * update url generation
      
      * update recents components
      
      * update tests
      
      * only show 5 recents in command palette
      
      * remove unused types
      
      * update tests
      
      * obey the linter
      
      * type updates
      
      * fix unit test
      
      * change where we filter recents
      
      ---------
      
      Co-authored-by: default avatarBryan Maass <bryan.maass@gmail.com>
      
      * fix modelToUrl types
      
      * respond to review comments
      
      * post merge test fix
      
      ---------
      
      Co-authored-by: default avatarRyan Laurie <30528226+iethree@users.noreply.github.com>
      Co-authored-by: default avatarRyan Laurie <iethree@gmail.com>
      Unverified
      2b91354f
    • adam-james's avatar
      Don't use the slugify util for filenames (#42475) · 127a62f6
      adam-james authored
      * Don't use the slugify util for filenames
      
      * Fix tests that looked for incorrect filenames
      
      * add a test
      
      * fix filename in pulse test util
      Unverified
      127a62f6
    • Noah Moss's avatar
      SCIM-scoped API key (#42086) · 9d968d9e
      Noah Moss authored
      Unverified
      9d968d9e
    • Ngoc Khuat's avatar
    • Nemanja Glumac's avatar
    • Ngoc Khuat's avatar
    • Nicolò Pretto's avatar
      remove google analytics (#42515) · 84519c83
      Nicolò Pretto authored
      Unverified
      84519c83
  4. May 10, 2024
  5. May 09, 2024
  6. May 08, 2024
Loading