You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by "Martin Tzvetanov Grigorov (Jira)" <ji...@apache.org> on 2020/04/20 21:07:00 UTC
[jira] [Commented] (WICKET-6765) WS broadcast of ClosedMessage
rewrites touchedPages by its single page
[ https://issues.apache.org/jira/browse/WICKET-6765?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17088084#comment-17088084 ]
Martin Tzvetanov Grigorov commented on WICKET-6765:
---------------------------------------------------
PLEASE use https://wicket.apache.org/start/quickstart.html to create demo applications!
It saves us a LOT of time to debug them.
I do not understand the problem. Clicking on all types of links behave the same way here. Please explain what exactly is broken. What steps I need to follow to see the problem. What is the expected behavior that you believe is correct ?
Maybe you can use org.apache.wicket.protocol.ws.WebSocketSettings#setNotifyOnCloseEvent(Function) to decide whether onClose() should be called or not ?
VoidPageManagerProvider is not part of Wicket and we cannot guarantee that every use case will work with it!
> WS broadcast of ClosedMessage rewrites touchedPages by its single page
> ----------------------------------------------------------------------
>
> Key: WICKET-6765
> URL: https://issues.apache.org/jira/browse/WICKET-6765
> Project: Wicket
> Issue Type: Bug
> Components: wicket-native-websocket
> Affects Versions: 7.7.0, 8.7.0
> Environment: Java 8, Tomcat 9.0.27, Firefox 75.0
> Reporter: Jan Cerny
> Assignee: Martin Tzvetanov Grigorov
> Priority: Minor
> Attachments: wicket8-redirect-web-socket-on-close-example.zip
>
>
> That causes a lost of instances of newly touched pages (within PageStoreManager). For quite specific scenario that could have *visible* impact.
> *Conditions* to be fulfilled to see effect:
> # calling setResponsePage(new NewResponsePage(customParams)) within AjaxLink (Link works)
> ** this instance of passed page is not used for rendering (customParams are lost) - page is overridden by AbstractWebSocketProcessor.onClose() - within PersistentRequestAdapter.storeTouchedPages()
> # RenderStrategy.{color:#660e7a}REDIRECT_TO_RENDER{color} must be applied
> ** otherwise it is rendered before AbstractWebSocketProcessor.onClose()
> # VoidPageManagerProvider must be used - setPageManagerProvider({color:#000080}new {color}VoidPageManagerProvider({color:#000080}this{color}));
> ** otherwise it is saved and loaded within PageManager not only in session
> I'm attaching *test application* with example of losing page instance (and passed arguments). Important lines marked {color:#FF0000}NOT WORKING{color} in java and html files.
>
--
This message was sent by Atlassian Jira
(v8.3.4#803005)