fix: Auto height fixes for Auto Layout
Pull Request Template
Use this template to quickly create a well written pull request. Delete all quotes before creating the pull request.
Description
Auto Height flow in Auto Layout Editor.
Problem: Usage of fixed layout editor's Auto Height was leading to several bugs because of the difference in nature of both editors. and patching it to cater to use cases of auto layout made little sense and also increases the risk of maintaining it. So we have essentially fixed our position utils to cater to all uses cases that Auto height was dealing with.
List widget related issues in Auto Layout editor
In the case of widgets that are managed by List widget (Meta widgets), we store it in entitites.metaWidgets.
For auto layout calculations, we were making use of entities.canvasWidgets and not entites.metaWidgets caused the widgets inside List widget not to function properly.
In this PR, we started making use of both canvasWidgets & metaWidgets to resolve some of the issues with ListWidget in Auto layout mode.
This PR fixes a bunch of Auto Height bugs, List widget bugs as well as a polish related issues.
Fixes #21977 Fixes #22093 Fixes #21837 Fixes #21300 Fixes #22183 Fixes #21758 Fixes #22400 Fixes #22541 Fixes #21870 Fixes #22086 Fixes #22539
if no issue exists, please create an issue and ask the maintainers about this first
Media
A video or a GIF is preferred. when using Loom, don’t embed because it looks like it’s a GIF. instead, just link to the video
Type of change
Please delete options that are not relevant.
- Bug fix (non-breaking change which fixes an issue)
- New feature (non-breaking change which adds functionality)
- Breaking change (fix or feature that would cause existing functionality to not work as expected)
- Chore (housekeeping or task changes that don't impact user perception)
- This change requires a documentation update
How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Provide instructions, so we can reproduce. Please also list any relevant details for your test configuration. Delete anything that is not important
- Manual
- Jest
- Cypress
Test Plan
Add Testsmith test cases links that relate to this PR
Issues raised during DP testing
Link issues raised during DP testing for better visiblity and tracking (copy link from comments dropped on this PR)
Checklist:
Dev activity
- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [ ] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag
QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or manual QA
- [ ] Organized project review call with relevant stakeholders after Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test
/build-deploy-preview env=release
Deploying Your Preview: https://github.com/appsmithorg/appsmith/actions/runs/4807415311.
Workflow: On demand build Docker image and deploy preview.
skip-tests: ``.
env: release.
PR: 22716.
recreate: .
/build-deploy-preview env=release
Deploying Your Preview: https://github.com/appsmithorg/appsmith/actions/runs/4808640471.
Workflow: On demand build Docker image and deploy preview.
skip-tests: ``.
env: release.
PR: 22716.
recreate: .
/build-deploy-preview env=release
Deploying Your Preview: https://github.com/appsmithorg/appsmith/actions/runs/4826986096.
Workflow: On demand build Docker image and deploy preview.
skip-tests: ``.
env: release.
PR: 22716.
recreate: .
Deploy-Preview-URL: https://appsmith-ehay9e06t-get-appsmith.vercel.app
/build-deploy-preview env=release
Deploying Your Preview: https://github.com/appsmithorg/appsmith/actions/runs/4827186403.
Workflow: On demand build Docker image and deploy preview.
skip-tests: ``.
env: release.
PR: 22716.
recreate: .
/build-deploy-preview env=release
Deploying Your Preview: https://github.com/appsmithorg/appsmith/actions/runs/4827300906.
Workflow: On demand build Docker image and deploy preview.
skip-tests: ``.
env: release.
PR: 22716.
recreate: .
Deploy-Preview-URL: https://appsmith-d2m1yty1n-get-appsmith.vercel.app
Deploy-Preview-URL: https://appsmith-etjtjwo3s-get-appsmith.vercel.app
/build-deploy-preview env=release
Deploying Your Preview: https://github.com/appsmithorg/appsmith/actions/runs/4827443465.
Workflow: On demand build Docker image and deploy preview.
skip-tests: ``.
env: release.
PR: 22716.
recreate: .
Deploy-Preview-URL: https://appsmith-ohfprfjxd-get-appsmith.vercel.app
/build-deploy-preview env=release
Deploying Your Preview: https://github.com/appsmithorg/appsmith/actions/runs/4830745026.
Workflow: On demand build Docker image and deploy preview.
skip-tests: ``.
env: release.
PR: 22716.
recreate: .
Deploy-Preview-URL: https://appsmith-6z9x0zngb-get-appsmith.vercel.app
/build-deploy-preview env=release
Deploying Your Preview: https://github.com/appsmithorg/appsmith/actions/runs/4830995159.
Workflow: On demand build Docker image and deploy preview.
skip-tests: ``.
env: release.
PR: 22716.
recreate: .
Deploy-Preview-URL: https://appsmith-1vahhoran-get-appsmith.vercel.app
/build-deploy-preview env=release
Deploying Your Preview: https://github.com/appsmithorg/appsmith/actions/runs/4831966456.
Workflow: On demand build Docker image and deploy preview.
skip-tests: ``.
env: release.
PR: 22716.
recreate: .
Deploy-Preview-URL: https://appsmith-kcvz3azdz-get-appsmith.vercel.app
/build-deploy-preview env=release
Deploying Your Preview: https://github.com/appsmithorg/appsmith/actions/runs/4839131519.
Workflow: On demand build Docker image and deploy preview.
skip-tests: ``.
env: release.
PR: 22716.
recreate: .
Deploy-Preview-URL: https://appsmith-d40xvyd8s-get-appsmith.vercel.app
/ok-to-test
/build-deploy-preview env=release