Skip to content

Commit 2a4ef38

Browse files
authored
fix(site): Use correct UUID for web terminal when first opened (#5404)
1 parent 90b0ada commit 2a4ef38

File tree

1 file changed

+7
-11
lines changed

1 file changed

+7
-11
lines changed

site/src/pages/TerminalPage/TerminalPage.tsx

Lines changed: 7 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,7 @@ import { makeStyles } from "@material-ui/core/styles"
22
import { useMachine } from "@xstate/react"
33
import { FC, useEffect, useRef, useState } from "react"
44
import { Helmet } from "react-helmet-async"
5-
import {
6-
useLocation,
7-
useNavigate,
8-
useParams,
9-
useSearchParams,
10-
} from "react-router-dom"
5+
import { useNavigate, useParams, useSearchParams } from "react-router-dom"
116
import { colors } from "theme/colors"
127
import { v4 as uuidv4 } from "uuid"
138
import * as XTerm from "xterm"
@@ -29,7 +24,6 @@ const TerminalPage: FC<
2924
readonly renderer?: XTerm.RendererType
3025
}>
3126
> = ({ renderer }) => {
32-
const location = useLocation()
3327
const navigate = useNavigate()
3428
const styles = useStyles()
3529
const { username, workspace } = useParams()
@@ -127,17 +121,19 @@ const TerminalPage: FC<
127121
// the reconnection token and workspace name found
128122
// from the router.
129123
useEffect(() => {
130-
const search = new URLSearchParams(location.search)
131-
search.set("reconnect", reconnectionToken)
124+
if (searchParams.get("reconnect") === reconnectionToken) {
125+
return
126+
}
127+
searchParams.set("reconnect", reconnectionToken)
132128
navigate(
133129
{
134-
search: search.toString(),
130+
search: searchParams.toString(),
135131
},
136132
{
137133
replace: true,
138134
},
139135
)
140-
}, [location.search, navigate, reconnectionToken])
136+
}, [searchParams, navigate, reconnectionToken])
141137

142138
// Apply terminal options based on connection state.
143139
useEffect(() => {

0 commit comments

Comments
 (0)