-
Notifications
You must be signed in to change notification settings - Fork 2
feat: add compatibility with Vaadin 25 #122
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
Conversation
|
@coderabbitai review |
✅ Actions performedReview triggered.
|
WalkthroughUpdates prepare the project for Vaadin 25: version bump to 4.4.0-SNAPSHOT, Jetty upgrade, new json-migration-helper dependency and repositories, added Maven profile for Java 21/Vaadin 25, .gitignore additions, small Java source edits to use JsonMigration helpers, and a new test AppShellConfiguratorImpl class. Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes
Pre-merge checks and finishing touches❌ Failed checks (2 warnings)
✅ Passed checks (3 passed)
✨ Finishing touches
🧪 Generate unit tests (beta)
📜 Recent review detailsConfiguration used: CodeRabbit UI Review profile: CHILL Plan: Pro 📒 Files selected for processing (1)
🔇 Additional comments (3)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
🧹 Nitpick comments (1)
.gitignore (1)
22-23: Potential duplication with existing ignore patterns.Lines 16-17 already contain
/frontend/generatedand/frontend/index.html, which may overlap with these new entries. If the project only uses one directory structure, consider consolidating to avoid redundancy.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (5)
.gitignore(1 hunks)pom.xml(7 hunks)src/main/java/com/flowingcode/vaadin/addons/demo/MultiSourceCodeViewer.java(3 hunks)src/main/java/com/flowingcode/vaadin/addons/demo/SourceCodeViewer.java(3 hunks)src/test/java/com/flowingcode/vaadin/addons/demo/AppShellConfiguratorImpl.java(1 hunks)
🔇 Additional comments (6)
src/main/java/com/flowingcode/vaadin/addons/demo/SourceCodeViewer.java (1)
23-23: Migration correctly addresses Vaadin 25 compatibility.The change from
codeViewer.setPropertyJson("env", env)toJsonMigration.setPropertyJson(codeViewer, "env", env)properly wraps the Vaadin Element API call to support both Vaadin 24 (JSON Elemental) and Vaadin 25 (Jackson). This directly resolves the NoSuchMethodError reported in issue #121.Also applies to: 89-89
src/test/java/com/flowingcode/vaadin/addons/demo/AppShellConfiguratorImpl.java (1)
1-9: LGTM! Minimal AppShell configurator is appropriate.This minimal implementation provides the necessary AppShell configuration for the test/demo environment. The @theme annotation with default settings is sufficient for the intended purpose.
src/main/java/com/flowingcode/vaadin/addons/demo/MultiSourceCodeViewer.java (1)
23-23: Migration correctly handles event data for Vaadin 25.The wrapping of event data with
JsonMigration.convertToJsonValue()ensures compatibility with Vaadin 25's Jackson-based JSON handling while maintaining support for Vaadin 24. This change properly addresses the event data format differences between versions.Also applies to: 49-56
pom.xml (3)
27-27: Verify Jetty upgrade compatibility.The Jetty version jumped from 11.0.12 to 11.0.26 (14 patch versions). While patch versions typically maintain backward compatibility, this is a significant jump that may include changes affecting the development server. Ensure the upgrade has been tested with the demo application.
58-64: Verify SNAPSHOT dependency is intentional.The
json-migration-helperdependency uses version0.0.1-SNAPSHOT, which requires theflowing-snapshotsrepository. SNAPSHOT versions are typically avoided in released code as they can change over time, potentially causing build instability.Confirm whether:
- This SNAPSHOT dependency is temporary until a stable release is available
- The project plans to release with a stable version of json-migration-helper before going to production
Also applies to: 106-110
319-339: LGTM! v25 profile correctly enables Vaadin 25 testing.The new Maven profile properly configures:
- Java 21 (required for Vaadin 25)
- Vaadin 25.0.0-beta2 version
- Prerelease repositories for dependencies and plugins
This allows the project to be tested with Vaadin 25 without affecting the default build, which is the recommended approach for dual-version support.
|



Close #121
Summary by CodeRabbit
New Features
Chores