Your regex doesn’t match dashes, wouldn’t you mean “^/([a-zA-Z0-9-]+)$” (with a “Z” instead of a “z” after the A, and a dash at the end)?
Anyway, I have this regexp too, and I feel like it’s breaking bosh’s /http-bind reverse proxy (which I’m already struggling to make work) if we allow dashes. Maybe it does rewriting before reverse proxy / bosh / etc., and in the end as bosh doesn’t work anymore, conferences fail.
But first I must tell I find that ugly, and then that just made me realize that room names arbitrarily only accept a-zA-Z0-9… so that’s not only pretty restrictive, and imho abusively encouraging camelCase over snake_case and kebab-case, but is preventing any language that doesn’t fit into ascii: so italian will do, but some british english won’t, french won’t without orthographically questionable alterations, anything in cyrilic won’t do, etc.
Couldn’t we just rewrite everything like “^/.*$”, and find a way so that bosh keeps working (and if something else didn’t prepared for more diverse kind of room names, fix it, quote appropriately when needed, etc.)?