Uploaded image for project: 'Wicket'
  1. Wicket
  2. WICKET-2705

Feedback messages get cleaned up in AJAX request, thus never rendered and never visible to user

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 1.4.6
    • 6.0.0-beta1
    • wicket
    • None
    • Sun Glassfish Enterpriser Server 2.1

    Description

      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.

      Attachments

        1. feedbackbug.patch
          0.5 kB
          Jan Winkler
        2. feedbackbug.tgz
          3 kB
          Jan Winkler
        3. patch.txt
          3 kB
          Martijn Dashorst

        Issue Links

          Activity

            People

              ivaynberg Igor Vaynberg
              winkler Jan Winkler
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: