adobe / aem-react-editable-components

SPA React Editable Components for Adobe Experience Manager
Apache License 2.0
61 stars 28 forks source link

[bug] Childpages outside of rootPage model json don't render with SPA 2.0 #190

Open friendlymahi opened 1 year ago

friendlymahi commented 1 year ago

Describe the bug Before SPA 2.0, once the ModelManager recognizes there is root page configured, it retrieves the model.json along with other child pages, if the user clicks on a link that points to another page that's not available in the initial load, it will request the model.json and eventually render that page too. With SPA 2.0, that behavior is lost

Package version 2.0.x

To Reproduce Steps to reproduce the behavior:

  1. Use the WKND SPA app from React/latest branch, and install the same on AEM
  2. Launch the app either inside AEM using wcmmode=disabled or run the app locally on 3000 port
  3. From the hamburger navigation, click on Page 3, it loads fine even though the initial json doesn't contain this page
  4. Now use the React/2.0.0 branch, and install the same on AEM
  5. Launch the app in the same way as earlier
  6. Now you will see a blank screen when you click on Page 3 from hamburger navigation

Expected behavior Behavior should be consistent with v1.x implementation as this is a very basic usecase, and shouldn't force us to write a custom implementation. Alternatively a hook or a helper to accomplish the same is also fine i.e. similar to withModel wrapper we had in v1.x

Screenshots If applicable, add screenshots to help explain your problem.

Expected behavior and working behavior both locally & on AEM (Open Home Page, click on Page 3 link of hamburger menu) Note: Only screenshot of local app is shared. Didn't share AEM app screenshot as we know it works before SPA 2.0 Screenshot 2023-07-07 at 7 15 07 PM

Changed behavior in SPA 2.0 Note: Only screenshot of AEM app is shared, Can share local app screenshot if required. Screenshot 2023-07-07 at 7 10 55 PM

Additional context Add any other context about the problem here.

Lore90Ad commented 7 months ago

Same problem here. If you try to refresh the page and get en.model.json together with page-3.model.json it works. But when requesting page-3.model.json at a later time ( i.e. not at page loading) it renders a blank page.

Did you find any work around except getting all pages at root loading?