Skip to content
Snippets Groups Projects
This project is mirrored from https://github.com/metabase/metabase. Pull mirroring updated .
  1. Jul 12, 2022
  2. Jul 11, 2022
  3. Jul 09, 2022
    • Howon Lee's avatar
      22732 rework (#23722) · b6158cf2
      Howon Lee authored
      Pursuant to reopening of #22732.
      
      Proximate cause is occasional Java bigints getting in where the types assume it'll only be Clojure bigints. On the current reproduction I have it fixes the bug but I am still determining ultimate cause and if there are other phenomena. There was also differential behavior of backport vs. on-master implementation which I still don't understand.
      
      This one needs some sync to have gone through, or else it will prehistoric empetuses towards decelization
  4. Jul 08, 2022
    • Aleksandr Lesnenko's avatar
      Fix dashboard bugs (#23812) · 42a3e787
      Aleksandr Lesnenko authored
      * fix missing enter full-screen button
      
      * fix dashboard background trimmed in the dark mode
      
      * update specs
    • Aleksandr Lesnenko's avatar
    • Gustavo Saiani's avatar
      Fix 23421 (#23802) · 90432144
      Gustavo Saiani authored
    • Braden Shepherdson's avatar
      Add serialization hierarchy, serialize Database, Table and Field (#23622) · c952c87c
      Braden Shepherdson authored
      Serialization of Databases, Tables, Fields
      
      This brought a few core changes:
      - Add `serdes-entity-id` to abstract the field used for the ID
      - Pass the options to `extract-one` so it can eg. do encryption things.
      - Handle dates in YAML storage and ingestion
      - `:serdes/meta` now holds the entire hierarchy, not just the leaf model+ID pair.
      
      There's an open problem here about the right way to handle secrets like
      a database's password. Do we assume both sides have the same
      `MB_ENCRYPTION_SECRET_KEY`? Provide a serdes-specific password the user
      just made up, and every secret gets decrypted with the source key, encrypted with
      the serdes key, stored, decrypted with the serdes key, and encrypted with
      the destination key?
    • Nick Fitzpatrick's avatar
      Fixing filter pill spacing (#23797) · 47a8741b
      Nick Fitzpatrick authored
    • Luiz Arakaki's avatar
    • Anton Kulyk's avatar
      Update model cache refresh scheduling control (#23696) · 3becfb2d
      Anton Kulyk authored
      * Remove anchor time setting
      
      * Remove anchor time setting
      
      * Update setting
      
      * Allow styling `SettingSelect` component
      
      * Add `ModelCachingScheduleWidget`
      
      * Remove `PersistedModelRefreshIntervalWidget`
      
      * Pass `disabled` prop to expression input
      
      * Install `cron-expression-validator`
      
      * Wrap cron validator to support i18n
      
      * Fix React hooks style
      
      * Handle "custom" select value
      
      * Clean cron input when selecting built-in schedule
      
      * Connect custom cron input
      
      * Update API endpoint to change schedule
      
      * wip
      
      * Handle the "year" CRON component
      
      * Extract components, make explainer text live
      
      * Add default custom schedule value
      
      * Add helpful docs
      
      * Don't allow configuring CRON seconds part
      
      * Fix error message
      
      * Tweak popover spacing
      
      * Workaround validation lib issue
      
      * Run prettier
    • Jeff Bruemmer's avatar
      docs - appearance (#23644) · 7c239d83
      Jeff Bruemmer authored
    • Aleksandr Lesnenko's avatar
    • Anton Kulyk's avatar
      Update model caching schedule API (#23734) · fc54bd83
      Anton Kulyk authored
      
      * Replace interval-hours and anchor-time with cron
      
      Removed the two settings and replaced with a single cron schedule setting
      
      Renamed the /set-interval endpoint to /set-refresh-schedule
      
      * Ignore "year" part in schedule endpoint
      
      * Fix variable
      
      * Use a temp scheduler and initialize the refresh job
      
      Running into errors when updating the triggers for each database's
      refresh job because the "job" itself didn't exist. Reminder of what's
      going on here: There's a single refresh job. It has a trigger for each
      database. So updating the trigger would fail since it doesn't exist
      since there was no job to hold the triggers.
      
      This error is quite clear in the tests run locally:
      
      ```
      ERROR in metabase.api.persist-test/set-refresh-schedule-test (util.clj:421)
      Uncaught exception, not in assertion.
      
              clojure.lang.ExceptionInfo: Error in with-temporary-setting-values: Couldn't store trigger 'DEFAULT.metabase.task.PersistenceRefresh.database.trigger.1' for 'DEFAULT.metabase.task.PersistenceRefresh.job' job:The job (DEFAULT.metabase.task.PersistenceRefresh.job) referenced by the trigger does not exist.
          location: metabase.public-settings/persisted-models-enabled
           setting: "persisted-models-enabled"
             value: true
      ```
      
      But this logging is absent from the logging in Github annoyingly:
      
      ```
      FAIL in metabase.api.persist-test/set-refresh-schedule-test (persist_test.clj:26)
      Setting new cron schedule reschedules refresh tasks
      Setting :persisted-models-enabled = true
      expected: "0 0 0/12 * * ? *"
        actual: (nil)
      ```
      Whic doesn't give us the error, just the test result.
      
      * update to newer API `set-interval` -> `set-refresh-schedule`
      
      ```
      ;; old
      {:hours 4}
      
      ;; new
      {:cron "0 0 0/1 * * ? *"}
      ```
      
      Co-authored-by: default avatarCase Nelson <case@metabase.com>
      Co-authored-by: default avatardan sutton <dan@dpsutton.com>
    • Nick Fitzpatrick's avatar
    • Nick Fitzpatrick's avatar
    • Nemanja Glumac's avatar
      [E2E] Fix and optimize repro for #17160 (#23792) · 78aa7016
      Nemanja Glumac authored
      * Wait for the connected question to fully load
      
      * Set default values for source dashboard filters
      
      This step alone cuts the test execution time in half!
      
      * Visit dashboards directly instead of hitting the `back` button
      
      * Simplify function name
      
      * Tidy up comments
      
      * Wait for the target dashboard card to load
      
      * Make setup function more explicit and more descriptive
      
      * Make sure results loaded in a public source dashboard before testing click behavior
Loading