Skip to content

Commit 713434d

Browse files
committed
fix base64 decode, use createContextualFragment to ensure login scripts get loaded after redirect
1 parent 3533643 commit 713434d

File tree

1 file changed

+10
-1
lines changed

1 file changed

+10
-1
lines changed

app/app.tsx

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -183,6 +183,12 @@ export type OnChange = (event?: {
183183
currentTarget: EventTarget | HTMLElement | null | undefined;
184184
}) => void;
185185

186+
function base64Decode(base64EncodedString: string): string {
187+
return new TextDecoder().decode(
188+
Uint8Array.from(atob(base64EncodedString), (m) => m.charCodeAt(0))
189+
);
190+
}
191+
186192
function App() {
187193
const [searchParams] = useSearchParams();
188194
const loaderData = useLoaderData<typeof loader>();
@@ -195,7 +201,10 @@ function App() {
195201

196202
useEffect(() => {
197203
if (!base64Body) return;
198-
document.documentElement.innerHTML = atob(base64Body);
204+
let body = base64Decode(base64Body);
205+
let frag = document.createRange().createContextualFragment(body);
206+
document.documentElement.innerHTML = "";
207+
document.documentElement.appendChild(frag);
199208
}, [base64Body]);
200209

201210
useEffect(() => {

0 commit comments

Comments
 (0)