904
}
905
907
>
if (e instanceof UserDataSyncError) {
908
>
switch (e.code) {
909
>
case UserDataSyncErrorCode.MethodNotFound:
910
>
case UserDataSyncErrorCode.TooLarge:
911
>
case UserDataSyncErrorCode.TooManyRequests:
912
>
case UserDataSyncErrorCode.TooManyRequestsAndRetryAfter:
913
>
case UserDataSyncErrorCode.LocalTooManyRequests:
914
>
case UserDataSyncErrorCode.LocalTooManyProfiles:
915
>
case UserDataSyncErrorCode.Gone:
916
>
case UserDataSyncErrorCode.UpgradeRequired:
917
>
case UserDataSyncErrorCode.IncompatibleRemoteContent:
918
>
case UserDataSyncErrorCode.IncompatibleLocalContent:
919
>
return true;
920
>
}
921
>
}
922
return false;
923
}
924
925
>
function reportUserDataSyncError(userDataSyncError: UserDataSyncError, executionId: string, userDataSyncStoreManagementService: IUserDataSyncStoreManagementService, telemetryService: ITelemetryService): void {
userDataSyncService.ts
926
>
telemetryService.publicLog2<SyncErrorEvent, SyncErrorClassification>('sync/error',
927
>
{
928
>
code: userDataSyncError.code,
929
>
serverCode: userDataSyncError instanceof UserDataSyncStoreError ? String(userDataSyncError.serverCode) : undefined,
930
>
url: userDataSyncError instanceof UserDataSyncStoreError ? userDataSyncError.url : undefined,
931
>
resource: userDataSyncError.resource,
932
>
executionId,
933
>
service: userDataSyncStoreManagementService.userDataSyncStore!.url.toString()
934
>
});
935
>
}
936
937
function getRefOrUserData(manifestOrLatestData: IUserDataManifest | IUserDataSyncLatestData | null, collection: string | undefined, resource: SyncResource): string | IUserData | undefined {