Skip to content

superset-frontend proxy is not working when superset backend decides to use zstd encoding #28366

@jakubjosef

Description

@jakubjosef

Bug description

Hi guys, my company is using Apache Superset and we just found weird situation.
Our new developer were using superset-frontend and he saw weird characters being displayed instead of "normal page".
After few hours of investigation we realised the problem was superset (python server) which served content using zstd encoding (instead of br encoding which other devs were using).
zstd encoding is not supported by superset's node js proxy (see:

// decode GZIP response
)
We managed to fix the problem using exactly same version of python packages from working machine, but it looks like some superset dependency was updated to serve using zstd by default. Unfortunately it looks like zstd is not supported in node.js yet, so we cannot just easily support zstd in webpack.proxy-config.js
Does anyone know which exact package can cause this? I tried to grep superset and werkzeug code for zstd but found nothing.
Thank you for your suggestions.

How to reproduce the bug

  1. Install latest superset
  2. Start superset backend
  3. Start superset frontend dev-server (npm run dev-server)
  4. Go to dev-server and you will see bunch of question marks and weird characters instead of expected markup

Screenshots/recordings

No response

Superset version

master / latest-dev

Python version

3.11

Node version

18 or greater

Browser

Chrome

Additional context

No response

Checklist

  • I have searched Superset docs and Slack and didn't find a solution to my problem.
  • I have searched the GitHub issue tracker and didn't find a similar bug report.
  • I have checked Superset's logs for errors and if I found a relevant Python stacktrace, I included it here as text in the "additional context" section.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions