-
Notifications
You must be signed in to change notification settings - Fork 14.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat(sqllab): SPA migration #25151
feat(sqllab): SPA migration #25151
Conversation
@justinpark are you removing any old api endpoints in the next PR? If so we may want to wait until 4.0. I think there may be some integrations outside of the application that use it, so it could be a breaking change. cc @betodealmeida for the CLI that I think uses this. |
After discussed with other folk, I decided to include the delete work in the same PR. I will post the commit for the delete work soon.
This is a web entry point migration not API so it shouldn't be used in CLI. (even it's used in CLI, the redirection will cover the issue) |
Hi @eschutho. Just to add a little more context. I asked @justinpark to include the cleanup of old code in the same PR given that:
Just to be clear, removing old code shouldn't introduce breaking changes. Let's make sure this is the case when reviewing the PR. Once code review is completed, we'll create a test environment to make sure everything is working. It would be great if @sadpandajoe and @jinghua-qa could help us out. |
e8d7e20
to
9f7ebad
Compare
9f7ebad
to
ced4e2c
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you for the PR @justinpark. I left some first-pass comments.
@michael-s-molina I just changed all addressed issues. |
9d24ba0
to
0061c66
Compare
Code looks good! Great to see the old obsolete code gone |
/testenv up |
@kgabryje Ephemeral environment spinning up at http://34.219.198.150:8080. Credentials are |
@justinpark and @michael-s-molina This all looks good to me. I didn't see any breaking changes in the PR, as the current endpoints have all the redirects in place as @justinpark mentioned. It's only the deleting of the endpoints that would raise any concerns for breaking changes, which I didn't see in here. 👍 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you @eschutho and @kgabryje. Code LGTM too.
@sadpandajoe @jinghua-qa Could you also review the PR before we merge it?
@sadpandajoe @jinghua-qa Could you help QA test for SPA migration work? |
Sure @justinpark. Bring up an ephemeral. Also what have you tested so far so we don't duplicate testing. |
@sadpandajoe Ephemeral environment already set up at http://34.219.198.150:8080/. We completed the basic page transition tests(from chart to sqllab. etc) so I hope you test running queries and make a bunch of page transition and page reload that make sure no data lost or error thrown. |
@sadpandajoe Do you have any updates in your side? |
@justinpark I haven't had a chance to really look at it yet since I got stuck doing other things. I think things I was going to look at for testing include:
But probably won't have time to get to it until the later half of this week as I need to finish some other stuff. I would say merge and if I find anything I'll just create new issues and ping you on them. |
I did a quick test on the ephemeral, and it's very snappy! 🙌 |
Sounds good! We've completed reasonable tests so I'll take cake in the following bug fixes for your reported bugs. |
@justinpark code LGTM. Not sure if all of these are related, actually this might all be unrelated, but for reference here is what I found from manual testing and messing up with SQL Lab
Superset.mp4
Superset.1.mp4
|
Thank you for all the tests and comments @geido! @justinpark Given that this PR contains 54 changed files, I highly recommend we fix the bugs that are related to this PR, merge the PR, and then open follow-ups for bugs that already exist on master. The reason for this suggestion is to facilitate the review process given the size of the PR. |
This is an existing bug and will follow up in the separate PR.
I think you navigate back/forth by the browser navigation (not menu). This is same issue on existing tabs (went from Saved Queries to Query History) and will follow up in the separate PR.
This is how SQL Lab designed before (because activeSouthPaneTab not belong to each tab but belong to the entire sqllab). Should follow up in the separate PR.
Same as no. 1
This is an existing bug and will follow up in the separate PR.
The basically it should support cmd + click that can open the link in a new browser tab but some links(which you mentioned) require a post data to retrieve the sql context so hard to maintain in SPA approach. I hope this is not a blocker of running SPA and want to discuss in the next thread(PR) for the support of opening new tab. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Approving cypress changes as codeowner
Oh, and THANK YOU for making this huge stride in the SPA effort. This is a big deal, and we're almost at the end of the tunnel! :D |
Ephemeral environment shutdown and build artifacts deleted. |
SUMMARY
Part 4-9 of SQLLab SPA migration work: detail link
For the redirect logic, it will replace the SupersetClient.post redirection by react-router redirection with the location state for the post payload data. This means the redundant form_data serialize/deserialize logic has been discarded (which is also another performance gain).
FYI: This commit does not include the delete work (i.e. old entrypoint related files, redirect legacy endpoint to new endpoint). This work will be handled in the next PR to minimize the regression rollback.TESTING INSTRUCTIONS
ADDITIONAL INFORMATION