-
Notifications
You must be signed in to change notification settings - Fork 4.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
After editing a connection's replication settings and confirming a reset, the page doesn't refresh #14990
Comments
cc @airbytehq/frontend |
@andyjih do you still have the gif showing what's going on? It looks like it did not upload to the issue. |
Hm, yeah, you're right, that makes sense. |
Just checked on master - it seems like it works as should. If we carefully look at @andyjih 's gif, we will notice that the "Save changes" action is not fully completed - we didn't get a response from the backend, and the "Save changes" button is in a loading state(grey out and spinner). Applying changes process takes some time. And only after this process is completed, our replication settings table is refreshed. Here is the loom: I think it's a UX problem - as we notice, the user didn't understand that his request is processing. |
Do you happen to know what the backend is doing before sending a response? |
No, to be honest 🤷🏻♂️ |
What's interesting is if I refresh the page, the newly saved configuration is there, so it suggests to me that the configuration is saved even if the backend has given a response yet. Is that correct? |
Yes, that's right. I guess under the hood of "Save changes" we involve multiple steps, like:
So when all steps are passed finally, we get the response that the "save changes" operation is completely finished. Recently we had the opposite case - after connection deletion, it was still observable(just for a few sec) in GET requests, and the "Setup connection" step at onboarding page crashes. IMO We have not too many options on how to solve that:
|
I think showing an additional loading indicator seems correct to me. @timroes do you have opinions here? For a future github issue, I think we'll want a way to communicate with users that the configuration was saved, but background jobs are still happening. |
I also think the loading indicator must be the best solution. In general, when the backend APIs like this take a long time to complete it often is the case that as part of that API we need to spin up/wait for some Temporal tasks, which usually adds most of the overhead. But I agree that this APIs ideally should return as soon as we have a consistently saved state (whether or not all temporal tasks are already done, unless of course we only have that consistent state only after the temporal tasks are done). @dizel852 could you maybe open a separate issue for the BE team for that specific API to look into if it would make sense to return the response earlier as long as we're consistent? |
Backend issue: #15657 |
Repro Steps:
Expected behavior:
The text was updated successfully, but these errors were encountered: