Commit Graph

237 Commits

Author SHA1 Message Date
Gnought
4e9f812dab fix: removed redundant logger definition (#17289)
* Removed redundant logger defintion

* Fixed code style
2021-11-04 17:09:00 +08:00
Yongchan Hong
7a2e39449a feat(config): Add none force-refresh option for auto refresh (#17039)
* feat(config): Add none force-refresh option for auto refresh

* use general config

* fix lint issues

* last lint fix
2021-10-14 21:31:10 +03:00
Erik Ritter
031f594fa3 fix: prevent caching error pages (#17100) 2021-10-13 14:51:44 -07:00
John Bodley
fb4650a6eb chore(pylint): Remove top-level disable (#16589)
* chore(pylint): Remove top-level disable

* Update examples.py

* Update command.py

Co-authored-by: John Bodley <john.bodley@airbnb.com>
2021-09-15 09:30:23 -07:00
Beto Dealmeida
7f804d62d1 feat: show nice error page in prod (#16695) 2021-09-14 16:56:25 -07:00
cccs-joel
c6ac10716a feat: show build number value in the About if present in the config (#14955) 2021-09-13 10:59:08 -07:00
Grace Guo
78d8089b18 fix: Disable Slack notification method if no api token (#16367)
* feat: allow company choose alert/report notification methods

* fix: disable Slack as notification method if no api token

* fix unit test

* improve typing
2021-08-24 17:28:50 -07:00
David Aaron Suddjian
486ef6b81f feat: config to customize bootstrap data overrides (#16386)
* feat: config to customize bootstrap data overrides

* comments
2021-08-23 14:40:14 -07:00
John Bodley
7e4c940314 chore(pylint): Enable useless-suppression check (#16388)
Co-authored-by: John Bodley <john.bodley@airbnb.com>
2021-08-24 03:58:41 +12:00
John Bodley
be7065faf8 chore(pylint): Reenable raise-missing-from check (#16266)
Co-authored-by: John Bodley <john.bodley@airbnb.com>
2021-08-17 10:26:10 +12:00
Elizabeth Thompson
5488a8a948 add config to hide some user menu items (#16156) 2021-08-10 09:03:13 -07:00
John Bodley
4ba17092fa fix: Ensure SupersetError.extra is always a dict (#15848)
Co-authored-by: John Bodley <john.bodley@airbnb.com>
2021-07-24 10:19:30 +12:00
ʈᵃᵢ
de17acd618 feat(menu): expand support for custom branding (#15628) 2021-07-14 10:51:53 -06:00
Erik Ritter
4d1672f496 fix: error page status codes (#15620) 2021-07-09 13:33:51 -07:00
Beto Dealmeida
cc2b4fe3f4 fix: show custom errors in SQL Lab (#14959)
* fix: show custom errors in SQL Lab

* Fix lint

* Fix test

* Update superset/views/base.py

Co-authored-by: ʈᵃᵢ <tai@apache.org>

* Fix lint

* Debug failing test

* Remove print()

* Debug flaky tests

* Fix test

Co-authored-by: ʈᵃᵢ <tai@apache.org>
2021-06-10 15:20:31 -07:00
Ville Brofeldt
422c32cb7d feat(filter-box): hide druid options if druid not enabled (#14921)
* feat(filter-box): hide druid options if druid not enabled

* add bootstrap export
2021-06-07 13:49:56 -06:00
Beto Dealmeida
8cfebc0c66 feat: do not redirect on 404/500 (#14724) 2021-05-20 09:44:20 -07:00
Beto Dealmeida
c3d1f1084e feat: redirect 404/500 to static pages (#14677)
* feat: redirect 404/500 to static pages

* Show pages only on html requests
2021-05-18 20:50:39 -07:00
Beto Dealmeida
065b3f933d feat: redirect to /login when CSRF expired (#14675)
* feat: redirect to /login when CSRF expired

* Show exceptions on API requests

* Use is_json
2021-05-18 18:48:35 -07:00
David Aaron Suddjian
21cf12a480 chore(dashboard): Integrate dashboard app into the SPA bundle (#14356)
* chore(dashboard): Integrate dashboard app into the SPA bundle

* fix url params

* change variable name

* change title correctly

* custom css

* lint

* remove unused file

* remove content assertions from dashboard tests

* fix case with missing bootstrap data

* fix: respect crud views flag

* crud views -> spa

* remove unused dashboard templates

* fix: remove unused variable

* fix: missed a spot with the crudViews -> spa

* router link to dashboard from dashboard list page

* link using the router when in card mode

* lint

* fix tests, add memory router

* remove  dashboard app files

* split up the bundle a little more

* use webpack preload
2021-05-04 08:51:17 -07:00
ʈᵃᵢ
0b9fd24cf3 fix(logging): log unexpected exceptions as exceptions (#14399) 2021-05-03 12:33:02 -06:00
Hugh A. Miles II
3a011ecc06 chore: stop logging SupersetExceptions if status < 500 (#14088)
* setup exception

* figured out

* Update base.py
2021-04-13 12:52:14 -04:00
Hugh A. Miles II
de49f0d2de fix: add exception to catch session not having JWT (#14036) 2021-04-11 16:47:06 -04:00
Rob DiCiuccio
806fb73d25 feat(SIP-39): Websocket sidecar app (#11498)
* WIP node.js websocket app

* Load testing

* Multi-stream publish with blocking reads

* Use JWT for auth and channel ID

* Update ws jwt cookie name

* Typescript

* Frontend WebSocket transport support

* ws server ping/pong and GC logic

* ws server unit tests

* GC interval config, debug logging

* Cleanup JWT cookie logic

* Refactor asyncEvents.ts to support non-Redux use cases

* Update tests for refactored asyncEvents

* Add eslint, write READMEs, reorg files

* CI workflow

* Moar Apache license headers

* pylint found something

* adjust GH actions workflow

* Improve documentation & comments

* Prettier

* Add configurable logging via Winston

* Add SSL support for Redis connections

* Fix incompatible logger statements

* Apply suggestions from code review

Co-authored-by: David Aaron Suddjian <1858430+suddjian@users.noreply.github.com>

* rename streamPrefix config

Co-authored-by: David Aaron Suddjian <1858430+suddjian@users.noreply.github.com>
2021-04-08 11:12:03 -07:00
Beto Dealmeida
a82d72fef6 feat: initial work to make v1 API compatible with SIP-40 and SIP-41 (#13960)
* WIP

* Use errorhandler

* Add response schema

* Fix status on HTTPException

* s/found/encountered/g

* Fix test

* Fix lint

* Fix lint and test
2021-04-06 22:06:32 -07:00
cccs-jc
24f805ebc4 feat: added support to configure the default explorer viz (#13610)
* added support to configure the default explorer viz

* code review fix

* lint

Co-authored-by: cccs-jc <cccs-jc@cyber.gc.ca>
Co-authored-by: Ville Brofeldt <ville.v.brofeldt@gmail.com>
2021-03-26 15:27:36 -07:00
Ben Reinhart
55ba47ec2e fix(#13734): Properly escape special characters in CSV output (#13735)
* fix: Escape csv content during downloads

* Reuse CsvResponse object

* Use correct mimetype for csv responses

* Ensure that headers are also escaped

* Update escaping logic
2021-03-26 15:22:00 -07:00
Hugh A. Miles II
85d1e80544 fix: Update display string when sqlalchemy doc config us changed (#13219) 2021-02-18 17:04:13 -05:00
Hugh A. Miles II
3c58fc5ef5 feat: Move SQLAlchemy url reference to config (#13182) 2021-02-18 12:42:15 -05:00
simcha90
275e57f4f1 feat(style-theme): add support for custom superset themes (#12858)
* feat(style-theme): add support for custom superset themes

* refactor: update var names

* refactor: update name of theme
2021-02-02 13:09:49 +02:00
Jesse Yang
55c8f9ba60 feat(explore): allow opening charts with missing dataset (#12705) 2021-01-25 15:09:03 -08:00
Amit Miran
0f243c6ddd refactor: extract to method is_user_admin (#12570) 2021-01-18 09:15:25 +02:00
Amit Miran
8214237638 feat: Custom color schemes support (#12210)
* feat: setupColors.ts support
docs: add FAQ to custom color schemes

* fix: delete mistake lines

* fix: CR note

* feat: support for SETUP_EXTRA

* fix: remove after cr

* fix: CR note

* fix: after CR migrate from SETUP_EXTRA into 2 color scheme array

* fix: typing issues

* fix: python generic typing

* chore: add neat code examples
2021-01-07 09:07:00 +02:00
David Aaron Suddjian
b5dd0f32cc feat: Dynamically imported viz plugins (#10288)
* 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>
2020-12-19 07:06:11 -08:00
Beto Dealmeida
6e7f276775 feat: initial custom error messages for SQL Lab (#12080) 2020-12-17 22:58:21 -08:00
Rob DiCiuccio
4d329071a1 feat(SIP-39): Async query support for charts (#11499)
* Generate JWT in Flask app

* Refactor chart data API query logic, add JWT validation and async worker

* Add redis stream implementation, refactoring

* Add chart data cache endpoint, refactor QueryContext caching

* Typing, linting, refactoring

* pytest fixes and openapi schema update

* Enforce caching be configured for async query init

* Async query processing for explore_json endpoint

* Add /api/v1/async_event endpoint

* Async frontend for dashboards [WIP]

* Chart async error message support, refactoring

* Abstract asyncEvent middleware

* Async chart loading for Explore

* Pylint fixes

* asyncEvent middleware -> TypeScript, JS linting

* Chart data API: enforce forced_cache, add tests

* Add tests for explore_json endpoints

* Add test for chart data cache enpoint (no login)

* Consolidate set_and_log_cache and add STORE_CACHE_KEYS_IN_METADATA_DB flag

* Add tests for tasks/async_queries and address PR comments

* Bypass non-JSON result formats for async queries

* Add tests for redux middleware

* Remove debug statement

Co-authored-by: Ville Brofeldt <33317356+villebro@users.noreply.github.com>

* Skip force_cached if no queryObj

* SunburstViz: don't modify self.form_data

* Fix failing annotation test

* Resolve merge/lint issues

* Reduce polling delay

* Fix new getClientErrorObject reference

* Fix flakey unit tests

* /api/v1/async_event: increment redis stream ID, add tests

* PR feedback: refactoring, configuration

* Fixup: remove debugging

* Fix typescript errors due to redux upgrade

* Update UPDATING.md

* Fix failing py tests

* asyncEvent_spec.js -> asyncEvent_spec.ts

* Refactor flakey Python 3.7 mock assertions

* Fix another shared state issue in Py tests

* Use 'sub' claim in JWT for user_id

* Refactor async middleware config

* Fixup: restore FeatureFlag boolean type

Co-authored-by: Ville Brofeldt <33317356+villebro@users.noreply.github.com>
2020-12-10 20:21:56 -08:00
Erik Ritter
f2d9f00013 feat: allow user to view their profile again (#11816) 2020-12-02 09:14:23 -08:00
Grace Guo
f292015ccd fix (dataset editor): allow Source tab readOnly mode (#11781)
* 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
2020-12-01 17:10:33 -08:00
ʈᵃᵢ
432e5ab460 feat: Query History CRUD list view (#11574) 2020-11-12 11:55:13 -10:00
Maxime Beauchemin
854a4614a8 feat: make logo link point to welcome page (#11519) 2020-11-01 09:22:09 -08:00
Beto Dealmeida
f2b8d6aef8 chore: rename ImportMixin to ImportExportMixin (#11460)
* 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
2020-10-30 09:11:56 -07:00
ʈᵃᵢ
45fee60b62 fix: remove FAB rendered menu in favor of react based one (#10401) 2020-08-21 17:19:00 -07:00
ʈᵃᵢ
7301a363c1 feat: setup react page with submenu for datasources listview (#10642) 2020-08-20 11:42:17 -07:00
Ville Brofeldt
96b9ba3364 ci: bump pre-commit py36 to py37 (#10541)
* ci: bump pre-commit py36 to py37

* add 3rd party for py37

* lint

* yet more lint
2020-08-07 06:54:22 +03:00
Erik Ritter
fd2d1c58c5 Revert "chore: Cleanup database sessions (#10427)" (#10537)
This reverts commit 7645fc85c3.
2020-08-06 15:33:48 -07:00
John Bodley
7645fc85c3 chore: Cleanup database sessions (#10427)
Co-authored-by: John Bodley <john.bodley@airbnb.com>
2020-07-30 23:07:56 -07:00
Erik Ritter
5fa4680447 feat: update timeout error UX (#10274) 2020-07-20 15:32:17 -07:00
Maxime Beauchemin
318e5347bc feat: Alerts! allowing users to set SQL-based email alerts with screenshots (#9944)
* 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>
2020-07-06 13:12:27 -07:00
Will Barrett
8e23d4f369 chore: Upgrade pylint to 2.5.3 and fix most new rules (#10101)
* 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
2020-06-18 14:03:42 -07:00
Will Barrett
01aede0652 refactor: Break up superset/views/core.py (#10078)
* 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
2020-06-17 13:42:13 -07:00