Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
C
canifa_note
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Vũ Hoàng Anh
canifa_note
Commits
b8029c70
Commit
b8029c70
authored
Feb 02, 2026
by
Steven
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
chore: fix OAuth callback double-run state error
parent
d14cfa1c
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
6 additions
and
1 deletion
+6
-1
AuthCallback.tsx
web/src/pages/AuthCallback.tsx
+6
-1
No files found.
web/src/pages/AuthCallback.tsx
View file @
b8029c70
import
{
timestampDate
}
from
"@bufbuild/protobuf/wkt"
;
import
{
timestampDate
}
from
"@bufbuild/protobuf/wkt"
;
import
{
useEffect
,
useState
}
from
"react"
;
import
{
useEffect
,
use
Ref
,
use
State
}
from
"react"
;
import
{
useSearchParams
}
from
"react-router-dom"
;
import
{
useSearchParams
}
from
"react-router-dom"
;
import
{
setAccessToken
}
from
"@/auth-state"
;
import
{
setAccessToken
}
from
"@/auth-state"
;
import
{
authServiceClient
}
from
"@/connect"
;
import
{
authServiceClient
}
from
"@/connect"
;
...
@@ -18,12 +18,17 @@ const AuthCallback = () => {
...
@@ -18,12 +18,17 @@ const AuthCallback = () => {
const
navigateTo
=
useNavigateTo
();
const
navigateTo
=
useNavigateTo
();
const
{
initialize
}
=
useAuth
();
const
{
initialize
}
=
useAuth
();
const
[
searchParams
]
=
useSearchParams
();
const
[
searchParams
]
=
useSearchParams
();
const
handledRef
=
useRef
(
false
);
const
[
state
,
setState
]
=
useState
<
State
>
({
const
[
state
,
setState
]
=
useState
<
State
>
({
loading
:
true
,
loading
:
true
,
errorMessage
:
""
,
errorMessage
:
""
,
});
});
useEffect
(()
=>
{
useEffect
(()
=>
{
if
(
handledRef
.
current
)
{
return
;
}
handledRef
.
current
=
true
;
// Check for OAuth error response first (e.g., user denied access)
// Check for OAuth error response first (e.g., user denied access)
const
error
=
searchParams
.
get
(
"error"
);
const
error
=
searchParams
.
get
(
"error"
);
const
errorDescription
=
searchParams
.
get
(
"error_description"
);
const
errorDescription
=
searchParams
.
get
(
"error_description"
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment