Thanks for debugging this. Of cause you can provide a patch. PrettyFaces is open source and we are always happy to receive contributions.
However, I think your current fix is very specific to your problem. Especially because you hard-coded the FaceletsResourceResolver implementation. The standard way of providing a custom ResourceResolver is to use a servlet context parameter. PrettyFaces could also use this parameter to dynamically lookup the resolver to use.
I’m not sure deriveViewId() is the correct place to do this. Could you tell us a bit more what happens there?
Do you play Magic?
Get TopDecked MTG, the #1 Magic App, built by players, for players. Free to use, forever.