Use textdecoder decoding code param payload #6390
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Title
codeURL param to use TextDecoder; add e2e coverageSummary
?code=URL parameter.Problem
codeURL param could fail to correctly decode content containing:atob()bytes and then useddecodeURIComponent, which is error-prone for arbitrary UTF‑8.Scope
libs/remix-ui/workspace/src/lib/actions/workspace.ts: Replace decoder implementation and update usage.apps/remix-ide-e2e/src/tests/url.test.ts: Add a new test covering special chars, punctuation, and persistence behavior.Changes
decodePercentEscapedBase64(b64Payload)decodeBase64(b64Payload)usingTextDecoder('utf-8')params.codeis processed to use the new decoder.tion and special character #group1” that:
#code=payload containing special characters and emoji.
root.
Implementation Details
decodeURIComponent(b64Payload)→atob()→Uint8Array.from()→new Tex tDecoder().decode(bytes).cent-encoding reconstruction.
Backward Compatibility
decodePercentEscapedBase64todecodeBase64is contained within the same module with its usage updated. No external API chang
es anticipated.
Note