Skip to content

Apps created in older versions of lowcoder are no longer working after upgrades to the platform #1332

Closed
@jnewman-eti

Description

@jnewman-eti

Is there an existing issue for this?

  • I have searched the existing issues

Current Behavior

Apps that were created before v2.4.x are not working as expected. Specifically, the tables seem broken in some cases.

After upgrading to the latest lowcoder version from 2.3.0 to 2.4.x, user can no longer select rows on some tables, and tables no longer work with various issues. When a user clicks on a row, an error populates in the dev console:

index-4f883cee.js:265 Uncaught TypeError: Cannot convert undefined or null to object at Function.keys (<anonymous>) at index-4f883cee.js:855:680 at Map.forEach (<anonymous>) at t.fetchInfo (index-4f883cee.js:855:518) at a_n (index-4f883cee.js:832:24221) at n.value [as fetchInfo] (index-4f883cee.js:832:24403) at t.fetchInfo (index-4f883cee.js:832:27040) at a_n (index-4f883cee.js:832:24221) at n.value [as fetchInfo] (index-4f883cee.js:832:24403) at index-4f883cee.js:832:28275

One issue seems to be with data that has null values for some properties. Another issue seems to be related to columns not correctly mapping to the new table metadata structure. The two pictures below show a table column that cannot be fixed. The data mapping dropdown is hardcoded with {{currentCell}} and there are no other options.

If you duplicate the table, the new table does not work as well. Also, if you create a completely new table, you cannot rename it to the old table name without the table breaking again. For apps with queries that reference this table, they must all be refactored manually and a new table needs to be created in every app that experiences this issue. There does not seem to be a feasible workaround for this problem.
If a suite of apps are being developed over time, there is no way to upgrade the lowcoder platform and continue with existing apps. They must all be recreated, which blocks development progress. The current scenario is: you can never upgrade, you are stuck with the version you started in, and you must maintain several versions of this platform to be able to deploy a suite of apps that have been developed over time.

image
image

Expected Behavior

When an app that was created in a 2.3.x version of lowcoder to a 2.4.x version of lowcoder, it should behave normally without issues.

Potentially an upgrade path for these components should be developed so as their structure changes, there is a mapping from the old structure to the new structure that does not break the apps.

Steps to reproduce

Create an application in 2.3.0, with a table, and data backing that table that has null values for some fields/properties.

Import that application into a 2.4.x (2.4.5, for instance) version of lowcoder. Check for errors and bugs.

Environment

No response

Additional Information

No response

Metadata

Metadata

Assignees

Labels

wontfixThis will not be worked on

Type

No type

Projects

Status

✅ Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions