I just had a deeper look at this issue. In fact it has nothing to do with dynaview. The reason it also appears for dynaviews is that every dynaview request runs a second time through the filter (with shouldProcessDynaview() returning false).
I was able to reproduce this issue with a simple mapping like this:
I added this as an Arquillian test to our test suite.
As you see the view-id is not a valid regular expression, but a valid view-id. The old code in PrettyFilter and UrlMappingRuleAdaptor failed for this mapping. But after changing matches() to equals() everything works fine.
I just pushed the fix upstream. So this shouldn’t be an issue any more.
Do you play Magic?
Get TopDecked MTG, the #1 Magic App, built by players, for players. Free to use, forever.