Skip to content

feat: Add high-level signal APIs#21183

Merged
Legioth merged 20 commits intomainfrom
signal-api
Apr 16, 2025
Merged

feat: Add high-level signal APIs#21183
Legioth merged 20 commits intomainfrom
signal-api

Conversation

@Legioth
Copy link
Member

@Legioth Legioth commented Mar 26, 2025

No description provided.

@github-actions
Copy link

github-actions bot commented Mar 26, 2025

Test Results

1 192 files  + 10  1 192 suites  +10   1h 17m 53s ⏱️ -34s
8 316 tests +199  8 259 ✅ +199  57 💤 ±0  0 ❌ ±0 
8 687 runs  +257  8 621 ✅ +257  66 💤 ±0  0 ❌ ±0 

Results for commit 4253b58. ± Comparison against base commit 76562fb.

♻️ This comment has been updated with latest results.

@Legioth Legioth requested review from mshabarov and taefi March 26, 2025 08:36
@mshabarov mshabarov requested a review from Copilot March 28, 2025 12:29
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

This pull request introduces high-level signal APIs along with extensive tests that verify the behavior of various signal types (value, number, list, map, computed, and node signals). Key changes include new implementations for signal types and test cases for operations such as insertion, update, atomic increments, and verification conditions.

Reviewed Changes

Copilot reviewed 26 out of 26 changed files in this pull request and generated no comments.

File Description
signals/src/test/java/com/vaadin/signals/impl/AsynchronousSignalTreeTest.java Changed AsyncTestTree from package-private to public, expanding its visibility.
signals/src/main/java/com/vaadin/signals/* New and updated signal API implementations for value, number, list, map, computed, and node signals.
signals/src/test/java/com/vaadin/signals/* New test classes covering various signal operations and behaviors.
Comments suppressed due to low confidence (1)

signals/src/test/java/com/vaadin/signals/impl/AsynchronousSignalTreeTest.java:23

  • [nitpick] The change from package-private to public increases exposure of the test class. If broader visibility is intended, consider adding a comment explaining the rationale; otherwise, reverting to a more restricted access modifier may be appropriate.
public static class AsyncTestTree extends AsynchronousSignalTree {

Copy link
Contributor

@taefi taefi left a comment

Choose a reason for hiding this comment

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

Decided to leave some comments as early as possible, since some of them affect the review process for the rest of the PR.

@vaadin-bot vaadin-bot added +1.0.0 and removed +0.0.1 labels Apr 2, 2025
Copy link
Contributor

@taefi taefi left a comment

Choose a reason for hiding this comment

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

Second round.

Copy link
Contributor

@mshabarov mshabarov left a comment

Choose a reason for hiding this comment

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

Posting my first group of comments - reviewed Signal, SignalEnvironment, UsageTracker.

@vaadin-bot vaadin-bot added +0.0.1 and removed +1.0.0 labels Apr 4, 2025
Co-authored-by: Mikhail Shabarov <61410877+mshabarov@users.noreply.github.com>
Copy link
Contributor

@mshabarov mshabarov left a comment

Choose a reason for hiding this comment

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

A second round - reviewed Effect, SignalFactory.

Copy link
Contributor

@mshabarov mshabarov left a comment

Choose a reason for hiding this comment

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

Reviewed ComputedSignal.

@vaadin-bot vaadin-bot added +0.0.1 and removed +1.0.0 labels Apr 11, 2025
Legioth and others added 2 commits April 15, 2025 13:21
Co-authored-by: Soroosh Taefi <taefi.soroosh@gmail.com>
Co-authored-by: Mikhail Shabarov <61410877+mshabarov@users.noreply.github.com>
mshabarov
mshabarov previously approved these changes Apr 16, 2025
Copy link
Contributor

@mshabarov mshabarov left a comment

Choose a reason for hiding this comment

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

The unit-tests validation fails because of javadocs errors, e.g. empty return tag, but otherwise looks good to me.

taefi
taefi previously approved these changes Apr 16, 2025
Copy link
Contributor

@taefi taefi left a comment

Choose a reason for hiding this comment

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

Left two non-blocker comments, but generally, LGTM.

@Legioth Legioth dismissed stale reviews from taefi and mshabarov via 4253b58 April 16, 2025 12:43
@Legioth
Copy link
Member Author

Legioth commented Apr 16, 2025

Javadoc fixes pushed

@sonarqubecloud
Copy link

@Legioth Legioth merged commit db16e12 into main Apr 16, 2025
26 of 27 checks passed
@Legioth Legioth deleted the signal-api branch April 16, 2025 13:04
@github-project-automation github-project-automation bot moved this from 🔎Iteration reviews to Done in Vaadin Flow | Hilla | Kits ongoing work Apr 16, 2025
@vaadin-bot
Copy link
Collaborator

This ticket/PR has been released with Vaadin 24.8.0.alpha5 and is also targeting the upcoming stable 24.8.0 version.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Development

Successfully merging this pull request may close these issues.

6 participants