Skip to content
Snippets Groups Projects
This project is mirrored from https://github.com/metabase/metabase. Pull mirroring updated .
  1. Apr 26, 2024
  2. Apr 25, 2024
  3. Apr 24, 2024
  4. Apr 23, 2024
  5. Apr 22, 2024
    • Noah Moss's avatar
      New default permissions for groups (#41323) · 39627a3a
      Noah Moss authored
      39627a3a
    • adam-james's avatar
      Dates Binned by Week Export Formatting Matches App (#41619) · 97861b15
      adam-james authored
      * Dates Binned by Week Export Formatting Matches App
      
      Fixes: #41492
      
      Before, the dates binned by week would be formatted as follows in CSV and JSON exports:
      
      `Week 1 - 2024`
      
      But that doesn't match the App's format of a Date Range:
      
      `January 1, 2024 - January 7, 2024`
      
      So, now the exports will apply formatting in this same way.
      
      Note that a second bug (#41616) exists on the Frontend preventing the column formatting being applied in the app. This is
      frontend only, and the csv and json exports will match the column formatting settings (eg. abbreviated dates and
      alternative separators will be used in the export).
      
      * add test and change default week style
      
      * Week format test change
      
      * also fix incorrect :hour formatting
      97861b15
    • A. Marius Rabenarivo's avatar
      [tech debt] Stop using ms/BooleanString and only use ms/BooleanValue (#41390) · faab06e3
      A. Marius Rabenarivo authored
      * [tech debt] Stop using ms/BooleanString and only use ms/BooleanValue
      
      ms/BooleanString will coerce to a string, and we should probably get rid of it and only ever use ms/BooleanValue which will always coerce to a boolean
      We want the coercion layer to give us values that are helpful, and true is more helpful than "true".
      So we should remove ms/BooleanString and calls to parseBoolean
      
      * Remove ms/BooleanString usage in api/native_query_snippet.clj
      
      * Remove test case related to ms/BooleanString
      
      * Remove the BooleanString schema def as no longer used
      faab06e3
  6. Apr 19, 2024
  7. Apr 18, 2024
  8. Apr 17, 2024
  9. Apr 16, 2024
    • Braden Shepherdson's avatar
      Use cached Malli validators/explainers; make `:fn` schemas cacheable (#39947) · 8c2c556a
      Braden Shepherdson authored
      This improves our Malli performance substantially! Many of our code paths were calling vanilla `malli.core/validate` or `malli.core/explain`; these redo the (possibly expensive) compilation of the schema into a validator or explainer for every call.
      
      We should use the caching versions in `metabase.util.malli.registry` everywhere, and our runtime performance will be much improved.
      
      However when I started using these cached versions, I found that the memory use was growing out of control. Eventually I tracked this down to `:fn` schemas. Functions are only comparable by pointer equality, so they make poor cache keys. `(fn ...)` or `comp` calls in a schema on a `mu/defn` function **get re-created for every call of the `mu/defn`'d function**! That's a big time sink recompiling the schemas if we're *not* caching, and a huge memory sink if we *are* caching!
      
      This PR pulls every such schema I could find out into a `def` so it uses the same closure and is cacheable. I'd like to automate that in some part of the Malli pipeline, or maybe a linter rule, but I haven't found a good way to do it yet.
      
      Part of #39946.
      8c2c556a
    • Chris Truter's avatar
    • Alexander Solovyov's avatar
Loading