Notifications/Newsfeed not displaying - Error 400 in request (username encoding?)

Hi everyone! We’ve updated our wiki to 12.8 (running on Postgres, Tomcat 9) and integrated with Keycloak OpenID. Since then, the Notifications do not display – the “bell” shows correct number of notifications, mail notifications come about as expected (except of Mention notifications).
When seen via xml/rss, I can get all the Notifications allright – the same applies for NewsFeed.

But the Notification showhide opens empty, as well as the NewsFeed.

I have looked into the console and I can see the request being sent is
https://wiki.logio.cz/asyncrenderer/notifications/display/5ALERT_28xwiki%3AXWiki.titera%40logio\.cz_10_null_1297479130/request.wiki/xwiki/user/xwiki%3AXWiki.titera%40logio%5c.cz/11442?clientId=11442&timeout=500&wiki=xwiki
, returning 400.

What we saw is that the original “logio.cz” part of the username is first escaped as logio/.cz, then the escaping / encoded as %5C. and then once again the % is encoded as %25, so it results in %255c.

Anyone also using e-mails as usernames? Anyone experiencing it also? Any suggestions on how to solve it?

Thanks a lot for help!

Samuel

Hi,

I see that apparently this is first escaped as logio\.cz, maybe your tomcat is not configured to support backslashes, so a quickfix might be to allow this configuration. You can check it on: https://www.xwiki.org/xwiki/bin/view/Documentation/AdminGuide/Installation/InstallationWAR/InstallationTomcat/#HAllowing222F22and225C22inpagenames

Now indeed the fact that it used to work and it’s not working anymore shows that it’s a regression, so you should open a ticket for it on http://jira.xwiki.org.

Hi, thanks, we’re going to check the Tomcat settings and we might also submit a ticket.