Changes since 24.8.7
Fixes
-
Ensure to add feature-flags import at the start of bundle (#22329)
Commit · Pull request · IssueThe feature flags import in dev mode with the hot reload disabled ends up after the custom elements definition. This is problematic for cases, like the
layoutComponentsImprovements
, where the feature flag value is checked at the definition time to decide whether some CSS styles should be added or not. This change moves the appending of the feature flags import to the end of the method, and adds it at the start of the file. -
Use frontend instead of generated (#21860) (#22326)
Commit · Pull request -
Add try-catch to removing UIs (#22200) (#22323)
Commit · Pull request -
Copy all frontend resources from JAR files (#22264)
Commit · Pull request · IssueFrontend resources in JAR files are filtered to only copy a hard-coded set of file types like JS, TS, CSS, etc. Since the resources are collected only from specific folders, the filter is most likely unecessary and also makes it impossible to use fronted frameworks that rely on custom extensions (e.g. Vue). This change removes the file extension filter, allowing all files in META-INF/frontend and META-INF/resources/frontend to be copied in the frontend generated folder.
-
Handle ArrayNode in MapPutChange to fix ReactAdapterComponent.setState()
Commit · Pull request · IssueWhen setState() is called with a String array in ReactAdapterComponent, the array gets converted to Jackson's ArrayNode. MapPutChange.populateJson() did not handle ArrayNode, causing it to fall through to the else clause which uses the old Elemental JsonCodec that doesn't recognize Jackson types. This resulted in: IllegalArgumentException: Can't encode class com.fasterxml.jackson.databind.node.ArrayNode to json The fix adds a specific case to handle ArrayNode values by converting them to Elemental JSON.
-
Array type should be serializable (#22254)
Commit · Pull requestNot depending on what type array is given to Serializable... the copied array should be of type Serializable[] to enable adding Element to it.
-
Optimize Element API for small datasets (#22196)
Commit · Pull request · IssueReduces usage of Stream API in executeJs and callJsFunction methods for improved performance with small datasets. These methods are usually used with one to few objects in the dataset, they can be called a lot depending on a number of active sessions. This change replaces Stream API usage with Array API, Arrays.copyOf, and System.arraycopy.
-
Fix init location computation (#22225) (CP: 24.8)
Commit · Pull request · Issue -
Fix faulty javadoc for acceptNullValues (#22187)
Commit · Pull request · IssueacceptNullValues that mistakenly says that true throws an exception.