@jmruthers/pace-core 0.5.51 → 0.5.52
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-GQ3BURPP.js → DataTable-RZZ2HEYP.js} +5 -5
- package/dist/{chunk-DRZGPMSA.js → chunk-AH6CKR4Y.js} +24 -5
- package/dist/{chunk-DRZGPMSA.js.map → chunk-AH6CKR4Y.js.map} +1 -1
- package/dist/{chunk-YVB6KPX5.js → chunk-DC6TVAHO.js} +5 -5
- package/dist/{chunk-VXORHRAE.js → chunk-FDJVRPIU.js} +2 -2
- package/dist/{chunk-KQC425W3.js → chunk-FY2LCUBT.js} +3 -3
- package/dist/{chunk-42YPH73L.js → chunk-R7YV2KWY.js} +3 -3
- package/dist/{chunk-GKAA5LOI.js → chunk-WU6LR7OX.js} +2 -2
- package/dist/{chunk-IPCVBQ35.js → chunk-XKMNKZS3.js} +3 -3
- package/dist/{chunk-CML46U7Z.js → chunk-XVCVQVLM.js} +3 -3
- package/dist/{chunk-JRZZQPI7.js → chunk-YCBNUPXB.js} +4 -4
- package/dist/{chunk-NR6XUR7F.js → chunk-ZRA62X5V.js} +2 -2
- 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 +28 -4
- /package/dist/{DataTable-GQ3BURPP.js.map → DataTable-RZZ2HEYP.js.map} +0 -0
- /package/dist/{chunk-YVB6KPX5.js.map → chunk-DC6TVAHO.js.map} +0 -0
- /package/dist/{chunk-VXORHRAE.js.map → chunk-FDJVRPIU.js.map} +0 -0
- /package/dist/{chunk-KQC425W3.js.map → chunk-FY2LCUBT.js.map} +0 -0
- /package/dist/{chunk-42YPH73L.js.map → chunk-R7YV2KWY.js.map} +0 -0
- /package/dist/{chunk-GKAA5LOI.js.map → chunk-WU6LR7OX.js.map} +0 -0
- /package/dist/{chunk-IPCVBQ35.js.map → chunk-XKMNKZS3.js.map} +0 -0
- /package/dist/{chunk-CML46U7Z.js.map → chunk-XVCVQVLM.js.map} +0 -0
- /package/dist/{chunk-JRZZQPI7.js.map → chunk-YCBNUPXB.js.map} +0 -0
- /package/dist/{chunk-NR6XUR7F.js.map → chunk-ZRA62X5V.js.map} +0 -0
package/docs/api/modules.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
[@jmruthers/pace-core - v0.5.
|
|
1
|
+
[@jmruthers/pace-core - v0.5.52](README.md) / Exports
|
|
2
2
|
|
|
3
|
-
# @jmruthers/pace-core - v0.5.
|
|
3
|
+
# @jmruthers/pace-core - v0.5.52
|
|
4
4
|
|
|
5
5
|
**`File`**
|
|
6
6
|
|
|
@@ -4086,7 +4086,7 @@ If used outside OrganisationProvider
|
|
|
4086
4086
|
|
|
4087
4087
|
#### Defined in
|
|
4088
4088
|
|
|
4089
|
-
[packages/core/src/providers/OrganisationProvider.tsx:
|
|
4089
|
+
[packages/core/src/providers/OrganisationProvider.tsx:779](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/providers/OrganisationProvider.tsx#L779)
|
|
4090
4090
|
|
|
4091
4091
|
___
|
|
4092
4092
|
|
package/package.json
CHANGED
|
@@ -173,6 +173,10 @@ export function OrganisationProvider({ children }: OrganisationProviderProps) {
|
|
|
173
173
|
|
|
174
174
|
// CRITICAL: Load user organisations and validate access
|
|
175
175
|
const loadUserOrganisations = useCallback(async () => {
|
|
176
|
+
// Add call tracking to detect race conditions
|
|
177
|
+
const callId = Math.random().toString(36).substr(2, 9);
|
|
178
|
+
console.log(`[OrganisationProvider] Starting loadUserOrganisations call ${callId}`);
|
|
179
|
+
|
|
176
180
|
if (!user || !session || !supabase) {
|
|
177
181
|
// Clear state when no user, session, or supabase client
|
|
178
182
|
DebugLogger.log('OrganisationProvider', 'Clearing organisation state - no user, session, or supabase client');
|
|
@@ -342,17 +346,37 @@ export function OrganisationProvider({ children }: OrganisationProviderProps) {
|
|
|
342
346
|
throw new Error('Empty string detected in organisation IDs array - aborting query');
|
|
343
347
|
}
|
|
344
348
|
|
|
349
|
+
// Create a completely new array to avoid any reference issues
|
|
350
|
+
const safeOrganisationIds = [...finalOrganisationIds].filter(id => {
|
|
351
|
+
const isValid = id && typeof id === 'string' && id.trim() !== '';
|
|
352
|
+
if (!isValid) {
|
|
353
|
+
console.error("[OrganisationProvider] SAFETY FILTER: Removing invalid ID:", { id, type: typeof id });
|
|
354
|
+
}
|
|
355
|
+
return isValid;
|
|
356
|
+
});
|
|
357
|
+
|
|
358
|
+
console.log("[OrganisationProvider] SAFE ARRAY FOR QUERY:", {
|
|
359
|
+
original: finalOrganisationIds,
|
|
360
|
+
safe: safeOrganisationIds,
|
|
361
|
+
lengths: { original: finalOrganisationIds.length, safe: safeOrganisationIds.length }
|
|
362
|
+
});
|
|
363
|
+
|
|
345
364
|
// Try a different approach - use OR conditions instead of .in()
|
|
346
365
|
let query = supabase
|
|
347
366
|
.from('organisations')
|
|
348
367
|
.select('id, name, display_name, subscription_tier, settings, is_active, parent_id, created_at, updated_at');
|
|
349
368
|
|
|
350
|
-
if (
|
|
351
|
-
|
|
352
|
-
|
|
369
|
+
if (safeOrganisationIds.length === 1) {
|
|
370
|
+
console.log("[OrganisationProvider] Using single ID query:", safeOrganisationIds[0]);
|
|
371
|
+
query = query.eq('id', safeOrganisationIds[0]);
|
|
372
|
+
} else if (safeOrganisationIds.length > 1) {
|
|
353
373
|
// Build OR condition manually
|
|
354
|
-
const orConditions =
|
|
374
|
+
const orConditions = safeOrganisationIds.map(id => `id.eq.${id}`).join(',');
|
|
375
|
+
console.log("[OrganisationProvider] Using OR query:", orConditions);
|
|
355
376
|
query = query.or(orConditions);
|
|
377
|
+
} else {
|
|
378
|
+
console.error("[OrganisationProvider] No valid organisation IDs for query!");
|
|
379
|
+
throw new Error('No valid organisation IDs available for query');
|
|
356
380
|
}
|
|
357
381
|
|
|
358
382
|
const { data: organisations, error: orgError } = await query;
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|