Skip to content
Snippets Groups Projects
This project is mirrored from https://github.com/metabase/metabase. Pull mirroring updated .
  1. Nov 05, 2020
    • Nemanja Glumac's avatar
      Fix `settings/settings.cy.spec.js` flakes (#13701) · c97869d0
      Nemanja Glumac authored
      - isolated flake (`it.only("should surface an error when validation for any field fails (metabase#4506)", () => {...})`) passed 10x (https://github.com/nemanjaglumac/metabase-tests/actions/runs/348275781)
      - the whole spec passed 20x (https://github.com/nemanjaglumac/metabase-tests/actions/runs/348306177)
      Unverified
      c97869d0
    • Ariya Hidayat's avatar
      CI: Fix the cache key for uberjar for running smoketest (#13698) · 2f01ac96
      Ariya Hidayat authored
      Smoketest for OSS edition (for now)
      Unverified
      2f01ac96
    • Ariya Hidayat's avatar
    • Damon P. Cortesi's avatar
      Add a circleci workflow that runs a set of Cypress smoketests (#12775) · 836af536
      Damon P. Cortesi authored
      
      * Add a circleci nightly workflow that runs a bigger set of Cypress smoketests
      
      * Run this every hour while we're testing it, add a small fix to the admin test
      
      * Smoketests: Skip some known failing tests
      
      Co-authored-by: default avatarAriya Hidayat <ariya@metabase.com>
      Unverified
      836af536
    • dpsutton's avatar
      Initial refingerprinting (#13687) · 722a80a9
      dpsutton authored
      * If scheduled analyze task is short, refingerprint tables
      
      - make the sync steps return their values rather than log and nil
      - dynamic var in fingerprint.clj to swap out query clauses for fields
      - update the fingerprint runner to not consume whole list when
          refingerprinting
      - algorith for fields to refingerprint: shuffle table and do up to
          1000 fields
      - we refingerprint after analyzing in the task if two conditions hold:
         1. the analysis lasted under 5 minutes
            Don't want to hog our CPU or connections
         2. no fields were fingerprinted.
            The first analysis will fingerprint everything and analyze
            fields base on that. Seems subsequently we almost never
            fingerprint unless its a new field.
      
      TODO for the future to make it better:
      - manual overrides to prevent these refingerprinting (might be
      necessary before this goes live. I lean towards actually doing this
      and making it opt IN so that people can enable. We verify that its
      working frequently enough to be helpful but not causing problems. Then
      in 38 or 39 we flip it and make it opt OUT)
      - better strategies for what to refingerprint. Right now just picks
      tables at random. We don't have a place to write down frequency of use
      of tables nor if the fingerprints are changing substantially (for some
      notion of substantial). Also, only date and number fingerprints are
      used by the app at the moment. Could just bias to these fields for the
      moment.
      - Our analysis doesn't override if there's already a special_type (Or
      other field things). We don't capture if special_type and other
      aspects of a field are manually computed (and therefore a candidate to
      use ongoing fingerprint results (state fields based on percentage of
      state values, etc). If this becomes the case and our analysis can
      become more mature to improving insights and knowing its not
      clobbering a human override/input we could just make the initial
      fingerprint smarter.
      
      As it stands this step is after the normal fingerprinting so that we
      don't accidentally do too much work and because we can't really use
      the information in the analysis/classify steps yet.
      
      Docstrings for linter
      
      * Add refingerprint column to Database
      
      its nullable now so that people can opt in and we can migrate to opt
      out in the future with the following strategy:  if null, set to True,
      set default to True. This allows us to respect people who have turned
      it off and enabling in a future release when we are sure the
      performance ramifications are not too severe.
      
      * Add tests for refingerprinting
      
      * Test for refingerprinting being bounded
      
      * Update UI verbiage for refingerprinting
      Unverified
      722a80a9
    • Kyle Doherty's avatar
      Capture component doc progress (#13656) · ca41ee40
      Kyle Doherty authored
      * fix ProgressBar component
      
      * [styleguide] - add some simple stats
      
      * update ProgressBar snap
      
      * cleanup
      Unverified
      ca41ee40
    • Nemanja Glumac's avatar
      Repro for #12928: Join saved questions already containing joins [ci skip] (#13689) · e4efda73
      Nemanja Glumac authored
      * Add repro for #12928 [ci skip]
      (Cannot join Saved Questions that themselves contains joins)
      Unverified
      e4efda73
  2. Nov 04, 2020
  3. Nov 03, 2020
  4. Nov 02, 2020
  5. Oct 30, 2020
  6. Oct 29, 2020
  7. Oct 28, 2020
    • Ariya Hidayat's avatar
      Put yaml-lint into devDependencies (#13600) · 8be77462
      Ariya Hidayat authored
      * Put yaml-lint into devDependencies
      
      That way, the CI run is more reproducible (no need to install yaml-lint
      on the fly).
      
      * Attempt to lint YAML files via yarn run
      
      * Update the CI workflow dependency for yaml-linter
      Unverified
      8be77462
    • dpsutton's avatar
      Show engine in Task trouble shooting logs (#13608) · 73737b41
      dpsutton authored
      * Show engine in Task trouble shooting logs
      
      in an effort to get better feedback when people raise issues about
      long running sync processes, include the database engine in the logs.
      
      Also wrapped `th` in a `tr` inside the `thead` to remove react warning
      
      * Const intead of let on the db_id_to_engine
      
      * Swap db id for db name
      
      * Move comment out of jsx
      Unverified
      73737b41
  8. Oct 27, 2020
    • Nemanja Glumac's avatar
      Fix failing Cypress test in `dashboard-drill` spec file (#13612) · cb4371e9
      Nemanja Glumac authored
      * Fix failing Cypress test in `dashboard-drill` spec file
      
      * Assert that the page content rendered (as per @dacort 's suggestion)
      Unverified
      cb4371e9
    • Tim Macdonald's avatar
      [Fixes #11879] [Fixes #8410] Don't wrap email attachment filenames (#13563) · 91ff78a2
      Tim Macdonald authored
      * [Fixes #11879] [Fixes #8410] Don't wrap email attachment filenames
      
      * Non-ASCII characters in filenames are encoded [as per IETF RFC
        2047](https://tools.ietf.org/html/rfc2047) (c.f. #8410)
      * Sufficiently-long _encoded_ filenames are sent over multiple lines
          as per [RFC 2184 section
          3](https://tools.ietf.org/html/rfc2184#section-3), for example:
      
          ```
          Content-Disposition: attachment;
            filename*0="=?UTF-8?Q?T=C3=A9=C5=BFting_non-ASCII_=C4=8D=C4=A5=C3=A4ract";
            filename*1="ers.xlsx?="
          ```
      * Many mail clients do the right thing, but Gmail does not
      
      This commit therefore turns off wrapping, as per [Bill Shannon's
      Stack Overflow answer re. an undocumented system
      property](https://stackoverflow.com/a/53344141/220529)
      (Bill Shannon co-wrote the Java email library, which is used by postal
      (the Clojure wrapper we use).
      
      * (Hopefully) fix race condition in dashboard drill Cypress spec
      
      Suggested by @flamber
      
      * Skip flaky Cypress tests (per Nemanja)
      
      * Only set `mail.mime.splitlongparameters` once
      Unverified
      91ff78a2
    • dpsutton's avatar
      Adds dev/src/dev/nocommit to ignore file (#13353) · 1ab05174
      dpsutton authored
      * Adds dev/src/dev/nocommit to ignore file [ci skip]
      
      now you can create a folder nocommit/ under the dev classpath root so
      you can keep some namespaces around as you work on features.
      
      Ex:
      
      ```clojure
      (ns dev.nocommit.oom
        (:require [metabase.models
                   [database :refer [Database]]
                   [field :refer [Field]]
                   [table :refer [Table]]]
                  [metabase.sync.analyze
                   [fingerprint :as analyze.fingerprint]]
                  [metabase.sync :as sync]
                  [metabase.sync
                   [field-values :as sync.field-values]]
                  [metabase.models.field-values :as field-values]
                  [metabase.sync.analyze.fingerprint.fingerprinters :as fingerprinters]
                  [metabase
                   [util :as u]]
                  [metabase.sync.sync-metadata.fields :as metadata.fields]
                  [metabase.sync.sync-metadata.fields.fetch-metadata :as fetch-metadata]
                  [metabase.query-processor :as qp]
                  [toucan.db :as db]
                  [metabase.db
                   [metadata-queries :as metadata-queries]]))
      
      (def pg (Database 4))
      
      (comment
        (fetch-metadata/db-metadata pg emails-table)
        (metadata.fields/sync-fields! pg)
      
        (sync/sync-database! pg))
      
      (clojure.test/run-tests 'whatever-namespace)
      
      ```
      
      I ended up with lots of `(comment ...)` blocks in lots of different
      namespaces and this has helped keep my worktree clean.
      
      * Empty commit to trigger CI [ci skip]
      
      skipping ci thought so hopefully the checks on Github are satisified.
      Unverified
      1ab05174
    • Kyle Doherty's avatar
    • Robert Roland's avatar
      [[null]] is a valid response (#13596) · c2c37135
      Robert Roland authored
      
      * Repro for #13571: Display rows whose value is `null` (#13591) [ci skip]
      
      * Reproduces #13571 
      
      Co-authored-by: default avatarflamber <1447303+flamber@users.noreply.github.com>
      
      * [[null]] is a valid response
      
      Previously, this said that a result of `[[null]]` was an empty result
      set, but in reality, it's a valid result set of a single column with a
      null value.
      
      Resolves #13571
      
      Co-authored-by: default avatarNemanja Glumac <31325167+nemanjaglumac@users.noreply.github.com>
      Co-authored-by: default avatarflamber <1447303+flamber@users.noreply.github.com>
      Unverified
      c2c37135
Loading