Skip to content

Conversation

@javier-godoy
Copy link
Member

@javier-godoy javier-godoy commented Dec 18, 2025

Summary by CodeRabbit

  • Chores

    • Upgraded to stable Vaadin 25.0.0 and removed prerelease repositories.
    • Updated test dependencies (including asm added to test scope and testbench-rpc bumped).
    • Added optional vaadin-dev dependency.
  • Tests

    • Enhanced integration test instrumentation: instrumented routes and a test initializer are registered to improve test coverage and runtime tracking.

✏️ Tip: You can customize this high-level summary in your review settings.

@coderabbitai
Copy link

coderabbitai bot commented Dec 18, 2025

Walkthrough

Updates project build (pom.xml): dependency and repository adjustments for Vaadin 25.0.0 and test tooling; adds ASM test dependency and updates testbench-rpc. Adds test instrumentation: an InstrumentedRoute on IntegrationView, a ViewInitializerImpl that registers the instrumented route, and ServiceLoader registration.

Changes

Cohort / File(s) Summary
Build Configuration
pom.xml
Updated vaadin.version from 25.0.0-beta2 to 25.0.0; removed vaadin-prerelease and FlowingCode snapshot repositories and pluginRepositories in profile v25; added optional dependency com.vaadin:vaadin-dev; added test-scoped org.ow2.asm:asm:9.8; updated com.flowingcode.vaadin.testbench:testbench-rpc to 1.4.0-SNAPSHOT.
Integration Test View
src/test/java/com/flowingcode/vaadin/addons/chipfield/integration/IntegrationView.java
Replaced @Route("it") with @InstrumentedRoute("it"); changed getLastValueChange() to call JsonArrayList.fromStrings(...) instead of fromStringArray(...).
View Initializer
src/test/java/com/flowingcode/vaadin/addons/chipfield/integration/ViewInitializerImpl.java
Added ViewInitializerImpl extending InstrumentationViewInitializer and overriding serviceInit(ServiceInitEvent) to register the instrumented route for IntegrationView.
Service Registration
src/test/resources/META-INF/services/com.vaadin.flow.server.VaadinServiceInitListener
Added entry com.flowingcode.vaadin.addons.chipfield.integration.ViewInitializerImpl to enable ServiceLoader discovery of the VaadinServiceInitListener implementation.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20–30 minutes

  • Verify pom.xml changes: dependency scope, versions, and removal of repositories/pluginRepositories do not break other profiles or CI.
  • Confirm InstrumentedRoute usage and InstrumentationViewInitializer registration correctly integrate with test runtime and ServiceLoader discovery.
  • Check JsonArrayList.fromStrings(...) usage for API compatibility and behavior equivalence with previous fromStringArray(...).

Suggested reviewers

  • mlopezFC
  • paodb

Pre-merge checks and finishing touches

❌ Failed checks (2 warnings)
Check name Status Explanation Resolution
Title check ⚠️ Warning The title mentions upgrading testbench-rpc to 1.4.0-SNAPSHOT, but the changeset includes significant additional changes: upgrading Vaadin to 25.0.0, adding ASM dependency, removing repositories, creating new instrumentation classes, and registering a service listener. The title only captures one aspect of the upgrade. Revise the title to reflect the primary objective, such as 'test: upgrade Vaadin to 25.0.0 and testbench-rpc to 1.4.0-SNAPSHOT' or 'chore: upgrade to Vaadin 25.0.0 and add instrumentation support'.
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. You can run @coderabbitai generate docstrings to improve docstring coverage.
✅ Passed checks (1 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch vaadin25

📜 Recent review details

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between b78f7ac and 0e264e0.

📒 Files selected for processing (1)
  • pom.xml (3 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
  • pom.xml
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: build-vaadin24

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

📜 Review details

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 90cdc5f and b78f7ac.

📒 Files selected for processing (4)
  • pom.xml (3 hunks)
  • src/test/java/com/flowingcode/vaadin/addons/chipfield/integration/IntegrationView.java (2 hunks)
  • src/test/java/com/flowingcode/vaadin/addons/chipfield/integration/ViewInitializerImpl.java (1 hunks)
  • src/test/resources/META-INF/services/com.vaadin.flow.server.VaadinServiceInitListener (1 hunks)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: build-vaadin24
🔇 Additional comments (5)
src/test/resources/META-INF/services/com.vaadin.flow.server.VaadinServiceInitListener (1)

1-1: LGTM!

The service registration follows the standard Java ServiceLoader pattern correctly, enabling the ViewInitializerImpl to be discovered at runtime.

src/test/java/com/flowingcode/vaadin/addons/chipfield/integration/ViewInitializerImpl.java (1)

26-31: LGTM!

The ViewInitializerImpl correctly extends InstrumentationViewInitializer and registers the IntegrationView for route instrumentation, enabling the testbench-rpc functionality.

src/test/java/com/flowingcode/vaadin/addons/chipfield/integration/IntegrationView.java (2)

23-23: LGTM!

The transition from @route to @InstrumentedRoute enables the testbench-rpc instrumentation framework, working in conjunction with the ViewInitializerImpl registration. This change is consistent with the library upgrade.

Also applies to: 33-33


169-169: The method call JsonArrayList.fromStrings(lastValueChange) is correct for testbench-rpc 1.4.0-SNAPSHOT. No action needed.

pom.xml (1)

515-515: Upgrade to Vaadin 25.0.0 stable is appropriate.

Vaadin 25 is the latest stable version, so upgrading from 25.0.0-beta2 to 25.0.0 is correct. This moves the dependency to a production-ready release.

@sonarqubecloud
Copy link

@paodb paodb merged commit 1aa2144 into master Dec 18, 2025
7 checks passed
@github-project-automation github-project-automation bot moved this from To Do to Pending release in Flowing Code Addons Dec 18, 2025
@paodb paodb deleted the vaadin25 branch December 18, 2025 17:07
@javier-godoy javier-godoy moved this from Pending release to Done in Flowing Code Addons Dec 23, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Development

Successfully merging this pull request may close these issues.

3 participants