Uploaded image for project: 'ZK'
  1. ZK
  2. ZK-2827

asynch invalidate() causing client error

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Normal
    • Resolution: Fixed
    • Affects Version/s: 7.0.5
    • Fix Version/s: 7.0.6
    • Component/s: Components
    • Security Level: Jimmy
    • gh.sprint.customfield.default.name:
      ZK 7.0.7

      Description

      when using Server push it is possible, that the "dummy" request and a user event arrive with the same AU-request. A client side error happens, when the asynch operation invalidates a component which then gets detached by the user event.

      The attached example simulates that case invalidating and removing a div at roughly the same time, the error happens around 95% of the time. In a rare cases the "echo" and "dummy" command are sent in separate AU-requests (then there is no problem).

      The server side cause of the Client error lies in the implementation of:
      org.zkoss.zk.au.AuResponse.JSONComponent.toJSONString() which will send "null" to the client.
      At the client side the the "outer" function (see screenshot) cannot handle null values, causing errors.

      Questions is if the null should be prevented on the server side or checked on the client side (possibly other AuResponses are affected too besides Invalidate/Outer)

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              jumperchen jumperchen
              Reporter:
              cor3000 cor3000
              Votes:
              1 Vote for this issue
              Watchers:
              3 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:

                  Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0 minutes
                  0m
                  Logged:
                  Time Spent - 1 hour, 30 minutes
                  1h 30m