vaadin / platform

Vaadin platform 10+ is a Java web development platform based on Vaadin web components. If you don't know to which repository your bug report should be filed, use this and we'll move it to the right one.
https://vaadin.com
510 stars 76 forks source link

[PT-PiT 24.4] V24.4 alpha 22 testing: "UI" class missing connectClient method #5244

Closed bennewi closed 3 weeks ago

bennewi commented 1 month ago

Describe the bug

this method, not marked as deprecated in V24.3, is missing in V24.4

Expected-behavior

don't want to break 24.3 apps upgrading to V24.4

Reproduction

(seen in api docs)

System Info

(seen in api docs)

TatuLund commented 1 month ago

It is an "internal" method you should never have used. But the old JavaDoc was not clear about that.

See change here: https://github.com/vaadin/flow/commit/97b0bc901bbe05bdfe0a47aa4bde3c9c5ad92d43

Also leaveNavigate method parameters have changed.

bennewi commented 1 month ago

ok the standard procedure we are following is not breaking APIs unless in majors, and in minors mark as deprecated.

mshabarov commented 1 month ago

Despite it was semantically "internal" method, I think we should bring it back and deprecate, as well as changed leaveNavigation. These methods are in the public UI class and are easily visible + binary compatibility may suffer.

By the way, how did you @bennewi noticed that? Do you have a use case where connectClient is used un a project?

bennewi commented 1 month ago

Despite it was semantically "internal" method, I think we should bring it back and deprecate, as well as changed leaveNavigation. These methods are in the public UI class and are easily visible + binary compatibility may suffer.

By the way, how did you @bennewi noticed that? Do you have a use case where connectClient is used un a project?

not in a project, I saw it only by reviewing the API docs with a diff

Legioth commented 1 month ago

This method is to our knowledge only used internally even though it's been public for practical uses. I think it's safe to assume that user code isn't affected by this change.

I'm also wondering whether there's any reason for having the new method as public or whether package-protected or protected would be sufficient?