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

[SPIKE] UVE: Removes isClientReady and Redefining Initial Loading State Handling #31091

Open
5 tasks
Tracked by #30943
rjvelazco opened this issue Jan 8, 2025 · 1 comment
Open
5 tasks
Tracked by #30943

Comments

@rjvelazco
Copy link
Contributor

rjvelazco commented Jan 8, 2025

Caution

Let's wait until this issue [#30970] is solved and see if we still need this SPIKE.

Parent Issue

#30943

Overview

This spike aims to explore the feasibility of removing the isClientReady property and redefining how the UVE (User View Environment) manages the loading state of iframes or editors. The investigation will focus on identifying alternative methods to determine when the customer page or iframe is ready and to ensure a seamless user experience without breaking existing functionality.

Background

Initially, the isClientReady property was introduced for two main purposes:

  1. To signal the UVE when the client is ready to remove the initial loading state.
  2. To allow re-fetching of the page with custom properties if the user passes a custom query.

More details about the need for isClientReady can be found here: feat(UVE): Enable Editing Pages with Custom Query #29407.

Task

  1. Research Objective:

    • Determine if it is possible to eliminate the isClientReady property in the UVE state.
    • While isClientReady may be removed from the UVE, the Angular side should continue listening to the CLIENT_READY event to avoid breaking changes for users in alpha versions.
  2. Key Questions to Address:

    • How will the system determine when the iframe or customer page is ready to remove the UVE Initial loading state?
    • Is the isClientReady property necessary for both Traditional and Headless environments, or is it only relevant for Headless?
    • How will the UVE behave when transitioning between different sections (e.g., pages, templates, rules, experiments) and back? More details on this issue can be found here: fix(uve): Fixing infinite loading when re-entering to uve editor in traditional pages #30715.
    • Is the isClientReady property essential, or is there an alternative method to remove the Initial loading state?
    • How will this change affect customer implementations? Document the potential impacts.
  3. Proof of Concept (POC):

    • Develop a POC with a reasonable solution to discuss with the team.

Documentation

  • Document the findings of the spike, including any identified alternatives to isClientReady.
  • Provide a detailed explanation of how the proposed solution will handle the loading state.
  • Include any potential impacts on customer implementations and how to mitigate them.

Proposed Objective

Core Features

Proposed Priority

Priority 3 - Average

Acceptance Criteria

Preview Give feedback
@rjvelazco
Copy link
Contributor Author

Important

Let's monitor how this ticket progresses or if it remains necessary after this issue UVE: Execute GraphQL Queries Using Client-Provided Parameters #30970 is resolved

@rjvelazco rjvelazco changed the title UVE: Investigate Removing isClientReady and Redefining Initial Loading State Handling [Spike] UVE: Removes isClientReady and Redefining Initial Loading State Handling Jan 14, 2025
@rjvelazco rjvelazco changed the title [Spike] UVE: Removes isClientReady and Redefining Initial Loading State Handling [SPIKE] UVE: Removes isClientReady and Redefining Initial Loading State Handling Jan 21, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: New
Development

No branches or pull requests

1 participant