I use shale and facelets and MyFaces. The ViewViewHandler figures out if the current request is a postback by looking at the View returned by the original ViewHandler. This is never null in my case. In the case of a postback it is a UIViewRoot withour children. Maybe this should be taken into account.
