Skip to content
Snippets Groups Projects
This project is mirrored from https://github.com/metabase/metabase. Pull mirroring updated .
  1. Aug 07, 2024
    • lbrdnk's avatar
      Add `relative-time-interval` mbql function 2 (#46438) · 582fa9ad
      lbrdnk authored
      * Add :relative-time-interval mbql function
      
      * Add relativeDateFilterPartsRelativeTimeInterval
      
      * Update display-name-method :relative-time-interval
      
      * Update desugar-relative-time-interval
      
      * Define relative-time-filter op
      
      * Add or update tests
      
      * Update tests
      
      * Update display-name-method
      
      * Update test
      
      * Fix positive relative-time-interval shift
      
      * Add checkins:1-per-day:60 dataset
      
      * Update var name
      
      * Bail out from optimization of relative-time-interval desugared filters
      
      * Update dataset kondo hook
      
      * Generate cache required for kondo hooks in kondo.sh
      
      * Rename dataset
      Unverified
      582fa9ad
  2. Aug 01, 2024
  3. Jul 30, 2024
  4. Jul 25, 2024
  5. Jul 23, 2024
  6. Jul 17, 2024
  7. Jul 15, 2024
  8. Jul 08, 2024
  9. May 31, 2024
    • Mahatthana (Kelvin) Nomsawadi's avatar
      ci(sdk): Autogenerate changelog on build (#43364) · 78db8c49
      Mahatthana (Kelvin) Nomsawadi authored
      * Auto tag embedding team for PR review + dry run npm publish
      
      * Install changelog generation package
      
      * Add the initial changelog
      
      * feat(sdk): This is an empty commit. For testing purposes.
      
      * Update SDk build script to include changelog
      
      * Check if a tag exists
      
      * Ensure changelog is in the released package
      
      * Fix workflow
      
      * Remove unnecessary step
      
      * Ensure we can have access to release utils script when checking out master
      
      * Fix the step to create a PR updating readme and changelog
      
      * Fix changelog generation
      
      * Fix couldn't download changelog
      
      * Clean up steps
      Unverified
      78db8c49
  10. May 30, 2024
  11. May 28, 2024
  12. May 17, 2024
  13. Apr 30, 2024
  14. Apr 29, 2024
  15. Apr 24, 2024
  16. Apr 08, 2024
  17. Apr 04, 2024
  18. Apr 02, 2024
  19. Feb 06, 2024
  20. Jan 31, 2024
  21. Jan 18, 2024
  22. Jan 17, 2024
  23. Jan 09, 2024
  24. Jan 04, 2024
  25. Jan 03, 2024
  26. Dec 20, 2023
  27. Dec 08, 2023
  28. Nov 15, 2023
  29. Nov 14, 2023
    • Mark Bastian's avatar
      Adding linter and formatter pre-commit hooks for staged BE files · d4957af1
      Mark Bastian authored
      * Adding linter and formatter to staged BE files.
      
      Note that `.cljfmt/indents.clj` tries to capture our indent rules
      and, so far, seems to get things right. There are still some inconsistencies
      in some of our nses in how we indent assoc(-in) and some t2 functions
      when it comes to key-value pairs on following lines. Should the keys
      align with the function call or be indented. Aesthetically, people
      seem to like indents, but these are functions, so should align with the
      first argument. IDK that it really matters as long as we have agreement.
      
      We may, as we adopt this, have some files be reformatted in unexpected ways
      for items that have been missed. If so, the developer can simply update
      the .cljfmt/indents.clj file, rerun the hook, and commit that along with
      their other changes.
      
      * Added whitespace linter.
      
      * Updating husky commit hook
      
      * Updated hook scripts to be exclusively for staged files.
      
      Updated cljfmt to use the latest and greatest along with the new format of config file.
      
      * Commenting out the actual formatting hook in .husky/pre-commit until we come up with a globally happy solution to forms that don't have good formatting rules, like defprotocol+ in a reader conditional.
      
      * Reverting formatting
      
      * Moving pre-commit hooks from .husky/pre-commit to the package.json's lint-staged section.
      
      Note that we're still not calling the cljfmt file (.bin/cljfmt_staged.sh)
      until we get agreement on formatting.
      
      One thing we might do since we're using lint-staged is we can probably
      exclude the "bad" files that go sideways with linting and format everything
      else automatically. This might be a good follow-on PR.
      Unverified
      d4957af1
    • Luis Paolini's avatar
      Add fonts in Dockerfile to fix pulses (#31764) · 44de976d
      Luis Paolini authored
      Add Noto fonts in Alpine Dockerfile
      Unverified
      44de976d
  30. Nov 08, 2023
  31. Nov 07, 2023
  32. Oct 17, 2023
  33. Oct 04, 2023
    • Nemanja Glumac's avatar
      Remove `delete-file!` function (#34306) · 80ee48bf
      Nemanja Glumac authored
      It was deprecated and left in a codebase for backwards compatibility.
      But it seems we've migrated all references to the new method `delete-file-if-exists`.
      
      The last time this was touched was three years ago.
      Should be safe to remove.
      Unverified
      80ee48bf
  34. Sep 28, 2023
  35. Sep 20, 2023
    • Mark Bastian's avatar
      X-ray improvements for clarity and literacy (#33815) · 764fcd06
      Mark Bastian authored
      
      * Fix clj-kondo
      
      was getting an error:
      
      ```clojure
      user=> (require ’[clj-kondo.hooks-api :as hooks])
      Syntax error compiling at (clj_kondo/impl/analysis/java.clj:61:6).
      Unable to find static field: ASM9 in interface org.objectweb.asm.Opcodes
      ```
      
      checking where the bad version comes from:
      
      ```clojure
      user=> (io/resource "org/objectweb/asm/Opcodes.class")
              "0x37e9d2e2"
              "jar:file:/Users/dan/.m2/repository/org/ow2/asm/asm-all/5.2/asm-all-5.2.jar!/org/objectweb/asm/Opcodes.class"]
      ```
      
      and running
      
      ```
      > clj -X:deps tree :aliases '[:dev :ee :ee-dev :drivers :drivers-dev :alpha :socket :morse :reveal]' > deps
      
      ❯ grep asm deps
        X org.ow2.asm/asm 9.4 :superseded
        . org.ow2.asm/asm-all 5.2
            . org.ow2.asm/asm 9.5 :newer-version
            . org.ow2.asm/asm-commons 9.5
              . org.ow2.asm/asm 9.5
              . org.ow2.asm/asm-tree 9.5
                . org.ow2.asm/asm 9.5
          X org.ow2.asm/asm 9.2 :older-version
      ```
      
      The 9.4 and 9.5s are all close to each other. But the asm-all 5.2 is far
      too old. That's brought in by eastwood. So i'll exclude it and see if it
      works
      
      * Can't throw error in api endpoint for linked entities x-ray
      
      `create-linked-dashboard` creates a dashboard if there are no linked
      entities, so this is unreachable code
      
      * unify card and query code pathways.
      
      now it's quite clear how card and query diverge:
      
      ```clojure
      (defmethod automagic-analysis Card
        [card {:keys [cell-query] :as opts}]
        (let [root     (->root card)
              cell-url (format "%squestion/%s/cell/%s" public-endpoint
                               (u/the-id card)
                               (encode-base64-json cell-query))]
          (query-based-analysis root opts
                                (when cell-query
                                  {:cell-query cell-query
                                   :cell-url   cell-url}))))
      
      (defmethod automagic-analysis Query
        [query {:keys [cell-query] :as opts}]
        (let [root       (->root query)
              cell-query (when cell-query (mbql.normalize/normalize-fragment [:query :filter] cell-query))
              opts       (cond-> opts
                           cell-query (assoc :cell-query cell-query))
              cell-url   (format "%sadhoc/%s/cell/%s" public-endpoint
                                 (encode-base64-json (:dataset_query query))
                                 (encode-base64-json cell-query))]
          (query-based-analysis root opts
                                (when cell-query
                                  {:cell-query cell-query
                                   :cell-url   cell-url}))))
      ```
      
      * Adding frequencies to a test to prevent non-deterministic behavior
      
      * Fixing linter check and ordering issue in test.
      
      * Adding TODO future task to replace /rule/ with /dashboard-template/ in paths.
      
      * Added large ns block to metabase.automagic-dashboards.core
      
      * Fixing spelling mistakes
      
      * Some docstrings and renaming for clarity.
      
      * Added ->field and ->root (covering source) tests
      
      * TODO - Fix minumum spelling error on standalone PR.
      
      * Breaking up tests to understand what is on with bulk failures
      
      * Broke make-cards into several logical steps so that the code is more readable. Added tests for each stage.
      
      * Updating references to rules.clj for i18n generation.
      
      * Inlined make-context into apply-dashboard-template. This makes the steps of creating dimensions, metrics, and filters more explicit. ATM we still need to resolve the logic around inject-root as this has dependence on the context and not the individual dimensions.
      
      * put build stuff on classpath for lsp
      
      * calculate base-context once before template loop
      
      * Removed the inject-root multimethod in favor of simple functions. Introducing the idea of removing metric and filter candidates that claim dimensions that don't exist.
      
      * Adding logic to pre-emptively remove unsatisfied metrics, filters, and dimensions.
      
      In `card-candidates` the check:
      
      ```
      (and
        (every? context-dimensions (map ffirst card-dimensions))
        (every? context-metrics card-metrics)
        (every? context-filters card-filters))
      ```
      
      is now performed to ensure that the card is satisfied before moving forward.
      
      * Renamed common-dimensions, common-metrics, and common-filters to satisfied-* for clarity. In card-candidates also changed context-* and card-* bindings to available-* and required-* for clarity.
      
      * Teasing out the generated dimensions, metrics, and filters from the big-ball-of-mud context. `make-cards` now takes the base context as well as the available computed dimensions, metrics, and filters as a separate argument. Additionally, tests were added for the `(comp #(filter-tables % tables) dashboard-templates/->entity)` branch of `some-fn` in `potential-card-dimension-bindings`. However, I am not confident that this is ever called outside of the tests. In order to be called, the entity type for the table has to be a named dimension in a card, which I can't find any examples of in the templates.
      
      * Pushing mega-context down to return value of apply-dashboard-template. Just need to take it apart where it is used downstream.
      
      * apply-dashboard-template now just returns generated values and does not build up the base context.
      
      * Adding tests for cases in which dimensions are defined in a native query on the dashcard template.
      
      The only case where this happens is in the resources/automagic_dashboards/table/example.yaml and,
      prior to this PR, had no test coverage.
      
      It does add some weird complexities to the system (including bringing in dimensions from a different
      approach vector) so perhaps we want to re-evaluate if we want this as a feature or not.
      
      ---------
      
      Co-authored-by: default avatardan sutton <dan@dpsutton.com>
      Unverified
      764fcd06
Loading