personal web client for Bluesky
typescript solidjs bluesky atcute

fix: decode url components when matching params

mary.my.id ee041871 ade280c4

verified
Changed files
+11 -3
src
lib
navigation
+11 -3
src/lib/navigation/router.tsx
··· 367 367 const pattern = (route._regex ||= buildPathRegex(route.path)); 368 368 369 369 const match = pattern.exec(path); 370 - 371 - if (!match || (validate && !validate(match.groups!))) { 370 + if (!match) { 372 371 continue; 373 372 } 374 373 375 - const params = match.groups!; 374 + const rawParams = match.groups!; 375 + const params: Record<string, string> = {}; 376 + 377 + for (const key in rawParams) { 378 + params[key] = decodeURIComponent(rawParams[key]); 379 + } 380 + 381 + if (validate && !validate(params)) { 382 + continue; 383 + } 376 384 377 385 let id: string | undefined; 378 386 if (route.single) {