Skip to content

Commit eaba322

Browse files
authored
fix: avoid admin route fan-out on denied capabilities (#67)
1 parent 39dded8 commit eaba322

1 file changed

Lines changed: 5 additions & 0 deletions

File tree

src/hooks/useCapabilities.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@ const Route = getRouteApi('/_app');
88

99
/** Status codes that indicate the grants system is not deployed (vs. access denied). */
1010
const GRANTS_UNAVAILABLE_PATTERN = /\b(404|503)\b|endpoint not found|fetch failed/i;
11+
const AUTH_DENIED_PATTERN =
12+
/\b(401|403)\b|forbidden|unauthorized|authentication required|no admin session token/i;
1113

1214
export function useCapabilities(): {
1315
capabilities: string[];
@@ -27,6 +29,9 @@ export function useCapabilities(): {
2729
if (GRANTS_UNAVAILABLE_PATTERN.test(message)) {
2830
return { available: false, capabilities: [] as string[] };
2931
}
32+
if (AUTH_DENIED_PATTERN.test(message)) {
33+
return { available: true, capabilities: [] as string[] };
34+
}
3035
throw err;
3136
}
3237
},

0 commit comments

Comments
 (0)