Issue 1:
How to reproduce the bug

Create dashboard with that structure:

Three charts in three tabs, with three dashboard filters, each filter for own tab.

Scope of filter 1 is for tab 1, scope of filter 2 is for tab 2 and scope of filter 3 is for tab 3.

Save this dashboard by name "bug_report_20221220"

or (bestway)

upload dashboard from file: dashboard_export_20221220T112259.zip

Attention! used dataset "birth_names" from Examples

Go to "Dashboards" menu item of Superset.

Click to dashboard by name "bug_report_20221220"

You will see that charts in tabs don't display until you unfold out of scope filters.

Attention! You may need to open the dashboard "bug_report_20221220" twice to reproduce unexpected behavior.

Expected results

Сharts in tabs will display without you unfold out of scope filters.

Actual results

Сharts in tabs don't display until you unfold out of scope filters.

Video of unexpected behavior.

superset filters with charts in tabs bug.wmv

Environment

Apache Superset in docker from https://hub.docker.com/r/apache/superset latest version on 2022-12-20.

Issue 2:
Make sure these boxes are checked before submitting your issue - thank you!

I have checked the superset logs for python stacktraces and included it here as text if any

I have reproduced the issue with at least the latest released version of superset

I have checked the issue tracker for the same issue and I haven't found one similar

Superset version

0.15.4 on python3.4.5

Expected results

Async query succeeds; fetch results succeeds and shows result table.

Actual results

Async queries result in an error in the superset worker:

"TypeError: 'str' does not support the buffer interface"

This seems to be caused by python3 which requires the payload to be encoded.

For testing, I did the following adjustments which seem to do the job:

File sql_lab.py:

#results_backend.set(key, zlib.compress(payload))
results_backend.set(key, zlib.compress(payload.encode('utf-8')))

File views.py:

#json_payload = zlib.decompress(blob)
json_payload = zlib.decompress(blob).decode('utf-8')

Steps to reproduce

Have a redis server running.

Install superset on python3 with celery[redis] and redis,

activate them in the config:

class CeleryConfig(object):
BROKER_URL = 'redis://localhost:6379/0'
CELERY_IMPORTS = ('superset.sql_lab', )
CELERY_RESULT_BACKEND = 'redis://localhost:6379/0'
CELERY_ANNOTATIONS = {'tasks.add': {'rate_limit': '10/s'}}
CELERY_CONFIG = CeleryConfig

from werkzeug.contrib.cache import RedisCache
RESULTS_BACKEND = RedisCache(host='localhost', port=6379, password=None, db=0, default_timeout=300, key_prefix='cel_result')

Start superset server and worker

Run async query in SQL-Lab and fetch results

Questions

Supposing, my adjustments for python3 are the right means for fixing the issue, I got the following questions:

a. Are there more than these two locations where we need to encode a string? Can anyone point me there?

b. What is the right way to fix this python3-specific issue so that we do not compromise python2 installations? (I have absolutely no experience in this regard…)

c. I'm also not experienced with github and pull requests. Should I still try to fix it myself? I'm perfectly fine if someone else wants to deal with this issue. However, if needed, I can try to make a pull request.