File tree Expand file tree Collapse file tree 2 files changed +8
-2
lines changed
Expand file tree Collapse file tree 2 files changed +8
-2
lines changed Original file line number Diff line number Diff line change @@ -36,14 +36,15 @@ export function AuthKitProvider(props: AuthKitProviderProps) {
3636 const handleRefresh = React . useCallback (
3737 ( response : OnRefreshResponse ) => {
3838 const { user, accessToken, organizationId } = response ;
39- const { role = null , permissions = [ ] } = getClaims ( accessToken ) ;
39+ const { role = null , permissions = [ ] , feature_flags = [ ] } = getClaims ( accessToken ) ;
4040 setState ( ( prev ) => {
4141 const next = {
4242 ...prev ,
4343 user,
4444 organizationId : organizationId ?? null ,
4545 role,
4646 permissions,
47+ featureFlags : feature_flags ,
4748 } ;
4849 return isEquivalentWorkOSSession ( prev , next ) ? prev : next ;
4950 } ) ;
@@ -106,7 +107,10 @@ function isEquivalentWorkOSSession(
106107 a . user ?. updatedAt === b . user ?. updatedAt &&
107108 a . organizationId === b . organizationId &&
108109 a . role === b . role &&
109- a . permissions . every ( ( perm , i ) => perm === b . permissions [ i ] )
110+ a . permissions . length === b . permissions . length &&
111+ a . permissions . every ( ( perm , i ) => perm === b . permissions [ i ] ) &&
112+ a . featureFlags . length === b . featureFlags . length &&
113+ a . featureFlags . every ( ( flag , i ) => flag === b . featureFlags [ i ] )
110114 ) ;
111115}
112116
Original file line number Diff line number Diff line change @@ -6,6 +6,7 @@ export interface State {
66 role : string | null ;
77 organizationId : string | null ;
88 permissions : string [ ] ;
9+ featureFlags : string [ ] ;
910}
1011
1112export const initialState : State = {
@@ -14,4 +15,5 @@ export const initialState: State = {
1415 role : null ,
1516 organizationId : null ,
1617 permissions : [ ] ,
18+ featureFlags : [ ] ,
1719} ;
You can’t perform that action at this time.
0 commit comments