Skip to content

Fix double decoding of query parameters in qss.ts - #4300

Merged
SeanCassiere merged 1 commit into
TanStack:mainfrom
vcarel:fix/decoding-double-encoded-queries
Jun 3, 2025
Merged

SeanCassiere merged 1 commit into
TanStack:mainfrom
vcarel:fix/decoding-double-encoded-queries

Conversation

@vcarel

@vcarel vcarel commented Jun 2, 2025

Copy link
Copy Markdown
Contributor

Related Package

router-core

Issue

#4294

Navigating to URLs with percent-encoded query values (e.g. /?foo=bar%2540domain.com) results in double decoding. Instead of decoding once to bar%40domain.com, the router produces bar@domain.com, breaking use cases where encoded characters are expected to persist after the initial decode.

Root Cause

In qss.ts, query parameters were being decoded twice:
Once implicitly by the URLSearchParams constructor.
A second time manually via decodeURIComponent.

Fix

Removed the redundant decodeURIComponent call to ensure that each parameter is decoded exactly once, matching expected behavior.

@vcarel vcarel changed the title Fix double decoding of query parameters in QSS.ts Fix double decoding of query parameters in qss.ts Jun 2, 2025
@nx-cloud

nx-cloud Bot commented Jun 3, 2025 •

Copy link
Copy Markdown
Contributor

View your CI Pipeline Execution ↗ for commit e945729.

Command Status Duration Result
nx affected --targets=test:eslint,test:unit,tes... ✅ Succeeded 1m 11s View ↗
nx run-many --target=build --exclude=examples/*... ✅ Succeeded 1s View ↗

☁️ Nx Cloud last updated this comment at 2025-06-03 02:21:20 UTC

@pkg-pr-new

pkg-pr-new Bot commented Jun 3, 2025 •

Copy link
Copy Markdown
More templates

@tanstack/arktype-adapter

npm i https://pkg.pr.new/TanStack/router/@tanstack/arktype-adapter@4300

@tanstack/directive-functions-plugin

npm i https://pkg.pr.new/TanStack/router/@tanstack/directive-functions-plugin@4300

@tanstack/eslint-plugin-router

npm i https://pkg.pr.new/TanStack/router/@tanstack/eslint-plugin-router@4300

@tanstack/history

npm i https://pkg.pr.new/TanStack/router/@tanstack/history@4300

@tanstack/react-router

npm i https://pkg.pr.new/TanStack/router/@tanstack/react-router@4300

@tanstack/react-router-devtools

npm i https://pkg.pr.new/TanStack/router/@tanstack/react-router-devtools@4300

@tanstack/react-router-with-query

npm i https://pkg.pr.new/TanStack/router/@tanstack/react-router-with-query@4300

@tanstack/react-start

npm i https://pkg.pr.new/TanStack/router/@tanstack/react-start@4300

@tanstack/react-start-client

npm i https://pkg.pr.new/TanStack/router/@tanstack/react-start-client@4300

@tanstack/react-start-config

npm i https://pkg.pr.new/TanStack/router/@tanstack/react-start-config@4300

@tanstack/react-start-plugin

npm i https://pkg.pr.new/TanStack/router/@tanstack/react-start-plugin@4300

@tanstack/react-start-router-manifest

npm i https://pkg.pr.new/TanStack/router/@tanstack/react-start-router-manifest@4300

@tanstack/react-start-server

npm i https://pkg.pr.new/TanStack/router/@tanstack/react-start-server@4300

@tanstack/router-cli

npm i https://pkg.pr.new/TanStack/router/@tanstack/router-cli@4300

@tanstack/router-core

npm i https://pkg.pr.new/TanStack/router/@tanstack/router-core@4300

@tanstack/router-devtools

npm i https://pkg.pr.new/TanStack/router/@tanstack/router-devtools@4300

@tanstack/router-devtools-core

npm i https://pkg.pr.new/TanStack/router/@tanstack/router-devtools-core@4300

@tanstack/router-generator

npm i https://pkg.pr.new/TanStack/router/@tanstack/router-generator@4300

@tanstack/router-plugin

npm i https://pkg.pr.new/TanStack/router/@tanstack/router-plugin@4300

@tanstack/router-utils

npm i https://pkg.pr.new/TanStack/router/@tanstack/router-utils@4300

@tanstack/router-vite-plugin

npm i https://pkg.pr.new/TanStack/router/@tanstack/router-vite-plugin@4300

@tanstack/server-functions-plugin

npm i https://pkg.pr.new/TanStack/router/@tanstack/server-functions-plugin@4300

@tanstack/solid-router

npm i https://pkg.pr.new/TanStack/router/@tanstack/solid-router@4300

@tanstack/solid-router-devtools

npm i https://pkg.pr.new/TanStack/router/@tanstack/solid-router-devtools@4300

@tanstack/solid-start

npm i https://pkg.pr.new/TanStack/router/@tanstack/solid-start@4300

@tanstack/solid-start-client

npm i https://pkg.pr.new/TanStack/router/@tanstack/solid-start-client@4300

@tanstack/solid-start-config

npm i https://pkg.pr.new/TanStack/router/@tanstack/solid-start-config@4300

@tanstack/solid-start-plugin

npm i https://pkg.pr.new/TanStack/router/@tanstack/solid-start-plugin@4300

@tanstack/solid-start-router-manifest

npm i https://pkg.pr.new/TanStack/router/@tanstack/solid-start-router-manifest@4300

@tanstack/solid-start-server

npm i https://pkg.pr.new/TanStack/router/@tanstack/solid-start-server@4300

@tanstack/start

npm i https://pkg.pr.new/TanStack/router/@tanstack/start@4300

@tanstack/start-api-routes

npm i https://pkg.pr.new/TanStack/router/@tanstack/start-api-routes@4300

@tanstack/start-client-core

npm i https://pkg.pr.new/TanStack/router/@tanstack/start-client-core@4300

@tanstack/start-config

npm i https://pkg.pr.new/TanStack/router/@tanstack/start-config@4300

@tanstack/start-server-core

npm i https://pkg.pr.new/TanStack/router/@tanstack/start-server-core@4300

@tanstack/start-server-functions-client

npm i https://pkg.pr.new/TanStack/router/@tanstack/start-server-functions-client@4300

@tanstack/start-server-functions-fetcher

npm i https://pkg.pr.new/TanStack/router/@tanstack/start-server-functions-fetcher@4300

@tanstack/start-server-functions-handler

npm i https://pkg.pr.new/TanStack/router/@tanstack/start-server-functions-handler@4300

@tanstack/start-server-functions-server

npm i https://pkg.pr.new/TanStack/router/@tanstack/start-server-functions-server@4300

@tanstack/start-server-functions-ssr

npm i https://pkg.pr.new/TanStack/router/@tanstack/start-server-functions-ssr@4300

@tanstack/valibot-adapter

npm i https://pkg.pr.new/TanStack/router/@tanstack/valibot-adapter@4300

@tanstack/virtual-file-routes

npm i https://pkg.pr.new/TanStack/router/@tanstack/virtual-file-routes@4300

@tanstack/zod-adapter

npm i https://pkg.pr.new/TanStack/router/@tanstack/zod-adapter@4300

commit: e945729

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants