You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by "Igor Vaynberg (JIRA)" <ji...@apache.org> on 2010/10/14 08:14:35 UTC
[jira] Commented: (WICKET-2705) Feedback messages get cleaned up in
AJAX request, thus never rendered and never visible to user
[ https://issues.apache.org/jira/browse/WICKET-2705?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12920857#action_12920857 ]
Igor Vaynberg commented on WICKET-2705:
---------------------------------------
a proper solution to this will look something like this:
feedback messages are stored in component's metadata with the components
add new support for persistent feedback messages - these are not cleaned up after render
form components report their errors as persistent
form components clean their reported errors once validated
so form component workflow looks like this:
before validate - clear all reported errors
validate - reports persistent messages
onvalid - clear all reported errors
onerror - do nothing, messages stay until next validation or onvalid
> Feedback messages get cleaned up in AJAX request, thus never rendered and never visible to user
> -----------------------------------------------------------------------------------------------
>
> Key: WICKET-2705
> URL: https://issues.apache.org/jira/browse/WICKET-2705
> Project: Wicket
> Issue Type: Bug
> Components: wicket
> Affects Versions: 1.4.6
> Environment: Sun Glassfish Enterpriser Server 2.1
> Reporter: Jan Winkler
> Assignee: Igor Vaynberg
> Fix For: 1.6.0
>
> Attachments: feedbackbug.patch, feedbackbug.tgz, patch.txt
>
>
> Consider a page containing a form and an AJAXy component (as in an AJAX link or a panel with AjaxSelfUpdatingTimerBehavior). The form contains code, that makes its processing take relatively long time, even when validation fails (let's say we forgot to fill in a requred field). The form gets submitted, and while it's processing, the AJAX component triggers a request (AJAX link gets clicked, or AjaxSelfUpdatingTimerBehavior kicks in). While the AJAX request gets served, cleanupFeedbackMessages() is called, wiping all feedback messages found by WebSession.MESSAGES_FOR_COMPONENTS filter.
> WebSession.MESSAGES_FOR_COMPONENTS implementation (or its usage in cleanupFeedbackMessages()) is a little bit fishy, as it accept()s messages, that haven't been rendered.
> Will add testcase.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.