Skip to content
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

Per-Stream adjust frontend flow #14560

Closed
timroes opened this issue Jul 10, 2022 · 1 comment · Fixed by #14634
Closed

Per-Stream adjust frontend flow #14560

timroes opened this issue Jul 10, 2022 · 1 comment · Fixed by #14634
Assignees
Labels
area/frontend Related to the Airbyte webapp

Comments

@timroes
Copy link
Collaborator

timroes commented Jul 10, 2022

As part of the per-stream process we discovered some shortcoming last week and will require a slightly different slow than we currently have. The full flow for the FE what happens is documented in this flowchart.

The main adjustments to make in the FE are:

When the user hits the "save" button when updating a connection, we need to check, if the configured catalog we're about to send to the web_backend/connection/update API differs anyhow (deep compare) from the initial catalog we loaded. If we "refreshed the source catalog" in the meantime, we still need to compare against the original one that was loaded when the page was loaded (not the one we got back from the web_backend/connection/read (withRefreshedCatalog: true) call.

If they are still the same, we simply call web_backend/connection/update as we do today. We're not needing to send withRefreshedCatalog to that API, since we're getting rid of it.

If the catalogs differ anyhow, we'll make a call to web_backend/state/get_type first to determine the state type of the connection. After that we show a modal warning the user, that we'll reset their streams. The wording depends on the state type we received from the prior API call. For "legacy" a full reset will happen, so we mention this, for "global" and "stream" only changed streams will be resetted, we'll mention that in the warning modal (exact wording still to be done on the PR). The modal does not offer an option not to reset (as our current one does). It just will allow confirming or cancelling (in which case the connection won't be saved). If the user confirms, we'll call web_backend/connection/update (also without withRefreshedCatalog) with the new changes.

We'll be getting rid of the current modal that asks whether or not the connection should be reset or not.

All APIs are already available. We can create that PR, but must wait with merging for the corresponding API changes to be ready, so that the behavior will match our expectations.

@timroes timroes added area/frontend area/frontend Related to the Airbyte webapp labels Jul 10, 2022
@octavia-squidington-iii
Copy link
Collaborator

cc @airbytehq/frontend

@timroes timroes self-assigned this Jul 11, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/frontend Related to the Airbyte webapp
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants