@jmruthers/pace-core 0.5.45 → 0.5.46
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{DataTable-PWLLTSP7.js → DataTable-CBZ4FWLB.js} +5 -5
- package/dist/{chunk-GIISFLMP.js → chunk-QGIMHNFE.js} +3 -3
- package/dist/{chunk-D4X7PPGX.js → chunk-RZZ4U2VB.js} +3 -3
- package/dist/{chunk-3PNBACK3.js → chunk-TCPMEL3C.js} +2 -2
- package/dist/{chunk-FZ7EBWOT.js → chunk-UK5BMO5B.js} +3 -3
- package/dist/{chunk-OQ6DTLZ6.js → chunk-VW4YRTVX.js} +33 -9
- package/dist/{chunk-OQ6DTLZ6.js.map → chunk-VW4YRTVX.js.map} +1 -1
- package/dist/{chunk-6AQ7X3EE.js → chunk-WUCWNFHS.js} +5 -5
- package/dist/{chunk-3FAB54BI.js → chunk-YAACZXDE.js} +4 -4
- package/dist/{chunk-2T6QEWMI.js → chunk-YJ7MYXN4.js} +2 -2
- package/dist/{chunk-NYF3CUNC.js → chunk-YOMT5BFG.js} +2 -2
- package/dist/{chunk-VCHXOYD5.js → chunk-ZK26ZQ3P.js} +3 -3
- package/dist/components.js +7 -7
- package/dist/hooks.js +4 -4
- package/dist/index.js +10 -10
- package/dist/providers.js +3 -3
- package/dist/rbac/index.js +5 -5
- package/dist/utils.js +1 -1
- package/docs/api/classes/ErrorBoundary.md +1 -1
- package/docs/api/classes/InvalidScopeError.md +1 -1
- package/docs/api/classes/MissingUserContextError.md +1 -1
- package/docs/api/classes/OrganisationContextRequiredError.md +1 -1
- package/docs/api/classes/PermissionDeniedError.md +1 -1
- package/docs/api/classes/PublicErrorBoundary.md +1 -1
- package/docs/api/classes/RBACAuditManager.md +1 -1
- package/docs/api/classes/RBACCache.md +1 -1
- package/docs/api/classes/RBACEngine.md +1 -1
- package/docs/api/classes/RBACError.md +1 -1
- package/docs/api/classes/RBACNotInitializedError.md +1 -1
- package/docs/api/classes/SecureSupabaseClient.md +1 -1
- package/docs/api/interfaces/AggregateConfig.md +1 -1
- package/docs/api/interfaces/ButtonProps.md +1 -1
- package/docs/api/interfaces/CardProps.md +1 -1
- package/docs/api/interfaces/ColorPalette.md +1 -1
- package/docs/api/interfaces/ColorShade.md +1 -1
- package/docs/api/interfaces/DataAccessRecord.md +1 -1
- package/docs/api/interfaces/DataTableAction.md +1 -1
- package/docs/api/interfaces/DataTableColumn.md +1 -1
- package/docs/api/interfaces/DataTableProps.md +1 -1
- package/docs/api/interfaces/DataTableToolbarButton.md +1 -1
- package/docs/api/interfaces/EmptyStateConfig.md +1 -1
- package/docs/api/interfaces/EnhancedNavigationMenuProps.md +1 -1
- package/docs/api/interfaces/EventContextType.md +1 -1
- package/docs/api/interfaces/EventLogoProps.md +1 -1
- package/docs/api/interfaces/EventProviderProps.md +1 -1
- package/docs/api/interfaces/FileSizeLimits.md +1 -1
- package/docs/api/interfaces/FileUploadProps.md +1 -1
- package/docs/api/interfaces/FooterProps.md +1 -1
- package/docs/api/interfaces/InactivityWarningModalProps.md +1 -1
- package/docs/api/interfaces/InputProps.md +1 -1
- package/docs/api/interfaces/LabelProps.md +1 -1
- package/docs/api/interfaces/LoginFormProps.md +1 -1
- package/docs/api/interfaces/NavigationAccessRecord.md +1 -1
- package/docs/api/interfaces/NavigationContextType.md +1 -1
- package/docs/api/interfaces/NavigationGuardProps.md +1 -1
- package/docs/api/interfaces/NavigationItem.md +1 -1
- package/docs/api/interfaces/NavigationMenuProps.md +1 -1
- package/docs/api/interfaces/NavigationProviderProps.md +1 -1
- package/docs/api/interfaces/Organisation.md +1 -1
- package/docs/api/interfaces/OrganisationContextType.md +1 -1
- package/docs/api/interfaces/OrganisationMembership.md +1 -1
- package/docs/api/interfaces/OrganisationProviderProps.md +1 -1
- package/docs/api/interfaces/OrganisationSecurityError.md +1 -1
- package/docs/api/interfaces/PaceAppLayoutProps.md +1 -1
- package/docs/api/interfaces/PaceLoginPageProps.md +1 -1
- package/docs/api/interfaces/PageAccessRecord.md +1 -1
- package/docs/api/interfaces/PagePermissionContextType.md +1 -1
- package/docs/api/interfaces/PagePermissionGuardProps.md +1 -1
- package/docs/api/interfaces/PagePermissionProviderProps.md +1 -1
- package/docs/api/interfaces/PaletteData.md +1 -1
- package/docs/api/interfaces/PermissionEnforcerProps.md +1 -1
- package/docs/api/interfaces/PublicErrorBoundaryProps.md +1 -1
- package/docs/api/interfaces/PublicErrorBoundaryState.md +1 -1
- package/docs/api/interfaces/PublicLoadingSpinnerProps.md +1 -1
- package/docs/api/interfaces/PublicPageFooterProps.md +1 -1
- package/docs/api/interfaces/PublicPageHeaderProps.md +1 -1
- package/docs/api/interfaces/PublicPageLayoutProps.md +1 -1
- package/docs/api/interfaces/RBACConfig.md +1 -1
- package/docs/api/interfaces/RBACContextType.md +1 -1
- package/docs/api/interfaces/RBACLogger.md +1 -1
- package/docs/api/interfaces/RBACProviderProps.md +1 -1
- package/docs/api/interfaces/RoleBasedRouterContextType.md +1 -1
- package/docs/api/interfaces/RoleBasedRouterProps.md +1 -1
- package/docs/api/interfaces/RouteAccessRecord.md +1 -1
- package/docs/api/interfaces/RouteConfig.md +1 -1
- package/docs/api/interfaces/SecureDataContextType.md +1 -1
- package/docs/api/interfaces/SecureDataProviderProps.md +1 -1
- package/docs/api/interfaces/StorageConfig.md +1 -1
- package/docs/api/interfaces/StorageFileInfo.md +1 -1
- package/docs/api/interfaces/StorageFileMetadata.md +1 -1
- package/docs/api/interfaces/StorageListOptions.md +1 -1
- package/docs/api/interfaces/StorageListResult.md +1 -1
- package/docs/api/interfaces/StorageUploadOptions.md +1 -1
- package/docs/api/interfaces/StorageUploadResult.md +1 -1
- package/docs/api/interfaces/StorageUrlOptions.md +1 -1
- package/docs/api/interfaces/StyleImport.md +1 -1
- package/docs/api/interfaces/ToastActionElement.md +1 -1
- package/docs/api/interfaces/ToastProps.md +1 -1
- package/docs/api/interfaces/UnifiedAuthContextType.md +1 -1
- package/docs/api/interfaces/UnifiedAuthProviderProps.md +1 -1
- package/docs/api/interfaces/UseInactivityTrackerOptions.md +1 -1
- package/docs/api/interfaces/UseInactivityTrackerReturn.md +1 -1
- package/docs/api/interfaces/UsePublicEventLogoOptions.md +1 -1
- package/docs/api/interfaces/UsePublicEventLogoReturn.md +1 -1
- package/docs/api/interfaces/UsePublicEventOptions.md +1 -1
- package/docs/api/interfaces/UsePublicEventReturn.md +1 -1
- package/docs/api/interfaces/UsePublicRouteParamsReturn.md +1 -1
- package/docs/api/interfaces/UserEventAccess.md +1 -1
- package/docs/api/interfaces/UserMenuProps.md +1 -1
- package/docs/api/interfaces/UserProfile.md +1 -1
- package/docs/api/modules.md +3 -3
- package/package.json +1 -1
- package/src/providers/OrganisationProvider.tsx +44 -9
- /package/dist/{DataTable-PWLLTSP7.js.map → DataTable-CBZ4FWLB.js.map} +0 -0
- /package/dist/{chunk-GIISFLMP.js.map → chunk-QGIMHNFE.js.map} +0 -0
- /package/dist/{chunk-D4X7PPGX.js.map → chunk-RZZ4U2VB.js.map} +0 -0
- /package/dist/{chunk-3PNBACK3.js.map → chunk-TCPMEL3C.js.map} +0 -0
- /package/dist/{chunk-FZ7EBWOT.js.map → chunk-UK5BMO5B.js.map} +0 -0
- /package/dist/{chunk-6AQ7X3EE.js.map → chunk-WUCWNFHS.js.map} +0 -0
- /package/dist/{chunk-3FAB54BI.js.map → chunk-YAACZXDE.js.map} +0 -0
- /package/dist/{chunk-2T6QEWMI.js.map → chunk-YJ7MYXN4.js.map} +0 -0
- /package/dist/{chunk-NYF3CUNC.js.map → chunk-YOMT5BFG.js.map} +0 -0
- /package/dist/{chunk-VCHXOYD5.js.map → chunk-ZK26ZQ3P.js.map} +0 -0
|
@@ -32,11 +32,11 @@ import {
|
|
|
32
32
|
useDataTableContext,
|
|
33
33
|
usePluginRegistry,
|
|
34
34
|
useStateManager
|
|
35
|
-
} from "./chunk-
|
|
36
|
-
import "./chunk-
|
|
35
|
+
} from "./chunk-QGIMHNFE.js";
|
|
36
|
+
import "./chunk-UK5BMO5B.js";
|
|
37
37
|
import "./chunk-GWSBHC4J.js";
|
|
38
38
|
import "./chunk-7BNPOCLL.js";
|
|
39
|
-
import "./chunk-
|
|
39
|
+
import "./chunk-TCPMEL3C.js";
|
|
40
40
|
import {
|
|
41
41
|
DataChunkManager,
|
|
42
42
|
SearchIndex,
|
|
@@ -48,7 +48,7 @@ import {
|
|
|
48
48
|
throttle,
|
|
49
49
|
useDataTablePerformance
|
|
50
50
|
} from "./chunk-SS3E6QLB.js";
|
|
51
|
-
import "./chunk-
|
|
51
|
+
import "./chunk-VW4YRTVX.js";
|
|
52
52
|
import "./chunk-YDJW5XTN.js";
|
|
53
53
|
import "./chunk-MZBUOP4P.js";
|
|
54
54
|
import "./chunk-WJARTBCT.js";
|
|
@@ -97,4 +97,4 @@ export {
|
|
|
97
97
|
usePluginRegistry,
|
|
98
98
|
useStateManager
|
|
99
99
|
};
|
|
100
|
-
//# sourceMappingURL=DataTable-
|
|
100
|
+
//# sourceMappingURL=DataTable-CBZ4FWLB.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
useCan
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-UK5BMO5B.js";
|
|
4
4
|
import {
|
|
5
5
|
useDataTablePerformance
|
|
6
6
|
} from "./chunk-SS3E6QLB.js";
|
|
@@ -14,7 +14,7 @@ import {
|
|
|
14
14
|
init_Button,
|
|
15
15
|
init_UnifiedAuthProvider,
|
|
16
16
|
useUnifiedAuth
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-VW4YRTVX.js";
|
|
18
18
|
import {
|
|
19
19
|
getCurrentAppName,
|
|
20
20
|
init_appNameResolver
|
|
@@ -5584,4 +5584,4 @@ export {
|
|
|
5584
5584
|
GroupHeader,
|
|
5585
5585
|
EditableRow
|
|
5586
5586
|
};
|
|
5587
|
-
//# sourceMappingURL=chunk-
|
|
5587
|
+
//# sourceMappingURL=chunk-QGIMHNFE.js.map
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import {
|
|
2
2
|
init_EventProvider
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-TCPMEL3C.js";
|
|
4
4
|
import {
|
|
5
5
|
init_AuthProvider,
|
|
6
6
|
init_InactivityProvider,
|
|
7
7
|
init_OrganisationProvider,
|
|
8
8
|
init_UnifiedAuthProvider
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-VW4YRTVX.js";
|
|
10
10
|
|
|
11
11
|
// src/providers/index.ts
|
|
12
12
|
init_EventProvider();
|
|
@@ -14,4 +14,4 @@ init_OrganisationProvider();
|
|
|
14
14
|
init_UnifiedAuthProvider();
|
|
15
15
|
init_AuthProvider();
|
|
16
16
|
init_InactivityProvider();
|
|
17
|
-
//# sourceMappingURL=chunk-
|
|
17
|
+
//# sourceMappingURL=chunk-RZZ4U2VB.js.map
|
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
init_UnifiedAuthProvider,
|
|
4
4
|
useOrganisations,
|
|
5
5
|
useUnifiedAuth
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-VW4YRTVX.js";
|
|
7
7
|
import {
|
|
8
8
|
DebugLogger,
|
|
9
9
|
init_debugLogger,
|
|
@@ -261,4 +261,4 @@ export {
|
|
|
261
261
|
EventProvider_exports,
|
|
262
262
|
init_EventProvider
|
|
263
263
|
};
|
|
264
|
-
//# sourceMappingURL=chunk-
|
|
264
|
+
//# sourceMappingURL=chunk-TCPMEL3C.js.map
|
|
@@ -7,13 +7,13 @@ import {
|
|
|
7
7
|
import {
|
|
8
8
|
init_EventProvider,
|
|
9
9
|
useEvents
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-TCPMEL3C.js";
|
|
11
11
|
import {
|
|
12
12
|
init_OrganisationProvider,
|
|
13
13
|
init_UnifiedAuthProvider,
|
|
14
14
|
useOrganisations,
|
|
15
15
|
useUnifiedAuth
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-VW4YRTVX.js";
|
|
17
17
|
|
|
18
18
|
// src/rbac/hooks/useRBAC.ts
|
|
19
19
|
init_UnifiedAuthProvider();
|
|
@@ -506,4 +506,4 @@ export {
|
|
|
506
506
|
useHasAllPermissions,
|
|
507
507
|
useCachedPermissions
|
|
508
508
|
};
|
|
509
|
-
//# sourceMappingURL=chunk-
|
|
509
|
+
//# sourceMappingURL=chunk-UK5BMO5B.js.map
|
|
@@ -7300,6 +7300,7 @@ function OrganisationProvider({ children }) {
|
|
|
7300
7300
|
const [isLoading, setIsLoading] = useState7(true);
|
|
7301
7301
|
const [error, setError] = useState7(null);
|
|
7302
7302
|
const [isContextReady, setIsContextReady] = useState7(false);
|
|
7303
|
+
const [retryCount, setRetryCount] = useState7(0);
|
|
7303
7304
|
const { user, session, supabase, signOut } = useUnifiedAuth();
|
|
7304
7305
|
let navigate = null;
|
|
7305
7306
|
try {
|
|
@@ -7307,6 +7308,17 @@ function OrganisationProvider({ children }) {
|
|
|
7307
7308
|
} catch (error2) {
|
|
7308
7309
|
navigate = null;
|
|
7309
7310
|
}
|
|
7311
|
+
const clearAllCachedData = useCallback7(() => {
|
|
7312
|
+
localStorage.removeItem(STORAGE_KEYS2.SELECTED_ORGANISATION);
|
|
7313
|
+
localStorage.removeItem(STORAGE_KEYS2.ORGANISATION_CONTEXT);
|
|
7314
|
+
setSelectedOrganisation(null);
|
|
7315
|
+
setOrganisations([]);
|
|
7316
|
+
setUserMemberships([]);
|
|
7317
|
+
setRoleMapState(/* @__PURE__ */ new Map());
|
|
7318
|
+
setError(null);
|
|
7319
|
+
setRetryCount(0);
|
|
7320
|
+
setIsContextReady(false);
|
|
7321
|
+
}, []);
|
|
7310
7322
|
const setDatabaseOrganisationContext = useCallback7(async (organisation) => {
|
|
7311
7323
|
if (!supabase || !session) {
|
|
7312
7324
|
console.warn("[OrganisationProvider] No Supabase client or session available for setting organisation context");
|
|
@@ -7405,7 +7417,13 @@ function OrganisationProvider({ children }) {
|
|
|
7405
7417
|
throw new Error("No valid organisation IDs found in memberships");
|
|
7406
7418
|
}
|
|
7407
7419
|
DebugLogger.log("OrganisationProvider", "Valid organisation IDs:", organisationIds);
|
|
7408
|
-
const
|
|
7420
|
+
const cleanOrganisationIds = organisationIds.filter((id) => id && id.trim() !== "");
|
|
7421
|
+
if (cleanOrganisationIds.length === 0) {
|
|
7422
|
+
console.warn("[OrganisationProvider] No clean organisation IDs after filtering:", organisationIds);
|
|
7423
|
+
throw new Error("No valid organisation IDs found after cleaning");
|
|
7424
|
+
}
|
|
7425
|
+
DebugLogger.log("OrganisationProvider", "Clean organisation IDs for query:", cleanOrganisationIds);
|
|
7426
|
+
const { data: organisations2, error: orgError } = await supabase.from("organisations").select("id, name, display_name, subscription_tier, settings, is_active, parent_id, created_at, updated_at").in("id", cleanOrganisationIds);
|
|
7409
7427
|
if (orgError) {
|
|
7410
7428
|
console.error("[OrganisationProvider] Error loading organisations:", orgError);
|
|
7411
7429
|
throw orgError;
|
|
@@ -7470,20 +7488,25 @@ function OrganisationProvider({ children }) {
|
|
|
7470
7488
|
totalOrganisations: activeOrgs.length,
|
|
7471
7489
|
userRole: roleMap.get(initialOrg.id)
|
|
7472
7490
|
});
|
|
7491
|
+
setRetryCount(0);
|
|
7473
7492
|
} catch (err) {
|
|
7474
7493
|
console.error("[OrganisationProvider] Failed to load organisations:", err);
|
|
7475
7494
|
setError(err);
|
|
7476
|
-
|
|
7477
|
-
|
|
7478
|
-
setUserMemberships([]);
|
|
7479
|
-
localStorage.removeItem(STORAGE_KEYS2.SELECTED_ORGANISATION);
|
|
7495
|
+
setRetryCount((prev) => prev + 1);
|
|
7496
|
+
clearAllCachedData();
|
|
7480
7497
|
} finally {
|
|
7481
7498
|
setIsLoading(false);
|
|
7482
7499
|
}
|
|
7483
|
-
}, [user, session, supabase]);
|
|
7500
|
+
}, [user, session, supabase, clearAllCachedData]);
|
|
7484
7501
|
useEffect7(() => {
|
|
7485
7502
|
if (user && session && supabase && !isLoading) {
|
|
7486
|
-
|
|
7503
|
+
if (retryCount >= 3) {
|
|
7504
|
+
console.error("[OrganisationProvider] Max retry count reached, stopping organisation loading");
|
|
7505
|
+
setError(new Error("Failed to load organisations after multiple attempts"));
|
|
7506
|
+
setIsLoading(false);
|
|
7507
|
+
return;
|
|
7508
|
+
}
|
|
7509
|
+
DebugLogger.log("OrganisationProvider", "Authentication stable, loading organizations... (retry:", retryCount, ")");
|
|
7487
7510
|
loadUserOrganisations();
|
|
7488
7511
|
} else if (!user && !session) {
|
|
7489
7512
|
DebugLogger.log("OrganisationProvider", "No authentication, clearing organization state");
|
|
@@ -7493,10 +7516,11 @@ function OrganisationProvider({ children }) {
|
|
|
7493
7516
|
setRoleMapState(/* @__PURE__ */ new Map());
|
|
7494
7517
|
setIsLoading(false);
|
|
7495
7518
|
setError(null);
|
|
7519
|
+
setRetryCount(0);
|
|
7496
7520
|
localStorage.removeItem(STORAGE_KEYS2.SELECTED_ORGANISATION);
|
|
7497
7521
|
localStorage.removeItem(STORAGE_KEYS2.ORGANISATION_CONTEXT);
|
|
7498
7522
|
}
|
|
7499
|
-
}, [user, session, supabase, isLoading, loadUserOrganisations]);
|
|
7523
|
+
}, [user, session, supabase, isLoading, loadUserOrganisations, retryCount]);
|
|
7500
7524
|
const handleLogoutAndRedirect = useCallback7(async () => {
|
|
7501
7525
|
try {
|
|
7502
7526
|
await signOut();
|
|
@@ -7745,4 +7769,4 @@ lodash/lodash.js:
|
|
|
7745
7769
|
* Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
|
|
7746
7770
|
*)
|
|
7747
7771
|
*/
|
|
7748
|
-
//# sourceMappingURL=chunk-
|
|
7772
|
+
//# sourceMappingURL=chunk-VW4YRTVX.js.map
|