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.