* chore: remove additional incubator references
remove incubator.png from the main docs page
* fix: improve text for contributing-page.mdx
* fix: lint no-unused-vars
* Added release notes and associated media for 0.38
* Added ASF license header to release notes
* refactored the release notes directory structure. Re-added media to the 0.38 release notes.
* fixed broken image and hyperlink
* fixed broken image and hyperlink pt 2
* Swapped out media embed tags
Swapped out github style markdown embed tags with html style ones for more control.
* Fixing small inconsistencies
Fixed a couple small inconsistencies in the feature tags
* Resize media, update embed style
Seems like GitHub does not any but the most basic css in the embed tag.
* Spelling nit
* Fixed some formatting nits
Added a box around the images to clearly distinguish them from the whitespace. Images are now embedded on the same indentation tier as their associated bullet point.
* Rebase to hopefully fix cypres problems
* May the cypress gods be pleased with this commit.
* Fix Save button disabled until clause is switched
* Fix 'undefined undefined' when sql query is empty
* fix test
Co-authored-by: Ville Brofeldt <ville.v.brofeldt@gmail.com>
* chore: migrate all harmless incubator refs like comments and documentation files
* chore: migrate all superset.incubator.apache.org to superset.apache.org to
* chore: migrate dist.apache.org refs
* chore: removing incubating and Disclaimer
* fix: linting issues
* build: inline cached-dependencies to unblock CI
* Run E2E on pull_request on;y
* Inline all external actions
* Checkout needed for internal actions
Also fixes pre-commit
* Add missing files
* fix(reports): make name unique between alerts and reports
* add missing migration
* make it work for mySQL and PG only (yet)
* fixing sqlite crazy unique drop
* fixing sqlite missing one col
* fix(alerts/reports): ensure correct type is sent to api
* fix: chane actions labels to generic Edit/Delete
* fix: ts-ignore
* fix: add more dependencies to callback functions
* fix: remove duplicate api calls when toggling between types
* lint
* fix(report): fix last_eval_dttm sort and more tests
* remove unnecessary permissions and split code path
* remove SIP_34_ALERTS_UI
* disabling an alert that is working will turn it to not triggered
* first attempts at dynamic plugin loading
* dynamic import working for explore
* memoize appropriately
* add a backend for dynamic plugins
* hack at getting dynamic plugins working with dashboards
* more work on making it work, + feature flag
* lint
* actions to fix explore state when plugins load
* handle dynamic control panel, functionify ExploreViewContainer
* fix: rearrange migrations branch
* fix: name and key as strings with length 50
* bundle url length 2000
* bundle url to text
for some reason not supported on my sql
* fix: too long varchart
* fix: pre-commit typing
* fix: licenses
* fix: add slice container was not initing feature flags
* fix: undo linting issue
* fix: adjust down revision again
* fix: adjust down revision again
* isort
* pylint
* god damn linters
* remove unnecessary(?) loading message
* only log non-standard errors
* testing
* python is terrible
* see above commit message
* fix imports in DynamicPluginProvider
* fix
* shift migration forward
* lint
* fix form data calculations to handle missing control config
* temp commit - waiting for superset-ui changes and crud fixes
* remove unnecessary todo
* use new superset-ui shared module function
* fetch the plugins instead of hardcoding the test one
* migration sort
* remove duplicated import statement
* format
* try moving the import 🙄
* copy
* fix frontend tests
* safe access
* comment out dead code
* isort
* disable pylint on necessary lines
* use @superset-ui/logging instead of console
* remove temp code
* rearrange some code
* try triggering mouseover in cypress before click
* use loading spinner instead of text
* trying to fix cypress
* attempt cypress fix
* customize permissions
* update package lock
* only admins can write to plugins by default
* better copy
* disable flaky tests
* use makeApi
* flaky tests
* cleanup code
* flaaaakkkyyyyyy
* dry
Co-authored-by: amitNielsen <amit.miran@nielsen.com>
* wip: filter create modal
* add a feature flag
* automatic changes to package lock
* wip
* filter sidebar and basic state management
* move create button to the sidebar
* first step for edit filterconfig
* partially fix tests...
* edits to types and comments
* respect feature flag on the filter sidebar
* add filterconfig form
* get input state working
* feat: tree filter scopes UI
* fix: turn on flag
* sticky filter bar
* stop preferring default export
* feat: finish filter scoping
* fix: under toggle
* fix: title
* fix: add licence
* refactor: update TS
* fix: fix on reopen modal + validation
* new filter bar menu
* adding, but commenting out, bulk scoping action
* adding some placeholder buttons and styles therefor
* feat: add filter chart
* add relative path to package.json
* update modal
* a little input styling... just getting warmed up
* Revert "feat: add filter chart"
This reverts commit b1302d35b6.
* Revert "add relative path to package.json"
This reverts commit 26a7b40e18.
* https package lock idk
* feat: add filter chart
* add relative path to package.json
* flexboxes all the way down
* dynamically generate groupby and datasource in select control
* big wip
* fix target column name
* no importing nonexistent things
* styles and name editing
* Add hook for retrieval of all filter states
* start with a new filter when clicking add filter
* handle removed filters gracefully
* fix incorrect default filter configuration
* add fields to useAllFilterState
* add redux for filterconfigs
* add support for native_filters
* remove consoles
* improve filter removal
* unbreak infinite loop
* basic sidebar toggling working!
* collapsing and menu working more smoothly
* linting
* make dataset and column inputs work
* save filter values properly
* add dashboard event for filter updates
* guarded
* apply filters properly
* fix schema
* making New Filter button a link
* gridunits ftw
* centering modal
* tis not a button anymore! nixing type.
* plus and collapse buttons instead of "more" menu
* updating full size filter icons
* adding icons to filter collapsing/expanding
* turning off animation, but leaving class-based animation css
* fix linting error
* fix native filters for legacy charts
* updates test
* no individual apply buttons
* fix bugs with filter config modal
* remove redundant code
* switch to the filter with validation errors on submit
* separate form validation
* switch config button from add to edit
* switch to the filter with validation errors on submit
* separate form validation
* switch config button from add to edit
* update tests
* oops forgot to add the fancy new useChangeEffect hook
* comments and code reorganization
* rename native_filters to extr_form_data and move hook
* disable native filters in viz selector
* add cascading
* implement new extra form data api
* cleanup
* updates tests
* bump npm packages
* fix bad merge on package.json + lock
* lint
* replace in and not in with uppercase
* lint
* lint
* lint
* lint
* bulk test fix
* Sort select input alphabetically
* Change type for sorting elements
* sleeker filter removal UX
* fix rest of unit tests
* make filter operators all uppercase
* Hide Filter bar when there are no filters
* Show edit button for dashboard owners only
* Add visible argument to filters toggle function to avoid future regression
* Improve Toggle filters bar function
* lint
* fix js lint + set createNewOnOpen
* Handle setting extra form data in Filter Bar instead of Filter Control
* Add Handle apply filter function to Apply button
* Allow applying changes instantly
* Fix types
* remove console logs
* fix package
* Add Error Boundary component to Filter bar and Filter Config Modal
* fix jest tests
* update native filters tests to pass
* reset cypress baseUrl
* remove unnecessary field
* Add Parent Filter input field to Config Modal
* Create Cascade Filter & display children filters
* Add Cascade Popover
* Display Filter value both in Filter Bar and in Cascade Popover
* Display the youngest filter value label in the Filter bar
* Add styles to Cascade Popover and filters
* Force to apply changes instantly for parent filters and refactor styles
* Show error for no cyclical hierarchy and refactor
* Add validation for parent filter to be applied instantly
* Add Error Boundary to Filter Config Modal
* cleanup: remove unused state fields
* move unrelated types to an appropriate location
* remove misplaced resource fetch error logic
* fix cascadeParentIds error
* fix cypress password
* initial attempt at fixing scope issue
* fix bad merge
* fix lint
* trying out makeApi for saving filters
* remove unused import
* fix test
* silence bad test
* Improve styling of Filter Config Modal
* Improve styles for whole native filters feature
* Add styles for active filter tab
* Fix text for scoping
* Clean up Filter Bar and Config Modal styles
* Remove fractional gridUnits. Change name for CheckboxFormItem. Add placeholder to Parent Filter select.
* Remove unnecessary button size for Config Modal
* add native-filter feat flag config
* oops fix here
* remove space
* Update superset-frontend/src/common/components/index.tsx
Co-authored-by: Evan Rusackas <evan@preset.io>
* Update superset-frontend/cypress-base/cypress/integration/dashboard/nativeFilters.test.ts
Co-authored-by: Evan Rusackas <evan@preset.io>
* Add Cache Wrapper helper to avoid datasets requests deduplication
* Add license to new Cache Wrapper helper
* Add Cache Wrapper tests
* Fix expanding Filter Bar
* use styledMount in tests
* comment
Co-authored-by: Evan Rusackas <evan@preset.io>
* Update superset-frontend/src/dashboard/components/nativeFilters/FilterBar.tsx
Co-authored-by: Evan Rusackas <evan@preset.io>
* Update superset-frontend/src/dashboard/components/nativeFilters/FilterConfigForm.tsx
Co-authored-by: Evan Rusackas <evan@preset.io>
* Update superset-frontend/src/dashboard/components/nativeFilters/FilterConfigModal.tsx
Co-authored-by: Evan Rusackas <evan@preset.io>
* Update superset-frontend/src/dashboard/components/nativeFilters/FilterConfigurationLink.tsx
Co-authored-by: Evan Rusackas <evan@preset.io>
* address PR feedback
* fix package lock
* null guards
* Fix charts resizing
* removing emotion/react and going old school on css animation
* fxing css glitch on scoping disclaimer
* src paths.
* using gridUnits
* nixing unnecessary diamonds
* linting
* fix type errors
* Inverting collapsed icons... closer to data src selector design
* restoring feature flag to proper default setting
* missing condition
* fix tests
* patching test
* just a button
* flaky tests
Co-authored-by: David Aaron Suddjian <aasuddjian@gmail.com>
Co-authored-by: Phillip Kelley-Dotson <pkelleydotson@yahoo.com>
Co-authored-by: Simcha Shats <simcha.shats@nielsen.com>
Co-authored-by: amitNielsen <amit.miran@nielsen.com>
Co-authored-by: Ville Brofeldt <ville.v.brofeldt@gmail.com>
Co-authored-by: David Aaron Suddjian <1858430+suddjian@users.noreply.github.com>
Co-authored-by: Agata Stawarz-Pastewska <agata.stawarz-pastewska@polidea.com>
Co-authored-by: Ville Brofeldt <33317356+villebro@users.noreply.github.com>
* wip: filter create modal
* add a feature flag
* automatic changes to package lock
* wip
* filter sidebar and basic state management
* move create button to the sidebar
* first step for edit filterconfig
* partially fix tests...
* edits to types and comments
* respect feature flag on the filter sidebar
* add filterconfig form
* get input state working
* feat: tree filter scopes UI
* fix: turn on flag
* sticky filter bar
* stop preferring default export
* feat: finish filter scoping
* fix: under toggle
* fix: title
* fix: add licence
* refactor: update TS
* fix: fix on reopen modal + validation
* new filter bar menu
* adding, but commenting out, bulk scoping action
* adding some placeholder buttons and styles therefor
* feat: add filter chart
* add relative path to package.json
* update modal
* a little input styling... just getting warmed up
* Revert "feat: add filter chart"
This reverts commit b1302d35b6.
* Revert "add relative path to package.json"
This reverts commit 26a7b40e18.
* https package lock idk
* feat: add filter chart
* add relative path to package.json
* flexboxes all the way down
* dynamically generate groupby and datasource in select control
* big wip
* fix target column name
* no importing nonexistent things
* styles and name editing
* Add hook for retrieval of all filter states
* start with a new filter when clicking add filter
* handle removed filters gracefully
* fix incorrect default filter configuration
* add fields to useAllFilterState
* add redux for filterconfigs
* add support for native_filters
* remove consoles
* improve filter removal
* unbreak infinite loop
* basic sidebar toggling working!
* collapsing and menu working more smoothly
* linting
* make dataset and column inputs work
* save filter values properly
* add dashboard event for filter updates
* guarded
* apply filters properly
* fix schema
* making New Filter button a link
* gridunits ftw
* centering modal
* tis not a button anymore! nixing type.
* plus and collapse buttons instead of "more" menu
* updating full size filter icons
* adding icons to filter collapsing/expanding
* turning off animation, but leaving class-based animation css
* fix linting error
* fix native filters for legacy charts
* updates test
* no individual apply buttons
* fix bugs with filter config modal
* remove redundant code
* switch to the filter with validation errors on submit
* separate form validation
* switch config button from add to edit
* update tests
* oops forgot to add the fancy new useChangeEffect hook
* comments and code reorganization
* rename native_filters to extr_form_data and move hook
* disable native filters in viz selector
* add cascading
* implement new extra form data api
* cleanup
* updates tests
* bump npm packages
* fix bad merge on package.json + lock
* lint
* replace in and not in with uppercase
* lint
* lint
* lint
* lint
* bulk test fix
* Sort select input alphabetically
* Change type for sorting elements
* fix rest of unit tests
* make filter operators all uppercase
* Hide Filter bar when there are no filters
* Show edit button for dashboard owners only
* Add visible argument to filters toggle function to avoid future regression
* Improve Toggle filters bar function
* lint
* fix js lint + set createNewOnOpen
* Handle setting extra form data in Filter Bar instead of Filter Control
* Add Handle apply filter function to Apply button
* Allow applying changes instantly
* Fix types
* remove console logs
* Add Error Boundary component to Filter bar and Filter Config Modal
* fix jest tests
* update native filters tests to pass
* reset cypress baseUrl
* remove unnecessary field
* cleanup: remove unused state fields
* move unrelated types to an appropriate location
* remove misplaced resource fetch error logic
* fix cascadeParentIds error
* fix cypress password
* initial attempt at fixing scope issue
* fix bad merge
* fix lint
* trying out makeApi for saving filters
* remove unused import
* fix test
* silence bad test
* add native-filter feat flag config
* oops fix here
* remove space
* Update superset-frontend/src/common/components/index.tsx
Co-authored-by: Evan Rusackas <evan@preset.io>
* Update superset-frontend/cypress-base/cypress/integration/dashboard/nativeFilters.test.ts
Co-authored-by: Evan Rusackas <evan@preset.io>
* use styledMount in tests
* comment
Co-authored-by: Evan Rusackas <evan@preset.io>
* Update superset-frontend/src/dashboard/components/nativeFilters/FilterBar.tsx
Co-authored-by: Evan Rusackas <evan@preset.io>
* Update superset-frontend/src/dashboard/components/nativeFilters/FilterConfigForm.tsx
Co-authored-by: Evan Rusackas <evan@preset.io>
* Update superset-frontend/src/dashboard/components/nativeFilters/FilterConfigModal.tsx
Co-authored-by: Evan Rusackas <evan@preset.io>
* Update superset-frontend/src/dashboard/components/nativeFilters/FilterConfigurationLink.tsx
Co-authored-by: Evan Rusackas <evan@preset.io>
* address PR feedback
* fix package lock
* null guards
* Fix charts resizing
* fix cypress tests
* add in nativefilters to form data
* fix lint and test
Co-authored-by: Phillip Kelley-Dotson <pkelleydotson@yahoo.com>
Co-authored-by: Simcha Shats <simcha.shats@nielsen.com>
Co-authored-by: amitNielsen <amit.miran@nielsen.com>
Co-authored-by: Ville Brofeldt <ville.v.brofeldt@gmail.com>
Co-authored-by: Evan Rusackas <evan@preset.io>
Co-authored-by: Agata Stawarz-Pastewska <agata.stawarz-pastewska@polidea.com>
Co-authored-by: Ville Brofeldt <33317356+villebro@users.noreply.github.com>
* Implement saved metrics
* Fix bug in sql editor
* Fix unit tests
* Fix outlines in popovers
* Add types for saved metrics
* Add translations
* Move savedMetricType to a separate file
* update to datsource tab
* second update
* style updates
* update style and fix metrics bug
* updates to datsource panel
* backgrounds and borders
* more updates
* shuffling some paddings around
* more updates
* moving some more paddings around!
* Fixing sidebar width
* using Global to adjust body layout
* update test and fix bug
* removing hotkeys
* layout fixes for short content, simplifying some class names
* more styles
* add tooltip to collapse and div clickable
* more updates
* more updates for styles and add list component
* update from comments
* vising cosmetic issue with line-wrapping drop down caret on controls sections
* controls area scrolling properly again.
* change lists to old list and updates from comments
* border radius from theme
* add length field and updates from comments
* more changes from comments
* integrate health with new control
* change callapse back from stylsheet more udpates
* substitution string
* more substitution strings
* fix tests
* datasource alignment
* taking margin off the search input
* update input to flex
* fix lint
* adjusting column/metric label stylng
* fixing scrollable area layout, one more color variable
* simplifying some styles
* nixing a bad left margin
* Using gridunit for padding
* using gridUnit for padding
* define types for datsource panel
* fixing a padding issue
Co-authored-by: Evan Rusackas <evan@preset.io>
* add latest tag action
* update documentation with latest tag info
* Python in docs doesn't need v3 reference
* add check that latest tag is truly a later version
* remove rc from acceptable tags
* move tag script to seperate file
* add a check that the tag exists
* Added migration for logs security converge
* Changed class permission name and method permission in LogModelView and LogRestApi
* Updated recent revision and filename
* Changed name of Log perm in manager. Updated TestRolePermission to have correct menu and permission.
* Updated latest migration revision
* Updated latest migration revision
* hover opens menus
* hover opens menus
* linting, removing some styles I added
* moving useState up (non-conditional)
* just a tweak to prevent a conflict.
* Use pull_request_target event to run cypress in order to access repo secrets
* Summary job for branch protection requirements
* Restore pull_request trigger
* Use merge base for e2e tests
* Restore push trigger for all branches
* Changed security permissions for annotations and annotation layers
* Updated permissions in annotation layers list
* Created test for retrieving premissions info. Updated uris from f-strings to strings
* Updated annotations in security_tests and added annotations to NEW_SECURITY_CONVERGE_VIEWS
* Added migration for annotations security converge
* Updated current revision after rebase master
* Updated migration name to annotations security converge
* Updated annotations permissions names in AnnotationLayersList and updated test since 'can_write' has wider permissions
* Updated annotations migration to current
* Migrate react-select to Antd select in Metrics popover
* Fix tests
* Migrate react-select to Antd select in Filters popover
* Migrate SelectControl to Antd Select
* Add label with number of options left
* feat: add hook for dataset health check
* add event log
* optimize datasource json data like certified data
* add unit test
* fix review comments
* extra code review comments
* Move ProgressBar to Antd
* Remove trailing space
* Fix linting issues
* Export enhanced Progress only
* Move existing antd Collapse to enhanced Collapse
* Move enhanced props up to Collapse only
* Add stories for enhanced Collapse
* Add 100% height for overflow
* Improve text light story
* Restored docs page on roles in security, executed other touchups, and renamed docs readme.txt to readme.md
* missed a url anchor on the security page
* fixed licensing issue and limited char width to 80
* fixed licensing issue and limited char width to 80
* whitespace experiments
* removed 2 periods
* staging whitespace
* addressed Robs feedback
* implemented robs second round of feedback on public_role_like
* Removes hard coded colors
Removes hard coded colors defined in src/components/styles.ts. The colors defined in this file were used only in the Select component so they were migrated to src/components/Select/styles.tsx and ajusted to conform to the theme colors.
* Use theme context for Select styles
* Includes Theme Provider in tests with Select
* Fix style for header
* flex
* Refactor
* Remove styled from import
* Change width of container
* Add tooltip and set fixed width of sidebar
* Fix lint
Co-authored-by: Victor Malai <victormalai@Victors-MacBook-Pro.local>
* fix: [chart]heatmap selecting metrics does not update the query results
fixes issue #11866
title's label is overriding metric label.
* Using custom label to decide label of metrics.
* lint
* Tests fixed
* early metric label check while saving from ui
* early custom label check
* removed extra space
* no state mutations
* simplify
* removed log
* nned to fix linting issue
* Lint fixed
* Added energy usage fixture. Updated dashboard utils and unicode fixture with new method parameters.
* Add energy fixture to tests/access_tests.py
* Add energy fixture to tests/core_tests.py
* Add energy fixture to tests/dashboard_tests.py
* Add energy fixture to tests/datasets/api_tests.py
* Add energy fixture to tests/db_engine_specs/base_engine_spec_tests.py
* Add energy fixture to tests/import_export_tests.py
* Add energy fixture to tests/model_tests.py
* Add energy fixture to tests/query_context_tests.py
* Add energy fixture to tests/security_tests.py
* Add energy fixture to tests/charts/api_tests.py
* Changed formatting of slices' parameters in energy usage fixture
* Removed loading energy udage data from test conf file
* Add energy fixture to tests/databases/api_tests.py
* Fixes after review: removed isort:skip, load_charts->load_energy_charts, removed unused import.
* Added energy fixture to tests/charts/commands_tests.py and retrieving proper Slice by name
* Fixed charts/api_tests.py to use energy_usage from fixtures
* Fixed datasets/commands_tests.py to retrieve dataset by name and use energy_usage fixture
* Changed energy usage data to generated data and fixed chart tests which was checking energy usage data
* upgrade redux and react-redux, adjust types
* first round of test fixes
* fix rest of unit tests
* lint
Co-authored-by: Phillip Kelley-Dotson <pkelleydotson@yahoo.com>
* fix(reports): expect more exceptions and fix validator config
* use a state pattern on command reports
* use a state pattern on command reports continue
* fix multiple heads
* fix unittests
* add more tests
* fix api tests after enum rename
* fix alembic multiple heads
* fix tests
* fix fixture cleanup
* fix mysql tests
* fix initial and not found state
* fix schema, and private public methods, addressing comments
* add new col to the API
There was this weird bug happening only when `SQLLAB_BACKEND_PERSISTENCE
= False` where if no database had been selected, there would be some
issue.
This makes sure that the store is populated consistently with the list
of database connections regardless of `SQLLAB_BACKEND_PERSISTENCE`. It
also uses the DAO to fetch database and will apply the RBAC-related
filters if any, the same way that the API does.
* create boiler modal component
* hello world modal
* setup modal flow
* setup savemodal for components
* flake8
* fix onclick reference
* working create datasource boiler
* saving spot for callback on text input
* working dataset with input box
* working redirect on completion
* get data for owners dropdown
* fix build with pull from master
* fix the filteroption
* 💯
* move state to upper component
* add overwrite state
* hacked overwrite process
* linting
* fix filter
* cleaning up the coe
* Delete preset.code-workspace
* remove unused code
* remove visualize
* update default value
* remove unneeded vars
* checkout package-lock.json
* linting
* get user id
* remove page filter
* setup proper call for updating columns in dataset
* add move to explore flow
* linting
* add param for overriding columns
* linting
* change title
* fix some tings
* cleanup
* linting
* add types in some places
* save toast
* use moment
* add error toast
* create enum for radio states
* initial state for saving query
* add tpying
* addressing concerns
* update propTypes
* add functionality for CTAS explor btn
* handle CTAS state
* fix onclick to reference upper level component
* formatting
* reset state after closing
* add error message when user doesn't pick an already selected dataset
* remove unneeded todo
* remove styling
* move async calls to api directory
* remove console.log
* add user id param
* typing
* littty
* move put to seperate file
* save
* dsf
* fix typing errors
* adding more types
* fix typing erros
* linting
* add basic spec test
* create dataset modal
* add components reference
* Rename SaveDatasetModal_spec.jsx to SaveDatasetModal_spec.tsx
* remove sinon for now
* fix typing errors on modal files
* fix linting
* address comments
* attempt to fix linting
* add props
* fix test
* fix the linting
* yerp
* fix this references
* spaces
* handleOverwriteCancel reference cleanup
* rename bool value for shouldOverwriteDataset
* fix typing for onChange
* you still the best in the world
* fix spec
* align branches
* push
* fix key names
* fix dataset reference
* lowercase
* fix save bug with tiem
* fixed styling
* fix date state after push to explore
* add disabling states
* plz refactor this
* this is working fully now
* do some renaming
* renaming
* remove console.logs
* still refactoring
* remove unneeded code
* remove unneeded variables
* still cleaning
* added interface
* fix typing issues
* cleanup unused code
* fix npm lnit
* fix initial problems
* add props to test
* remove unneeded files
* skip linting
* saving
* this works
* remove old test
* remove old test
* fix linting
* fix broken test
* remove jsx file
* refactoring
* cleanup
* remove comments
* reset user object
* fix functions
* fix this
* reverting CTAS btn flow
* remove onclick
* save frontend work
* allow for database id to be passed as param in body
* use enum
* fix linting
* style alignment
* get rid of .then
* add function to compute default value with tiem
* lit
* remove ts-error
* fix typing
* Upgrade react-split
* Implement split on ExploreChartPanel
* Implement tabs with collapse
* Fix run query button
* Fix copy to clipboard button
* Move table controls to separate file
* Make component more generic to handle samples
* Remove samples from DisplayQueryButton
* Move data tables to separate file
* Make split dynamically controlled
* Fix unit test
* Fix arrow not centered
* fixup! Fix arrow not centered
* Change copy button paddings
* Use translations
* Fix grammar in a comment
* Fix imports
* Use grid units
* Convert new files to typescript
* Fix after rebase
* Remove forceRender
* Fix big_number test
* Delay making request until panel is opened
* White background in south panel
* fixup! White background in south panel
* Lint fix
* Lint fix
* Remove redundant prop types
* Remove console log
* Delay loading samples until user switches tab
* Add debounce to filter input
* Use gridUnit for gutter sizes
* Change types object to Record<string, any>
* Support SET & SHOW commands as read only SQL commands
* Move is_readonly definition into the engine spec
* Rename & use super()
Co-authored-by: bogdan kyryliuk <bogdankyryliuk@dropbox.com>
* fix (dataset editor) add read-only mode for Source tab
* add feature flag, add unit tests
* rebase and fix comment
* add message for padlock
* move padlock to the bottom of tab
* Changed height of slices in dashboard into 100%-padding, so there is no scroll appearing anymore
* Added scroll to the block on dashboard, when filters are too high
* Applied lint
* Added possibility to not change dashboards connection when chart is changed
* Added two chart unit tests which checks if dashboards properly change on update
* Fix download as image not working on Dashboard view
* Fix menu not closing before making a screenshot
* Move hardcoded selectors to variables
* Fix linting issue
* Add comments
* Close menu before taking a screenshot on Explore view
* Use style.visibility instead of timeout to hide menu for screenshot
* Change const name to uppercase
* Move variable declarations to case
* feat(saved queries): security perm simplification
* migration script and frontend
* add downgrade procedure
* downgrade procedure, inferred from the upgrade data
* fix JS test
* improve code
* add tests for role migration
* more tests and a short description for each one
* Improve readability
* simplify dataclass creation
* fix dataclass
* fix: FEATURE_FLAGS[LISTVIEW_DEFAULT_CARD_VIEW] wrong keyword used by default
* the opposite change
* chore: rename comment as well
Co-authored-by: Amit Miran <47772523+amitNielsen@users.noreply.github.com>
* Fix creating new annotation layer and refactor AnnotationLayer component
* Refactor checking overrides keys in AnnotationLayer
* Fix adding and editing annotations. Refactor AnnotationLayer submit and remove functions
* Remove unused parent prop from AnnotationLayer
* Fix toggling annotation layer popover
* Revert extracting annotation props to nested object
* Clean up AnnotationLayer component
* Remove unnecessary import
* Use original name for identifying annotations in add/remove actions
* Change props order and rename removeAnnotation function
* Compare annotations by reference instead of name
* fix: delete chart or dashboards with assoc reports
* database constraint to reports and tests
* add tests for dashboards and database
* fix exceptions default text
* chore: improve analytics
* lint
* log more events, add note in UPDATING.md
* handling base class
* more events\!
* get ref through
* right before @expose
* fix context
* touchups
* feat(reports): scheduler and delivery system
* working version
* improvements and fix grace_period
* add tests and fix bugs
* fix report API test
* test MySQL test fail
* delete-orphans
* fix MySQL tests
* address comments
* lint
* Refactor tooltip in ColumnElement
* Refactor tooltip for Button
* Remove redundant import
* Refactor tooltip in SqlEditor
* Increase line height in tooltip so that the text is centered
* Refactor tooltip in Link
* Refactor tooltip in AdhocMetricEditPopoverTitle
* Refactor tooltip from ControlHeader
* Refactor tooltip in DateFilterControl
* Refactor tooltip in VizTypeControl
* fixup! Refactor tooltip in AdhocMetricEditPopoverTitle
* Refactor tooltip in QueryAndSaveBtns
* fixup! Refactor tooltip in DateFilterControl
* Refactor tooltip in CopyToClipboard, fix cursor pointer
* Refactor tooltip in TooltipWrapper
* Refactor tooltip in Field/DatasourceEditor
* Remove redundant import
* Fix typing for placement prop
* Decrease margin in ColumnElement divider
* Change default export to named
* Move SqlLab Tooltip styles to Emotion
* Fix tests
* Replace inline styles for SqlLab components using Emotion and Theme variables
* Replace styles classnames for SqlLab components using Emotion
* Remove unnecessary styles & round padding value
* controls.test supporting v1 charts and added force=true to url when refreshin chart with force an option
* Added verification for isCached
* added using global alias prefix
* fixed typescript error
* style: dark filter popover background
* Story to test and demonstrate the pitfalls of global styles
* nixing the story... not going to be reusing this anyway
* adding a class to isolate dark styles
* now supports all arrow directions
* placing at the bottom rather than bottom right
* adding colors, adjusting spacing
* linting
* chore: Text change Allow CSV/Excel Upload
today there are 2 ways of uploading data CSV or Excel
config on the database allow_csv_upload applies to both options
so the client facing text should also indicate that
* Allow Data Upload
* Enabled assertion on v1 chart request
* added missing code after rebase
* extracted alias logic to function
* modified v1 requests to contain form data, added assertion on ui elements using slice id from request
* Update @cypress/code-coverage to latest
* Set nyc reporter to html/text
* Revert dashboard list test changes from #11613
* Update codecov reporting to summary format
* Add json reporter for codecov.io
* Silence inline coverage reports
* feat: rename TABLE_NAMES_CACHE_CONFIG to DATA_CACHE_CONFIG
The corresponding cache will now also cache the query results.
* Slice use DATA_CACHE_CONFIG CACHE_DEFAULT_TIMEOUT
* Add test for default cache timeout
* rename FAR_FUTURE to ONE_YEAR_IN_SECS
* feat: new report schedule models
* lint and unique constraint
* support sqlite
* fix sqlite
* add audit mixin and minor fixes
* feat(api): alerts and reports REST API
* feat: new report schedule models
* lint and unique constraint
* support sqlite
* fix sqlite
* add audit mixin and minor fixes
* feat(api): alerts and reports REST API
* draft working version
* add tests
* test
* black
* remove copy pasta
* solve dashboard object representation being used on cache
* tests and custom filter
* fix PUT has PATCH on active field
* create feature flag
* fix lint
* address comments
Override manifest.json only when `npm run dev`, not `npm run
dev-server`. This allows developers to compare between the
current version of Superset with what they are working on
without switching back and forth between branches.
All they need to do is to first start the current version with
production build:
```
npm run build
superset run -p 8088
```
Then start the dev server in another window:
```
npm run dev-server
```
* enabled cypress test in filter file
* added delay to typing
* additional assertion and timeout
* Modified test logic - changed user's action to selection from list instead of typing (unstable with cypress)
* Refactor DisplayQueryButton into functional component and use react-table
* Refactor EstimateQueryCostButton to functional component
* Use react-table instead of reactable-arc
* Remove reactable-arc dependency
* Add margin for copy button
* Make search case insensitive
* Fix paste not working in Metrics and Filter inputs
* Use noOp instead of empty function
* Use default Select component instead of OnPasteSelect
* Revert onPaste override
* Remove MenuItem from CopyToClipboard
* Refactor DateFilterControl
* fixup! Remove MenuItem from CopyToClipboard
* Remove console log
* Refactor LanguagePicker
* Refactor HeaderActionsDropdown
* Remove dir with Menu component
* Add imports to common/components/index
* Fix after rebase
* Refactor Dialogs in dashboard properties modal
* Refactor Dialogs in explore properties modal
* Refactor dialogs in DatasourceModal
* Refactor dialogs in ExploreResultsButton
* Remove react-bootstrap-dialog from ExploreCtasResultsButton
* Remove react-bootstrap-dialog dependency
* Remove unnecessary functions from Modal
* Bump antd version to fix a bug
* Fix unit tests
* Fix e2e test
* Change antd version to 4.5.4 to fix tests
* Reenable all tests in control
* Another version bump to fix tests
* Add UUID to saved_query
* Reuse function from previous migration
* Point to new head
* feat: add backend to export saved queries using new format
* Rename ImportMixin to ImportExportMixin
* Create base class for exports
* Add saved queries as well
* Add constant, small fixes
* Fix wrong import
* Fix lint
* Add UUID to saved_query
* Reuse function from previous migration
* Point to new head
* feat: add backend to export saved queries using new format
* Rename ImportMixin to ImportExportMixin
* Fix spaces and comas not working in filter popover
* Fix popup not opening automatically
* Add e2e test
* Remove only from test
* Remove redundant test, add checking label content
* Add comments to e2e test
* Fix unit test
* Use destructuring
* Always open popup for functions and saved metrics, too
* Fix popover for adhoc metrics too
* Small refactor to consistency
* Refactor for consistency
* Remove redundant functions
* Test fix
Co-authored-by: Jesse Yang <jesse.yang@airbnb.com>
* Added exception for loading data without previous loaded test users.
* Changed general exception to NoDataException
* Changed import to absolute path
* feat: enable metadata sync for virtual tables
* add migration and check for empty schema name
* simplify request
* truncate trailing column attributes for MySQL
* add unit test
* use db_engine_spec func to truncate collation and charset
* Remove redundant migration
* add more tests
* address review comments and apply templating to query
* add todo for refactoring
* remove schema from tests
* check column datatype
* Fixed skipped cypress dashboard/controls.test.js and fixed MenuItem setting state to 'loading' while refreshing
* fixed wrong cypress command in test
* toggleSchedule
* cleaning up run query button
* removing unnecessary (subtle!) style overrides
* bulk action classname to button style prop
* nixing btn-primary
* nixing cancelQuery class
* togglesave
* nixing autocomplete class
* linting
* nixing button classes of 'ok' and 'reset'
* unoing diagnostic test
* begrudgingly adding an m-r-3 class... for now
* this is not a class to worry about
* test fixes for limit control
* updating TODO notes, calling it a day for now.
* gah... copy paste error.
* Export datasets as ZIP files
* Add logging when failing to parse extra
* Export datasets as ZIP files
* Export charts as Zip file
* Export dashboards as a Zip file
* Add logging
* use conditional operator for lookup
* editing dashboard title should update after save
* uncomment test
* fix json metadata save
* json metadata color scheme should overwrite state
* test's functionality is no longer applicable
* add lastModifiedTime to DashboardInfo
* Refactor TableLoader to use react-bootstrap
* Remove unnecessary css classes
* Fix import
* Fix styling for no data
* Refactor TableLoader into functional component
* Convert TableLoader to typescript
It appears that the logic that makes the dashboard selection sticky
in the 'Save Chart' modal (explore) was broken at some time.
While working on a dashboard, it's nice if this modal can remember the
dashboard selection.
* utilizing feature flag for html escapement
* use src alias
* Feature flag to allow hiding of HTML tags
* strips js attr
* better feature flag naming
* simplifying
* Adding comments to new feature flags
* shorter comment, because pylint,
* pedantic change to get black to format a file
* fix dataset editor for updating table_name and schema
* update test
* remove table_name from restrict list
* fix pylint
* fix cypress test
* fix test
* SO-1099 Parameterize some tests in alerts_tests.py
* Update alerts_tests.py
Remove commented out line
* Update alerts_tests.py
Reformatted using black
* Added fixtures for hidden and published dashboards. Added fixture to restore copied dashboard in dashboard tests. Changed number of dashboards in datasets/api_tests.py because copied dashboard is removed.
* Changed number of dashboards in database api tests after cleanup of dashboards in dashboards_tests
* docs: don't link to database engine pages
* making the linter happy
* updating database installation link
Co-authored-by: Evan Rusackas <evan@preset.io>
* Collapse alerting models into a single one
Fixing upgrade migration & tests
* Address feedback
Co-authored-by: bogdan kyryliuk <bogdankyryliuk@dropbox.com>
* Changed test_cache_logging to be idempotent and not depending on other data than tested one
* Changed cache uid to be depending on table, not datashource
* Removed depemdency to unicode example in tests config.
* Added common methods for creating dashboards for tests.
* Added fixtures to all tests which were using unicode example.
* Added cleanup for unicode_test table
* Removed unnecessary fixture parts of unicode dashboard tests
* Parametrized creating slice for tests
* Moved fixtures for unicode test to separate file and refactored to several methods. Added param types and return types.
* Cleandup after fix
* Changed variable names to more readable
* Added cleanup for dashboards and slices
* Applied unicode fixture to charts api tests
* Update schema variable to dtype in dashboard utils
Co-authored-by: Ville Brofeldt <33317356+villebro@users.noreply.github.com>
* Changed variable schema to dtype in dashboards. Replaced accessing first element with one_or_none
Co-authored-by: Ville Brofeldt <33317356+villebro@users.noreply.github.com>
* fix: docs/api won't render
fix: docs/api won't render
It's unclear to me exactly why, but docz is flimsy with the way
things are named and runs into odd collision and error messages.
Somehow renaming the route seem to help. Jut rolling with it after many
`gatsby clean`
* kill paths-ignore on github-actions
* trigger
* style(sqllab): make database errors more clear and render as monospace
In SQL Lab, when a database error message is returned, generally because
of a user error in the SQL, it's identified as an "Unexpected Error" and
some of the text formatting of the error message (\n, spaces, tabs, ...)
are lost as they are rendered in html.
This PR identifies the error as a "Database Error", and renders like
more like a <pre>, using a monospace font.
* fix the build
* addressing comments
* addressed comments
* lint + removing cruft
* addressing comments
* fix: enable consistent etag across workers
* Use CACHE_DEFAULT_TIMEOUT instead of 0
* Change timeout to 0 and set expires header even for no-cache
* Reduce number of if branches to appease Pylint
* Fix mypy error
* docs: typo
* docs: consistent two-line gap before sections in README
this is merely to touch something outside of docs/ to work around a CI
issue (comment in #11152), while not creating diff-noise only
* rescinding htaccess rewrite
* Changing License link title to make Apache happy
* Revert "rescinding htaccess rewrite"
This reverts commit 0ee153ef08.
* changing url in asf.yaml
* fix: alembic migration fails by deleting non existent constraint on tables
* Revert "fix: alembic migration fails by deleting non existent constraint on tables"
This reverts commit 3a359b0577.
* mantain migration but just for MySQL and add downgrade procedure
* skip the downgrade
Recently a change related to emotion styling not properly working through
react-bootstrap's popover broke the SpatialControl.
This PR makes SpatialControl use antd's equivalent, and addresses the
issue as a result: emotion's styling context is preserved through
this superior popover.
* Fix table existance validation function
* Drop left over table name index in mysql db
* Do not modify model
Co-authored-by: bogdan kyryliuk <bogdankyryliuk@dropbox.com>
* fix(api): unable to delete virtual dataset because of wrong permission name
* Still delete the dataset even when no permission was found
* migration script to fix possible existing faulty permissions on the db
* black
* fix db migration and one more test
* add more comments to the migration script
* freeze a partial schema of the model on the migration step
* fix mig script
* Update superset/migrations/versions/3fbbc6e8d654_fix_data_access_permissions_for_virtual_.py
Co-authored-by: Ville Brofeldt <33317356+villebro@users.noreply.github.com>
Co-authored-by: Ville Brofeldt <33317356+villebro@users.noreply.github.com>
* Add zeta.tech to list of companies using Apache Superset
Zeta.tech has been extensively using Apache Superset to power some of the enterprise products
* Add Zeta to list of companies using Apache Superset
At Zeta we have been using Apache Superset for over an year to power our enterprise product suite.
* Pylint rule: not necesary unused-import in extensions.py. Autofomatted
* Pylint rule: not necesary unused-import in jinja_context.py. Autofomatted
* Pylint rule: not necesary no-value-for-parameter in stats_logger.py. Autofomatted
* Pylint rule: not necesary no-member in viz.py
* Pylint rule: not necesary no-member in viz_sip38.py
* Updated pylint in cache.py in utils: unecessary bad-whitespace. Autoformatting
* Updated pylint in core.py in utils: E0202.
* Updated pylint in logging_configurator.py in utils: disable=no-member. Formatting
* Updated pylint in machine_auth.py in utils: unused-import
* Updated pylint in screenshots.py in utils: unused-import and import-error
* Updated pylint in webdriver.py in utils: unused-import
* Remove usages of reactable in AlteredSliceTag
* Fix tests
* Move mocked data to fixtures file
* Use optional chaining
* Remove default value, change a unit test logic
* Code review fixes
* style: improve default <Label>
* fix name-shifting icon
* adding some styles to remove the inner drop shadow from the 'more' button
Co-authored-by: Evan Rusackas <evan@preset.io>
* error -> error-solid
* warning -> warning-solid
* all the new icons mixed in!
* card-view -> card_view
* circle-check-solid -> circle_check_solid
* corrected circle-check to new name and correct (stroke) icon
* sort-asc/desc -> sort_asc/desc
* databases -> database
* compass -> nav_explore
* pencil -> edit-alt
* more pencil migrations
* easy list view rename
* star -> favorite (changed in Figma)
* removing deprecated icon
* renaming icon to mach figma
* More -> More Horiz
* forgot to change this when ranming the file
* updating some icon names in use
* adding hella icons
* fixing errant viewboxes
* removing dropdown-arrow in favor of triangle-down
* adding key to storybook map.
* fixing icon component reference
* tweaks to fave star styling to support revised icon
* fixing a bad icon inclusion
* missed a license
* touchup to virtual dataset... will tweak later.
* e2e fix
* linting
"primary" style buttons seem to expect a white background and really
look muted against the gray background. Using "tertiary" style button makes
things much better.
Eventually we may reconsider the layout and gray background and go back
to secondary, but for now this makes these important pop much more
* Enabled mssql
* Enabling pylint rules in `mysql.py` from `db_engine_specs`:
- added variable to shorten line and enable `line-too-long`
- `import-error` seems not prompting anymore
- specified exception instead broad-except
* Refactored too long line in `oracle.py` from `db_engine_specs`. Enabled too-long-line pylint rule.
* Changed fstring into string `pinot.py` to reenable `f-string-without-interpolation` rule.
* Enabled `unused-import` rule and changed line to adjust to correct number of characters in `db_engine_specs/postgres.py`.
* Enabled unused-import pylint check in `db_engine_specs/presto.py`
* Enabled unused-import pylint check in `db_engine_specs/snowflake.py`
* Enabled unused-import pylint check in `db_engine_specs/sqlite.py`
* Removed unused pylint rule `too-many-instance-attributes` from SqlaTable class.
* Removed unecessary rule: `bad-whitespace` from `get_sqla_query` method
* Disabling too-many-instance-attributes since it fails on CI
Fixed a couple of criticle errors and left the warnings as is (mostly
from react-hooks/exhaustive-deps).
Let's fix the warnings in future PRs as sometimes unexhaustive deps
are intentional.
* Athena.py: cretaed variable for too long line, removed disabled pylint rule.
* Enabled `line-too-long` in `drill.py`. Added variable for too long string.
* Reformatted hana.py:
- changed return statement into two lines to keep line lenght limit
* Enabling pylint rule in hive.py:
- `no-name-in-module` for pyhive in several places
- `line-too-long` and adding new lines
- `unused-import` is not invalid anymore
* Enabled `line-too-long` in `kylin.py`. Added variable for too long string.
* Enabled `unused_import` in `base.py` from db_engine_specs module.
* Enabled `unused_import` in `bigquery.py` from db_engine_specs module.
* Enabled `unused_import` in `druid.py` from db_engine_specs module.
* fix: athena datetime string converting
* feat(row-level-security): add filter type and group key
* simplify tests and add custom list widget
* address comments
* use enum value to ensure case sensitive value is used
* Updated `put` method in `datasets/api.py`:
- changed return statements in put method
- removed disabled pylint rule too-many-return-statements
- removed disabled pylint rule arguments-differ since arguments match
* Removed disabled pylint rule arguments-differ in `delete()` method since arguments match
* Removed global pylintrc rule: bad-continuation. Black repaired it.
* Enable global pylintrc rule: duplicate-code. It might help with providing clean code and future refactors.
* Removed global rule `dict-iter-method` since Python3 doesn't support methods: dict.iterkeys(), itervalues() or iteritems()
* Removing global disabler rule `invalid-unary-operand-type`, because all unary operators are used on objects which supports those operations
* Specified an exceptions in reading cache in `get_df_payload()` method
* Reverted change after review:
- added broad exception in `get_df_payload` method
* Refactored `put` method in dashboards/api.py:
- changed retun statements
- removed lint disabled rule
* `arguments-differ` disabled rule is not anymore valid - put argiments don't differ
* `delete()` method in dashboards/api has now same list of argiments:
- removing unecessary pylint check disabled
* `bulk_delete()` method in dashboards/api has now same list of argiments:
- removing unecessary pylint check disabled
* one simple redirect, as a test
* adding license to header
* painstakingly added SEO redirects!
* addressed feedback and ran lint-fix!
* lets try newline again!
* Revert "lets try newline again!"
This reverts commit 20f89bd23c.
* Revert "Revert "lets try newline again!""
This reverts commit e441edc54a.
* wait... there were TWO newlines?
Co-authored-by: Evan Rusackas <evan@preset.io>
* ignore docs on several actions, give docs its own action
* Random doc change to see if the new action runs.
* umm... not paths-ignore, paths!
* eof fix
* enabling typescript checking on docs
* Removed conflicting lint and isort check in model helpers seems it's not appearing anymore
* Removed disabled linting for accessing private method. `parent_foreign_key_mappings` becomes public because it is accessed by other instance than `self`.
* Updated model's helper - removed unecessary exception and replaced with check while accessing global context to reset ownerships.
* Updated model's helper - renamed unused attribute to private in user link method.
* Updated model's helper - added specific exception for adding extra json column. Removed disabled pylint rule.
* Applied changes after review to `models/helpers.py`:
- removed unecesary function's param rename
- added extra JSON content in exception
* Removed self.extra_json content from exception message.
* Updated common/query_context.py
- removed disabled pylint rule no-self-use from `df_metrics_to_num` since it has `@staticmethod`
- applied black on the file
* Removed disabled lint check `too-many-locals` in get_df_payload method. Applied black.
* Method `get_data()` has self param:
- removing # pylint: disable=no-self-use
- autoformatting
* Refactored put in charts/api.py to have less return statement. Removed pylint rule too-many-return-statements
* Refactored data() in charts/api.py to have less return statement. Removed pylint rule too-many-return-statements
* Pylint disabled arguments-differ check is not necessary anymore in put method
* Pylint disabled arguments-differ check is not necessary anymore in delete method
* Pylint disabled arguments-differ check is not necessary anymore in bulk_delete method. Applied black
* use svg for checkbox component
* add vertical align to svg
* use emotion styling
* update import to superset core
Co-authored-by: Elizabeth Thompson <elizabeth@preset.io>
* Update eslint version to 7.8.1
* Give names to unnamed functions to fix lint errors
* Update eslint-import-resolver-webpack
* Update eslint-plugin-cypress
* Add eslint-plugin-react-hooks
* Update necessary peer dependencies for eslint-config-airbnb
* Update eslint airbnb config and ts plugins
* Remove "this" from functional component
* Disable all rules that cause new errors
* Fix linting errors in tests
* Add licenses to .eslintrc files
* Add path and zlib to package.json
* Disable incompatible rule in eslint-plugin-cypress
* Remove redundant config for typescript linting
* Mark disabled rules with comments
* Remove path and zlib from deps, disable import rule for webpack files
* Remove old apache sphinx doc site with refreshed gatsby
* remove rando
* add licenses
* excluing .mdx files from license checks
* fixes
* Clean up sphinx references
* Addressed comments
* colors and tweaks
* more fixes
* add dummy docs/requirements.txt to satisfy stupid fossa
* cp .prettierrc
* more licenses
* minor touchups
* reqs
* removing old videos
* add github buttons
* prettier
* tweaks
* Eugenia/Fix some of the images and modified some of database pages
* add subheadernav
* add side headers nav and more responsive design for docs
* update resources page and other styling updates
* linting
* tweaks
* removing windows and align:center
* update resources
* remove links and and card hearder
* lots of styling tweaks
* Tweaks and minor improvements
* lint
* fix CI
* trigger pre-comimt
* rererefix CI
Co-authored-by: Maxime Beauchemin <maximebeauchemin@gmail.com>
Co-authored-by: Eugenia Moreno <eugenia@Eugenias-MBP.fios-router.home>
Co-authored-by: Evan Rusackas <evan@preset.io>
* feat: SavedQuery REST API for bulk delete
* fix, singular msg and test
* remove 403 from OpenAPI spec
* filter by current user using created_by add sql_tables field
* fixes for new filter, add user field on pre_update, pre_add
* add lru cache to property
* Revert "add lru cache to property"
This reverts commit ad0d9428
* test connection api on databases
* update test connection tests
* update database api test and open api description
* moved test connection to commands
* update error message
* fix isort
* fix mypy
* fix black
* fix mypy pre commit
* fix: ColorSchemeControl should not be CreatableSelect
Currently if you type to search in ColorSchemeControl it crashes the
whole page.
* Make it possible to filter by label
* Fix ColorSchemeControl unit test
* Fix: Include RLS filters for cache keys
This fix makes sure that RLS filters are searched for templatable jinja content, ensuring cached visualizations aren't shown to the wrong user.
* Fix: Include RLS filters for cache keys
This fix makes sure that RLS filters are searched for templatable jinja content, ensuring cached visualizations aren't shown to the wrong user.
Co-authored-by: Ville Brofeldt <33317356+villebro@users.noreply.github.com>
Co-authored-by: Ville Brofeldt <33317356+villebro@users.noreply.github.com>
* labels with onClick don't need .pointer. No labels need `m-r-5`
* making Timer a proper Label
* a little linting
* addresing (helpful, thanks) comment
* feat(database): POST, PUT, DELETE API endpoints
* post tests
* more tests
* lint
* lint
* debug ci
* fix test
* fix test
* fix test
* fix test
* fix test
* fix test
* cleanup
* handle db connection failures
* lint
* skip hive and presto for connection fail test
* fix typo
* Updated Docker local install instructions
Updated Docker local install instructions with more detail, structure, and additional info for Linus and Windows users.
* Updated with note on Windows environment
* Log cache keys to the logs
* Add tests
* Use separate table for the cache keys
* Add migration for the cache lookup table
Co-authored-by: bogdan kyryliuk <bogdankyryliuk@dropbox.com>
* fix execute oracle DML statement bug in sqllab
when i execute oracle sql statements like update in SQLLAB, get "oracle error: not a query" error.
Refer https://www.python.org/dev/peps/pep-0249/, superset old version use
`cursor.description` ,because this attribute will be None for operations that do not return rows or if the cursor has not had an operation invoked via the .execute*() method yet.
* Apply suggestions from code review
Co-authored-by: Ville Brofeldt <33317356+villebro@users.noreply.github.com>
* Update oracle.py
* Update oracle.py
* Update oracle.py
* Apply suggestions from code review
Co-authored-by: Ville Brofeldt <33317356+villebro@users.noreply.github.com>
* Update oracle.py
* Update superset/db_engine_specs/oracle.py
Co-authored-by: Ville Brofeldt <33317356+villebro@users.noreply.github.com>
Co-authored-by: Ville Brofeldt <33317356+villebro@users.noreply.github.com>
* getting rid of weird focus/active outline ring
* Buttons... buttons _everywhere_
* linting
* Nixing views/CRUD/dataset/Button component
* fixing 2 typing errors
* fixing more TS errors
* prefer src path for include
* one more real button, one less CSS class
* one more "button" to "Button"
* Published Status is now a proper clickable Label
* nixing the CRUD button again
* touching up stories, with SupersetButton story
* SIP-34 button colors
* adding polished package to mix colors
* updating button colors to match Superset theme
* abstracting away from bootstrap-specific props (might pivot libraries soon!)
* more abstraction from bsStyle/bsSize props
* exchanging styles for a prop
* linting
* restoring feature flag to stock
* using src alias
* last <button> replacement
* this classname would never be applied
* more linting action
* fixing unsupported bsSize 'medium', and cta typing error
* more cta action
* unnecessary styles
* errant bsSize prop
* cleanup
* tweaks to make new New button work
* Linting
* fixing a couple tests
* fixing theme based test failure
* margin tweak for NEW button
* another fixed test
* another fixed test
* fixing two more tests
* fixing last broken tests.
* always be linting
* Adding tertiary/dashed buttons
* cleaning up QueryAndSave buttons
* fixing "link" button styles
* fixing/updating link button styles
* cta buttons on Modal component
* linting.
* exporting button story knobs, making ALL knobs safe for export.
* capitalizing a file... no big whoop
* Basic button tests
* renaming button - temporarily
* renaming file to fix capitalization issue
* passing theme through to a difficult popover.
* fixin' a newly busted unit test
* lint fixin'
* oops, shouldn't have changed this prop!
* adding a dive() to themedShallow, and fixing a cypress/jest test
* addressing lint stuff
* touching up stories, with SupersetButton story
* SIP-34 button colors
* updating button colors to match Superset theme
* abstracting away from bootstrap-specific props (might pivot libraries soon!)
* linting
* restoring feature flag to stock
* cleanup
* Linting
* renaming button - temporarily
* renaming file to fix capitalization issue
* oops, shouldn't have changed this prop!
* adding a dive() to themedShallow, and fixing a cypress/jest test
* addressing lint stuff
* nixing new modal button
* Fixing another popover/button issue that should break cypress
* lint ✨
* passing classNames through to new button (should fix some tests)
* cleaning unused classes, making cypress tests use data attrs
* fixin' the test
* fixing another class-based test with data-test attr
* no longer passing theme as prop to buttons in popovers... themeprovider is better
* outline/border tweaks!
* fix: change public role like gamma procedure
* lint and updating UPDATING with breaking change
* fix updating text
* add test and support PUBLIC_ROLE_LIKE_GAMMA
* fix, cleanup tests
* fix, new test
* fix, public default
* Update superset/config.py
Co-authored-by: Ville Brofeldt <33317356+villebro@users.noreply.github.com>
* add simple public welcome page
Co-authored-by: Ville Brofeldt <33317356+villebro@users.noreply.github.com>
* style: shinier menus
* fixing mouseover glitch
* unused import
* rm emotion-reset
* restoring default config values
* lint fixes ✨
* a bit more pizzaz to the underlines (max's idea), fading active background
* simplifying navtitle -> label
* RBNavDropdown -> ReactBootstrapNavDropdown
* nixing whitespace
* replacing !importants with better selector specificity
* moving Menu LESS into Emotion
* no more border!
* fixing border issue
* language picker, account dropdown now use new dropdown component
* nixing whitespace in comment
* nixing duplicate styling
* removing borders on FAB navbar
* explicit font coloring
* linting
* moving two console errors to logger errors
* nixing unused map index
* nixing unused param
* linting
* changing an alert to a toast
* fixing tests
* lint fix
* one letter change, just to see if iti gets CI to pass this test.
* Niftier paddings
* upgrading storybook, fixing glob pattern
* moving a couple storybook dependencies to dev dependencies
* fixing annoying lint issue about dev dependencies needing to be dependencies
* adds essential addons, fixes backgrounds
* newline tweaks
* comment about no-extraneous-dependencies, higher specificity on that rule, other linting stuff
* a *python* linter doesn't like this whitespace?!
* putting the linespace back
* ugh, found the space causing CI issues... I think
* allow tests in jest confg
* sample stories for Label component
* passing tests
* stories to tsx!
* excluding knobs exports from published stories
* ts fix
* ts fix
* Label test to TS
* explicitly ignoring test files in webpack bundling
* linting stuff
* adding comment about test file exclusions
* colors corrected, hover/cursory only change if there's an onClick
* adding info label, breaking gallery out to its own story
* linting
* fixing bad class name
* now with fading!
* now supporting additional (non-bootstrap) label styles
* adding new secondary/primary labels to gallery
* fixing map key react warning
* using the new secondary label in the ChartList view
* linting
* fixing TS issue
* fix: removing unsupported modal sizes
* linting!
* NOT specifying bsSize seems to have the same effect as (unsupported) "medium"
* supporting 'large' and 'small' over 'lg' and 'sm'
* fixing last-of-type specificity
* Simplifying/consolidating styles
* fixing filterbox in explore
* linting
* adding some px to font sizes
* fixing in-dash overflow
* removing px for one special fontsize case
* simplifying, addressing comments
* widen the autocomplete menu for table names
* display the full table name in a tooltip
* license
* Update superset-frontend/src/SqlLab/components/AceEditorWrapper/index.tsx
Co-authored-by: Evan Rusackas <evan@preset.io>
* src importing
* move autocomplete width css to main.less
* use html title attribute instead of tooltip
Co-authored-by: Evan Rusackas <evan@preset.io>
* Updating Dockerfile to work with updated python requirements.
* Adding a Docker build step to CI workflow
* Trying docker build-push
* Linting Dockerfile-dev
* Switching to dev dockerfile
* Update and refresh Index
Update and refresh index with additional links to community resources, new links to `Databases' section directly to parts of the tutorial that talk about that database, connect, align Superset topline features with same language as in GitHub
* Added link to Superset users
* Update with relative links
* Add link to docs repo
Add link to docs repo on the homepage to encourage easy access for community contribution.
* Update index.rst
* chore: TypeScript <Label />
* rebase
* chore: TypeScript <Label />
* rebase
* A bunch o' test fixes. One more to go!
* helper for mountying Emotional components with Enzyme
* asf license
* fixed last test, some linting
* improve the storybook
* Adressing comments
Co-authored-by: Evan Rusackas <evan@preset.io>
* Add presto to the CI
Sample test data
Datetime conversion
Sample test data
Fix tests
* TODO to switch to timestamps
* Address feedback
* Update requirements
* Add TODOs
Co-authored-by: bogdan kyryliuk <bogdankyryliuk@dropbox.com>
* fix: show label for filters in filter box in explore
* test: add test for label in filter box
* test: add test / fix lint
* fix: fix CR notes
* refactor: add label propType to FilterBoxItemControl.jsx
* chore: Adding pip-compile-multi et al
* Specify requirements.txt path for fossa
* [ci] Fixing CI
Co-authored-by: John Bodley <john.bodley@airbnb.com>
Co-authored-by: Jesse Yang <jesse.yang@airbnb.com>
* made screenshot timeout configurable
* added default value to config and refractored use
* black
* updated config comment
* moves config variables to thumbnail section
Co-authored-by: Jason Davis <@dropbox.com>
* added sql statement and link to chart in alert email
* pylint
* updated email to include link to alert
* style changes
* pylint
* added todo and fixed formatting of email
Co-authored-by: Jason Davis <@dropbox.com>
* refractored alerting to not pass sqlalchemy obj as args
* updated to pass only alert id as arg
* used object id instead of argument
* updated alerts_tests.py to reflect change
Co-authored-by: Jason Davis <@dropbox.com>
* feat: improve filter control tooltips
* add styles
* break out utils into own file
* lint
* add tests
* styled component now working
* lint
* add license headers
* replace shallow with mount due to withTheme
Co-authored-by: Evan Rusackas <evan@preset.io>
* fix(log): log crashes if expired or not authenticated
* fix lint and rison
* add tests
* more tests
* perm fix
* fix test not found
* JS lint
* fix Jest test
* implemented updates to alerting
* fixed imports and teardown
* changed unittest to pytest conventions
* add app_context to tests
Co-authored-by: Jason Davis <@dropbox.com>
* migrated LanguagePicker.jsx to tsx
* Migrated Menu.jsx to tsx
* migrated MenuObject.jsx to tsx
* migrated NewMenu.jsx to tsx
* Migrated UserMenu.jsx to tsx
* removed unnecessary export from UserMenu
* added language definition in LanguagePicker
* removed unnecessary exports from Menu.tsx
* used typeof guard for childs
* changed LanguageProps to Languages
* removed unnecessary type casting
* fixed linting errors
* fix(permissions): alpha role is inconsistent
* reverse and allow Alpha to access manager menu
* Bump FAB to 3.0.1rc1 to include del permission fix
* add docs, tests and UPDATING
* EOL
* Fix query view for Alpha
* style: SIP-34 labels
Aligning with SIP-34 designs for labels/pills. Going uppercase fixes the
padding issues we had before, and the rounder pills look better.
Cleaning up some CSS in the process
* lint
* chore: wiring ControlLabel to a new FormLabel
Creating new simple <FormLabel /> component and wiring all <label>
and react-bootstrap.ControlLabel towards it.
FormLabel becomes a pivotal point that can be altered to point to AntD
when we're ready.
* lint
* ViewportControl
* addressing comments
* feat: SIP-34 explore save modal
* using a const for the session storage key
* backend changes
* minor tweaks
* more tweaks
* radio cosmetics
* styles
* fix tests
* CreatableSelect\!
* Fix cypress & lint
* fix unit
* lint
* Storybook added!
* starting to configure junk....
* Storybook works!!!
* Now with theme!
* apache boilerplate
* more apache comments
* lots o' knobs for the Button.... taking stock of the codebase
* more classes, but killing the knob for now.
* nixing unused module
* linting
* fresh package-lock
* now with tooltip!
* adding path and zlip because the linter told me to
* upgrading storybook packages from devdeps
* linting
* removing cruft
* killing an annoying (and old?) lint issue
* lint fix, take 2.
* removing zlib/path
* package lock reset from master
* re-adding new packages for this here PR
* nixing console log, simplifying
* nixing comment TODOs (done enough!)
* basic docs.
* fix: extra filters
* fix old test and add new test
* add test for null filter value
* leave lowercase until all operators are fully uppercased
* bump packages
* rename test
The Slack community guidelines are kind of wordy and best belong as part
of our code of conduct.
Let's make `README.md` super streamlined, and link out to resources like
this one.
* fix: API marshmallow3 drop utc for naive datetime fields
* fix: API marshmallow3 drop utc for naive datetime fields
* fix, tests
* isort and test
* black
* add and fix test
* fix comment
Also moving 2 bash scripts to the scripts/ folder.
This is part of a series of commit cleanup up the main page on GitHub,
mostly focused on the content of the README, but might as well groom the
root folder a bit
I'm working on a talk for the Airflow Summit
"Advanced Apache Superset for Data Engineers" and showing the "Schedule
Query" feature that Beto contributed a while back (behind a feature flag).
I found that the glyphicons used in `react-json-schema` are broken and
came up with an easy fix.
Also other minor tweaks on the feature.
* fix(chart-data-api): case insensitive evaluation of filter op
* fix(chart-data-api): case insensitive evaluation of filter op
* mypy
* remove print statement
* add test
* Create INTHEWILD.md
Create INTHEWILD.md to: 1. collect all Superset users into a single document and shorten README to make it more usable; 2. Categorize users into broad industry categories, which makes the document more useful as a reference for new users looking for industry peers and best practices (e.g. healthcare industry has unique needs and use cases); 3. removed some companies, whose website is inaccessible or defunct.
* Update INTHEWILD.md
* Update INTHEWILD.md
* Update README.md
* Update INTHEWILD.md
* Update INTHEWILD.md
* Update README.md
* [WIP] Typeahead dashboard filter_box
* Make it work
* add config option for async filter_box
* enable for > 1000 options only
Co-authored-by: Jesse Yang <jesse.yang@airbnb.com>
* feat(api): bump marshmallow and FAB to version 3
* revert query context tests changes
* obey mypy
* fix tests
* ignore types that collide with marshmallow
* preparing for RC2
* fix tests for marshmallow 3
* typing fixes for marshmallow
* fix tests and black
* fix tests
* bump to RC3 and lint
* Test RC4
* Final 3.0.0
* Address comments, fix tests, better naming, docs
* fix test
* couple of fixes, addressing comments
* bumping marshmallow
* out with the old, in with the new
* vertically centering logo once and for all
* lint: black instead of IDE formating
* touch config.py
* Styles -> StyledHeader
* nixing vestigial SVG
* removing trademark
Co-authored-by: Maxime Beauchemin <maximebeauchemin@gmail.com>
* Support more table properties for the hive upload
Refactor
Add tests, and refactor them to be pytest friendly
Use lowercase table names
Ignore isort
* Use sql params
Co-authored-by: bogdan kyryliuk <bogdankyryliuk@dropbox.com>
* feat: add support for alerts
* Add ModelViews
* First pass at adding scheduled Alert support
* Fix syntax errors
* Add log_retention and database to model
* Improving screenshots
* Still refactoring screenshots
* Pass down thumb_size properly
* Progress on screenshot endpoint
* Add alerts.last_eval_dttm and alert query logic
* Getting ready to split compute_screenshot and screenshot/{SHA}
* split the endpoints
* Improving alerting loop
* empty methods
* Add CLI command 'superset alert' that runs a sched loop
* Getting things to work
* email delivery
* A working email\!
* Add feature flag
* Add some description_columns to AlertModelView
* Little tweaks
* Use database.get_df, eval cells for truthiness
* Migrate thumbnail/screenshot functions to use new arg pattern
* Addressing PR feedback
* Update alerts DB migration down_revision
* Resolve _deliver_email arg conflict
* Make mypy happy
* Make isort happy
* Make pylint happy
Co-authored-by: Rob DiCiuccio <rob.diciuccio@gmail.com>
* feat: add database dropdown to dashboard import
Currently, when importing a database from a JSON file, the process
looks at the database name from the source (the info is in the file)
and matches the datasources to that name. If no database by that name
exists, it simply fails.
With this PR, we add a database dropdown that allows the user to specify
which databases the datasources should target as the get upserted.
I want to stress that the code in this area is not in a great shape,
and that the challenge of serializing/deser the nested objects is
challenging, but that there should be a much better way to do this.
One of the improvement (out of scope for this PR) that would allow to
simplify those import/export would be to use UUIDs for
importable/exportable objects.
Another identified issue is the indirections between
`utils/import_expor_{model}.py` on top of `{Model}.import_object`. Not
addressing that here.
Next topic is the MVC stuff. Decided to stick with it for now as this is
more of a [obious missing feat:] than a rewrite.
* isort \!? 0%^$%Y$&?%$^?%0^?
* fix tests
* pre-committing to py3.6
* address dpgaspar's comments
* revert isort
* Switch from nosetest to pytest
Fix schedule tests
Collect pytest coverage
Move pytest config into pytest.ini
Move cov to the pytest.ini
* Append coverage for the 2nd run
* Add coverage to all commands
* Coverage only for tests
* Get coverage from 1 place
* Rename classes to be pytest compatible
* Test coverage for examples and tests
* Max diff to -1
* Explain how to run pytest for the whole project
* Do not append code coverage for the main run
* Do not run coverage on examples
Co-authored-by: bogdan kyryliuk <bogdankyryliuk@dropbox.com>
* fix: make auth for hive optional
This will make allow the admin to setup a root connection which can be impersonated.
* style: black lint conform
* style: clean up unnecessary condition expansion
* Re-enable lint on 5 files
* revert something questionable
* Address PR feedback
* One more PR comment...
* black?
* Update code wrapping
* Disable bugged check
* Add a disable for a failure that's only showing up in CI.
* Fix bad refactor
* A little more lint fixing, bug fixing
* feat: Add new timegrains and convert_dttm to Druid engine spec
* Add TemporalType enum and fix test case
* Remove DATETIME for athena (original spec)
* Fix lint for 2 files: connectors/druid/views.py and utils/dashboard_import_export.py
* Re-enable lint for superset/views/core.py
* Turns out that endpoint needs the argument even through the function doesn't call it
* Turns out FAB doesn't play nicely with @staticmethod
* Black
* Somehow I got some branch leakage
* Minor lint fix
* Remove unused import.
* fix: reordering DOM output, simplifying styles, Emotionalizing
* simplification
* converting RefreshChartOverlay to TS
* Loading -> TS, stripping unused size prop
* simplification...
* just letting "position" prop act as a class name. Simpler!
* consolidating styles, changing a className prop to a position prop.
* nixing (unused) classname prop
* replacing inline loading img with the proper Loading component
* BY THERE.
* position prop is optional!
* chore: Bump sqlalchemy-utils and cachelib and refresh requirements.txt
* undeprecate EncryptedType
* black
* reference correct class
Co-authored-by: Maxime Beauchemin <maximebeauchemin@gmail.com>
* Add multiple table filters for Row Level Security
* Set ENABLE_ROW_LEVEL_SECURITY back to False (default)
* Merge DB migrations
* Drop table_id column and foreign key on PostgreSQL, MySQL, SQLite
* Support db records migration also
* Support downgrading from the new-fashioned formatted records
* Straighten up migrations
* Update migration's down_revision to comply master branch
Glyphicons stopped working recently, not sure why, but let's get rid of
them and double down on font-awesome that we use a lot more in the
codebase. There's only a few instances of glyphicons and they all are
broken ATM.
Also a few other minor style tweaks
* Bump pylint version to 2.5.3
* Add a global disable for the most common new pylint error
* Fix a bunch of files containing very few errors
* More pylint tweakage, low-hanging fruit
* More easy stuff...
* Fix more erroring files
* Fix the last couple of errors, clean pylint!
* Black
* Fix mypy issue in connectors/druid/models.py
* Implement table mutator and examples how to set date defaults
Fix tests
* Fix flaky test
Co-authored-by: bogdan kyryliuk <bogdankyryliuk@dropbox.com>
* Remove unreferenced function from views/core.py
* Remove excess constants from views/core.py
* Extract CssTemplate-related views to their own file from core.py
* Remove duplicate constant declaration and make the constant less racist
* Move free-floating functions in views/core.py to views/utils.py
* Move AccessRequestsModelView out of views/core.py into its own module
* Move health checks and KV ModelView out of core.py and into their own modules
* Move R model view to its own module
* Move after-request header setting to views/base.py from views/core.py
* black
* mypy
* isort
* Fix reference to imported app
* pylint
* Fix some imports
* Add some missing view imports
* Fix a missing import
* First draft for the slack integration
Fix slack
another typo
another typo
Fix slack
Add channels to the form
another typo
Another set of changes
Make code more transparent
Fix tests
Add logging
logging
use logger
import logging
import logging
import logging
add assert
more logging
Fix channels
Fix channels
* Address comments
* Move slack into a separate module
Co-authored-by: bogdan kyryliuk <bogdankyryliuk@dropbox.com>
* remove word cloud from viz.py
* Fix Run in SQL Lab
* remove deprecated python tests
* break out legacy endpoint type into function
* Break out exploreChart from exportChart and implement results type
* Fix jest tests and refactor accordingly
* lint
* Rename v1 payload function
* Add dashboard id to v1 chart data request url params
* Add support for domain sharding to v1 chart data request
* feat: make CRUD annotations inline
This makes the annotations inline of the "annotation layers". Originally
they were setup as separate ModelViews because of a bug in FAB.
* fix pylint
* refactor(frontend): move utils to typescript (#9101)
* refactor(frontend): don't export interfaces
* test(frontend): update types and test for isValidChild
* bumping style package (now with typography styles!)
* ThemeProvider ALL the things!
* package lock
* linting
* no need to parseInt here anymore, the values are numeric now.
* Removing the logic to add timeseries_limit_metric to the data for table viz
* Also make the change in viz_sip_38
* Fix tests
Co-authored-by: michelle_thomas <michelle.thomas@airbnb.com>
* feat: upgrade react-select v1.3.0 to v3.1.0
Upgrade `react-select`, replace `react-virtualized-select` with a custom
solution implemented with `react-window`.
Future plans include deprecate `react-virtualized` used in other places, too.
Migrate all react-select related components to `src/Components/Select`.
* Fix new list view
* Fix tests
* Address PR comments
* Fix a flacky Cypress test
* Adjust styles for Select in CRUD ListView
* Fix loadOptions for owners select in chart PropertiesModal
TODO: add typing support for AsyncSelect props.
* Address PR comments; allow isMulti in SelectControl, too
* Clean up NaN in table filter values
* Fix flacky test
* feat: bump superset-ui/time-format and big-number
This is for adding full dates to big number datetime formatted
by weekly interval.
* Bump time-format to v0.13.15
to bring in https://github.com/apache-superset/superset-ui/pull/493
* feat(frontend): add ability to export dashboard and chart as image (#6973)
* refactor: migrate download image as to typescript
* feature(frontend): download as image updates
add toast message if error occurs.
make generate file stem an internal method.
* refactor(frontend): move default background color to a const
* feat(frontend): wrap download image toast in translate function
* FilteBox: handle empty results (second attempt)
This change was originally attempted in #9671 but reverted
since it broke FilterBox charts with only a time selector.
After some tests I reworked the patch to avoid returning None,
but instead returning an empty list for each col/selector with
an empty dataframe associated. This allows to see all the selectors
without any breakage.
* BigNumberViz: avoid user facing errors when the dataframe is empty
* WorldMapViz: avoid user facing errors when the dataframe is empty
* fix: invalid JSON in FR translation
* fix: broken or misformatted translations and add unit test for JSON validty
* Move translation lint test to CI task
* chore: bump pyhton dependencies
* bump flask-testing
* Add note to UPDATING and bump flask-testing in requirements-dev.txt
* fix old sqlparse test case that is fixed with sqlparse==0.3.1
* Fix migration and sqlparse set test
* downgrade alembic
* Downgrade sqlalchemy-utils
* pin sqlalchemy-utils due to regression in 0.36.5
* Refine comment in setup.py
* make cachelib an explicit requirement
Sets up [PRLint](https://github.com/apps/prlint), with a single rule
matching [Conventional
Commits](https://www.conventionalcommits.org/en/v1.0.0/)
Also modifying the PR template to remove redundant annoying checkbox
section.
Once we adopt, I'm hoping we can modify our bot to auto-label based on
the commit type.
* calling new chart api (mostly working)
* can't .then when the promise has already been await-ed
* Add handling for v1 API response
* comment
* update word cloud plugin & dependencies
* testing
* try just waiting
* Revert "try just waiting"
This reverts commit 10c092effd.
* tweaking bootstrap types
* Bumping word cloud package version
* new package lock
Co-authored-by: Ville Brofeldt <ville.v.brofeldt@gmail.com>
Co-authored-by: Evan Rusackas <evan@preset.io>
Searching for 'equ' in AdhocFilter's operator dropdown doesn't find the
options who's label contain that substring.
I'd write a unit test but it's pretty tricky.
* Expose additional APP_ICON_WIDTH python config variable to ui via app bootstrap for use in Menu
* Update base.py to inclue APP_ICON_WIDTH via bracket notation instead of .get and adjust Menu proptypes to be required.
Co-authored-by: Natalie Ruhe <nruhe@nruhe.attlocal.net>
Co-authored-by: Natalie Ruhe <natalie@preset.io>
* improve history for query params
* fix: push browser history on pagination in react listviews
* fix spec
Co-authored-by: Tai Dupree <tdupreetan@gmail.com>
* Make all fields optional in QueryObject and fix having_druid schema
* fix: datasource type sql to table
* lint
* Add missing fields
* Refactor tests
* Linting
* Refactor query context fixtures
* Add typing to test func
* improve helm chart
* add Apache license headers
* fix: suburst chart when secondary metric is defined (#9343)
* refactor: remove settooltip (#9332)
* [config] Fixing GET_FEATURE_FLAGS_FUNC example (#9339)
* [config] Fixing GET_FEATURE_FLAGS_FUNC example
* Adding typing for GET_FEATURE_FLAGS_FUNC
* Update config.py
* feat: [SQLLAB] add checkbox to control autocomplete (#9338)
* [SQLLAB] add checkbox to control autocomplete
* autocomplete -> autocompleteEnabled
* fix defaultProps
* fix spec
* Cal heatmap controls migration (#9355)
* controls migrated
* linting
* migrating unique EventFlow controls (#9358)
* migrating unique controls
* Lint ✨
* Treemap controls migration (#9352)
* Treemap
* linting
* feat: [explore] don't save filters inherited from a dashboard (#9340)
* feat: [explore] don't save filters inherited from a dashboard
When navigating to explore from a dashboard context, the current
dashboard filter(s) are passed along to explore so that the context is
kept. So say you're filtering on "country=Romania", in your dashboard
and pivot to explore, that filter is still there and keep on exploring.
Now a common issue is that you'll want to make some tweak to your chart
that are unrelated to the filter, say toggling the legend off for
instance, and then save it. Now you back to your dashboard and even
though you started with an "all countries" dashboard, with a global
filter on country, now that one chart is stuck on "Romania". Typically
you notice this when filtering on something else, say "Italy" and then
that one chart now has two mutually exclusive filters, and show "No data".
Now, the fix is to flag the filter as "extra" (that's the not-so-good internal
name we use for these inherited filters) and make it clear that that
specific filter is special and won't be saved when saving the chart.
* fix build
* [charts] Refactor API using SIP-35 (#9329)
* [charts] Refactor charts API using SIP-35
* [charts] Fix, copy pasta
* [charts] simplify
* Add global install of webpack and webpack-cli to docker-compose (#9310)
* [dataset] columns and metrics API (nested) (#9268)
* [dataset] columns and metrics API (nested)
* [dataset] tests and validation
* [datasets] Fix, revert list field name to database_name
* Adding requirements-local.txt support (#9357)
* Adding requirements-local.txt support
* Reverting package-lock.json
* Migrate unique Heatmap controls (#9360)
* Migrate Heatmap controls
* Lint
* fix: don't parseFloat when the *already numeric* value ends in a decimal point (#9351)
* [sip-15] Fixing typo in docstring (#9377)
* [explore view] fix long query issue from Run in SQL LAB Button (#9345)
* [explore view] fix long query issue from Run in SQL LAB Button
* SQL Lab page needs to take the post form data, too
* fix variable names
* updated payload dict, rename hidden form
Co-authored-by: Jesse Yang <jesse.yang@airbnb.com>
* fix a typo in set prop value (#9383)
* Migrating unique DirectedForce controls (#9359)
* migrating controls
* Linting ✨
* oops... meant to pull this out in a conflict resolution.
* Update MANIFEST.in (#9261)
Include superset-frontent/package.json in package because setup.py requires it
* fix: [dashboard] add row padding (#9381)
* Removing WordCloud controls from CONTRIBUTING.md (#9391)
* [dashboard] handle markdown error (#9350)
* [dashboard] handle markdown error
* localize error message, fix review comments.
* [cache] Cleaning up viz/cache logic (#9375)
Co-authored-by: John Bodley <john.bodley@airbnb.com>
* migrating controls 🎛 (#9386)
* Migrating unique Table controls (#9388)
* Migrating unique BoxPlot controls (#9392)
* upgrade to react-bootstrap v0.33.1 (#9372)
* upgrade to react-bootstrap v0.33.1
* fix test
* simplify proptypes
Co-Authored-By: Evan Rusackas <evan@preset.io>
* simplify more proptypes
Co-Authored-By: Evan Rusackas <evan@preset.io>
Co-authored-by: Evan Rusackas <evan@preset.io>
* migrating unique controls (#9374)
* Migrating horizon controls (#9368)
* migrating unique controls
* linting ✨
* build: use manifest hooks for dev server proxy and fix hot reload for charts (#9333)
* Use manifest hooks for dev server proxy
* Rewrite dashboard/App.jsx to supress Redux error in hot reload
* Update ChartRenderer to allow hot realod in Explore
* Fix hot reload in dashboars as well
* Revert changes to ChartRenderer.jsx
Will submit in another PR.
* Clean up
* migrating controls (#9373)
* [dataset] New, export API endpoint (#9367)
* [dataset] New, export API endpoint
* Fix, lint
* [charts] New, bulk delete API endpoint (#9387)
* [charts] New, bulk delete API endpoint
* [charts] Fix, typos
* [charts] Fix wrong model name
* [sip-15] fix messaging (#9397)
* Mirgrating unique Partition chart controls (#9385)
* mirgrating controls
* specific import
* feat: add SSL certificate validation for Druid (#9396)
* feat: add SSL certificate feature
* Address comments
* don't mutate extras
* Address comments and add polish
* Add further polish
* [fix] Fixing cache key inconsistencies (#9382)
Co-authored-by: John Bodley <john.bodley@airbnb.com>
* add initjob conf + secret
* [dependency] Fix, Bump FAB to 2.3.1 (#9413)
* [mypy] Enforcing typing for charts (#9411)
Co-authored-by: John Bodley <john.bodley@airbnb.com>
* add missing headers
* [dashboards] Fix, API update slug uniqueness refusing empty string (#9417)
* [dashboards] Fix, API update slug uniqueness refusing empty string
* [dashboards] tests
* Build: fix hot reload for charts (#9400)
* Fix hot reload for charts
* Override tsc options for plugins
Plugins will sometimes have their own `tsconfig.json`, which will
interfere with the dev server config if configured inappropriately.
This change makes sure `tsc` (and `ts-loader`) always compiles to
`esnext` modules, so we don't get "Uncaught ReferenceError: exports
is not defined" error.
* [fix] allow force refresh for No Results chart (#9408)
* [fix] dashboard filter indicator no showing single number value (#9401)
* fix pagination for list views (#9425)
* feat(visualization): add timeRangeFixed to Big Number w/ Trendlines (#9341)
* feat: add timeRangeFixed and increase font size for Big Number chart
* Update package-lock.json
* [fix]some translation not work better (#9428)
* Add check for SSL certificate and add form validators (#9436)
* Add check for server_cert falsy and add form validators
* Address comments
* migrating unique controls (#9446)
* Enforcing linting of LESS (#9356)
* linting some LESS
* enforce linting
* moving font binaries out of stylesheets to fonts folder.
* renaming font specimen sheet directory.
* Migrating unique bigNumber(total) controls (#9440)
* migrating options controls
* lint ✨
* baby steps...
* shared BigNumber controls file
* capitalization matters
* Migrating unique NVD3 viz controls (#9445)
* donut control
* labels outside
* linting
* x_log_scale, pie_label_type
* linting
* line_charts, line_charts_2
* marker_labels
* marker_line_labels, marker_lines, markers
* prefix_metric_with_slice_name, range_labels, ranges
* stacked_style
* Revert "stacked_style"
This reverts commit aae2d418b8f1950fbe32248b62e50a12fbf186bd.
* stacked_style take 2...
* Revert "stacked_style take 2..."
This reverts commit 38b7155f50143684c92a67b2a9fa16f65c269d35.
* Migrating NVD3 Area's stacked_style config (#9454)
* Migrating NVD3 Area's stacked_style config
* test mods
* lint
* nonsense change
* undoing nonsense. Come on GitHub, WORK.
* Eslint prefer-object-spread (#9466)
* The rule.
* The result
* [mypy] Enforcing typing for some modules (#9416)
Co-authored-by: John Bodley <john.bodley@airbnb.com>
* chore: bump black to 19.10b0 and mypy to 0.770 (#9378)
* Bump black to 19.10b0
* Upgrade mypy to 0.770
* Update how inline type is defined
* release: Add support for ZSH in RELEASING and add tagging instructions (#9451)
* Add support for ZSH in RELEASING and add tagging instructions
* fail if unsupported shell
* Added dremio (#9472)
* [query] New, readonly API (#9403)
* [query] New, readonly API
* Update tests/queries/api_tests.py
Co-Authored-By: Ville Brofeldt <33317356+villebro@users.noreply.github.com>
* [mypy] Enforcing typing for superset.examples (#9469)
Co-authored-by: John Bodley <john.bodley@airbnb.com>
* Migrating shared DeckGL controls (#9455)
* Missed a couple unique controls!
* new shared module, with filter_nulls export.
* autozoom
* dimension
* nixing unneeded import
* stroke_width
* js_columns
* remaining js_* controls
* cleaning up unused stuff
* legend_format
* exports for prior commit
* legend_position
* line_column
* fill_color_picker
* filled, stroked, stroke_color_picker
* grid_size, extruded
* ... more gridsize
* viewport
* point_radius_fixed, spatial
* multiplier, line_type, line_width
* reverse_long_lat
* lint ✨
* [Doc] Update installation doc for Dremio (#9464)
* update installation doc for Dremio
Customers fail to install pyodbc properly which on linux systems requires you to install unixodbc-devel package. Update the instructions to make it clear.
* fix new line
* [mypy] Enforcing typing for superset.dashboards (#9418)
* [mypy] Enforcing typing for superset.dashboards
* Make return types equal on all commands
* Make return types equal on all commands
* [dashboard] address comments same return type on commands
* lint
* lint
* [datasets] Add strict type annotation (#9437)
* [datasets] Add strict type annotation
* Fix refresh endpoint
* Improve logic on update
* Filter owners select by text input (#9337)
* filter owners select by text input
* use rison
* fix backend owners filter logic
* use fullname, not username on owners inputs
* fix some tests
* fixing tests
* deterministic tests
* appease linter
* add back search by username
* more comprehensive filter test
* add clarifying text
* formatting...
* Handle empty dataframes in TableViz (#9480)
TableViz fails to display empty dataframes returning an error like:
"None of [Index(['project', 'count'], dtype='object')] are in the [columns]"
The behavior has been observed while testing 0.36.0rc3 with
Druid datasources.
issue: #9468
* [sqllab] Add CUSTOM_TEMPLATE_PROCESSOR config (#9376)
Co-authored-by: Dandan Shi <dshi@dropbox.com>
* [tests] refactor, change datasets and charts to it's own folder (#9487)
* pylint: accept specific 2 character names by default (#9460)
* lint: accept 2 letter names by default
* Address review comments
* Remove e and d from good-names
* Upgrade table chart plugin to 0.12.13 (#9493)
* feat: change default time range in sql lab explore (#9486)
Change from "100 years go" to "no filter".
100 years ago is basically equivalent to no filter, but has
implications on how x-axis is plotted on certain charts (e.g. Big
Number).
* fix: add explore control tabOverride at the section level (#9495)
* [query] Migrate api v1 query to new location (#9479)
* [query] Migrate api v1 query to new location
* Improved errors and tests
* [query] nit and revert undesired change
* [query] lint
* [query] revert nan change
* Update superset/queries/api.py
Co-Authored-By: Ville Brofeldt <33317356+villebro@users.noreply.github.com>
* Update tests/queries/api_tests.py
Co-Authored-By: Ville Brofeldt <33317356+villebro@users.noreply.github.com>
* change endpoint location to charts
Co-authored-by: Ville Brofeldt <33317356+villebro@users.noreply.github.com>
* Bump FAB to 2.3.2 (#9491)
* [dashboards] Fix, update dashboard owners not propagating to charts o… (#9484)
* [dashboards] Fix, update dashboard owners not propagating to charts owners
* Add tests
* Fix tests
* better naming
* [dashboards] New, tittle and slug OR filter (#9435)
* [dashboards] New, tittle and slug OR filter
* Update requirements, because of prison bump
* Tests
* Fix tests
* Avoid like filter on empty string value
* merge master brings strict typing to the table
* fix: add lineWidth to Shared_DeckGL.jsx (#9496)
* fix: add lineWidth to Shared_DeckGL.jsx
* linting
* apply changes
* opps again .... license
* feat: Add post processing to QueryObject (#9427)
* Add post processing to QueryObject
* Simplify sort signature and require explicit sort order
* Add new operations and unit tests
* linting
* Address comments
* Simplify test method names
* Address comments
* Linting
* remove unnecessary logic
* Apply strict whitelisting to all getattr calls
* Add checking of rolling_type_options and add/improve docs
* Add visualization flow to the CTA queries (#9370)
* Visualize after running Ctas query (#4)
* Visualize after running Ctas query.
Stub for table viz
Work on the viz
Add JS functionality for Ctas viz
Add test for the table viz flow
Fix test
Add js test for the ctas viz
* Fix tests
* Resolve comments
* Leverate tmpSchema in the query object
* Fix i18n string
Co-authored-by: bogdan kyryliuk <bogdankyryliuk@dropbox.com>
* Bump sqlalchemy and dremio deps (#9503)
* [charts] New, custom filter for name OR description (#9492)
* [charts] New, custom filter for name OR description
* Improve test
* docker node_modules in its own volume (#9509)
* [Dashboard] new listview filters & emotion infra (#9462)
* [Dashboard] listview filters to match new design
* use title_or_slug filter
* use ?. operator
* move components to components folder
* chore: auto label issues based on the template chosen (#9507)
* chore: auto label issues based on the template chosen
* quoted stuffs
* control to turn off table bar-chart backgrounds (#9500)
* control to turn off table bar-chart backgrounds
* flipping enable to disable, to support existing charts
* lint ✨
* Turn ON to enable (reversing logic)
* bumping big number chart
* ling ✨
* Another attempt to fix a viz.py bug (#9522)
* Another attempt to fix a viz.py bug
* Add types to new ddtm attributes
* deprecate groupby controls in query_obj (#9366)
* Deprecate groupby from query_obj
* Fix query_object bug
* Fix histogram
* Remove groupby from legacy druid connector and fix first batch of unit tests
* Deprecate some unnecessary tests + fix a few others
* Address comments
* hide SIP-38 changes behind feature flag
* Break out further SIP-38 related tests
* Reslove test errors
* Add feature flag to QueryContext
* Resolve tests and bad rebase
* Backport recent changes from viz.py and fix broken DeckGL charts
* Fix bad rebase
* backport #9522 and address comments
* [dashboard] Fix, improve test for custom filter (#9521)
* [api] refactor, remove unnecessary code, using command pattern now (#9520)
* Importing validators module from superset-ui (#9465)
* importing... this is going to break CI, but there it is.
* adding validator package.
* pluralization - maybe it should be plural, but whatevs
* updating validators to match new exports
* removing old validators
* lintage ✨
* validateNumeric -> validateNumber
* using legacyValidateInteger, legacyValidateNumber
* linting ✨
* removing extraneous package lock file
* Fix typo in viz.py (#9533)
* [Build] Add Github workflows (#9517)
As an replacement to Travis CI.
* Disabling recording in Cypress tests (#9535)
* Disabling recording in Cypress tests
* Removing --group --ci-build-id
* Run CI on all pushes / PR's (#9538)
* [list views] add work-break css for table layouts (#9537)
* [thumbnails] API and celery task for dashboards and charts (#8947)
* [copy] fix: Row Level Security get_rls_filters func SELECT statement (#9541)
* fix: Row Level Security get_rls_filters func SELECT statement
* More general RowLevelSecurityTests case to avoid improper ids matching
* Make email parsing more robust (#9523)
* Make email parsing more robust
* Address comment
Co-authored-by: bogdan kyryliuk <bogdankyryliuk@dropbox.com>
* docs: point our README the maintained Docker image (#9536)
Our README now points to a not-so-well-maintain, community-contributed
Docker image. The docker image we link to here is managed and
supported by actual committers under the Preset org.
* Bump copyright notice (#9539)
* Ditching travis config in favor of Github Actions (#9548)
* Bump @superset-ui/legacy-plugin-chart-table to 0.12.14 (#9549)
* [dashboard] New, add statsd metrics to the API (#9519)
* [fix] warm up cache error handling (#9560)
Co-authored-by: John Bodley <john.bodley@airbnb.com>
* [fix] dashboard filter scope bug (#9550)
* [Build] Collect frontend code coverage from Cypress tests (#9555)
* build: collect code coverage from Cypress
Collect frontend code coverage reports from Cypress tests and add
proper tagging for all tests.
* Fix bash script lint error from shellcheck
* Revert Cypress to 4.3.0 to see if it fixes a failing test
* chore: Migrate unique FilterBox controls from controls.jsx (#9566)
* Migrate FilterBox controls from controls.jsx
* Linting
* chore: Add OpenAPI docs to /api/v1/chart/data EP (#9556)
* Add OpenAPI docs to /api/v1/chart/data EP
* Add missing fields to QueryObject, fix linting and unit test errors
* Fix unit test errors
* abc
* Fix errors uncovered by schema validation and add unit test for invalid payload
* Add schema for response
* Remove unnecessary pylint disable
* [pypi] Include compiled translations on Pypi pkg (#9567)
* doc: Add changelog for 0.36.0 (#9570)
* Migrating shared NVD3 controls to new module (#9525)
* proto module
* caught a missed 'freq' unique control
* line_interpolation
* linting
* showLegend
* show_controls
* xAxisLabel
* bottomMargin
* x_ticks_layout
* missed one
* x_axis_format
* yLogScale
* y_axis_bounds
* linting
* nixing yarn lock
* x_axis_showminmax
* xAxisShowminmax control
* richTooltip
* linting, syntax fix
* show_bar_value, bar_stacked
* reduceXticks, yaxislabel
* left_margin, max_bubble_size, y_axis_showminmax
* show_labels
* send_time_range, y_axis_2_format, show_markers, order_bars
* nixing commented imports
* fake controls
* looking up actual controls for comparison.
* adding key to test setup
* controls inventory
* apache junk
* lint ✨
* ignore null controls
* fixing goofed up spread operation for xAxisFormat config
* lint ✨
* fixes for errors caused by <hr> element in filterbox controls
* fixing filter controls for 'druid_time_origin', 'granularity', 'granularity_sqla', 'time_grain_sqla'
* getControlsInventory -> getControlsForVizType
* further renaming of chartControlsInventory - > getControlsForVizType
Co-authored-by: David Aaron Suddjian <aasuddjian@gmail.com>
* fix: Add deprecated fields to QueryObject schema (#9579)
* fix: Add deprecated fields to QueryObject schema
* linting
* [mypy] Enforcing typing for superset.migrations (#9583)
Co-authored-by: John Bodley <john.bodley@airbnb.com>
* Re-enable the AnnotationLayerModelView read API (#9443)
* Re-enable the AnnotationLayerModelView read API
* Fix CI
* [config] Enable dashboard bootstrap payload reduction by default (#9585)
* [docs] fix, elastic.co elasticsearch product location (#9598)
* [fix] Fixing issue with Jinja filter_value (#9582)
Co-authored-by: John Bodley <john.bodley@airbnb.com>
* [Build] moves prettier check to separate script (#9591)
* [Build] moves prettier check to separate script
* rename step: eslint -> lint
* Add documentation build to Github Actions (#9569)
* Add documentation build to Github Actions
* Update requirements for documentation builds
* Minor optimization - only install requirements for documentation in documentation job
* Add raw number/integer option to d3 number formats (#9562)
* Bump superset-ui-connection to 0.12.22 (#9602)
* [charts] feat: add statsd to charts api (#9571)
* add statsd to charts api
* update test for charts api
* [charts] add statsd asserts wrapper
* [charts] update api test
* removed white space
* [tests] Helper script to run single tests (#9547)
* [charts] adds new filters ui (#9530)
* [charts] adds new filters ui
* move null check to be more visible
* better filter lists and async filter functionality
* [SQL Lab] Lock result set controls to be always visible (#9587)
* improve helm chart
* add Apache license headers
* add initjob conf + secret
* add missing headers
* apply changes
* opps again .... license
Co-authored-by: Ville Brofeldt <33317356+villebro@users.noreply.github.com>
Co-authored-by: Krist Wongsuphasawat <krist.wongz@gmail.com>
Co-authored-by: John Bodley <4567245+john-bodley@users.noreply.github.com>
Co-authored-by: ʈᵃᵢ <tdupreetan@gmail.com>
Co-authored-by: Evan Rusackas <evan@preset.io>
Co-authored-by: Maxime Beauchemin <maximebeauchemin@gmail.com>
Co-authored-by: Daniel Vaz Gaspar <danielvazgaspar@gmail.com>
Co-authored-by: Will Barrett <will@preset.io>
Co-authored-by: Craig Rueda <craig@craigrueda.com>
Co-authored-by: Grace Guo <grace.guo@airbnb.com>
Co-authored-by: Jesse Yang <jesse.yang@airbnb.com>
Co-authored-by: Alexander Mancevice <amancevice@cargometrics.com>
Co-authored-by: John Bodley <john.bodley@airbnb.com>
Co-authored-by: David Aaron Suddjian <1858430+suddjian@users.noreply.github.com>
Co-authored-by: venter <venter.zhu@outlook.com>
Co-authored-by: Naren <narendrans@users.noreply.github.com>
Co-authored-by: Luca Toscano <elukey@users.noreply.github.com>
Co-authored-by: dandanhub <dandanshi@live.cn>
Co-authored-by: Dandan Shi <dshi@dropbox.com>
Co-authored-by: Bogdan <b.kyryliuk@gmail.com>
Co-authored-by: bogdan kyryliuk <bogdankyryliuk@dropbox.com>
Co-authored-by: Octavian <octavian.corlade@gmail.com>
Co-authored-by: Aliaksei Kushniarevich <axelet3@gmail.com>
Co-authored-by: David Aaron Suddjian <aasuddjian@gmail.com>
Co-authored-by: Erik Ritter <erik.ritter@airbnb.com>
Co-authored-by: Lily Kuang <lily@preset.io>
* Add documentation build to Github Actions
* Update requirements for documentation builds
* Minor optimization - only install requirements for documentation in documentation job
* Add OpenAPI docs to /api/v1/chart/data EP
* Add missing fields to QueryObject, fix linting and unit test errors
* Fix unit test errors
* abc
* Fix errors uncovered by schema validation and add unit test for invalid payload
* Add schema for response
* Remove unnecessary pylint disable
* build: collect code coverage from Cypress
Collect frontend code coverage reports from Cypress tests and add
proper tagging for all tests.
* Fix bash script lint error from shellcheck
* Revert Cypress to 4.3.0 to see if it fixes a failing test
Our README now points to a not-so-well-maintain, community-contributed
Docker image. The docker image we link to here is managed and
supported by actual committers under the Preset org.
* importing... this is going to break CI, but there it is.
* adding validator package.
* pluralization - maybe it should be plural, but whatevs
* updating validators to match new exports
* removing old validators
* lintage ✨
* validateNumeric -> validateNumber
* using legacyValidateInteger, legacyValidateNumber
* linting ✨
* removing extraneous package lock file
* Deprecate groupby from query_obj
* Fix query_object bug
* Fix histogram
* Remove groupby from legacy druid connector and fix first batch of unit tests
* Deprecate some unnecessary tests + fix a few others
* Address comments
* hide SIP-38 changes behind feature flag
* Break out further SIP-38 related tests
* Reslove test errors
* Add feature flag to QueryContext
* Resolve tests and bad rebase
* Backport recent changes from viz.py and fix broken DeckGL charts
* Fix bad rebase
* backport #9522 and address comments
* control to turn off table bar-chart backgrounds
* flipping enable to disable, to support existing charts
* lint ✨
* Turn ON to enable (reversing logic)
* bumping big number chart
* ling ✨
* Visualize after running Ctas query (#4)
* Visualize after running Ctas query.
Stub for table viz
Work on the viz
Add JS functionality for Ctas viz
Add test for the table viz flow
Fix test
Add js test for the ctas viz
* Fix tests
* Resolve comments
* Leverate tmpSchema in the query object
* Fix i18n string
Co-authored-by: bogdan kyryliuk <bogdankyryliuk@dropbox.com>
* Add post processing to QueryObject
* Simplify sort signature and require explicit sort order
* Add new operations and unit tests
* linting
* Address comments
* Simplify test method names
* Address comments
* Linting
* remove unnecessary logic
* Apply strict whitelisting to all getattr calls
* Add checking of rolling_type_options and add/improve docs
* [dashboards] New, tittle and slug OR filter
* Update requirements, because of prison bump
* Tests
* Fix tests
* Avoid like filter on empty string value
* merge master brings strict typing to the table
Change from "100 years go" to "no filter".
100 years ago is basically equivalent to no filter, but has
implications on how x-axis is plotted on certain charts (e.g. Big
Number).
TableViz fails to display empty dataframes returning an error like:
"None of [Index(['project', 'count'], dtype='object')] are in the [columns]"
The behavior has been observed while testing 0.36.0rc3 with
Druid datasources.
issue: #9468
* filter owners select by text input
* use rison
* fix backend owners filter logic
* use fullname, not username on owners inputs
* fix some tests
* fixing tests
* deterministic tests
* appease linter
* add back search by username
* more comprehensive filter test
* add clarifying text
* formatting...
* [mypy] Enforcing typing for superset.dashboards
* Make return types equal on all commands
* Make return types equal on all commands
* [dashboard] address comments same return type on commands
* lint
* lint
* update installation doc for Dremio
Customers fail to install pyodbc properly which on linux systems requires you to install unixodbc-devel package. Update the instructions to make it clear.
* fix new line
* Fix hot reload for charts
* Override tsc options for plugins
Plugins will sometimes have their own `tsconfig.json`, which will
interfere with the dev server config if configured inappropriately.
This change makes sure `tsc` (and `ts-loader`) always compiles to
`esnext` modules, so we don't get "Uncaught ReferenceError: exports
is not defined" error.
* Use manifest hooks for dev server proxy
* Rewrite dashboard/App.jsx to supress Redux error in hot reload
* Update ChartRenderer to allow hot realod in Explore
* Fix hot reload in dashboars as well
* Revert changes to ChartRenderer.jsx
Will submit in another PR.
* Clean up
* [explore view] fix long query issue from Run in SQL LAB Button
* SQL Lab page needs to take the post form data, too
* fix variable names
* updated payload dict, rename hidden form
Co-authored-by: Jesse Yang <jesse.yang@airbnb.com>
* feat: [explore] don't save filters inherited from a dashboard
When navigating to explore from a dashboard context, the current
dashboard filter(s) are passed along to explore so that the context is
kept. So say you're filtering on "country=Romania", in your dashboard
and pivot to explore, that filter is still there and keep on exploring.
Now a common issue is that you'll want to make some tweak to your chart
that are unrelated to the filter, say toggling the legend off for
instance, and then save it. Now you back to your dashboard and even
though you started with an "all countries" dashboard, with a global
filter on country, now that one chart is stuck on "Romania". Typically
you notice this when filtering on something else, say "Italy" and then
that one chart now has two mutually exclusive filters, and show "No data".
Now, the fix is to flag the filter as "extra" (that's the not-so-good internal
name we use for these inherited filters) and make it clear that that
specific filter is special and won't be saved when saving the chart.
* fix build
* [dashboard] Refactor API using SIP-35
* [dashboard] Fix, import
* [dashboard] more tests
* [dashboards] a misc of improvements
* [charts] Fix, DAO and tests
* [dashboards] small exceptions refactor
* [dashboards] lint
* [dashboards] Improves comments on base classes
* [dashboards] lint
* Upgrade webpack, babel and React
* Upgrade all Babel related packages
Also remove babel-plugin-css-modules-transform that is not in use.
* Remvoe tslib as dependency
* Remove unnecesary packages
One of the pain points in developing Superset frontend code is the lack
of testing data. Local installation often do not have enough examples
setup to test all edge cases.
This change allows `webpack-dev-server` to proxy to any remote Superset
service, but the same time replaces frontend asset references in HTML
with links to local development version. This allows developers to test
with production data locally, tackling edge cases all while maintaining
the productivity of editing the code locally.
* [sqllab] fix exception caused by casting string to int with psycopg2
* rollback session on exception
* add SQLLAB_BACKEND_PERSISTENCE to default feature flags
* cast tab_state_id to str in python instead of sql
* remove import
I noticed two small typos in the README that I fixed:
1) "Acts" was wrong because it does not have the correct subject-verb agreement
2) "Who Have" is the wrong pronoun to use when referring to companies. "That have" is the grammatically correct option.
Additionally, my company, Let's Roam, uses superset to visualize people completing challenges all over the world.
* typescriptification
* use the chart edit modal on the react list view
* linting
* typings don't work on old react-bootstrap version
* lint
* remove duplicate field
* [datasets] new, react listview
* add hidden columns to support filtering by columns not rendered
* throw exception if config is incorrect
* fix database filter
* update endpoints to point to datasets; fix translation strings
* move Link into src/components
* add add new record button to datasets listview
* [api] Fix, related fields need to be explicitly defined
* [api] Fix, lint
* Update superset/datasets/api.py
Co-Authored-By: ʈᵃᵢ <tdupreetan@gmail.com>
Co-authored-by: ʈᵃᵢ <tdupreetan@gmail.com>
* fix: change database save in DatasourceEditor
This addresses the issue where pointing a datasource to another database
in the datasource editor is not reflected.
Also addresses:
- a minorcosmetic issue in the datasource editor.
- user/owners list not getting populated
* tests
* All the fonts!
* dynamic loading
* folderizing fonts by family
* Shuffling files, getting rid off LESS fanciness
* Fira Mono, consolidating on "specimen" for LESS filenames
* Fira Code
* switch for enabling ligatures
* ligatures off for now
* license
* nixing Fira Mono, using OTF features instead.
* Make schema name configurable
Fixing unit tests
Fix table quoting
Mypy
Split tests out for sqlite
Grant more permissions for mysql user
Postgres doesn't support if not exists
More logging
Commit for table creation
Priviliges for postgres
Update tests
Resolve comments
Lint
No limits for the CTA queries if configures
* CTA -> CTAS and dict -> {}
* Move database creation to the .travis file
* Black
* Move tweaks to travis db setup
* Remove left over version
* Address comments
* Quote table names in the CTAS queries
* Pass tmp_schema_name for the query execution
* Rebase alembic migration
* Switch to python3 mypy
* SQLLAB_CTA_SCHEMA_NAME_FUNC -> SQLLAB_CTAS_SCHEMA_NAME_FUNC
* Black
* [fix] remove chart id from filter_scopes metadata if chart is not in dashboard anymore
* fix review comments, and add check for overwrite dash function
* Returning timeseries_limit_metric in table viz get_data
* Fixing issue with include_time field
* Reformatting and adding a test
* Changing if/else structure
* Reformatting
The text in the README seemed overly Druid-centric at this time. While
originally (3-4 years ago) Superset was heavily focussed on druid, it's
just not accurate anymore. Druid is just one of the databases that we
support and docs should reflect that.
* Support and apply filters.
* Added the UI for row level security, and moved it all under SQLA in order to access the Table model more easily.
* Added a row level security filter documentation entry.
* Accidentally added two new lines to this file.
* Blacked and iSorted, hopefully. Also, sometimes g.user may not be set.
* Another isort, and handling g not having a user attribute another way.
* Let's try this again #CI tests.
* Adjusted import order for isort; I was sure I'd already done this..
* Row level filters should be wrapped in parentheses in case one contains an OR.
* Oops, did not think that would change Black's formatting.
* Changes as per @mistercrunch.
* RLS filters are now many-to-many with Roles.
* Updated documentation to reflect RLS filters supporting multiple rows.
* Let's see what happens when I set it to the previous revision ID
* Updated from upstream.
* There was a pylint error.
* Added RLS ids to the cache keys; modified documentation; added template processing to RLS filters.
* A new migration was merged in.
* Removed RLS cache key from query_object.
* RLS added to the cache_key from query_context.
* Changes as per @etr2460.
* Updating entry for RLS pull request.
* Another migration to skip.
* Changes as per @serenajiang.
* Blacked.
* Blacked and added some attributes to check for.
* Changed to a manual query as per @mistercrunch.
* Blacked.
* Another migration in the meantime.
* Black wanted some whitespace changes.
* AttributeError: 'AnonymousUserMixin' object has no attribute 'id'.
* Oops, did hasattr backwards.
* Changes as per @mistercrunch.
* Doesn't look like text us required here anymore.
* Changes as per @dpgaspar
* Two RLS tests.
* Row level security is now disabled by default via the feature flag ENABLE_ROW_LEVEL_SECURITY.
* New head to revise.
* Changed the comment.
* Add feature flags to control query sharing, KV exposure
* Add tests, fix bug
* Skip test for kv endpoints when they are disabled
* ESLint fixes
* Remove unnecessary binds
* Fix eslint errors
* Add note to UPDATING.md RE: new feature flag options
* Use expanded version of RBAC
* Enable KV_STORE and SHARE_QUERIES_VIA_KV_STORE feature flags in the test environment
* Fix black
* Add refinements from 0.35.2 release
* Trim whitespace from voter name if voters entered with space after comma (e.g. 'Ville, Andy')
* Reinstate deterministic deps
* Bump copyright date in NOTICE
* Fix incorrect link in README
* fix dockerfile for frontend builds
* fix paths
* empty commit for CI
* adjust version_info.json
* making version_info work
* rat
* fixing docker-compose node service
* address feedback
* Wrap tagging endpoints in a feature flag (disabled by default)
* Add tests for new feature flag
* Reuse existing feature flag
* Add TAGGING_SYSTEM to feature flags defaulted to False
* Do not show stacktraces on some intentionally-thrown errors
* Fix pylint error
* Fix JavaScript looking for the wrong key in error response from connection check
* format -> f-string
* Run black because PyCharm missed it on the last save
* Avoid fetch fav dashboard stat not logged in
* Fix old Header tests and add a new one
* Add userId to other Header tests to be consistent
* Format code to make 'prettier' tests pass
Migrates and completely removes: '/superset/table/<database_id>/<table_name>/<schema>/'
- Guarantees database filtering based on the user permissions
- Full OpenAPI spec
- Better error handling
* first pass
* whittling unused code
* updating to shortened name
* removing unnecessary z-index
* removing unnecessary flexbox vendor prefixing
* hover pseudoclass not needed for cursor styling.
* Seemingly unnecessary z-indices on ACE content editor in dashboard
* seemingly uused styles.
* seemingly unncessary z-index setting
* seemingly unnecessary z-index
* LESS is more
* nixing antiquated gridster styles
* clearing out unnecessary z-indices
* adding z-dashedits layer
* removing a seemingly unnecessary z-index
* renaming var... more of a layer than edit-situation
* nixing unused z-indices
* moving to var
* comments/org
* moving to var. Lower value, but seems fine.
* usage note
* formatting/linting ✨
* better notes/labeling
* dash -> dashboard
* Do or do not. There is no try.
* no comment
* z-... -> z-index-...
Co-authored-by: Maxime Beauchemin <maximebeauchemin@gmail.com>
* fix: shut off all uneeded endpoints
We recently added a new feature to FAB allowing to whitelist the needed
endpoints in ModelView and ModelRestApi.
First, we set our base wrapper class to an empty set, forcing each
class inheriting from it to explicitely turn on the endpoints that
Superset intends to use.
Second, we go ModelView by ModelView to whitelist the actual endpoints
used in the app.
Notes:
* as a result a large set of [unneeded] permissions should be cleaned up
* outside of the "private" use of endpoints in the app, people that have
been using endpoints in their environment for other purposes may
experience loss of functionality
* Tweaking
* Reduce the amount of endpoints using white lists
* Fix, included needed endpoints for dashboard and druid
* Drying things up
* fixes
* limiting more endpoints
* Read only on some FAB model views
* fixing some tests
* fixes
* Fixing more tests
* Addressing comments
* Drying up route_methods
* further drying
Co-authored-by: Daniel Vaz Gaspar <danielvazgaspar@gmail.com>
* parameterizing dot for easy resizing.
* first pass
* all timing normalized
* seeing no need to 'reset' this transition
* getting most border radii, a little light linting.
* parameterizing dot dimensions
* [dashboards] New, API for Bulk delete
* [dashboards] Tests
* [dashboards] Fix not found on multiple delete
* [dashboards] Bulk delete partial deletes on not owned dashes
* [dashboards] Improve OpenAPI spec and tests
* [dashboards] Test for bad request
* [dashboards] i18n
* [dashboards] black
* [dashboard] make bulk all or nothing
* [dashboard] Log on sqlalchemy error
* [dashboard] Log on sqlalchemy error
* [charts] New REST API
* [charts] Small improvements
* [charts] Fix, lint
* [charts] Tests and datasource validation
* [charts] Fix, lint
* [charts] DRY post schemas
* [charts] lint and improve type declarations
* [charts] DRY owned REST APIs
* [charts] Small fixes
* [charts] More tests
* [charts] Tests and DRY
* [charts] Tests for update
* [charts] More tests
* [charts] Fix, isort
* [charts] DRY and improve quality
* [charts] DRY and more tests
* [charts] Refactor base for api and schemas
* [charts] Fix bug on partial updates for dashboards
* [charts] Fix missing apache license
* black app.py after merge
* [charts] Fix, missing imports and black
* [api] Log on sqlalchemy error
* [api] isort
* [sip-15] Displaying endpoints for all start/end time ranges
* Update superset/assets/src/explore/components/controls/DateFilterControl.jsx
Co-Authored-By: Erik Ritter <erik.ritter@airbnb.com>
* Update superset/assets/src/explore/components/controls/DateFilterControl.jsx
Co-Authored-By: Erik Ritter <erik.ritter@airbnb.com>
* Update DateFilterControl.jsx
Co-authored-by: Erik Ritter <erik.ritter@airbnb.com>
* Bumping less-loader
* moving/updating styles, with a bit of linting as I go.
* more whittling
* caught a couple more colors
* reverting plugin config changes I was hacking around with.
* toast messages now use status colors across the board.
* no more pink.
* expanding scope of linting
* a little more CSS linting
* fixing popover adhoc metric title height issue
* eslint: Ignoring nore modules in subfolders
* Added spec for Dremio
* Installation instructions for Dremio
* added dependency for dremio
* Update dremio.py
* ASF header, dttm, set min version in setup.py
* Update installation.rst
* Update installation.rst
* fix tox 'Title underline too short.'
* change URI example
Co-authored-by: Naren <41924335+naren-dremio@users.noreply.github.com>
* Moving appbuilder.xxx out of view files ands into app.py
* Pulled url map converters out into their own file
* Adding license blurb
* Linting
* Linting again...
* Use PyArrow Table for query result serialization
* Cleanup dev comments
* Additional cleanup
* WIP: tests
* Remove explicit dtype logic from db_engine_specs
* Remove obsolete column property
* SupersetTable column types
* Port SupersetDataFrame methods to SupersetTable
* Add test for nullable boolean columns
* Support datetime values with timezone offsets
* Black formatting
* Pylint
* More linting/formatting
* Resolve issue with timezones not appearing in results
* Types
* Enable running of tests in tests/db_engine_specs
* Resolve application context errors
* Refactor and add tests for pyodbc.Row conversion
* Appease isort, regardless of isort:skip
* Re-enable RESULTS_BACKEND_USE_MSGPACK default based on benchmarks
* Dataframe typing and nits
* Renames to reduce ambiguity
* separators removed, "childs" changed to "children"
* changing `children` back to `childs`... it's baked in somewhere in Fab
* linting
* reverting changes to MenuObject
* adding separator above Druid menu items
* move cypress into it's own directory with package.json
* update contributing and include cypress fixtures dir
* newline
* fix rebase
* add cypress dep
* bump cypress
* [superset] Slight performance improvement, remove SQLA first
* [superset] Slight performance improvement, remove SQLA first
* [superset] black it
* [superset] Revert warm up cache change
* [superset] Fix warm up cache slice_id may be none
* [superset] Reverted changes of methods one by get
* [superset] Reverted changes of methods one by get
* Require the SQLAlchemy URI when creating a database
* Add migration to make dbs.sqlalchemy_uri not-nullable
* Fixes for black, isort, tests
* Alter migration to use current revision from master as downgrade target
* Update tests to support new db constraint
* black
* Re-enable pylint for superset/jinja_context.py
* Re-enable pylint for superset/sql_lab.py
* Re-enable pylint for superset/sql_parse.py
* Re-enable pylint for superset/exceptions.py
* Re-enable lint for superset/translations/utils.py
* Re-enable pylint for superset/views/schedules.py
* Re-enable pylint for superset/views/base.py
* Re-enable pylint for superset/views/log/views.py
* Re-enable pylint for superset/views/annotations.py
* black
* PR feedback, pylint, isort fixes
* Black, one more time...
* Move ungrouped-imports to a global disable
* Allow id as a valid name for pylint
* Re-enable pylint for superset/models/core.py
* re-enable pylint for superset/models/sql_lab.py
* re-enable pylint for superset/models/schedules.py
* re-enable pylint for superset/models/helpers.py
* re-enable pylint for superset/models/annotations.py
* re-enable pylint on superset/models/tags.py
* a couple more fixes after black formatting...
* Add another inline pylint disable
* Fix black
* Move to inline disables for 'id' attribute on models
* Fix lint disables after black reformatted them
* re-enable pylint for superset/common/query_context.py
* Re-enable pylint for superset/connectors/base/views.py
* re-enable pylint for superset/connectors/connector_registry.py
* Re-enable pylint for tests/fixtures/pyodbcRow.py
* re-enable pylint for superset/cli.py
* Fix for mypy
* Improve variable naming
* A few more naming fixes
* fix: don't show filter popover on explore view load
There's this confusing "feature" that I thought was a bug that shows the
metric popover opened when entering the explore view when the filter
comes from an active dashboard filter, based on the "fromFormData"
attribute of the filter.
The popover is confusing and often shows as misaligned with the actual
element it's supposed to float over when overflowing.
* warn
* fix cypress
* also shut off metrics
* re-enable pylint for superset/examples/energy.py
* re-enable pylint for superset/examples/world_bank.py
* re-enable pylint for superset/examples/tabbed_dashboard.py
* Re-enable pylint for superset/examples/helpers.py
* re-enable pylint for superset/config.py
* re-enable pylint on superset/migrations/env.py
* re-enable pylint for superset/legacy.py
* re-enable pylint for superset/forms.py
* re-enable pylint for superset/stats_logger.py
* Tweaks to make mypy and pylint happy
* black
* Splitting up some of the Docker build steps
* Adding dev target which includes requirements-extra / Updating docker configs to handle async query running
* Only showing last 8 chars of SHA
* visual touchups
* Grabbing first 8 rather than last 8
* 10 char SHA rather than 8
* atting config var for SHA length
* Build support for schema access in Superset and SQLab
* Lint
* Test for old and new flask
* Black formatting
* Cleanup modified files
* Support schema permissions
* Add migration
* Make it work for slices as well
* TODO and remove unused field
* Apply schema access check to dashboards as well
Cleaner schema permissions check
Fetch schema permissions in 1 query
Bugfix
Better datasource check
Use security manager for permissions checks and remove dead code
Properly handle anon user
Add database permissions on the database updates
Fix schema filtering
Lint / flake changes
Increase cypress request timeout
Run black
Resolve multiple alembic heads
* Use set comprehensions
* Fixes for the pylint
* Disable deprecated druid connector by default
* Add a line in UPDATING.md for the configuration change
* Remove security tests related default-disabled feature
* More test updates
* black
* Font weights standardized
* now with more glob!
* Linting touchups
* caught a low-value color declaration
* first wave of font size alignment
* getting the CRUD styles caught up to speed.
* unneeded inline-block - float does that for ya.
* a few errant colors that snuck in.
* more font stylings.
* caught some more colors that needed variable alignment
* le typo
* whittle, whittle
* dead styles
* whittling
* whittling
* whittling away at font sizes
* since we appear to be adjusting icon sizes for optics, let's get this one too.
* Prettier ✨
* whittling at line height standardization.
* placing vars, take 1
* 2 more down...
* cleaning out some styles that had no real effect.
* seemingly no change if this is removed for consistency.
* allowing one 8px line height for proper icon placement - adding comment.
* last one, I reckon.
* linting fixes
* replaced!
* added role to the FA image/button
* adding tabindex.
* capitalization of tabIndex matters. I'll have another cup of coffee now.
* added newine at end of file, added stylelint rule to track this.
* re-removing these files after merge conflict resolution.
* Fixing @gray conflict between Superset and Bootswatch
* removing duplicate import... whoops!
* making bootswatch bend it's namespace rather than superset/
* slightly decouple sql_json, queries, and results http endpoints from biz logic
* fix syntax errors
* add some type annotations, fix a bug
* remove unnecessary var decl and assign
* add a lot more type annotations to fix tests
* fix mypy issues
* Sweep #1
* moving a few more colors, fixing an import issue.
* another include, another color nabbed.
* more whittling.
* moving filterbox css to less, standardizing colors in there.
* nixing the css file I meant to nab in the last commit
* Moving the variables file to a more global/sensible (I hope?) location.
* FilterableTable moved from CSS to LESS, using color vars now.
* more whittling
* standardizing opacity stops
* nails more colors, removes some old (seemingly unused) css
* removing more dead css
* DatasourceControl moved from CSS to LESS
* BootstrapSliderWrapper CSS -> LESS
* reactable-pagination CSS->LESS, color-conformed
* FilterBadgeIcon CSS->LESS, conformed
* deleting unused/deprecated css
* welcome.css -> welcome.less (is this even being used?)
* main.css -> main.less, standardized
* there were two main.css files - this should have been in the last commit.
* explore.css -> explore.less (not used anywhere?)
* sql.css -> sql.less (also not used anywhere?)
* another main.css -> main.less, standardized on colors
* time to add shades and tints!
* caught some colors in SVG that should be in LESS.
* nixing commented css
* deleting commented code
* pulling in z-index vars lost in a conflict resolution
* First cut at app factory
* Setting things back to master
* Working with new FLASK_APP
* Still need to refactor Celery
* CLI mostly working
* Working on unit tests
* Moving cli stuff around a bit
* Removing get in config
* Defaulting test config
* Adding flask-testing
* flask-testing casing
* resultsbackend property bug
* Fixing up cli
* Quick fix for KV api
* Working on save slice
* Fixed core_tests
* Fixed utils_tests
* Most tests working - still need to dig into remaining app_context issue in tests
* All tests passing locally - need to update code comments
* Fixing dashboard tests again
* Blacking
* Sorting imports
* linting
* removing envvar mangling
* blacking
* Fixing unit tests
* isorting
* licensing
* fixing mysql tests
* fixing cypress?
* fixing .flaskenv
* fixing test app_ctx
* fixing cypress
* moving manifest processor around
* moving results backend manager around
* Cleaning up __init__ a bit more
* Addressing PR comments
* Addressing PR comments
* Blacking
* Fixes for running celery worker
* Tuning isort
* Blacking
* adds react based menu for welcome view
* bump fab
* better logic in common_bootstrap_payload
* split up files
* fix spacing and module scope styles
* lint
* render correct template for welcome
* showing version and SHA (subtly) in user menu.
* not using VERSION_INFO_FILE after all.
* cleanup... excess linebraks...
* Just trying to make you happy, Black!
* adding some spaces before opening brackets for CSS selectors
* setting version_sha from appbuilder.app.config['VERSION_SHA']
* passing onClick prop to header with the existing onChange method.
* basic test checking that label click fires the onChange method.
* cleaning up stuff caught by linting.
* added user tutorial and rearranged docs hierarchy
* added license header, renamed admin tutorial file
* fixed image url issue
* Fix spelling
* Tweaks to text based on feedback
* guilabel and menu test
* added guilabel and upload csv section
* tidy up of rst formatting
* [fix] csv upload when table metadata present
* Remove table from hive spec
* Move upload before table metadata creation
* Refine upload logic, dd unit tests and fix translations
* Use ALLOWED_EXTENSIONS from config
* Address review comments
* Fix error message grammar
* Add return type to hive csv upload and replace first with one_or_none
* Fix column type on dbs.encrypted_extra
* Add instructions for testing migration downgrades
* Account for non-Postgres DBs in migration
* Use batch_alter_table to make SQLite happy
* Another CI-appeasing tweak
* Updating pip with default timeout
Most of the time, the pip default site is realiable but we do see timeouts pops out when network is busy or temporary unavaliable .
The default value was 15 and that's way too short. So adding --default-time and set it to 1000 should be long enough to mitigate
* Update Dockerfile
* Add `Duplicate Tab` option
Adds an option to duplicate the current tab's setting/content into a new tab. Useful if you're iterating on a query.
* Add test
* Typo fix in CONTRIBUTING.md
* Alter references to config.get('FOO') to use preferred config['FOO']
* Set missing configuration constants in superset/config.py
* Misc. CI fixes
* Add type annotation for FEATURE_FLATGS
* Provide documentation for using a Service Account to connect to BigQuery
* Alter line wrapping for shorter lines
* Whitespace commit to trigger another build (flake)
* Another meaningless whitespace change to trigger another build
* Separate RC from VERSION
* Fix pypi_push.sh and refine instructions
* Add SUPERSET_ prefix to env variables
* Finalize release instructions
* Change one-off to First Time Only
* Add tagging of final version
* Convert some remaining env variables and add a check step to pypi deploy
* Add support for Exasol
* add time grain functions for Exasol
* remove duplicate of
* override ExasolEngineSpec's fetch_data method
* remove duplicate https
* simplify super call
* Enable lint checking for files in db_engine_spec that have few to no
lint issues
* Enable lint and fix issue in db_engine_spec/mysql.py
* Enable pylint and fix lint for db_engine_spec/pinot.py
* Enable lint and fix issues for db_engine_specs/hive.py
* Enable lint and fix for db_engine_spec/presto.py
* Re-enable lint on base.py, fix/disable specific failures, including one
bad method signature
* Make flake8 happy after a number of pylint fixes
* Update db_engine_spec_test test cases related to Presto to support
different method naming
* automated reformatting
* One more pylint disable for druid.py
* Find the magic invocation that makes all the lint tools happy
* Add Fanatics to companies that use Superset
We at Fanatics use Apache Superset to visualize data stored in Apache Druid. I wanted to add my firm's name to this list since we are very happy with the performance and visualization features provided by Apache Superset.
* Update README.md
* #8294: Set moment library language during app setup
* #8294: Added 'local-storage' to superset/assets/package.json
* #8294: change 'locale' in localStorage when language is set
* #8294: Fixed eslint issues
* #8294: Removed localStorage usage
Tried 2-3 difference approaches to fix the flaky SQL Lab test that has
been biting us for a while. My guess is that the flakiness comes from
brace (the editor). Hoping a future release of brace and/or cypress
may help with this.
But for now, no test is better than a flaky one.
* WIP - Add easily interpretable negative timedelta formatting
* Add unit tests for utils.core.timedelta_f
* Reformat tests.utils_tests.test_timedelta_f test code. Fixes#8274.
* Add type annotations to utils.core.timedelta_f (#8274)
* Replace recursion with absolute value in utils.core.timedelta_f (#8274)
* Rename utils.core.timedelta_f to format_timedelta (#8274)
* Fix small typo (#8274)
* Handle int64 columns with missing data in SQL Lab
* Fix docstring
* Add unit test
* Small fix
* Small fixes
* Fix cursor description update
* Better fix
* Fix unit test, black
* Fix nan comparison in unit test
* feat: read control panel configs from registry
* fix: order imports
* fix: remove index.js and get items on-the-fly, remove extraOverrides
* fix: lint
* fix: unit tests
* fix: unit tests
* fix: lint
* fix: unit tests
* Fix version info
Ran into Cypress issues while getting too ambitious in #8157
this is a simplified more targeted version of it
* include package.json (but not under static/)
* use package.json as single source of truth for version info
* typo
* show ellipsis for long filter name in tooltip
* show filter indicator color bar when filter is applied
* show/hide filter indicator when filter is showing/hiding options
* use component local state to hide/show chart outline
* fix review comments + unit tests
* chore: deprecate restricted metrics
An early community contribution added the concept of restricted metrics.
The idea was to allow for some metrics to be restricted, and if a metric
was tagged as such, a user would need to be given access to that metric
more explicitely, through a special perm we would maintain for that
metric.
Now since the new concept of "Adhoc Metrics", the popover that lets a
user pick a column and an aggregate function or to write their own SQL
expression inline, this restriction is completely bypassed. Adhoc
metrics was developed without the restricted metrics in mind.
Anyhow, in the near future, we'll be rethinking the ideas behind
data-access permissions, and things like column-level or row-level
security will be redesigned from scratch.
By deprecating this feature, we're removing a confusing and mostly broken
feature, and making it easy to move forward
* Use context manager to drop columns
* disable jest's maxWorkers
* Fix regression in time grain addons
* Revert privatization of time_grain_functions
* Fix test
* Rename variable
* Fix test
* Fix typing error
* Refactor and add tests
* Add TODO
* Fix to werkzeug proxy; expose additional configuration items
* Forced to all x-forwarded configurations ON; black done
* added comments related to x_port after testing
* Updated UPDATING.md
* Removed accidental notebook; added *.ipynb to gitignore
* Delete Untitled-checkpoint.ipynb
Currently docker entrypoint is a bash script.
`docker stop` command (or restart in kubernetes) sends SIGTERM to the
container but it isn't catched by gunicorn.
So gunicorn can't start graceful shutdown which may lead to killing
user's connection and also adds 10s (default value) delay for stopping
until docker sends SIGKILL.
Using `exec` replaces the shell with the process being opened and
signals are propagated correctly.
Ref: https://docs.docker.com/engine/reference/commandline/stop/
Ref: https://unix.stackexchange.com/questions/146756/forward-sigterm-to-child-in-bash
* Moving towards a whitelist approach for MANIFEST.in when it comes to static resources
* Tuning static exclude
* Fix for fetching version string from package.json, which no longer exists
* Adding package.json fallback for unit tests
* Add support for msgpack results_backend serialization
* Serialize DataFrame with PyArrow rather than JSON
* Adjust dependencies, de-lint
* Add tests for (de)serialization methods
* Add MessagePack config info to Installation docs
* Enable msgpack/arrow serialization by default
* [Fix] Prevent msgpack serialization on synchronous queries
* Add type annotations
* Add check for calls to cache_key_wrapper to avoid unavoidable compilation of query
* Add fetch_values_predicate to check
* Only check relevant attributes
* Address nit
* Separate vis-specific controls from centralized controls
* Remove comment
* Update state's vizType when switching to a new visualization. This fixes the renderTrigger bug.
* Rename functions for better readability
* Fix lint issues
* Fix nits
* Fix vscode rename mistake
* Add typing to db_engine_specs
* Add more type annotations and docstrings
* Add docstrings and typing to sql_parse and db_engine_specs
* Refine select_star
* Fix execute and add more docstrings
* Revert kwargs change from execute
* Remove redundant or
* Align view and table getter schema types
* Fix return type of latest_partition
* Remove some typing from presto
* Improve docstring for __extract_from_token
* bump a set of test-related JS libs
Mostly upgrading jest as I was trying to tackle issues related to
wrong source-maps reporting in jest. This addresses it
* Bumping more things
* lint
* using core-js/stable
* pointing to the right place
* Fix: Chain var declaration and webpack invocation
* enh: Add cross-env to make package.json work cross-platform
* Fix: Update lock-file for new package cross-env
* Chores: Update lock-file for new package cross-env
Issue: When Superset is running behind a reverse proxy and the dashboard page is requested with HTTPS protocol, the frontend can't retrieve the favorite status of the dashboard and, instead, displays the following toast message: 'There was an issue fetching the favorite status of this dashboard.'
Cause: While the API exposes the /favestar/Dashboard/{id}/count/ endpoint, the frontend executes an API call to /favestar/Dashboard/{id}/count, which leads to a redirect to an endpoint with HTTP protocol
Fix: Call the correct endpoint
This bug was introduced by #7102
Using `position:absolute` on body gives `document.documentElement` a height of 0 which propagates to `clientHeight` on Firefox. This leads to a wrong calculation of the tooltip position in NVD3.
The solution proposed here is to use `min-height: 100vh` instead of the current technique for stretching the body element to the full window height, thus keeping body and html together.
* Added better display of NULL values in FilterableTable (Reults table as in SQL Lab results) and changed sorting order so that NULL values always come last
* fixed syntax according to elint recommendations
* changed code style and logic in getContentCell according to @etr2460 code review
* remvoved 'null-cell' class and replaced it with 'text-muted' as per @mistercrunch review
* [database] Fix, Removes the limit for the page size, Bump FAB to 2.1.8
Old FAB API had no limits by default, this will keep this behaviour
but only for this endpoint
* [sqllab] Add test for database API
* [sqllab] Add test for database API
* [sqllab] Include page zero on request
* [sqllab] Fix, Black and requirements
* [sqllab] Make database API return unlimited results
* [sqllab] just a test
* [sqllab] Bump FAB to 2.1.9
* [sqllab] Remove unused import
* 7620: Start removing dependencies on requests
* Patch urllib.request.urlopen instead of requests.get
* Try to fix flake8
* More work on flake8 import errors
* First attempt at using urllib with cookies
* Fix pylint/flake8
* Fix test_deliver_slice_csv_attachment
* Fix test_deliver_slice_csv_inline
* Import requests and pydruid conditionally, remove dependency on prison
* Fix flake errors
* Fix load_examples
* Please flake
* Skip tests depending on optional deps
* Try to please flake
* Address review comments
* Remove Druid-related UI
* Revert "Remove Druid-related UI"
This reverts commit d7e0f166cc3f3dd2496b4a666e177f0c191aeb0f.
* Skip a few tests more
* Put imports in right order
* Apply black patch
* Please flake
* Please black, silence flake
* Use flake8 silencing the right way
* Add deps for CI
* Bump requirements.txt
* Cap gunicorn to <19.9.0 due to X-Forwarded-Proto regression
* Remove python-dotenv from requirements-dev.txt
* Cap sqlparse due to regression in 0.3.0
* [WIP] bug fix for FixedOrMetricControl not rendering
* Updated value preview and type selection
* fix metric control not on setting polygon elevation data
* Updated layout of FoM comp
* linting fixes
* linting fix pt. 2
* linting fix pt. 3
* fix scatter tooltip to work with metric control
* Fixed tests
* [cli] New, command line option to create or set a db URI
* [tests] New, get or create db on utils
* [tests] flake8 and black
* [tests] Fix, remove dummy comments
* [cli] dummy commit to re-trigger build
* [cli] dummy commit to re-trigger build
* [log] Disable Log view when FAB security views are disabled
* [tests] New, config flag SUPERSET_LOG_VIEW to have more control
* [tests] Fix, flake8
* [log] Fix, pylint
* [log] Fix, pylint at log module
* [log] Fix, pylint at log module
* [log] Fix, black
* Fixing the build after travis upgraded Ubuntu
It seems Travis has been updated/ing its build environment to Ubuntu
16.04 from Ubuntu 14 in the past few days. This broke a bunch of things
on our side.
* postgres -> postgresql
* Fix java
* Try openjdk8
* Fix, license check oracle and python
* Fix, license check oracle and python v2
* Fix, license check oracle and python v3
* Fix, license check oracle and python v4
* dummy commit, just to trigger the build
* Create query_obj for every filter
* Deprecate is_prequery and prequeries from query_obj
* Fix tests
* Fix typos and remove redundant ; from sql
* Add typing to namedtuples and move all query str logic to one place
* Fix unit test
* Allow to pass user for dashboard import cli
Dashboard import assign current user from flask context during import.
But in case of cli import there is no flask user and imported charts
don't have an owner which prevents ability to edit them.
* Reset ownership on dashboard import
For overriding existing charts it requires `owners` property to be set.
* Add tests for reset ownership
* Use ORM to decode dashboards json
Creating instances using ORM allows to normally work with relations
* Fix test_import_dashboard_1_slice test
Previously tests used side-effect of slices import which kept id from
json on insert into db.
* [api] [database] New, migrate to new FAB API side by side
* [database] view and api module reorganization
* [style] Fix, flake8
* [test] [database] Fix, tests for new database view structure
* [style] [database] black
* [database] Fix, missing apache license
* Migrate databaasync api to the new api
* flake8
* More efficient api call
* Revert querySearch to old API, test
* dummy commit
* revert config.py commit
* Remove unused import
* Remove old API view
* Remove new API view
* Add database filter
* Add database filter
* Add database filter
* Remove comments on js
* Fix JS test
* Fix pylint
* QuerySearch new databaseasync API endpoint
* Fix, query search new api endpoint
* Reintroduce old API for smooth side by side migration
* Better naming and use common hooks for view and API
* black it
* Fix, database mixin must come first
* Fix, lint
1. remove duplicated entries in many-to-many relation tbl dashboard_slices
2. add unique constraint on tbl
3. update the model to include the uniqueness constraint
* fix(sql-lab explore): fixed response data and header type to be aligned
* fix(sql-lab explore): fixed test error caused by incorrect test at master
* fix(sql-lab explore): reformatted
* fix(sql-lab explore): removed unused import
* Remove unnecessary fields from dashboard exported json
This commit makes export respect export_fields and doesn't export
unnecessary relations (like users with passwords hashes) which are
ignored during the import.
* Allow to import dashboard without position_json
In case charts were added from chart-edit page and wasn't re-ordered on
the dashboard position_json field is empty and import was failing with
error.
* Update export/import tests
* [sql lab] improve TableElement controls
Making TableElement (table metadata shown in left panel in SQL Lab) show
controls only on hover, and use caret to expand/collapse
* Lint
* [WiP] improve load_examples
related to #7472, longer term we will generate the examples by exporting
them into tarball as in #7472. In the meantime, we need this subset of
the features:
* allowing specifying an alternate database connection for examples
* allowing a --only-metadata flag to `load_examples` to load only
dashboard and chart definitions, no actual data is loaded
* Improve logging
* Rename data->examples
* Load only if not exist
* By default do not load, add a force flag
* fix build
* set published to true
* Add Auto option to point radius to make it work as expected since the example using this didn't work because of this (and also as the tooltip says the auto option should be available)
* Remove trailing space
* Fix docker configurations and docker installation guide.
- Fix installation guide regarding passing enviromental variable to docker-compose.
- Add gevent installation command in Dockerfile. (Didn't add it in requirements because it's not really a requirement for the whole project)
- Add user: root:root to allow superset service to work in development mode. Since access to binded superset directory to local requires root user.
- Also add localhost to postgres and redis services to reduce unintended security risk.
* Fix docker configurations and docker installation guide.
- Fix installation guide regarding passing enviromental variable to docker-compose.
- Add gevent installation command in Dockerfile. (Didn't add it in requirements because it's not really a requirement for the whole project)
- Add user: root:root to allow superset service to work in development mode. Since access to binded superset directory to local requires root user.
- Also add localhost to postgres and redis services to reduce unintended security risk.
* fix: update polygon example data to work with multi deck.gl
- both "point_radius_fixed" and "multiplier" attributes were not set during load_examples so these charts were failing when viewing as a multi deck.gl chart
* fix: unify deck.gl getLayers api to fix multi deck.gl tooltips
- various deck.gl layers implemented getLayers slightly differently which caused issues with generating default tooltips when the layers are viewed in a multi deck.gl chart
* fix: cleanup formData variable in scatter chart for consistency
* linting fix + polygon regression fix
* additional linting fixes
* fix: multi deck.gl viewport frozen
add onViewportChange method to handle changes to the viewport
* fix: add max_radius to deck.gl scatter example
- causes multi deck.gl to fail to render scatter without max_radius attribute
* Allow users to publish dashboards
* Rework publish dashboards feature
- The eye next to the title has been replaced with a [draft] badge
- Published status is now toggled in the Header Action Dropdown
- CRUD list shows published status
* Fix linter errors
* Update javascript tests
* Add tests and change DashboardFilter
Add some tests to make sure the published status is rendered and
Make it so that users cannot see dashboards that are published
if they don't have access to any of the slices within
* Fix some linter errors
* Remove commas from core.py
* Fix some failing tests
* More linter errors I introduced
* Fix more linter errors I introduced
* update alembic migration
* Update design of publish dash feature
* Upgrade migration version
* Secure publish endpoint
* Remove bad quotes
* Give publish span its own style
* fix publish rendering
* Add new test for publish feature
* Update migration
* update slug in test
* Update migration
* Address reviwer comments
* Fix linter errors
* Add licenses
* Remove fetchPublished(), use bootstrap data
* Update migration
* Update croniter to existing version
* Fix linter errors
* Upgrade DB Revisions
* Fix flake8 linter error
* Set all dashboards to published on migration
* Migration proper line spacing
* Fix migration to work with postgres
* UPDATE statement works with postgresql and sqlite hopefully
* Update wording to kick off travis
Creating the database connection will actually go through the get_sqla_engine path so that's what should be used to test the connection. This was triggered by realizing that testconn was not using the DB_CONNECTION_MUTATOR hook.
See #7668
* [log] New, make action log configurable and generic
* [log] Fix, missing apache license
* [log] Fix, user_id is a required parameter on event logs
* [log] Fix, Rename Action to Event
* [log] Fix, flake8
* [logger] Change all log_this decorators to new abstract one
* [logger] [docs] Simple docs to show how to override the event log
* [style] Fix, single quote to double quote
* [style] Fix, single quote to double quote
Fixing a few failing examples, examples were referencing metrics that
were getting auto-generated in the past (like `sum__num`),
that we now prevent from getting created.
* [WiP] Improvements related to ASF release process
* Removing translation binaries (.mo)
* Working on 2 docker files to help package and validate releases
* Dockerfile.from_tarball: takes a VERSION as input, downloads
official source release fro svn and bakes it into a functional
docker image that can be validated
* Dockerfile.make_tarball: helps a maintainer to package and sign a
release candidate or release
* Address COPYRIGHT + LICENSE issues
(cherry picked from commit 5ae2836b25)
* Add Roboto font to LICENSE, remove glyphicons files
(cherry picked from commit 9615f39f7a556afe217b4e3288c9116f8ffaab91)
* remove unused LICENSE entries
* Change babytux to open image in birth dashboard
(cherry picked from commit 2776d11893596a029b8af37b96fd6ce1a9f12059)
* Improve instructions
* Docker tweaks
(cherry picked from commit df6e6462458ea8cff1482c142921b20f5607ad8e)
* Include image
Common mistake is trying to import dashboard without creating
datasources first. Currently it causes error 500 with a message
> sqlalchemy.orm.exc.NoResultFound: No row was found for one()
which is difficult to understand.
This commit catches NoResultFound error and returns human readable error
using flash('danger').
Ref: #2992
* Improve documentation and add type annotations for jinja context
* Fix linting errors
* Move requirements to correct place and remove redundant line change
* Make example query more ANSI SQL
* fix: table autocomplete and update unit tests
* fix: linting issues
* fix: disable tests properly
* empty commit
* fix: align structure across fe and be
* Add extra_require for bigquery to setup.py
* Refactor df_to_db and add df upload capability for BigQuery
* Fix unit tests and clarify kwarg logic
* Fix flake8 errors
* Add minimum versions for bigquery dependencies
* wrap to_gbq in try-catch block and raise error if pandas-gbq is missing
* Fix linting error and make error more generic
* Use grid for wide tables
* WIP
* Fix CSS issues
* Add unit test
* Add constant
* Improve ref
* Remove wrong refs; no longer need extra height
* Revert number of columns
* Add new escape characters to OnPasteSelect
* Add Unit Tests to onPasteSelect_spec
* Update new line to tab escape character
* Fix indentation in 2 cases
* fix: SqlaColumn.type overflow on mysql
Hitting a new error when loading examples around a datatype that exceeds
the 32 chars limit on SqlaColumn.type
Type includes the 'COLLATE utf8mb4_general_ci' suffix which is too
verbose and not needed in that context.
* fix tests
* [FAB] set AppBuilder to update_perms=False
Upon start, by default, FAB tries to go and update the permission list
in the database based on the list of views, models and menu items that
exist in the code.
Really this should happen once per deployment/upgrade and
not in module scope, so we have `superset init` for this.
The intent was always to set to False by default, but I think we forgot
to add this flag back in
https://github.com/apache/incubator-superset/pull/7323
* Add superset init to tox
* [SQL Lab] Adds autocomplete on table names and auto-add to schema browser
Closes#7059
* Wrapping up #7130
For more details see #7130, this PR addresses the merge conflicts.
* feat: rough check in for Presto rows and arrays
* fix: presto arrays
* fix: return selected and expanded columns
* fix: add helper methods and unit tests
* fix: only allow exploration of selected columns
* fix: address Beto's comments and add more unit tests
* Add Auto option to point radius to make it work as expected since the example using this didn't work because of this (and also as the tooltip says the auto option should be available)
* Remove trailing space
When the same metric is used in a World Map panel for both bubble size
and an axis (either X or Y), it currently breaks the rendering.
The change in behavior was introduced in:
71e0c07904 (diff-f451672348fc6071e8d627778bdc4e96L1730)
The use of .iloc() is not needed anymore since the code that used
to duplicate the metric is not there anymore.
Should fix#7006
* Move schema name handling in table names from frontend to backend
* Rename all_schema_names to get_all_schema_names
* Fix js errors
* Fix additional js linting errors
* Refactor datasource getters and fix linting errors
* Update js unit tests
* Add python unit test for get_table_names method
* Add python unit test for get_table_names method
* Fix js linting error
* Creating withVerification HOC
* Updating to use componentDidMount and componentDidUpdate and adding propTypes
* Adding tests to withVerification
* Adding documentation to withVerification
* resolved conflict
* Docs updated re: Anaconda/certifi issue re #7373
* Removed --console-log "not working" note
* A note about Anaconda virtualenvs
* Make anaconda comment fit on page
* Added README to docker directory
* Added install doc reference to master copy of contrib/docker/README.md
* merged master, removed mysqlclient
* Removed mysql dependency, Anaconda and --console-log references
* Add cypress install command to cypress test instructions
* Fixed cypress instructions re: port 8081
* Removed anaconda reference, runserver references
* Remove anaconda reference
* Added back a self-contained version of mysqlclient to dev requirements
* Added ASF license to docker README.md
flask-talisman was enabled recently and while it may be virtuous in some
cases, it seems to break things out of the box.
Locally and in dev mode, upon my first redirect it sends to HTTPS and
things it crashes.
I think it should be opt-in, maybe we can recommend turning this on in
production in the docs?
* [WIP] Live query validation, where supported
This builds on #7422 to build check-as-you-type sql
query validation in Sql Lab. This closes#6707 too.
It adds a (debounced) call to the validate_sql_json
API endpoint with the querytext, and on Lyft infra is
able to return feedback to the user (end to end) in
$TBD seconds.
At present feedback is provided only through the
"annotations" mechanism build in to ACE, although
I'd be open to adding full text elsewhere on the
page if there's interest.
* fix: Unbreak lints and tests
* Flatten MapChartPreset, HierarchyChartPreset, and CommonChartPreset charts into LegacyChartPreset class
* Rename LegacyChartPreset class to MainPreset to reflect new chart preset hierarchy
After the following PyDruid change (contained in version 0.5.2)
the Superset Histogram charts rendered with Druid data are
broken:
druid-io/pydruid@0a59a70
Bump the pydruid requirements accordingly in setup.py
Issue: apache#7368
* Bugfix to SQL Lab to support tables and schemas with characters that require quoting
* Remove debugging prints
* Add uri encoding to secondary tables call
* Quote schema names for presto
* Quote selected_schema on Snowflake, MySQL and Hive
* Remove redundant parens
* Add python unit tests
* Add js unit test
* Fix flake8 linting error
* Merge lastest from master into lyft-release-sp8 (#7405)
* filter out all nan series (#7313)
* improve not rich tooltip (#7345)
* Create issue_label_bot.yaml (#7341)
* fix: do not save colors without a color scheme (#7347)
* [wtforms] Strip leading/trailing whitespace (#7084)
* [schema] Updating the datasources schema (#5451)
* limit tables/views returned if schema is not provided (#7358)
* limit tables/views returned if schema is not provided
* fix typo
* improve code performance
* handle the case when table name or view name does not present a schema
* Add type anno (#7342)
* Updated local dev instructions to include missing step
* First pass at type annotations
* [schema] Updating the base column schema (#5452)
* Update 937d04c16b64_update_datasources.py (#7361)
* Feature flag for client cache (#7348)
* Feature flag for client cache
* Fix integration test
* Revert "Fix integration test"
This reverts commit 58434ab98a.
* Feature flag for client cache
* Fix integration tests
* Add feature flag to config.py
* Add another feature check
* Fix more integration tests
* Fix raw HTML in SliceAdder (#7338)
* remove backendSync.json (#7331)
* [bubbles] issue when using duplicated metrics (#7087)
* SUPERSET-7: Docker compose config version breaks on Ubuntu 16.04 (#7359)
* SUPERSET-8: Update text in docs copyright footer (#7360)
* SUPERSET-7: Docker compose config version breaks on Ubuntu 16.04
* SUPERSET-8: Extra text in docs copyright footer
* [schema] Adding commits and removing unnecessary foreign-key definitions (#7371)
* Store last selected dashboard in sessionStorage (#7181)
* Store last selected dashboard in sessionStorage
* Fix tests
* [schema] Updating the base metric schema (#5453)
* Fix NoneType bug & fill the test recipients with original recipients if empty (#7365)
* feat: see Presto row and array data types (#7391)
* feat: see Presto row and array data types
* fix: address PR comments
* fix: lint and build issues
* fix: add types
* Incorporate feedback from initial PR (prematurely merged to lyft-release-sp8) (#7415)
* add stronger type hints where possible
* fix: lint issues and add select_star func in Hive
* add missing pkg init
* fix: build issues
* fix: pylint issues
* fix: use logging instead of print
* feat: view presto row objects in data grid
* fix: address feedback
* fix: spacing
* Workaround for no results returned (#7442)
* feat: view presto row objects in data grid (#7436)
* feat: view presto row objects in data grid
* fix: address feedback
* fix: spacing
* feat: Scheduling queries from SQL Lab (#7416)
* Lightweight pipelines POC
* Add docs
* Minor fixes
* Remove Lyft URL
* Use enum
* Minor fix
* Fix unit tests
* Mark props as required
* Merge lastest from master into lyft-release-sp8 (#7405)
* filter out all nan series (#7313)
* improve not rich tooltip (#7345)
* Create issue_label_bot.yaml (#7341)
* fix: do not save colors without a color scheme (#7347)
* [wtforms] Strip leading/trailing whitespace (#7084)
* [schema] Updating the datasources schema (#5451)
* limit tables/views returned if schema is not provided (#7358)
* limit tables/views returned if schema is not provided
* fix typo
* improve code performance
* handle the case when table name or view name does not present a schema
* Add type anno (#7342)
* Updated local dev instructions to include missing step
* First pass at type annotations
* [schema] Updating the base column schema (#5452)
* Update 937d04c16b64_update_datasources.py (#7361)
* Feature flag for client cache (#7348)
* Feature flag for client cache
* Fix integration test
* Revert "Fix integration test"
This reverts commit 58434ab98a.
* Feature flag for client cache
* Fix integration tests
* Add feature flag to config.py
* Add another feature check
* Fix more integration tests
* Fix raw HTML in SliceAdder (#7338)
* remove backendSync.json (#7331)
* [bubbles] issue when using duplicated metrics (#7087)
* SUPERSET-7: Docker compose config version breaks on Ubuntu 16.04 (#7359)
* SUPERSET-8: Update text in docs copyright footer (#7360)
* SUPERSET-7: Docker compose config version breaks on Ubuntu 16.04
* SUPERSET-8: Extra text in docs copyright footer
* [schema] Adding commits and removing unnecessary foreign-key definitions (#7371)
* Store last selected dashboard in sessionStorage (#7181)
* Store last selected dashboard in sessionStorage
* Fix tests
* [schema] Updating the base metric schema (#5453)
* Fix NoneType bug & fill the test recipients with original recipients if empty (#7365)
* feat: see Presto row and array data types (#7391)
* feat: see Presto row and array data types
* fix: address PR comments
* fix: lint and build issues
* fix: add types
* Incorporate feedback from initial PR (prematurely merged to lyft-release-sp8) (#7415)
* add stronger type hints where possible
* fix: lint issues and add select_star func in Hive
* add missing pkg init
* fix: build issues
* fix: pylint issues
* fix: use logging instead of print
* feat: view presto row objects in data grid
* fix: address feedback
* fix: spacing
* Merge lastest from master into lyft-release-sp8 (#7405)
* filter out all nan series (#7313)
* improve not rich tooltip (#7345)
* Create issue_label_bot.yaml (#7341)
* fix: do not save colors without a color scheme (#7347)
* [wtforms] Strip leading/trailing whitespace (#7084)
* [schema] Updating the datasources schema (#5451)
* limit tables/views returned if schema is not provided (#7358)
* limit tables/views returned if schema is not provided
* fix typo
* improve code performance
* handle the case when table name or view name does not present a schema
* Add type anno (#7342)
* Updated local dev instructions to include missing step
* First pass at type annotations
* [schema] Updating the base column schema (#5452)
* Update 937d04c16b64_update_datasources.py (#7361)
* Feature flag for client cache (#7348)
* Feature flag for client cache
* Fix integration test
* Revert "Fix integration test"
This reverts commit 58434ab98a.
* Feature flag for client cache
* Fix integration tests
* Add feature flag to config.py
* Add another feature check
* Fix more integration tests
* Fix raw HTML in SliceAdder (#7338)
* remove backendSync.json (#7331)
* [bubbles] issue when using duplicated metrics (#7087)
* SUPERSET-7: Docker compose config version breaks on Ubuntu 16.04 (#7359)
* SUPERSET-8: Update text in docs copyright footer (#7360)
* SUPERSET-7: Docker compose config version breaks on Ubuntu 16.04
* SUPERSET-8: Extra text in docs copyright footer
* [schema] Adding commits and removing unnecessary foreign-key definitions (#7371)
* Store last selected dashboard in sessionStorage (#7181)
* Store last selected dashboard in sessionStorage
* Fix tests
* [schema] Updating the base metric schema (#5453)
* Fix NoneType bug & fill the test recipients with original recipients if empty (#7365)
* feat: see Presto row and array data types (#7391)
* feat: see Presto row and array data types
* fix: address PR comments
* fix: lint and build issues
* fix: add types
* add stronger type hints where possible
* fix: lint issues and add select_star func in Hive
* add missing pkg init
* fix: build issues
* fix: pylint issues
* fix: use logging instead of print
* Bump FAB to 2.0.0
* [tests] whitelist SecurityApi login and refresh endpoints
* [style] Fix, C812 missing trailing commas
* [security] Remove SUPERSET_UPDATE_PERMS flag
Registering sources needs to be performed after the views are
initialized on UPDATE_PERMS=False configuration
* [docs] New, FAB_UPDATE_PERMS and flask fab cli
* [docs] Fix, db upgrade needs to come first, create-admin needs a db
* [cli] New, superset init bootstraps all permissions for FAB and Superset
* [style] Fix, flakes
* Added living goods as among the users of Superset
Living Goods is a non profit organisation with operation in africa and the middle east. We work in community health use data heavily on day to day. Superset is our platform of choice for dashboards.
* Update README.md
* Feature flag for client cache
* Fix integration test
* Revert "Fix integration test"
This reverts commit 58434ab98a.
* Feature flag for client cache
* Fix integration tests
* Add feature flag to config.py
* Add another feature check
* Fix more integration tests
* limit tables/views returned if schema is not provided
* fix typo
* improve code performance
* handle the case when table name or view name does not present a schema
Fixes a series of unexpected things around control validation.
* when a chart opens in a state where a control is invalid, it still
runs the query, and sometimes gets stuck in what appears to be a 'running'
state. After this change, no query is run, and a warning is displayed
in the chart panel body, just like any other error would
* validation used to be done in the <Control> component and alter the
redux store as it went. Clearly this is not the right approach, now
validation occurs on loading the initial redux state, as well as in
the reducer when controls are changed
* currently, when going from a invalid control state to a valid one
(user addresses what is needed), it auto-triggers a query which can be
unexpected. After this change, the error message disappears, and the
"Run Query" overlay gets displayed
* when changing viz type, it's common to get new validation
errors, and currently when that occurs it will still go ahead and run
a query with invalid inputs, which often results in errors
that are not well handled, since much of the logic
assumes control-validated input.
* prettier control validation messages
(cherry picked from commit a3212eba5df95bca834d8d6d98c11d522d9172f3)
* Adding permission for can_only_access_owned_queries
* Fixing lint adding typing to variable
* Adding test for queryview and enabling /queryview/api/read
* Fixing issues with python typing
* feat: bump superset-ui versions to 0.11
* fix: update version number again
* fix: package-lock.json
* test: disable large number test
* fix: revert cors
* [load_examples] download data at runtime
When running `superset load_examples` to load example data sets,
Superset used to load from the local package. This created a few issues
notably around licensing (what are these datasets licensed as?) and
around package size.
For now, I moved the data sets here:
https://github.com/apache-superset/examples-data
Altered the logic to download the data from where it is stored.
* flakes
* fix: time series table
* fix: add default value for label
* fix: use prop values if defined
* fix: revert CollectionControl changes
(cherry picked from commit 5dab983fd8)
* [SQL Lab] fix table metadata loading spinner
The loading spinner used to be close to the new table name that was just
added, and recently flickers and disappears early.
This puts the spinner where it's expected to be.
* Use class
* Addressing comments
* adapt CSS
* add missing license
* Fix logo / branding files
SVG was busted in the branding folder. Files were partly corrupt.
This takes back the original logo, and offers a with-Apache and
without-Apache option. SVG renders nicely. The pngs are also bigger.
* add ASF license
in some cases, people want a time filter only on filter box, without
specifying dimensions (filters), this allows that
(cherry picked from commit e39b169949)
* Sparkline dates aren't formatting in Time Series Table (#6976)
* Exclude venv for python linter to ignore
* Fix NaN error
* Fix the white background shown in SQL editor on drag (#7021)
This PR sets the background-color css property on `.ace_scroller` instead of `.ace_content` to prevent the white background shown during resizing of the SQL editor before drag ends.
* Show tooltip with time frame (#6979)
* Fix time filter control (#6978)
* Enhancement of query context and object. (#6962)
* added more functionalities for query context and object.
* fixed cache logic
* added default value for groupby
* updated comments and removed print
(cherry picked from commit d5b9795f87)
* [fix] /superset/slice/id url is too long (#6989)
(cherry picked from commit 6a4d507ab6)
* [WIP] fix user specified JSON metadata not updating dashboard on refresh (#7027)
(cherry picked from commit cc58f0e661)
* feat: add ability to change font size in big number (#7003)
* Add ability to change font sizes in Big Number
* rename big number to header
* Add comment to clarify font size values
* Allow LIMIT to be specified in parameters (#7052)
* [fix] Cursor jumping when editing chart and dashboard titles (#7038)
(cherry picked from commit fc1770f7b7)
* Changing time table viz to pass formatTime a date (#7020)
(cherry picked from commit 7f3c145b1f)
* [db-engine-spec] Aligning Hive/Presto partition logic (#7007)
(cherry picked from commit 05be866117)
* [fix] explore chart from dashboard missed slice title (#7046)
(cherry picked from commit a6d48d4052)
* fix inaccurate data calculation with adata rolling and contribution (#7035)
(cherry picked from commit 0782e831cd)
* Adding warning message for sqllab save query (#7028)
(cherry picked from commit ead3d48133)
* [datasource] Ensuring consistent behavior of datasource editing/saving. (#7037)
* Update datasource.py
* Update datasource.py
(cherry picked from commit c771625f10)
* [csv-upload] Fixing message encoding (#6971)
(cherry picked from commit 48431ab5b9)
* [sql-parse] Fixing LIMIT exceptions (#6963)
(cherry picked from commit 3e076cb60b)
* Adding custom control overrides (#6956)
* Adding extraOverrides to line chart
* Updating extraOverrides to fit with more cases
* Moving extraOverrides to index.js
* Removing webpack-merge in package.json
* Fixing metrics control clearing metric
(cherry picked from commit e6194051f4)
* [sqlparse] Fixing table name extraction for ill-defined query (#7029)
(cherry picked from commit 07c340cf82)
* [missing values] Removing replacing missing values (#4905)
(cherry picked from commit 61add606ca)
* [SQL Lab] Improved query and results tabs rendering reliability (#7082)
closes#7080
(cherry picked from commit 9b58e9f492)
* Fix filter_box migration PR #6523 (#7066)
* Fix filter_box migration PR #6523
* Fix druid-related bug
(cherry picked from commit b210742ad2)
* SQL editor layout makeover (#7102)
This PR includes the following layout and css tweaks:
- Using flex to layout the north and south sub panes of query pane so resizing works properly in both Chrome and Firefox
- Removal of necessary wrapper divs and tweaking of css in sql lab so we can scroll to the bottom of both the table list and the results pane
- Make sql lab's content not overflow vertically and layout the query result area to eliminate double scroll bars
- css tweaks on the basic.html page so the loading animation appears in the center of the page across the board
(cherry picked from commit 71f1bbd2ec)
* [forms] Fix handling of NULLs
(cherry picked from commit e83a07d3df)
* handle null column_name in sqla and druid models
(cherry picked from commit 2ff721ae07)
* Use metric name instead of metric in filter box (#7106)
(cherry picked from commit 003364e74e)
* Bump python lib croniter to an existing version (#7132)
Package maintainers should really never delete packages, but it appears
this happened with croniter and resulted in breaking our builds.
This PR bumps to a more recent existing version of the library
(cherry picked from commit 215ed392a1)
* Revert PR #6933 (#7162)
* Celery worker for warming up cache
* Remove testing changes
* Add documentation
* Fix lint
* WIP dashboard filters
* Use new cache so it works with dashboards
* Add more unit tests, fix old ones
* Fix flake8 and docs
* Sparkline dates aren't formatting in Time Series Table (#6976)
* Exclude venv for python linter to ignore
* Fix NaN error
* Changing time table viz to pass formatTime a date (#7020)
(cherry picked from commit 7f3c145b1f)
* SQL editor layout makeover (#7102)
This PR includes the following layout and css tweaks:
- Using flex to layout the north and south sub panes of query pane so resizing works properly in both Chrome and Firefox
- Removal of necessary wrapper divs and tweaking of css in sql lab so we can scroll to the bottom of both the table list and the results pane
- Make sql lab's content not overflow vertically and layout the query result area to eliminate double scroll bars
- css tweaks on the basic.html page so the loading animation appears in the center of the page across the board
(cherry picked from commit 71f1bbd2ec)
* Celery worker for warming up cache
* Remove testing changes
* Add documentation
* Fix lint
* WIP dashboard filters
* Use new cache so it works with dashboards
* Add more unit tests, fix old ones
* Fix flake8 and docs
* Fix bad merge and pylint
* Add tooltips to deck.gl viz types
* Handle text overflow
* Use .css file instead of .less
* fix: add tooltip component
* Add tooltips to deck.gl viz types
* Handle text overflow
* Use .css file instead of .less
* fix: add tooltip component
* fix: casing, types, and keys
* Sparkline dates aren't formatting in Time Series Table (#6976)
* Exclude venv for python linter to ignore
* Fix NaN error
* Fix the white background shown in SQL editor on drag (#7021)
This PR sets the background-color css property on `.ace_scroller` instead of `.ace_content` to prevent the white background shown during resizing of the SQL editor before drag ends.
* Show tooltip with time frame (#6979)
* Fix time filter control (#6978)
* Enhancement of query context and object. (#6962)
* added more functionalities for query context and object.
* fixed cache logic
* added default value for groupby
* updated comments and removed print
(cherry picked from commit d5b9795f87)
* [fix] /superset/slice/id url is too long (#6989)
(cherry picked from commit 6a4d507ab6)
* [WIP] fix user specified JSON metadata not updating dashboard on refresh (#7027)
(cherry picked from commit cc58f0e661)
* feat: add ability to change font size in big number (#7003)
* Add ability to change font sizes in Big Number
* rename big number to header
* Add comment to clarify font size values
* Allow LIMIT to be specified in parameters (#7052)
* [fix] Cursor jumping when editing chart and dashboard titles (#7038)
(cherry picked from commit fc1770f7b7)
* Changing time table viz to pass formatTime a date (#7020)
(cherry picked from commit 7f3c145b1f)
* [db-engine-spec] Aligning Hive/Presto partition logic (#7007)
(cherry picked from commit 05be866117)
* [fix] explore chart from dashboard missed slice title (#7046)
(cherry picked from commit a6d48d4052)
* fix inaccurate data calculation with adata rolling and contribution (#7035)
(cherry picked from commit 0782e831cd)
* Adding warning message for sqllab save query (#7028)
(cherry picked from commit ead3d48133)
* [datasource] Ensuring consistent behavior of datasource editing/saving. (#7037)
* Update datasource.py
* Update datasource.py
(cherry picked from commit c771625f10)
* [csv-upload] Fixing message encoding (#6971)
(cherry picked from commit 48431ab5b9)
* [sql-parse] Fixing LIMIT exceptions (#6963)
(cherry picked from commit 3e076cb60b)
* Adding custom control overrides (#6956)
* Adding extraOverrides to line chart
* Updating extraOverrides to fit with more cases
* Moving extraOverrides to index.js
* Removing webpack-merge in package.json
* Fixing metrics control clearing metric
(cherry picked from commit e6194051f4)
* [sqlparse] Fixing table name extraction for ill-defined query (#7029)
(cherry picked from commit 07c340cf82)
* [missing values] Removing replacing missing values (#4905)
(cherry picked from commit 61add606ca)
* [SQL Lab] Improved query and results tabs rendering reliability (#7082)
closes#7080
(cherry picked from commit 9b58e9f492)
* Fix filter_box migration PR #6523 (#7066)
* Fix filter_box migration PR #6523
* Fix druid-related bug
(cherry picked from commit b210742ad2)
* SQL editor layout makeover (#7102)
This PR includes the following layout and css tweaks:
- Using flex to layout the north and south sub panes of query pane so resizing works properly in both Chrome and Firefox
- Removal of necessary wrapper divs and tweaking of css in sql lab so we can scroll to the bottom of both the table list and the results pane
- Make sql lab's content not overflow vertically and layout the query result area to eliminate double scroll bars
- css tweaks on the basic.html page so the loading animation appears in the center of the page across the board
(cherry picked from commit 71f1bbd2ec)
* [forms] Fix handling of NULLs
(cherry picked from commit e83a07d3df)
* handle null column_name in sqla and druid models
(cherry picked from commit 2ff721ae07)
* Use metric name instead of metric in filter box (#7106)
(cherry picked from commit 003364e74e)
* Bump python lib croniter to an existing version (#7132)
Package maintainers should really never delete packages, but it appears
this happened with croniter and resulted in breaking our builds.
This PR bumps to a more recent existing version of the library
(cherry picked from commit 215ed392a1)
* Revert PR #6933 (#7162)
* Add decorator for etag cache
* Fetch charts with GET
* Small fixes
* Fix typo
* Compute correct cache key; fix logging
* Check perms on cached response
* Revert change
* If perms fail, return naked response
* Fix lint
* Compute cache key from all form data
* Pass extra_filters in GET request
* Fix pylint
* Fix flake8
* Use ETags even if no cache is set
* Handle adhoc filters
* Raise in debug mode
* Rename actions
* Fix integration tests
* Do POST request on new charts
* Set extra/adhoc filters only in GET requests
* Raise if check_perms fails
* Refactor auth
* Fix flake8
* Fix js unit tests
* Fix js unit tests that fail in lyftga
* Fix js
* Sparkline dates aren't formatting in Time Series Table (#6976)
* Exclude venv for python linter to ignore
* Fix NaN error
* Changing time table viz to pass formatTime a date (#7020)
(cherry picked from commit 7f3c145b1f)
* SQL editor layout makeover (#7102)
This PR includes the following layout and css tweaks:
- Using flex to layout the north and south sub panes of query pane so resizing works properly in both Chrome and Firefox
- Removal of necessary wrapper divs and tweaking of css in sql lab so we can scroll to the bottom of both the table list and the results pane
- Make sql lab's content not overflow vertically and layout the query result area to eliminate double scroll bars
- css tweaks on the basic.html page so the loading animation appears in the center of the page across the board
(cherry picked from commit 71f1bbd2ec)
* Add decorator for etag cache
* Fetch charts with GET
* Small fixes
* Fix typo
* Compute correct cache key; fix logging
* Check perms on cached response
* Revert change
* If perms fail, return naked response
* Fix lint
* Compute cache key from all form data
* Pass extra_filters in GET request
* Fix pylint
* Fix flake8
* Use ETags even if no cache is set
* Handle adhoc filters
* Raise in debug mode
* Rename actions
* Fix integration tests
* Do POST request on new charts
* Set extra/adhoc filters only in GET requests
* Raise if check_perms fails
* Refactor auth
* Fix flake8
* Fix js unit tests
* Fix js unit tests that fail in lyftga
* Fix js
* Fix bad merge
* Use far future when max_age=0
* revert: bignumber patch to prevent rendering regression in charts
* Revert "Fix rendering regression from the introduction of bignumber (#6937)"
* fix: consume the bignumber.js reversion -- apply the bignumber conversion in `actions/sqlLab.js` where it is needed (aka opt into bignumber.js).
* Revert "Fix deck.gl form data (#6953)" b/c formData now returns snake_cased properties for deck vizzes.
* Sparkline dates aren't formatting in Time Series Table (#6976)
* Exclude venv for python linter to ignore
* Fix NaN error
* Fix the white background shown in SQL editor on drag (#7021)
This PR sets the background-color css property on `.ace_scroller` instead of `.ace_content` to prevent the white background shown during resizing of the SQL editor before drag ends.
* Show tooltip with time frame (#6979)
* Fix time filter control (#6978)
* Enhancement of query context and object. (#6962)
* added more functionalities for query context and object.
* fixed cache logic
* added default value for groupby
* updated comments and removed print
(cherry picked from commit d5b9795f87)
* [fix] /superset/slice/id url is too long (#6989)
(cherry picked from commit 6a4d507ab6)
* [WIP] fix user specified JSON metadata not updating dashboard on refresh (#7027)
(cherry picked from commit cc58f0e661)
* feat: add ability to change font size in big number (#7003)
* Add ability to change font sizes in Big Number
* rename big number to header
* Add comment to clarify font size values
* Allow LIMIT to be specified in parameters (#7052)
* [fix] Cursor jumping when editing chart and dashboard titles (#7038)
(cherry picked from commit fc1770f7b7)
* Changing time table viz to pass formatTime a date (#7020)
(cherry picked from commit 7f3c145b1f)
* [db-engine-spec] Aligning Hive/Presto partition logic (#7007)
(cherry picked from commit 05be866117)
* [fix] explore chart from dashboard missed slice title (#7046)
(cherry picked from commit a6d48d4052)
* fix inaccurate data calculation with adata rolling and contribution (#7035)
(cherry picked from commit 0782e831cd)
* Adding warning message for sqllab save query (#7028)
(cherry picked from commit ead3d48133)
* [datasource] Ensuring consistent behavior of datasource editing/saving. (#7037)
* Update datasource.py
* Update datasource.py
(cherry picked from commit c771625f10)
* [csv-upload] Fixing message encoding (#6971)
(cherry picked from commit 48431ab5b9)
* [sql-parse] Fixing LIMIT exceptions (#6963)
(cherry picked from commit 3e076cb60b)
* Adding custom control overrides (#6956)
* Adding extraOverrides to line chart
* Updating extraOverrides to fit with more cases
* Moving extraOverrides to index.js
* Removing webpack-merge in package.json
* Fixing metrics control clearing metric
(cherry picked from commit e6194051f4)
* [sqlparse] Fixing table name extraction for ill-defined query (#7029)
(cherry picked from commit 07c340cf82)
* [missing values] Removing replacing missing values (#4905)
(cherry picked from commit 61add606ca)
* [SQL Lab] Improved query and results tabs rendering reliability (#7082)
closes#7080
(cherry picked from commit 9b58e9f492)
* Fix filter_box migration PR #6523 (#7066)
* Fix filter_box migration PR #6523
* Fix druid-related bug
(cherry picked from commit b210742ad2)
* SQL editor layout makeover (#7102)
This PR includes the following layout and css tweaks:
- Using flex to layout the north and south sub panes of query pane so resizing works properly in both Chrome and Firefox
- Removal of necessary wrapper divs and tweaking of css in sql lab so we can scroll to the bottom of both the table list and the results pane
- Make sql lab's content not overflow vertically and layout the query result area to eliminate double scroll bars
- css tweaks on the basic.html page so the loading animation appears in the center of the page across the board
(cherry picked from commit 71f1bbd2ec)
* [forms] Fix handling of NULLs
(cherry picked from commit e83a07d3df)
* handle null column_name in sqla and druid models
(cherry picked from commit 2ff721ae07)
* Use metric name instead of metric in filter box (#7106)
(cherry picked from commit 003364e74e)
* Bump python lib croniter to an existing version (#7132)
Package maintainers should really never delete packages, but it appears
this happened with croniter and resulted in breaking our builds.
This PR bumps to a more recent existing version of the library
(cherry picked from commit 215ed392a1)
* Revert PR #6933 (#7162)
* [bugfix] SQL Lab 'Filter Results' doesn't stick (#7104)
When using a "Search Results" criteria, the subset of rows that match
the criteria get displayed. While this the filter is applied, if another
query is run, the filter is still active, but not displayed in the input
text box. After this change, the state of the input box sticks after
subsequent queries.
(cherry picked from commit d5e8d663dc)
* Injectable statsd client (#7138)
* Add ability to inject statsd client; some py test/reqs updates
- Updated the metrics logger to allow construction with an existing
statsd client, so that it can be configured by external systems or libs.
- added requirements to requirements-dev.txt which are needed to run
tests-eg coverage, nose
- removed dependency on mock lib, it is in python stdlib now
- updated tox.ini to remove the now-superfluous deps
* add license to test file, and remove blank line at EOF
(cherry picked from commit ba19a62412)
* [Lyft-GA] Enable color consistency in a dashboard (#7135)
* Enable color consistency in a dashboard
Moved actions, minor UI, allowed dashboard copy
Fix linting errors
Undo unintentional change
Updated and added unit tests
Fail quietly if package has not been updated
Fail quietly on dashboard copy if package is old
* Update packages
* Remove unnecessary code
* Addressed Grace's comments
* Small fix for item key
* Reset chart's color during exploration
* Do not reset chart form data when exploring chart
* Fix double scroll bars when content of sql result table overflows horizontally (#7168)
The PR substracts the scrollbar height from the height of the container of the react virtualized table so we don't see double scrollbars.
(cherry picked from commit 7ffcabd5c0)
* Change number format default
* Use smart formatter instead
* fix merge issues
* Use SMART_NUMBER
* Enable color consistency in a dashboard
Moved actions, minor UI, allowed dashboard copy
Fix linting errors
Undo unintentional change
Updated and added unit tests
Fail quietly if package has not been updated
Fail quietly on dashboard copy if package is old
* Update packages
* Remove unnecessary code
* Addressed Grace's comments
* Small fix for item key
* Reset chart's color during exploration
* Do not reset chart form data when exploring chart
* [security] make it easier to redefine Alpha/Gamma
While talking about some security aspect and as to how you'd alter Alpha
or Gamma role in a specific environment, I realized that these
module-scoped constants would be much more useful as class attributes.
This way, someone can override these sets in their security manager
to alter base roles.
* fix
* flake8
* fix: make vis type control handle unregistered type
* fix: hide when not needed
* fix: do not try to read controlpanelconfig for invalid type
* feat: add t
* [migration] Fixing issue with fb13d49b72f9 downgrade
This PR fixes an issue with the downgrade step of migration fb13d49b72f9 which wrongfully labeled the field `metrics` rather than `metric`.
to: @graceguo-supercat @michellethomas @mistercrunch
* Update fb13d49b72f9_better_filters.py
When using a "Search Results" criteria, the subset of rows that match
the criteria get displayed. While this the filter is applied, if another
query is run, the filter is still active, but not displayed in the input
text box. After this change, the state of the input box sticks after
subsequent queries.
* Add ability to inject statsd client; some py test/reqs updates
- Updated the metrics logger to allow construction with an existing
statsd client, so that it can be configured by external systems or libs.
- added requirements to requirements-dev.txt which are needed to run
tests-eg coverage, nose
- removed dependency on mock lib, it is in python stdlib now
- updated tox.ini to remove the now-superfluous deps
* add license to test file, and remove blank line at EOF
Package maintainers should really never delete packages, but it appears
this happened with croniter and resulted in breaking our builds.
This PR bumps to a more recent existing version of the library
* Add HTTP Basic Auth for Druid (Issue #4776)
This should resolve [Issue #4776](https://github.com/apache/incubator-superset/issues/4776)
Add HTTP Basic Auth to the Druid Broker.
Signed-off-by: Don Bowman <don@agilicus.com>
* Encrypt broker password in database
Signed-off-by: Don Bowman <don@agilicus.com>
* Merge from master, new migration needed
Signed-off-by: Don Bowman <don@agilicus.com>
* Do not expose hashed druid basic auth password
* docs: add description_columns for druid basic auth
This PR includes the following layout and css tweaks:
- Using flex to layout the north and south sub panes of query pane so resizing works properly in both Chrome and Firefox
- Removal of necessary wrapper divs and tweaking of css in sql lab so we can scroll to the bottom of both the table list and the results pane
- Make sql lab's content not overflow vertically and layout the query result area to eliminate double scroll bars
- css tweaks on the basic.html page so the loading animation appears in the center of the page across the board
* Bump sqla to >=1.3.1
* Refine mssql column types to only use N-prefixing when necessary
* make join explicit
* replace set with list
* Add additional test case for N-prefix
* Replace engine with dialect and fix linting error
* Remove unneeded import
* Bump FAB to 1.12.5
* [requirements] New dependency pyJWT added on FAB 1.12.4 for OAuth redirect
* [requirements] Fix, pip-tools bump to 3.5.0 related to #714
This PR removes the iteration over charts, dashboards and saved queries to create tags in the original migration, leaving only the logic to create the tags and the tagged objects tables.
Tested locally by running `superset db downgrade` to revert to the previous migration and then running `superset db upgrade` to the current version.
* Adding extraOverrides to line chart
* Updating extraOverrides to fit with more cases
* Moving extraOverrides to index.js
* Removing webpack-merge in package.json
* Fixing metrics control clearing metric
* initial commit for VIZ-58
* address @kristw's comments
* per @mistercrunch's comment to use a static list for now
* fix javascript test errors
* fix lint errors
* per @betodealmeida's comments
* remove unnecessary loop
* Allow for dynamic feature flags
Giving more control over feature flags, allowing administrator to define
custom logic around whether features are enabled for particular users /
roles.
The exposed function can be used for things like:
* progressive rollout of features (1%, 5%, 50%, 100%)
* experimentation
* role-based feature affectation (only admins see a particular feature)
* fix build
* Addressing comments
* Addressing @hughhh's comments
* Remove Cypress from package.json
I'm building some Docker images these days and realizing just how big
the Cypress package is. Looks like its ~500mb or so.
I prefer adding it as needed only as opposed to having to play tricks as
in `npm ci && rm node_modules/cypress`
* Pin cypress version
* Add script entry install-cypress
* bump cypress and fix ts-jest warning
In superset-ui 0.8.0, we used bignumber.js to transform numbers in chartProps' payload from plain 64-bit floats to BigNumber instances. This causes a number of charts to render incorrectly when comparison functions in the rendering algorithms operate on BigNumber objects instead of floats. This PR uses the preTransformProps step in SuperChart to transform BigNumber instances back to floats so charts can render properly.
This problem especially happens with pinot when you select two metrics
with different aliases but same function. For example, effectively the
sql like 'select type, count(*) as one, count(*) as two from bar group
by type'. In such a case, pinot will return two columns, both named
count_star.
So when we try to do a df['count_star'], the result is a Dataframe and
not a Series. This causes a KeyError in the get_df method.
So we push the DB specific label mutation inside get_df before we do any
other mutation.
* Force quotes on non-expression time grains on postgres
* Change to or semantics
* Return lower case column name as unmutated
* Add testcases for postgres time grains
* Make expression MixedCase
* Merge dataframe and column name mutation logic, add flag for disabling column aliases and add column name length checking
* Remove custome mutate_label from oracle spec
* Move hashing from mutate_label() to make_label_compatible()
* Remove empty line
* Make label mutating and truncating more robust
* Rename variables and make proposed changes from review
* Always execute labels_expected codepath
* Fix linting error
* Add comments and fix subquery errors
* Refine column compatibility
* Simplify label assignment
* Add unit tests for BQ and Oracle
* Linting
* Adding dropdown to DatasourceControl and ability to change datasource
* Style fixes
* Adding unit tests for datasource/get endpoint
* Fixing issue with dropdown overflow and style changes
* Fixing issues rebasing metadata button and fixing sort for datasource with no name
* Add show metadata button back to the explore view
- Add the show metadta button, accidentally removed from PR #6046, back to the explore view
- Remove dead code that is no longer reachable from DataSourceModal.jsx.
* Adding additional code back to make the button function and remove more dead code.
The problem with the previous solution was that the `npm ci` command
nuke the `node_modules` folder, including the `.cache` that was used by
default. By moving the cache out of `node_modules` we get to both run
`npm ci` and accelerate `TerserPlugin`
* Relayout SQL Editor
- Refactor SQL editor to remove usage of bootstrap col, row and collapse to simplify the layout
- Replace the react-split-pane libraray with react-split to allow custom styling of the gutter area without sacrifice correctness of the ace editor height calculation
- Rewrite the left pane animation via plain css transition and animate it to slide in and out
- General code and css clean up
* Smooth out the visual transition during dragging
(cherry picked from commit 19f82b729c7a939f12b1c5da6022c0fd76fa3ec9)
* Adjust how the height of the south pane is computed, fixing cypress tests
* Update webpack config to facilitate debugging charts via symlink and update babel plugin version
* update @superset-ui-legacy version
* update packages
* Speed up CI by caching TersetPlugin cache
This should accelerate the `npm run build` part of the build by ~5
minutes or so I believe.
* targeting terser-webpack-plugin/
* Make the target path of the superset logo configuable
There is a need to have the target path of the logo go to different places in different installations of superset. The PR makes the target path (after `/superset`) configurable via the LOGO_TARGET_PATH configuration key and sets the default to the existing `/profile/{{ current_user.username }}/`
* addressing pr comments
This PR introduces the backend changes for a tagging system for Superset, allowing dashboards, charts and queries to be tagged. It also allows searching for a given tag, and will be the basis for a new landing page (see #5327).
# Implicit tags
Dashboard, chart and (saved) queries have implicit tags related to their owners, types and favorites. For example, all objects owned by the admin have the tag `owner:1`. All charts have the tag `type:chart`. Objects favorited by the admin have the tag `favorited_by:1`.
These tags are automatically added by a migration script, and kept in sync through SQLAlchemy event listeners. They are currently not surfaced to the user, but can be searched for. For example, it's possible to search for `owner:1` in the welcome page to see all objects owned by the admin, or even search for `owner:{{ current_user_id() }}`.
Summary: Added limited support for visualizations with Pinot via
Sqlalchemy.
Pinot QL (PQL) is a bit weird and limited, and this patch hacks superset to
deal with that weirdness:
1. Pinot's grouping by time is best done as a long epoch. Grouping by a
time string is really slow and times out.
2. Pinot's response does not respect column aliases. So columns are not
named what they are expected to. So we remember the given column aliases
and then stamp them back onto the dataframe
3. Pinot's Json rest call does not return the output types. Instead
everything is cast to string. So when grouping by time, the group key
is integral and has to be treated specially when casting back to the
dataframe __timestamp column.
4. Finally, pinot does support grouping by on expressions. But those
expressions cannot then appear on the select clause. They are returned
regardless in the response. ie, 'select foo, count(*) from bar group by
foo' is okay, but 'select expr(foo), count(*) from bar group by
expr(foo)' ain't. One must use 'select count(*) from bar group by
expr(foo)'.
I also fixed a couple of things that looked like bugs to me: for
example, the row-ordering-limit should come at the end always.
Test Plan: Tested with the modified pinotdb sqlalchemy driver and an
internal pinot cluster. The pinotdb driver changes are in
https://github.com/agrawaldevesh/pinot-dbapi.
Pinot does not support orderby-limit for aggregated queries. To annotate
a query as an aggregate query, this patch adds a hint to the prepared
select statement that the pinotdb sqlalchemy driver then heeds.
Summary: We want to allow grouping by on expressions, including the
ability to select expressions (without group-by). The UI ain't good yet
.. it is not at the feature parity of say adhoc filters/metrics that
come with a nice text-box to edit the SQL. But
this suffices for my usecase for now.
(The UI would have to be redone ... but that would require some refactoring
to merge the AdhocFilter/Metric/Popover stuff such that it can be used
for this use case too.)
Also fixed a bug in the SelectControl freeForm selection.
Allow selecting all columns easily: Added a new Select-All special item
that users can select to make all the options in the selectable show
up.
The ability to group by arbitrary expressions is useful because now two
users don't need to create custom computed-fields for this.
Introduce a config DEFAULT_RELATIVE_END_TIME which is used when
computing the "Last X days". The default behavior (as currently) is to
let that be 'today', which actually means the 0th second of today. We
can also let it be 'now' which means the data as of now (ie at query
time).
Secondly, also introduce another config IS_EPOCH_S_TRULY_UTC, which
means that the logged time in epoch_s format is actually in UTC.
Currently (as the default) is that it it is in the local (superset
webserver) timezone.
** There is no backward incompatibility with thes config features since
the default behavior hasn't changed. **
Currently, we attempt to hide the nvd3 tooltips (if any were on screen) before we draw a new viz after rerunning a query. The hiding is done by selecting the first nvtooltip element and setting the opacity to 0.
This somtimes leave behind a trail of old tooltips if a tooltip is left behind by this nvd3 bug https://github.com/novus/nvd3/issues/1262. This PR modifies the behavior of how we clean up tooltips between rerun of queries by selecting all nvd3 tooltips and removing them all from the DOM before redrawing nvd3 vizzes.
* Revert "creating new circular-json safe stringify and replacing one call (#6772)"
This reverts commit 11a7ad00b7.
* Revert "Improve Unicode support for MSSQL (#6690)"
This reverts commit c44ae612df.
* Revert "Fix uniqueness constraints on tables table (#6718)"
This reverts commit c4fb7a0a87.
- Rename the default feature flags key in `config.py` to DEFAULT_FEATURE_FLAGS
- Merge default feature flags with user defined ones allowing the latter to overwrite the former
- Expose feature_flags for both server and client to use
- Add a utility method for checking whether a feature flag is on on server side
Summary: Superset code enforces (in Table crud view pre_add) that the
table is unique within <database, schema, table_name). Indeed in commit
15b67b2c6c (in 2016), the model was
updated to reflect that. However, it was never ported over to a
migration.
I am fixing that in this diff. I am choosing to make this be a new
migration instead of fixing an existing one since I want to fix existing
installations also cleanly.
I also considered removing the uniqueness constraint, but that won't
work: First because anyway there are other places where the <database,
schema, table> uniqueness is enforced in code. But also, the .sql field
isn't a first citizen yet: The schema of the table is picked up from the
table-name and the sql part is only used when creating the explore
query. So indeed we want this uniqueness constraint. (Also it breaks the
unit tests in dict_import_export_tests.py)
[Perhaps it can be removed when we have true .sql support, but for now
the user would have to create a database view and he can use that as the
'table name'. That way he gets schema inference also]
Also added INFO logging to the alembic migration.
* Add licenses
* More licenses
* Ignore messages.json as they are generated
* More licenses
* Also typescript
* Fix alignment
* Add to svg
* Many more licenses
* more licenses
* Better excludes
* Add licenses to docs and md files
* Pre-finalize licenses
* Fix newlines
* Finalize all sourde licenses
* Fix lint
* Making thrift, pyhive and tableschema as extra_requires
Looking at the dependency tree for license related questions, I noticed
that tableschema had a huge tree, and only people running Hive really
need it. Making this as well as pyhive and thrift optional.
Also bumping some python dependencies
* Run pip-compile
* Removing refs to past.builtins (from future lib)
* Add thrift
* update contributing based on SIP-13
* update link
* add labels instruction
* minor edit
* minor edit
* update table of content
* Add ASF header and update insructions
* update table
* update text
* Conditionally mutate and quote sqla labels decouple sqla logic from viz.py
* Prefix hashed label with underscore if bigquery label exceeds 128 chars
* Add comments for label cache
* Rename to mutated_labels and simply
* Rename mutated_label to get_label and simplify make_label_compatible in db_engine_specs
* Add note about deterministic and unique mutated labels
* add hash to label that has been prefixed with underscore
* Fix PEP8 escape warning
* Fix DeckPathViz get_metric_label call
* [cosmetic] remove margin-bottom on dropdowns
react-select components have been added 15px bottom-margin without a
good reason. Other controls like text or checkboxes don't have that,
making Selects look non-standard, add making the control list too
sparse.
My perspective is that all controls should have the same
padding/margins.
* Adding a few licenses
* [cosmetic] CRUD's list from 'Add Filter' to 'Filter Results'
* Add global new button
* A better viz type selector
* lint
* Move view to new module, add unit test
* 'Filter Results' -> 'Filter'
* db merge
* Filter -> 'Filter List'
* [WiP] deprecate auto-generated metrics & fix examples
Picking up some leftover pieces not needed anymore since the
MetricsControl
* db merge
* db merge
* fix migration
* Creating metrics required for tests
User @ravi on Slack reported issues trying to use url_param jinja macro.
explore_json would raise a "KeyError: 'url_params'".
The feature works when a parameter is passed, but fails hard when none
are passed.
I improved the docstring on the macro as well.
The "altered" tag in the explore view shows up more often than it
should. By treating null, [] {}, undefined as identical will help reporting
only the differences that matter.
- Clean up css and html of the sql editor button area (removing unused styles)
- Restyle the button area and the resizer to be more like the one proposed in issue 6565
* resolved merge conflicts with upstream
* changed the key in a spot I missed
* linting
* refactored my code out into a function
* update util
* simplified the code logic
* cleaned up code
Refactored deprecated functionalities:
- Used 'celery worker' command instead of 'superset worker' which is
deprecated since 0.26.0
- Used 'gunicorn' command instead of 'superset runserver'
Changed margin for the slices description in dashboard view, previously the margin was 5px for all the sides but for improve the view just apply margin for top and bottom.
* Fix: updated required cryptography version to 2.4.2 to resolve#6509
* Fix: updated cryptography version to 2.4.2 to resolve#6509
* Fix: updated cryptography version to 2.4.2 to resolve#6509
* Revert "Fix: updated required cryptography version to 2.4.2 to resolve#6509"
This reverts commit b57b08c8e5.
* Fix: updated cryptography version to 2.4.2
* [SIP-14] remove dependency on yarn in favor of npm
Find more details here
https://github.com/apache/incubator-superset/issues/6217
* Add core-js to dev deps
* lint
* fix cypress
* break down cypress_build.sh
* fix cypress
* Use 'npm ci' in place of 'npm install'
* Bump npm req to >=6.5.0
* Enforcing npm@'>=6.5.0'
* Using latest lts of nvm
* Make cache settings global
* remove uneeded 'npm run test' as 'npm run cover' takes care of that
* Prefix with 'time'
* Trying to upgrade babel-eslint instead of downgrading
* upgrading babel-polyfill to '@babel/polyfill'
* Moving to babel 7
* remove unused packages
When a URL gets too long (usually happens with controls that allow
free form text), it creates an array of bugs.
* bug when creating a short URL, because the POST request's referrer
field is too long
* a bug when saving a chart (when the modal shows up) also because of
the referrer being too long
Some work has been done in the past to mitigate this, and I'm unclear if
it's some sort of regression because of the Flask upgrade or some
browser change, or whether these bugs have always been around.
This is a request for comment on an approach that works. Let me know if
you can think of better ideas as to how to manage this.
My current solution looks for 8000+ characters URLs and shrinks them to
only `/superset/explore/?URL_IS_TOO_LONG_TO_SHARE&form_data=...` and we
only keep the formData keys for `datasource` and `viz_type`. Not super
elegant but does the trick.
* [scheduled reports] Add support for scheduled reports
* Scheduled email reports for slice and dashboard visualization
(attachment or inline)
* Scheduled email reports for slice data (CSV attachment on inline table)
* Each schedule has a list of recipients (all of them can receive a single mail,
or separate mails)
* All outgoing mails can have a mandatory bcc - for audit purposes.
* Each dashboard/slice can have multiple schedules.
In addition, this PR also makes a few minor improvements to the celery
infrastructure.
* Create a common celery app
* Added more celery annotations for the tasks
* Introduced celery beat
* Update docs about concurrency / pools
* [scheduled reports] - Debug mode for scheduled emails
* [scheduled reports] - Ability to send test mails
* [scheduled reports] - Test email functionality - minor improvements
* [scheduled reports] - Rebase with master. Minor fixes
* [scheduled reports] - Add warning messages
* [scheduled reports] - flake8
* [scheduled reports] - fix rebase
* [scheduled reports] - fix rebase
* [scheduled reports] - fix flake8
* [scheduled reports] Rebase in prep for merge
* Fixed alembic tree after rebase
* Updated requirements to latest version of packages (and tested)
* Removed py2 stuff
* [scheduled reports] - fix flake8
* [scheduled reports] - address review comments
* [scheduled reports] - rebase with master
* Use py3's f-strings instead of s.format(**locals())
In light of the bug reported here
https://github.com/apache/incubator-superset/issues/6347, which seems
like an odd `.format()` issue in py3, I greped and replaced all
instances of `.format(**locals())` using py3's f-strings
* lint
* fix tests
* [SIP-5] Build metrics in query_object in the client
- Unify the metric interface (absorb the current plain string metric for built-in metric keys into the format used by adhoc metric)
- Port the logic in adhocMetric on the client and process_metrics in the backend to the new typed Metrics class
- Omit hasCustomLabel and formFromData properties from the new metric interface as their value can be inferred from label and optionName
- Expose from the Metrics class both metrics and their labels as public methods to match the all_metrics and metric_labels fields in the backend code
- Provide defaut values for filters, metrics and groupby in the backend
* addressing PR comments
* Adding a comment for metrictype values
* Revise LoadableRenderer (+3 squashed commits)
Squashed commits:
[f1614c7c] extract createLoadableRenderer into a separate function
[8689bc94] extend LoadableRenderer
[3d04ff2b] remove skipRendering
* add number of times function was called to the test
- Unify the metric interface (absorb the current plain string metric for built-in metric keys into the format used by adhoc metric)
- Port the logic in adhocMetric on the client and process_metrics in the backend to the new typed Metrics class
- Omit hasCustomLabel and formFromData properties from the new metric interface as their value can be inferred from label and optionName
- Expose from the Metrics class both metrics and their labels as public methods to match the all_metrics and metric_labels fields in the backend code
- Provide defaut values for filters, metrics and groupby in the backend
* Deprecate database attribute allow_run_sync
There's really 2 modes of operations in SQL Lab, sync or async
though currently there are 2 boolean flags: allow_run_sync and
allow_run_async, leading to 4 potential combinations, only 2 of which
actually makes sense.
The original vision is that we'd expose the choice to users and they
would decide which `Run` or `Run Async` button to hit.
Later on we decided to have a
single button and for each database to be either sync or async.
This PR cleans up allow_run_sync by removing references to it.
* Fix build
* Add db migration
* using batch_op
- Improve Docker image
- smaller
- faster to build
- deterministict dependencies (see #5958)
- Rework process to simplify setting things up
- updated documentation
- less commands to type
- no files to move and modify
- optional loading of samples
- Still working in standalone mode (without volumes for superset)
* [bugfix] deckgl legend is not interactive
Somehow when clicking categories in the legend, nothing happened. The
problem seemed to be around the `getDerivedStateFromProps` override
which gets triggered after each render and would alter the state and
reset the categories state to their origin.
Changed the method name to not be an override and just be called once
in the constructor
https://reactjs.org/docs/react-component.html#static-getderivedstatefromprops
* lint
* Minor improvements to Histogram viz
* prevent legend overflow (spill) by simply hiding it
* legend title only includes metric name when necessary
* control validator asking forcing at least one numeric column to be
selected
* Removing print()
* Adding cypress tests for showing erros, time range filter, and verbose name
* Adding tests for time range without ago
* Adding test to verify error message showing
* [bugfix] deck.gl grid&hex don't respond to zoom&drag
Following recent changes, Hex & Grid component wouldn't respond to
viewport interactions. This fixes the issue.
This PR also greatly improve rendering performance by only recomputing
the deck.gl layers when needed, as opposed to every time the viewport
changes, which is very inneficient.
Note that most other deck.gl layers seem to be systematically
recomputing layers, we'll have to fix this in another PR.
* Addressing comments
* [SIP-5] QueryBuilder in the client for groupby field
- Lay the structure of the QueryContext builder in the client
- QueryContext builder composes different portions of the queryContext object (to be sent to server from the client) from the datasourceBuilder and the queryObjectBuilder.
- The datasourceBuilder builds the datasource id and type by parsing them from the datasource field in formdata
- The queryObjectBuilder currently only builds the groupby field. It will further compose the queryObject from sub query builders in future PRs.
- Create a buildQuery method for WordCloud and override the groupby value with the value of series from formdata.
* Addressing PR comments
- Rename query builder files and their default exports
- Move tests into spec/javascripts/superset-ui for easy mass migration to superset-uiin the future
- Define viz specific formData and export formData for each viz type as intersection type of the generic formData and the viz specific one
- Specify the type signature for sqla and druid based data sources
* Addressing additional PR comments.
- Introduce a Datasource class and leverage Typescript's declaration merging of the interface
by the same name.
- Let Typescript infer the return type of various builders instead of specifying them explicitly
* Further tweaking the generic buildQueryContext method and viz speicific buildQuery methodes per PR comments.
* git mv a renamed file.
* addressing additional pr comments
* Update the description based on Ubuntu 16.04 with 18.04,
since Python version bundled with the former is 3.5,
which is not already supported
* Remove obsolete descriptions based on Python <= 3.5
Since https://github.com/apache/incubator-superset/pull/6287 and
effectively moving to a new version of d3, d3-format and d3-time-format
raises when receiving invalid input strings.
This code wraps the potential issues inside `try` blocks that will
effectively return an `ERROR` string as output to the formatting
function.
When hitting the Query button in the explore view, the previous chart
gets shown (flaskhed quickly) between the moment where the loading
spinner goes away and the new chart show up. This fix seems to prevent
this.
* Fix EventFlow transform is not a function
transformProps was being passed into EventFlowChartPlugin as object (module) as opposed to function. This commit changes the implementation to be consistent with the other ChartPlugins and fixes the typeError that causes EventFlow Chart to not display.
* Revert to lazy-loading transformProps
- Revert to lazy-loading transformProps
- Fix in Superchart will default to transformProps.default if available to allow for the lazy-loading
* Fix for lazy-loaded imports in ChartPlugins
* Fix lint error
* Add d3 micro packages
* Replace d3 imports with specific modules import
* Define d3 colors
* import specific d3 submodules instead of entire d3
* update function name
* move function location and fix small bug
* Move primary color to control
* remove colorscalefactory usage
* remove unused d3
* fix unit test
* fix color picker
* use @superset-ui/color
* update package version
* remove files that are extracted
* replace all references
* fix two files
* Revert some changes to split to another PR
* remove adaptor
* Address Christine's comment
* remove d3 v3 from calendar
* remove d3.scale.threshold
* Get rid of colorScalerFactory and revise hexToRGB
* fix color cleaning
* fix lint
- Datasource ids are being serialized into strings on the client side and python's default json.load doesn't deserialize strings representing integers as integers. Adding an integer parsing step when initializing QueryContext.
* Wrap <LoadableRenderer /> with <ErrorBoundary />
It appears that since the introduction of <SuperChart />, errors in the
visualization javascript (which are somewhat common and expected,
especially as we'll support plugins) were not handled and the whole
page would throw and go missing.
Here I'm introducing a new <ErrorBoundary /> component that elegantly
wraps other
components and handles errors. It's inspired by:
https://reactjs.org/docs/error-boundaries.html
The default behavior of the component is to simply surface the error
as an <Alert bsStyle="danger" /> and exposes the React stacktrace
when clicking on the error.
It's also possible to use component and pass an onError handler and not
show the default message.
This also fixes some minor bugs in TimeTable.
* Addressing comments
* Getting more stack traces
* Adressing comments
If you follow the documentation, the current docker instructions return an error when trying to connect via localhost. This seems to be due to the fact that it's running on port 8080, but forwarding port 8088. I suppose the cleaner solution is to do this, as opposed to changing both the compose file and the instructions... Hope this helps!!
* [SIP-5] Open a new /api/v1/query endpoint that takes query_obj
- Introduce a new handle_superset_exception decorator to avoid repeating the logic for catching SupersetExceptions
- Create a query_obj_backfill method that takes form_data and constructs a query_obj that will be constructed in the client in the future. Use the backfill in explore_json.
- Create a new /api/v1/query endpoint that takes query_obj only and returns the payload data. Note the query_obj is constructed in the client. The endpoint currently only handles query_obj for table view viz (we'll be adding support to new viz types as we go).
- Unit test to verify the new endpoint for table view
* fix tests and lint errors
* - Move the new query endpoint into its own api.py view.
- Create QueryObject and QueryContext class to encapsulate query_object to be built from the client and additional info (e.g. datasource) needed to get the data payload for a given query
- Remove the query_obj_backfill as we'll start building the first query_object on the client so it no longer makes sense to have a short-lived backfill for the matter of days.
* Fixing lint and test errors
* Fixing additional lint error from the previous rebase.
* fixing additional lint error
* addressing additional pr comments
* Make /query accept a list of queries in the query_context object.
* fixing a lint error
* - Move time_shift based calculation and since, until check into util
- Add typing info for get_since_until
- Add new unit tests to verify time_shift calculation and the since until check
* Wrap <LoadableRenderer /> with <ErrorBoundary />
It appears that since the introduction of <SuperChart />, errors in the
visualization javascript (which are somewhat common and expected,
especially as we'll support plugins) were not handled and the whole
page would throw and go missing.
Here I'm introducing a new <ErrorBoundary /> component that elegantly
wraps other
components and handles errors. It's inspired by:
https://reactjs.org/docs/error-boundaries.html
The default behavior of the component is to simply surface the error
as an <Alert bsStyle="danger" /> and exposes the React stacktrace
when clicking on the error.
It's also possible to use component and pass an onError handler and not
show the default message.
This also fixes some minor bugs in TimeTable.
* Addressing comments
* Add separate limit setting for SqlLab
Use separate param for wrap sql
Get query limit from config
unit tests for limit control rendering in sql editor
py unit test
pg tests
Add max rows limit
Remove concept of infinity, always require defined limits
consistency
Assert on validation errors instead of tooltip
fix unit tests
attempt persist state
pr comments and linting
* load configs in via common param
* default to 1k
* change because error: E: The method driver /usr/lib/apt/methods/https could not be found.
要提交的变更:
修改: contrib/docker/Dockerfile
* 修改: contrib/docker/Dockerfile
* [build] fix pip install issues on OSX High Sierra
I think requirements.txt was out-of-sync as well.
Also had to:
export
LDFLAGS="-L/usr/local/opt/openssl/lib"
export
CPPFLAGS="-I/usr/local/opt/openssl/include"
export
PKG_CONFIG_PATH="/usr/local/opt/openssl/lib/pkgconfig"
* Fix click
* setup plugin and add SuperChart
* Integrate SuperChart into Chart.jsx
* Add vizType as class name
* Remove .slice_container
* add snakeCase to sanitize class name
* Remove old code to load charts
* Fix supportedAnnotationTypes
* Update AnnotationTypes, remove unnecessary imports and dependency from VIZ_TYPES
* remove index.js and update unit test
* resolve tree map issue
* fix issue with annotation types
* fix proptypes
* add )
* address a few comments
* create bound functions
* bound more functions
* add reselect
* use reselect for chartprops
* improve performance with reselect
* remove unused props
* Remove getFilters() and update table test
* Remove unused code
* Delete adaptors
* switch to react-loadable
* Rewrite with reloadable
* Add timeout back
* remove loading
* update table unit test
* remove pastDelay
* WIP
* WIP
* WIP
* WIP
* Fix color bucketing
* Fixed colors
* Fix no num categories selected
* Colors working
* Fix no metric selected
* Visual cues for selection
* Add unit tests
* Remove jest from deps
* Rename category to bucket
* Small fixes
* Fix lint
* Fix unit tests
* Remove duplicate hexToRGB
* Fix import
* Change order of arguments in getBuckets
* Refactor function signature
* [Dashboard] disable force refresh when chart is still loading
- disable force refresh for chart, when chart is still loading
- disable force refresh for dashboard, when any one of chart is loading
* remove css change (introduced by mistake)
* add integration tests for disable/enable force refresh
* [SIP-9] Introduce TypeScript
- Introduce TypeScript and co to both source and tests
- Define alias for src directory in both webpack config and jest config so we can avoid using long relative paths like ../../src in both source and tests
- Type check feature flags system to prevent typos of flag names
- Change the feature flags system and the flags on window instead of populating them through the state tree. When introducing the first SCOPED_FILTER feature flag, it became too difficult to pipe the flags through the state initializers and layers of components and containers (the resulting code is hard to read and has a handful of methods taking an additional feature flag map parameter). Given that feature flags don't change throughout the life time of the app, it is better to leave them on window for easy access than piping them through the global state tree, which is meant to store the state of the app which changes frequently.
- Add a barebone filter panel that only shows when the SCOPED_FILTER feature flag is on
* Remove unnecessary dev-dependency on gl
* - Adding linting for TypeScript files via tslint.
- Fixing linting for Javascript files importing Typscript files
- Also fix linting for Javascript files that now leverage the webpack alias for the src directory
- up Typescript and type def versions
* Rename src directory's webpack alias from @ to src to be more explicit.
* refactor color scheme
* Update data structure
* Update color scheme files
* wip
* convert all sequential schemes
* Update how color schemes are managed. Extend it for sequential schemes
* extract color setup into separate file
* Update imports
* update imports
* Add new functions to Registry
* Update ColorSchemeManager to extends Registry and update unit tests
* Add test for Registry
* Rename ColorSchemeManager to ColorSchemeRegistry
* Fix unit tests
* Update API
* Fix imports
* Add label field
* Fix reference to colors
* update SequentialScheme contructor
* Fix controls
* rename manager to registry
* Split sequential schemes into multiple files
* update sequential color labels
* add values and valuesAsPromise()
* use .values()
* rename basicChartInput to chartProps
* replace BasicChartInput with ChartProps class
* Add transformProps to deck.gl plugins
* Add space
* delete BasicChartInput
* add width and height as part of ChartProps and update transformProps
* remove width and height
* remove adaptors from deck.gl components
* remove deck.gl creataAdaptor
* use parent size to compute width
* simplify this.width() and this.height()
* remove unnecessary jquery
* fix indent and import
* adjust headerheight from 100 to 80
* fix test
* [utils] gathering/refactoring into a "utils/" folder
Moving current utils.py into utils/core.py and moving other *util*
modules under this new "utils/" as well.
Following steps include eroding at "utils/core.py" and breaking it down
into smaller modules.
* Improve tests
* Make loading examples in scope for tests
* Remove test class attrs examples_loaded and requires_examples
* [refactor] Migrate from Mocha+Chai to Jest
This change migrates all the existing unit tests
- to Jest's global expect and matchers from chai's imported expect, asserts and matchers.
- to Jest's describe/test from mocha's describe/it
The majority of the mechanical changes to tests are achieved through running jest-codemods. The only two note-worthy manual tweaks:
1. Setting a testURL of http://localhost in jest config and adjusting a few tests to leverage this value instead of relying on about:blank.
2. Re-enabling ExploreChartPanel_spec which was previously commented out as we cannot have empty tests with nothing in it with Jest. :)
This change also removes dependencies to Mocha and Chai.
* Remove the test:one command as it now does the same thing as test.
* Fixing lint errors. The diff looks large but is large done through `yarn run lint --fix`
The only noteworthy change is the one in eslintrc for tests. The env has been updated from mocha to jest.
* Adding eslint-plugin-jest and further modify tests.
- One small fix in sqllab's Timer Spec for a test that is not using the spy it created for testing.
- Deletion of a duplicated test caught by eslint-plugin-jest.
* - Make istanbul coverage work with Jest.
- Remove dependency on stand-alone istanbul and babel-istanbul as they're built-into jest. Yes!
* Attempt to fix dynamic imports in tests.
* run sequentially and log heap usage
* - tweaking maxworkers for travis and specifying coverageDirectory for codecov
- remove dynamic import in shim.js now that it is set in babelrc for tests only.
* add credit field
* change image size limit for url-loader
* create chord ChartPlugin
* Update config to include original file name in the output
* add calendar
* add country map
* add eventflow
* add thumbnails
* add eventflow, filterbox, force-directed and heatmap
* Add histogram, horizon, mapbox, paired t-test, parallel coordinates
* Create plugins for the rest one-off charts
* ignore chartplugin files from istanbul
* feat: import/export dashboards via cli
* style: fixed lint error
* test: added test for import and export util
* test: removing import test as it is causing integrity issues
Import is a wrapper around exist functionality so we can go ahead without a test or mock the actual db operation using https://docs.python.org/3/library/unittest.mock.html
And validate the wrapper operations only.
* test: remove test data file
* test: removed usage of reserved keyword id
* Fix: remove test that is causing unintended impact
* add unit tests
* add test structure
* add unit tests for Registry
* add LoaderRegistry unit test
* add unit test for makeSingleton
* add type check
* add plugin data structures
* simplify API
* add preset tests
* update test message
* fix lint
* update makeSingleton
* update Plugin, Preset and unit test
* revise Registry code
* update unit test, add remove function
* update test
* update unit test
* update plugin unit test
* add .keys(), .entries() and .entriesAsPromise()
* update test description
* Allow user to force refresh metadata
* fix javascript test error
* nit
* fix styling
* allow custom cache timeout configuration on any database
* minor improvement
* nit
* fix test
* nit
* preserve the old endpoint
* Deprecate support for Python < 3.6
This is a first step, beyond this we can:
* remove all from future imports
* remove 'six' lib as a dependency
* start using f-strings
* enjoy ourselves
* fix tox
* Rebasing
* fix
* Add integration test for world map
* add pie chart
* add area
* use should for assertion
* update area test
* update it message
* remove null params
* add pivot tests
* remove urlparams
* add dual_line
* add sunburst test
* add big number
* add sankey
* add bubble
* add box plot
* add treemap tests
* combine all vis under single test
* feat: import/export dashboards via cli
* style: fixed lint error
* test: added test for import and export util
* test: removing import test as it is causing integrity issues
Import is a wrapper around exist functionality so we can go ahead without a test or mock the actual db operation using https://docs.python.org/3/library/unittest.mock.html
And validate the wrapper operations only.
* test: remove test data file
* test: removed usage of reserved keyword id
* [feat] Feature flag system via config
Adding a feature flag system that is driven by superset_config.py. This change includes:
- Server side changes to specify a dedicated FEATURE_FLAG dictionary for listing feature flags. E.g.
```
FEATURE_FLAGS = { 'SCOPED_FILTER': true }
```
- Pass the new feature flags to client via bootstrap-data
- Client side changes to inject feature flags into the redux state tree for dashboard, explore view and SqlLab
- Client side refactor/clean up so the feature flags can be properly tested. Also avoid modifying incoming bootstrap data when creating initial state for the redux state tree
- Re-enable tests that were previously disabled for ExploreViewContainer
* Fix lint errors.
* Remove the partial attempt to get reference to src working in tests (so we don't have to write ../../../src and such in tests). This will in a separate PR.
* add configuration for optimizing webpack
* resolve webpack cli issue
* Update outdated packages
* extract brace as its own chunk
* update comments
* add list of libs to skip parsing
* remove some libs from list
* remove noParse
* remove lodash.throttle from dependency
* add babel-plugin-lodash'
* use lodash instead of underscore for isFunction
* switch underscore to lodash
* switch from underscore to lodash flatten
* Remove slugify and use kebabCase from lodash instead
* [explore] add "View samples" modal to action buttons
Also broke down the `View query` and `View results` as different
request so that viewing the query does not require fetching the results
anymore
* fix js tests
* lint
* [docs] iterating to get to ASF compliance on project site
https://whimsy.apache.org/pods/project/superset is a place to check on
whether we match the ASF's requirements
* Minor adjustments
* Add schema level access control on csv upload
* add db migrate merge point
* fix flake 8
* fix test
* remove unnecessary db migration
* fix flake
* nit
* fix test for test_schemas_access_for_csv_upload_endpoint
* fix test_csv_import test
* use security_manager to check whether schema is allowed to be accessed
* bring security manager to the party
* flake8 & repush to retrigger test
* address comments
* remove trailing comma
- Reorganize sections for better navigability
- Add table of contents
- Rework frontend assets section for clarity and DRY
- Rework translating section for clarity, add "Add Translations" contribution type
- Move release docs only useful for maintainers to RELEASING.md
- Other miscellaneous improvements
* reactify world map
* add createAdaptor
* fix typo
* add schema
* move directory
* remove unnecessary lines
* make setRef a function
* convert keys to camelcase
* add unit test
* update formatting
* add check for displayName
* pass width and height as separate inputs
Ignoring history.pushState handling errors as they are impredictable and
crash the application hard.
I'm thinking this may be because the payload object is too big and the
browser is unhappy about it. I'm not sure if the payload/state is ever
used (when hitting back?). The error seem to stop when replacing payload
by an empty object.
* [refactor] Remove dependency to personal fork of supercluster from mapbox visualizations
- Update dependency to reference the vanilla supercluster
- Clean up backend api call for mapbox vizzes to ensure a boolean is sent to indicate whether the viz includes custom metric for clustering
- Refactor of mapbox and its cluster overlay components to use vanilla supercluster and its recommeded way for handling clustering based on custom aggregations.
- Allow reclustering within the initial bounds on render in mapbox visualizations (stay true to old behaviors).
- Remove the median aggregation from available cluster label aggregators as there is no memory efficient way to implement this and it is unknown how often this feature is used
- Updating doc to mention the backward incompatible change re median
* Perform the check for has_custom_metric through `not None` to produce a boolean and rename the field reflect it is a boolean.
* Adds new macro to get filter values from "filters" and "extra_filters"
Adds test for filter_values macro
Adds doco for filter_values
Changes filter_values return type to be a list rather than string
* Makes return value type consistent
- filter_values always return a list
* move into folder and scaffold adaptor
* extract width and height
* remove jquery
* extract showBrush
* extract lineInterpolation
* extract xAxisFormat and yAxisFormat
* extract annotationData
* extract xTicksLayout and colorScheme
* extract showXXX
* extract x and y axis labels
* extract showminmax
* extract pie chart props
* extract area chart props
* extract logscale and yAxisBounds
* extract margin
* extract bubble props x,y,size
* extract contribution, comparisonType and color_picker
* remove the last fd.xxx
* remove unnecessary variables
* remove slice.container
* fix unit test reference
* Rewrite logic to compute max label lengths to use only d3, not jquery.
* extract annotationLayers and no more slice.xxx in nvd3vis
* rename x, y, size to xField, yField, sizeField
* use arrow function
* move tooltip function
* extract helper functions into utils
* remove unused argument
* fix height calculation and show bar labels
* rename function
* update unit test
* organize tooltip generator
* update line_multi
* Add proptypes for data
* list proptypes for data
* extract tooltip function for bubble chart
* rename variables
* remove console.log
* enumerate vizTypes and pieLabelType
* parse maxBubble
* use new color scale
* fix import"
* remove line
Somehow checking the type of a JSX-defined React component is not
straightforward and changes through versions of React.
Using the `name` attr addresses the issue for now.
* Break TimeTable into smaller pieces
* extract function to compute color
* Handle height and scrollbar
* sort out isGroupBy
* Set default values
* Specify proptypes for data
* rename fields and update proptypes
* Add default props
* remove commented line
* swap import
* Enable Teradata
New DB engine spec for Teradata:
- LimitMethod should be WRAP_SQL since Teradata does not supporting "LIMIT" clause (TOP)
- Timegrains for Teradata is added
* Update formatting to pass flake8 tests
Since the recent PRs around webpack 4 and reloading, FAB pages have been
flickering on load, where a themeless Superset is shown for a fraction
of a second until the bootstrap theme gets loaded up.
This addresses it by moving the theme JS to the head section of the html
page.
* Create new classes for handling categorical colors
* verify to pass existing unit tests
* separate logic for forcing color and getting color
* replace getColorFromScheme with CategoricalColorManager
* organize static functions
* migrate to new function
* Remove ALL_COLOR_SCHEMES
* move sequential colors to another file
* extract categorical colors to separate file
* move airbnb and lyft colors to separate files
* fix missing toFunction()
* Rewrite to support local and global force items, plus namespacing.
* fix references
* revert nvd3
* update namespace api
* Update the visualizations
* update usage with static functions
* update unit test
* add unit test
* rename default namespace
* add unit test for color namespace
* add unit test for namespace
* start unit test for colorschememanager
* add unit tests for color scheme manager
* check returns for chaining
* complete unit test for the new classes
* fix color tests
* update unit tests
* update unit tests
* move color scheme registration to common
* update unit test
* rename sharedForcedColors to parentForcedColors
* remove import
* Pan mapbox map on query
- Modify the backend to send back the bounds of the points to cluster
- Clean up of mapbox component to derive lat, lon and zoom from the mercator that fitsbounds based on the bounds passed from the backend. This and the computation of clusters are now only done on initial load b/c we are not making queries to the backend on pan/zoom
- A minor clean up of unused props and also making the visual properties panel open by default
* Remove default latitude, longitude and zoom props which are unnecessary for computing the viewport now that it is driven by the bounds from the backend.
* a few small tweaks (rename vars to be sneak case and avoid two extra hash lookups)
* Bumping react==16.4.1 & enzyme==3.3.0
The upgrade was pretty smooth except for a cryptic message coming
out of react-select around running multiple copies of React. It turns
out the `common` bundle had React and was conflicting with explore and
dashboard apps, only in 16.x. This somehow wasn't a problem in 15.x
outside of the wasted resources.
Running 16.4 should bring in all sorts of perf improvements and features
we've all been waiting for.
https://reactjs.org/blog/2017/09/26/react-v16.0.html
TODO: react-bootstrap-datetimepicker isn't compatible with React 16
* Trying to deprecate react-bootstrap-datetime
* Moving forward
* Reintroducing tests
* [sql_json] allow not specifying client_id
We're opening the sql_json endpoint at Lyft to other apps leveraging
Superset as a data-access layer that enforces authentication and our data
access policy.
Currently sql_json requires the client to pass a `client_id` parameter
that uniquely identifies the query, that can then be used for polling
when in async mode. This PR makes it such that you don't have to define
a client_id anymore. It just gets generated when not passed.
* adressing comments
* Break MapBox into smaller pieces
* Replace React.createElement with regular jsx
* detach setControlValue
* enable render trigger
* Pass explicit props rather than pass all that exists in payload.data. Also use formData when possible.
* Rename sliceWidth, sliceHeight to width, height. Use deconstructor. Extract function.
* use arrow function
* fix linting and remove css
* Extract slice and formData
* indent
* update data proptype
* enable theme
* remove legacy code
* rename file
* Add legend
* Implement WithLegend
* align legend items to the right for bottom position
* add line at end of file
* fix linting issues
* bug: don't show query overlay when panning mapbox maps
Since we don't want to prompt user to rerun query every time they pan a map, prevent the query overlay from showing by setting dontRefreshOnChange for viewport_latitude and viewport_longitude controls.
* Prevent query overlay on viewport zoom also.
* setup devserver with correct proxy
* dev server wroking with written manifest
* add comments
* Change webpack to default port 9000 and minor js formatting
* Use hash in development.
* write to disk = true
* Take ports as argument for dev-server
* update instructions
* update instructions
* add devtools
* use mode instead of NODE_ENV
* use minicssextract for prod (like before)
* remove empty line
* Replace dataframe label override logic with table column override
* Add mutation to any_date_col
* Linting
* Add mutation to oracle and redshift
* Fine tune how and which labels are mutated
* Implement alias quoting logic for oracle-like databases
* Fix and align column and metric sqla_col methods
* Clean up typos and redundant logic
* Move new attribute to old location
* Linting
* Replace old sqla_col property references with function calls
* Remove redundant calls to mutate_column_label
* Move duplicated logic to common function
* Add db_engine_specs to all sqla_col calls
* Add missing mydb
* Add note about snowflake-sqlalchemy regression
* Make db_engine_spec mandatory in sqla_col
* Small refactoring and cleanup
* Remove db_engine_spec from get_from_clause call
* Make db_engine_spec mandatory in adhoc_metric_to_sa
* Remove redundant mutate_expression_label call
* Add missing db_engine_specs to adhoc_metric_to_sa
* Rename arg label_name to label in get_column_label()
* Rename label function and add docstring
* Remove redundant db_engine_spec args
* Rename col_label to label
* Remove get_column_name wrapper and make direct calls to db_engine_spec
* Remove unneeded db_engine_specs
* Rename sa_ vars to sqla_
* update indent
* extract formData and data.
* take filter
* remove dependencies
* remove removeFilter
* add comment
* remove columnFormats and verboseMap from props. clarify a few more props
* fix linting issue
* minor syntax
* syntax fix
* Move check to adaptor
* update unit test
* remove code related to .widget
* rename variables for clarity
* move Option fix to browser.js
* add column to annotation model
* update migration file
* change to Text
* remove old migration file
* add migration file
* remove JSON
* add new column to view
* add comma back
* linting
* lint some more
* missing comma
* rename columns
* add degrade and new migration file
* update version
* fixe changed name
* remove json from list columns
* Bug: fixing async syntax for python 3.7
Rename async to async_ so superset installs for python 3.7.
* Addressing PR comments. Use kwargs instead of explicitly specifying async_ so downstream engines (e.g. PyHive) that supports async can choose to use the async_ in pythonwq3.7 and async in <=python3.6
* addressing additional pr comments
* allow user to choose color
* add color control
* remove rgbToHex reference
* change to color picker control
* add d3-color
* remove module
* use d3-colors
* add semicolon
* [bugfix] geohash lat/long is reversed
This allows support for reversing geohashes. Note that the default option
was the wrong way.
* addressing comments
* make reverse_geohash_decode a staticmethod
* Field names in big query can contain only alphanumeric and underscore
* bad quote
* better place for mutating labels
* lint
* bug fix thanks to mistercrunch
* lint
* lint again
I noticed that `secondary_metric` was required in the chart that users
it, namely sunburst, parallel coordinates, and world_map.
I set the control as allowing null, and found related bugs in the
process:
* parallel coordinates did not have support for the new MetricControl
* added color scheme support for parallel coordinates
* added option to set row_limit on these viz types
* sunburst to support numeric columns (number would show as blank)
* Remove "for"
* add space
* Separate control to select table from database and schema.
* Adjust schema displays
* Fix caret and arrow position in Select and Tab
* Reduce space after caret in tab header
* Use translator
* Align icons in the pop-up menu in Sql Lab
* Add new table in front of the list (so it will appear on top)
* shorten message
* reduce line
Somehow we have a "IN" filter where the filter is a string, not an
array. While this may need to get fixed upstream as well, this prevents
the explore view from completely crashing.
Side note: this function looked somewhat brittle, I'm assuming it's used to keep
the free form SQL tab in sync and not used to generate the actual SQL
being executed.
* Fixing issue with extra params in formData
* Pass in param use_slice_data to decide whether to use slice data
* Fixing core_tests to not use explore_json overrides
I think that the only place where we want db connection pooling would be
to talk to the metadata database. SQL Lab should close its connections
and never pool them.
Given that each Gunicorn worker will create its own pool that can lead
to way too many connections opened.
closes https://github.com/apache/incubator-superset/issues/4666
* got skeleton started
* added d3-scale-chromatic to package.json
* got hex values instead of calling from a function
* got rid of d3-scale-chromatic - no longer needed
* added schemas to controls
* damn editor broken some line spacing
* commit
* fix style issues
* whyyyyy won't this build
* whyyyyy won't this build
* damn typo
* hahaha got editor to deal with style configs
* no i guess i didn't
* gotta get them all
* again
* trying to get docker build ot work
* updated installation docs with some osx instructions
* restoring yarn.lock not sure why it changed
* trying to fix indent
* trying again
* CODE STYLE CHANGES WORK
* removing some colors that are too close to white
* human readable labels for names
* human readable labels for names
* Allow min/max value for the sparkline in time series table
* show bound lines
* User can choose to show y-axis bounds
* show label for the bounds
* compute necessary padding for the bound label
* extract sparkline code to another component
* can show y-axis in sparkline without setting bounds
* reorder option rows
* Template dashboard
* Fix MySQL test
* Model for user attributes
* Redirect to welcome dash
* Fix lint
* Add missing file
* Add migration script
* Fix lint
* Fix more lint
* update python version for testing to 3.6
* CONTRIBUTING.md states pull requests should work on py27, py36+
* CONTRIBUTING.md states pull requests should work on py27 and py36
* Improve URLs for Chart and Dashboard ModelViews
Prior to this, the ModelView for Chart and Dashboard would be
at `/slicemodelview/list/` and `/dashboardmodelview/list/`.
Now we have cleaner URLs at `/chart/list/` and `/dashboard/list/`
* Fix unrelated js lint
* addressing comments
* Add function to fix dataframe column case
* Fix broken handle_nulls method
* Add case sensitivity option to dedup
* Refactor function definition and call location
* Remove added blank line
* Move df column rename logit to db_engine_spec
* Remove redundant variable
* Update comments in db_engine_specs
* Tie df adjustment to db_engine_spec class attribute
* Fix dedup error
* Linting
* Check for db_engine_spec attribute prior to adjustment
* Rename case sensitivity flag
* Linting
* Remove function that was moved to db_engine_specs
* Get metrics names from utils
* Remove double import and rename dedup variable
* Re-add dashboard short links
* Make the short link available to all users
* Include filters in the short link for dashboards
* Remove duplicate key causing linter error
* Change URL Short link button into a menu item with Modal
* Split out tests, bind URL short link in constructor
* [sql lab] simplify the visualize flow
The "visualize flow" linking SQL Lab to the "explore view" has never
worked so great for people, here's a list of issues:
* it's not really clear to users that their query is wrapped as a
subquery, and the explore view runs queries on top of it
* lint + fix tests
* Addressing comments
support toggling trend line
experiment using svg to measure size instead of canvas
refactor BigNumber with chart sticked to the bottom
made header line stick to bottom and css adjustment
remove commented code
fix svg text size estimation
remove unused code and round dimensions
handle missing getbbox
remove vx/text from dependency
ensure svg deletion after measurement
add comment to css file.
Add `positive` and `negative` class based on diff.
Add default props.
rename variable
accept container as argument and remove redundant font family
refactor visutils for consistent api
update xy-chart
update xy-chart to alpha1.0
fix pointseries
remove points
update yarn.lock
[4c9c01d7] update xy-chart version
remove unused import
* Add interim grains
* Refactor and add blacklist
* Change PT30M to PT0.5H
* Linting
* Linting
* Add time grain addons to config.py and refactor engine spec logic
* Remove redundant import and clean up config.py
* Fix bad rebase
* Implement changes proposed by @betodealmeida
* Revert removal of name from Grain
* Linting
* [sql lab] extract Hive error messages
So pyhive returns an exception object with a stringified thrift error
object. This PR uses a regex to extract the errorMessage portion of that
string.
* Unit test
* Visualization Unicode bug fix
* Fix the build (#5403)
The travis build has been failing for 2 reasons recently
* pylint takes > 10 minutes without outputing
* bad merge confict auto resolve in controls.jsx
* Visualization Unicode bug fix
* Move flake8-related packages deps to reqs-dev.txt
My VIM which is integrated with flake8 wouldn't match the output from
travis and would often miss things related to the flake8 plugins
installed using Tox.
By moving this to requirements-dev.txt, we can expect developers would
have the proper configuration locally and get matching results with
Travis when running flake8 or in their IDEs if its integrated with
flake8..
* merging migratinos
* sorting packages
* Specify folder for flake8 processing
* pin pycodestyle==2.3.1
* merge db migrations
Somehow it's not possible to set the row_limit for a line chart,
resulting to a 10k cap in our environment. In some cases the user may
want more than that.
The flow to import a table definition in Superset is confusing, user may
think they are creating a table or what not. This makes the flow a bit
more clear.
* Migrate flask_script to the Flask built-in click.
Flask 0.11 is the built-in integration of the click command line interface.
Flask-Migrate support for the new Flask CLI based on Click after Release 2.0.0.
* Resolved merge conflicts.
* Fixed issue introduced from bad merge.
* Fixed flake8 errors, added build to excluded flake8 stuff.
* * Moved the FlaskGroup declaration to the driver script.
* Moved shell context definition to cli.py
* Switched shell context definition to use decorator.
* Moved create_app definition to cli.py
* Fixed InvocationError with a wrapped function
* Added extra newlines between functions
* Removed flask-script dependency.
The dashboard page bootstrap data currently attempts to generate the
`SELECT` statement with column name details for each table represented
in the dash. This means it calls the database(s) and waits for column
details prior to returning any HTML.
This makes the default select_star property generate a simple
`SELECT *` with no column details instead, which doesn't require
interogating the DBs.
* [perf] add webpack 4 + SplitChunks + lazy load visualizations (#5240)
* [webpack] setup lazy loading for all visualizations
* [lazy-load] push renderVis function to <Chart /> state
* no mapbox token
* [lazy loading] use native webpack import func to fix chunk names, add babel-plugin-syntax-dynamic-import, fix rebase bug.
* fix geojson import, undefined t, and fix async css bug
* [lazy load] actually add babel-plugin-syntax-dynamic-import
* [webpack] working dev version of webpack v4
* [webpack 4] fix url issues, use mini-css-extract-plugin and webpack-assets-manifest plugins
* [webpack 4] use splitchunks for all files, update templates to multi-file entrypoints
* [webpack 4] multiple theme entry files for markup vis css, don't uglify mapbox
* [webpack 4] lint python manifest changes, update yarn lock.
* [webpack 4] fix tests with babel-plugin-dynamic-import-node
* [webpack 4] only use 'dynamic-import-node' plugin in tests, update <Chart /> vis promise when vis type changes
* [webpack 4] clean up package.json and yarn.lock after rebase
* [webpack 4] lint?
* [webpack 4] lint for real
* [webpack 4][istanbul] ignore visualizations/index.js
* [webpack 4] fix rebase bug, update dashboard/deprecated/chart/Chart.jsx to use vis promises.
* [webpack 4] lint and test
* [webpack 4] yarn.lock
* WIP
* Working version
* Clean code
* Fix lint
* Fix unit test; show only for sqla
* Working on UX
* Dropdown working 66%
* Working but needs CSS
* Fixed table
* Fix lint
* Fix unit test
* Fix languages path
* Fixes
* Fix Javascript lint
Moving to using Twine to upload to pypi and fixing up the markdown
support so that the page on Pypi looks like the README on Github.
This has been tested on the 0.26 branch starting 0.26.3
* Fix display limit in sql lab
* Add redundant variable from config.py
* Fix test config
* Change to SQL_MAX_ROW
* Remove last remaining occurence of DISPLAY_SQL_MAX_ROW
The travis build has been failing for 2 reasons recently
* pylint takes > 10 minutes without outputing
* bad merge confict auto resolve in controls.jsx
* [toasts] get rid of notify globals, refactor messageToasts for use by entire app
* [remove notify] use arrow func in ajax call
* fix lint + tests
* actually fix tests from messageToast refactor
* add 'test:one' npm script
* debugger
* [toasts] convert bootstrap flash messages to toasts in explore + sqllab
* [toasts][tests] import from right file
Pie chart was using `limit` instead of `row_limit` which didn't work.
Also set a lower default limit to 25 to prevent the chart from getting
super crowded.
Unrelated drive-by fix of setting "percentage metric" to default to `[]`
* Fix how the annotation layer interpretes the timestamp string without timezone info; use it as UTC
* [Bug fix] Fixed/Refactored annotation layer code so that non-timeseries annotations are applied based on the updated chart object after adding all data
* [Bug fix] Fixed/Refactored annotation layer code so that non-timeseries annotations are applied based on the updated chart object after adding all data
* Fixed indentation
* Fix the key string value in case series.key is a string
* Fix the key string value in case series.key is a string
* [Bug fix] Divide by 1000.000 in epoch_ms_to_dttm() to not lose precision in Presto
* [Bug fix] Divide by 1000.000 in epoch_ms_to_dttm() to not lose precision in Presto
* Improve database type inference
Python's DBAPI isn't super clear and homogeneous on the
cursor.description specification, and this PR attempts to improve
inferring the datatypes returned in the cursor.
This work started around Presto's TIMESTAMP type being mishandled as
string as the database driver (pyhive) returns it as a string. The work
here fixes this bug and does a better job at inferring MySQL and Presto types.
It also creates a new method in db_engine_specs allowing for other
databases engines to implement and become more precise on type-inference
as needed.
* Fixing tests
* Adressing comments
* Using infer_objects
* Removing faulty line
* Addressing PrestoSpec redundant method comment
* Fix rebase issue
* Fix tests
Please report security vulnerabilities to private@superset.apache.org.
In the event a community member discovers a security flaw in Superset, it is important to follow the [Apache Security Guidelines](https://www.apache.org/security/committers.html) and release a fix as quickly as possible before public disclosure. Reporting security vulnerabilities through the usual GitHub Issues channel is not ideal as it will publicize the flaw before a fix can be applied.
Describe how the feature will be implemented, or the problem will be solved. If possible, include mocks, screenshots, or screencasts (even if from different tools).
### New or Changed Public Interfaces
Describe any new additions to the model, views or `REST` endpoints. Describe any changes to existing visualizations, dashboards and React components. Describe changes that affect the Superset CLI and how Superset is deployed.
### New dependencies
Describe any `npm`/`PyPI` packages that are required. Are they actively maintained? What are their licenses?
### Migration Plan and Compatibility
Describe any database migrations that are necessary, or updates to stored URLs.
### Rejected Alternatives
Describe alternative approaches that were considered and rejected.
Enable **multi-layer cache** and **shortcut commands** in any workflows.
Manage multiple cache targets in one step. Use either the built-in cache configs for npm, yarn, and pip, or write your own. Create a bash command library to easily reduce redudencies across workflows. Most useful for building webapps that require multi-stage building processes.
This is your all-in-one action for everything related to setting up dependencies with cache.
## Inputs
- **run**: bash commands to run, allows shortcut commands
- **caches**: path to a JS module that defines cache targets, defaults to `.github/workflows/caches.js`
- **bashlib**: path to a BASH scripts that defines shortcut commands, defaults to `.github/workflows/bashlib.sh`
- **parallel**: whether to run the commands in parallel with node subprocesses
## Examples
Following workflow sets up dependencies for a typical Python web app with both `~/.pip` and `~/.npm` cache configured in one simple step:
```yaml
jobs:
build_and_test:
runs-on:ubuntu-latest
steps:
- name:Checkout code
uses:actions/checkout@v2
- name:Install dependencies
uses:ktmud/cached-dependencies@v1
with:
run:|
npm-install
npm run build
pip-install
python ./bin/manager.py fill_test_data
```
Here we used predefined `npm-install` and `pip-install` commands to install dependencies with correponding caches.
You may also replace `npm-install` with `yarn-install` to install npm pacakges with `yarn.lock`.
```yaml
- name:Install dependencies
uses:ktmud/cached-dependencies@v1
with:
run:|
yarn-install
yarn build
pip-install
python ./bin/manager.py fill_test_data
```
See below for more details.
## Usage
### Cache configs
Under the hood, we use [@actions/cache](https://github.com/marketplace/actions/cache) to manage cache storage. But instead of defining only one cache at a time and specify them in workflow YAMLs, you manage all caches in a spearate JS file: `.github/workflows/caches.js`.
Here is [the default configuration](https://github.com/ktmud/cached-dependencies/blob/master/src/cache/caches.ts) for Linux:
```js
module.exports={
pip:{
path:[`${process.env.HOME}/.cache/pip`],
hashFiles:['requirements*.txt'],
keyPrefix:'pip-',
restoreKeys:'pip-',
},
npm:{
path:[`${HOME}/.npm`],
hashFiles:[
`package-lock.json`,
`*/*/package-lock.json`,
`!node_modules/*/package-lock.json`,
],
},
yarn:{
path:[`${HOME}/.npm`],
// */* is for supporting lerna monorepo with depth=2
In which `hashFiles` and `keyPrefix` will be used to compute the primary cache key used in [@actions/cache](https://github.com/marketplace/actions/cache). `keyPrefix` will default to `${cacheName}-` and `restoreKeys` will default to `keyPrefix` if not specified.
It is recommended to always use absolute paths in these configs so you can share them across different worflows more easily (in case you the action is called from different working directories).
#### Speficy when to restore and save
With the predefined `cache-store` and `cache-save` bash commands, you have full flexibility on when to restore and save cache:
```yaml
steps:
- uses:actions/checkout@v2
- uses:ktmud/cached-dependencies@v1
with:
run:|
cache-restore npm
npm install
cache-save npm
cache-restore pip
pip install -r requirements.txt
cache-save pip
```
### Shortcut commands
All predefined shortcut commands can be found [here](https://github.com/ktmud/cached-dependencies/blob/master/src/scripts/bashlib.sh). You can also customize them or add new ones in `.github/workflows/bashlib.sh`.
For example, if you want to install additional packages for before saving `pip` cache, simply add this to the `bashlib.sh` file:
When `parallel` is set to `true`, the `run` input will be split into an array of commands and passed to `Promise.all(...)` to execute in parallel. For example,
```yaml
- uses:ktmud/cached-dependencies@v1
with:
parallel:true
run:|
pip-install
npm-install
```
is equivalent to
```yaml
- uses:ktmud/cached-dependencies@v1
with:
run:|
pip-install & npm-install
```
If one or more of your commands must spread across multiple lines, you can add a new line between the parallel commands. Each command within a parallel group will still run sequentially.
```yaml
- uses:ktmud/cached-dependencies@v1
with:
run:|
cache-restore pip
pip install requirements*.txt
# additional pip packages
pip install package1 package2 pacakge2
cache-save pip
npm-install
cache-restore cypress
cd cypress/ && npm install
cache-save cypress
```
## License
This project is released under [the MIT License](LICENSE).
<!-- START doctoc generated TOC please keep comment here to allow auto update -->
<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
**Table of Contents***generated with [DocToc](https://github.com/thlorenz/doctoc)*
- [Context and motivation](#context-and-motivation)
- [Usage](#usage)
- [Inputs and outputs](#inputs-and-outputs)
- [Inputs](#inputs)
- [Outputs](#outputs)
- [Most often used canceling example](#most-often-used-canceling-example)
- [More Examples](#more-examples)
- [Repositories that use Pull Requests from forks](#repositories-that-use-pull-requests-from-forks)
- [Cancel duplicate runs for the source workflow](#cancel-duplicate-runs-for-the-source-workflow)
- [Cancel duplicate jobs for triggered workflow](#cancel-duplicate-jobs-for-triggered-workflow)
- [Cancel the "self" source workflow run](#cancel-the-self-source-workflow-run)
- [Cancel the "self" triggered workflow run](#cancel-the-self-triggered-workflow-run)
- [Fail-fast source workflow runs with failed jobs](#fail-fast-source-workflow-runs-with-failed-jobs)
- [Fail-fast source workflow runs with failed jobs and corresponding triggered runs](#fail-fast-source-workflow-runs-with-failed-jobs-and-corresponding-triggered-runs)
- [Fail-fast for triggered workflow runs with failed jobs](#fail-fast-for-triggered-workflow-runs-with-failed-jobs)
- [Cancel another workflow run](#cancel-another-workflow-run)
- [Cancel all duplicates for named jobs](#cancel-all-duplicates-for-named-jobs)
- [Repositories that do not use Pull Requests from forks](#repositories-that-do-not-use-pull-requests-from-forks)
- [Cancel duplicate runs for "self" workflow](#cancel-duplicate-runs-for-self-workflow)
| `token` | yes | | The github token passed from `${{ secrets.GITHUB_TOKEN }}` |
| `cancelMode` | no | `duplicates` | The mode to run cancel on. The available options are `duplicates`, `self`, `failedJobs`, `namedJobs` |
| `cancelFutureDuplicates` | no | true | In case of duplicate canceling, cancel also future duplicates leaving only the "freshest" running job and not all the future jobs. By default it is set to true. |
| `sourceRunId` | no | | Useful only in `workflow_run` triggered events. It should be set to the id of the workflow triggering the run `${{ github.event.workflow_run.id }}` in case cancel operation should cancel the source workflow. |
| `notifyPRCancel` | no | | Boolean. If set to true, it notifies the cancelled PRs with a comment containing reason why they are being cancelled. |
| `notifyPRCancelMessage` | no | | Optional cancel message to use instead of the default one when notifyPRCancel is true. It is only used in 'self' cancelling mode. |
| `notifyPRMessageStart` | no | | Only for workflow_run events triggered by the PRs. If not empty, it notifies those PRs with the message specified at the start of the workflow - adding the link to the triggered workflow_run. |
| `jobNameRegexps` | no | | An array of job name regexps. Only runs containing any job name matching any of of the regexp in this array are considered for cancelling in `failedJobs` and `namedJobs` and `allDuplicateNamedJobs` modes. |
| `skipEventTypes` | no | | Array of event names that should be skipped when cancelling (JSON-encoded string). This might be used in order to skip direct pushes or scheduled events. |
| `selfPreservation` | no | true | Do not cancel self. |
| `workflowFileName` | no | | Name of the workflow file. It can be used if you want to cancel a different workflow than yours. |
The job cancel modes work as follows:
| Cancel Mode | No `sourceRunId` specified | The `sourceRunId` set to `${{ github.event.workflow_run.id }}` |
| `duplicates` | Cancels duplicate runs from the same repo/branch as current run. | Cancels duplicate runs for the same repo/branch as the source run. |
| `allDuplicates` | Cancels duplicate runs from all running workflows. | Cancels duplicate runs from all running workflows. |
| `failedJobs` | Cancels all runs of own workflow that have matching jobs that failed. | Cancels all runs of the `sourceRunId` workflow that have matching jobs that failed. |
| `namedJobs` | Cancels all runs of own workflow that have matching jobs. | Cancels all runs of the `sourceRunId` workflow that have matching jobs. |
| `allDuplicatedNamedJobs` | Cancels all duplicate runs of own workflow that share matching jobs pattern. | Cancels all runs of the `sourceRunId` workflow that share matching job pattern. |
## Outputs
| Output | No `sourceRunId` specified | The `sourceRunId` set to `${{ github.event.workflow_run.id }}` |
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
The repository is released under the MIT license, and follows a standard Github development process, using Github tracker for issues and merging pull requests into master.
1. Make a **Pull Request** from your forked branch (forked from _master_) with changes to _trilom/file-changes-action/master_ branch.
2. Once merged into master this will lint the code and provide output in the checks, update the AUTHORS file, and package _dist/_. If there is a release then this will create a **Pull Request** from the _v\*\*_ branch to _master_ and a comment will be made on the original **Pull Request** notifying contributors. If there is not a release the changes will be **push**ed to _master_.
3. In the **Pull Request** linting and testing will be performed again. If _linted_, _tested-unit_, _tested-integration_, _builds_, and _lintdogged_ label exist and _hold merge_ does not the release will be merged into _master_.
4. Once merged this time [semantic-release](https://github.com/semantic-release/semantic-release) will run to create the Github Release, release notes, changelog, notify Slack, package and deploy to NPM and Github Package Repo, label the release, and notify any issues of it's deployment.
5. After user semantic-release-bot commits the release commit, this code will be pushed to the release branch.
## Schedule
- Everyday at 5:00 AM GMT:
- Run integration tests via Github Actions.
## Issue Comment
- When any `created`**Issue Comment** type runs on a **Pull Request** from trilom with the body of `/integrationNUMBER`(**integration.yml**):
- Run integration tests via Github Actions with PR.
- **NOT IMPLEMENTED** When any `created`**Issue Comment** type runs on a **Pull Request** from trilom with the body of `/release`(**automerge.yml**):
- If _linted_, _tested-unit_, _tested-integration_, _builds_, _lintdogged_, and _hold merge_ or _automated merge_**does not** labels exist:
- Merge the PR and add the _automated merge_ label
- If failure, put some output on the original PR.
## Pull Request
- When any `opened`, `reopened`, or `synchronize`**Pull Request** type runs to the _master_ branch from a _v\*\*_ branch:
- Run integration tests via Github Actions.
- When any `opened` or `reopened`**Pull Request** type runs on any branch other than _master_ from anyone other than trilom or trilom-bot from a forked branch(**close_pr.yml**):
- Close the **Pull Request** and put the dunce cap on.
- When any `labeled`, or `closed`**Pull Request** type runs on _master_, _next_, _alpha_, or _beta_(**automerge.yml**):
- If _linted_, _tested-unit_, _tested-integration_, _builds_, _lintdogged_, and _hold merge_ or _automated merge_**does not** labels exist:
- Merge the PR and add the _automated merge_ label
- If failure, put some output on the original PR.
- When any `opened`, `reopened`, or `synchronize`**Pull Request** type runs(**pr.yml**):
- Assign it to trilom (**add-reviews**)
- Build code with `yarn build` which runs `yarn` and `tsc` (**build**)
- Label with builds if passing and on inner workspace
- Test code with `yarn test-coverage` which runs `jest --coverage` (**test-unit**)
- Label with tested-unit if passing and on inner workspace
- Test code with `yarn test-integration` which runs `jest -c jest.config.integration.js` (**test-integration**)
- Label with tested-integration if passing and on inner workspace
- Test code with eslint reviewdog and report back if inner workspace (**lintdog**)
- Label with pretty if passing and on inner workspace
- Check format of code with `yarn format-check` which runs `prettier --check` (**format_check_push**)
- If:
- Fork then pull **Pull Request** github.ref with GITHUB_TOKEN
- Inner **Pull Request** then pull HEAD repo ref
- Build code with `yarn build` which runs `yarn` and `tsc`
- If format-check succeeds and on inner workspace
- Label with pretty
- If format-check fails and on inner workspace and actor is not trilom-bot
- Run `yarn format` which runs `prettier --write`
- Clean build files with `yarn clean`
- Commit the format changes as trilom-bot to **Pull Request** head
## Push
- When any **Push** type runs to _master_:
- Run integration tests via Github Actions.
- When any **Push** type runs to _master_, _next_, _alpha_, or _beta_(**push.yml**):
- Build code with `yarn build` which runs `yarn` and `tsc` (**build**)
- Test code with `yarn test-coverage` which runs `jest` (**test**)
- Test code with eslint reviewdog and report back with github checks(**lintdog**)
- When any **Push** type runs to _master_, _next_, _alpha_, or _beta_ with a head_commit message **NOT** containing 'trilom/v1.' or 'trilom/v2.':
- Build with `yarn build-release` which runs `yarn && tsc --build tsconfig.build.json && ncc build --minify` to build the **dist/\*\*.js** files, update **AUTHORS**, format **src/\*\*.ts** files and commit.
- Test [semantic-release](https://github.com/semantic-release/semantic-release) if a release is ready then create a **Pull Request**
- Echo release outputs
- Get changed files with [file-changes-action](https://github.com/trilom/file-changes-action) and build a message to post to new **Pull Request**
- Comment on the original **Pull Request** with the new details of the release.
- If no release, then **Push** changes directly back to master.
- When any **Push** type runs to _master_, _next_, _alpha_, or _beta_ with a head_commit message containing 'trilom/v1.' or 'trilom/v2.':
- Run [semantic-release](https://github.com/semantic-release/semantic-release) to prepare Github Release, release notes, changelog, notify Slack, package and deploy to NPM and Github Package Repo, label the release, and notify any issues of it's deployment.
- When any **Push** type runs to _master_, _next_, _alpha_, or _beta_ from semantic-release-bot with a head_commit message containing 'chore(release):':
- Get the **Pull Request** number from the **Push** and push the semantic-release changes to the tagged release branch.
Some files were not shown because too many files have changed in this diff
Show More
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.