• Vitaly Slobodin's avatar
    Fix Zuora frame size after client-side error · 1dc1e3e5
    Vitaly Slobodin authored
    When Zuora validated the form it throws a client-side error
    which we want to show. But Zuora has two types of client-side
    errors: validation and validation after submit. To keep errors of
    the first type validations we just update the iframe src
    attribute but we have a race condition here:
    - We set isLoading to true and hide the Zuora frame
    - Zuora validates the form on the client and throws an error
    - We update the iframe src and set isLoading to false which causes
    the Zuora iframe to be displayed.
    The race condition happens right after the Zuora throws an error.
    Zuora always tries to resize the iframe to its container
    to fit the content. In our case the Zuora iframe sets the
    size to 0,0 because Vue didn't update the DOM yet due to
    isLoading being false. To let the Zuora iframe to resize
    to correct size let's wrap the update step with nextTick.
    
    Changelog: fixed
    MR: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/64595
    EE: true
    1dc1e3e5
account_verification_modal.vue 4.05 KB