tighten / ziggy

Use your Laravel routes in JavaScript.
MIT License
3.86k stars 247 forks source link

Fix `route().current()` with encoded characters #668

Closed bakerkretzmar closed 11 months ago

bakerkretzmar commented 12 months ago

This PR decodes the window location before trying to match it against route patterns. The issue here is that a URL like http://example.com/статистика, although it'll show up exactly like that in most browsers, is actually interpreted by the browser and by JavaScript as http://example.com/%D1%81%D1%82%D0%B0%D1%82%D0%B8%D1%81%D1%82%D0%B8%D0%BA%D0%B0, so that's what Ziggy sees too.

The fix in this PR does work, but I'm still a bit uneasy about it because I'm not sure what else it might affect unintentionally. Might add more tests or sit on it for a bit.

Fixes #665.