@rh-support/troubleshoot 2.7.27 → 2.7.29
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/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/CaseDiscussion.d.ts.map +1 -1
- package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/CaseDiscussion.js +0 -9
- package/lib/esm/components/shared/fileUpload/FileLister.d.ts.map +1 -1
- package/lib/esm/components/shared/fileUpload/FileLister.js +2 -7
- package/lib/esm/components/shared/fileUpload/reducer/AttachmentHelper.d.ts.map +1 -1
- package/lib/esm/components/shared/fileUpload/reducer/AttachmentHelper.js +35 -22
- package/lib/esm/components/shared/fileUpload/reducer/AttachmentReducer.d.ts +3 -1
- package/lib/esm/components/shared/fileUpload/reducer/AttachmentReducer.d.ts.map +1 -1
- package/lib/esm/components/shared/fileUpload/useFileUploader.d.ts.map +1 -1
- package/lib/esm/components/shared/fileUpload/useFileUploader.js +16 -5
- package/lib/esm/hooks/useS3Upload.d.ts.map +1 -1
- package/lib/esm/hooks/useS3Upload.js +10 -3
- package/package.json +6 -6
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CaseDiscussion.d.ts","sourceRoot":"","sources":["../../../../../../src/components/CaseEditView/Tabs/CaseDiscussion/CaseDiscussion.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAC;AAqBvE,OAAO,KAA0F,MAAM,OAAO,CAAC;AA2C/G,UAAU,MAAM;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,YAAY,EAAE,CAAC;IAC7B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,aAAa,CAAC,EAAE,OAAO,CAAC;IAGxB,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,KAAK,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC;IAC/C,eAAe,EAAE,OAAO,CAAC;IACzB,eAAe,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;IAC/C,SAAS,CAAC,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;IAC1C,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,aAAa,CAAC,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;CACjD;AAED,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,KAAK,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"CaseDiscussion.d.ts","sourceRoot":"","sources":["../../../../../../src/components/CaseEditView/Tabs/CaseDiscussion/CaseDiscussion.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAC;AAqBvE,OAAO,KAA0F,MAAM,OAAO,CAAC;AA2C/G,UAAU,MAAM;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,YAAY,EAAE,CAAC;IAC7B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,aAAa,CAAC,EAAE,OAAO,CAAC;IAGxB,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,KAAK,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC;IAC/C,eAAe,EAAE,OAAO,CAAC;IACzB,eAAe,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;IAC/C,SAAS,CAAC,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;IAC1C,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,aAAa,CAAC,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;CACjD;AAED,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,KAAK,EAAE,MAAM,qBAo3BnD"}
|
|
@@ -84,15 +84,6 @@ export default function CaseDiscussion(props) {
|
|
|
84
84
|
const { hasNextPage, isLoadingMore, loadMoreError, fetchMore } = props;
|
|
85
85
|
const isCommentFilterActive = discussionFiltersListState.some((f) => (f.value === DiscussionType.COMMENT || f.value === DiscussionType.ALL) && f.isSelected);
|
|
86
86
|
useEffect(() => {
|
|
87
|
-
console.log('[CaseDiscussion] fetchMore useEffect', {
|
|
88
|
-
inView,
|
|
89
|
-
hasNextPage,
|
|
90
|
-
isLoadingMore,
|
|
91
|
-
loadMoreError,
|
|
92
|
-
hasFetchMore: !!fetchMore,
|
|
93
|
-
isCommentFilterActive,
|
|
94
|
-
willFetch: inView && hasNextPage && !isLoadingMore && !loadMoreError && !!fetchMore && isCommentFilterActive,
|
|
95
|
-
});
|
|
96
87
|
if (inView && hasNextPage && !isLoadingMore && !loadMoreError && fetchMore && isCommentFilterActive) {
|
|
97
88
|
fetchMore();
|
|
98
89
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileLister.d.ts","sourceRoot":"","sources":["../../../../../src/components/shared/fileUpload/FileLister.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,MAAM,OAAO,CAAC;AAuB1B,OAAO,EAAiB,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAGxE,eAAO,MAAM,qBAAqB,2FAAyC,CAAC;AAiB5E,UAAU,MAAM;IACZ,kBAAkB,EAAE,UAAU,EAAE,CAAC;IACjC,UAAU,EAAE,CAAC,eAAe,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC;IACtG,YAAY,EAAE,CAAC,aAAa,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,UAAU,KAAK,IAAI,CAAC;IACtE,OAAO,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,eAAe,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,IAAI,CAAC;IACjD,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,iBAAiB,CAAC,EAAE,CAAC,KAAK,KAAA,KAAK,IAAI,CAAC;CACvC;AAED,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,KAAK,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"FileLister.d.ts","sourceRoot":"","sources":["../../../../../src/components/shared/fileUpload/FileLister.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,MAAM,OAAO,CAAC;AAuB1B,OAAO,EAAiB,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAGxE,eAAO,MAAM,qBAAqB,2FAAyC,CAAC;AAiB5E,UAAU,MAAM;IACZ,kBAAkB,EAAE,UAAU,EAAE,CAAC;IACjC,UAAU,EAAE,CAAC,eAAe,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC;IACtG,YAAY,EAAE,CAAC,aAAa,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,UAAU,KAAK,IAAI,CAAC;IACtE,OAAO,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,eAAe,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,IAAI,CAAC;IACjD,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,iBAAiB,CAAC,EAAE,CAAC,KAAK,KAAA,KAAK,IAAI,CAAC;CACvC;AAED,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,KAAK,EAAE,MAAM,qBA+R/C"}
|
|
@@ -43,7 +43,6 @@ export default function FileLister(props) {
|
|
|
43
43
|
const onRetry = (index) => () => {
|
|
44
44
|
props.onRetry && props.onRetry(index);
|
|
45
45
|
};
|
|
46
|
-
const sosReportErrorText = (errorText) => errorText.length > 500 ? t('There was an error uploading file') : errorText;
|
|
47
46
|
const onRetryAnalysis = (index) => () => {
|
|
48
47
|
props.onRetryAnalysis && props.onRetryAnalysis(index);
|
|
49
48
|
};
|
|
@@ -137,12 +136,8 @@ export default function FileLister(props) {
|
|
|
137
136
|
React.createElement(Button, { onClick: onRetryAnalysis(index), isInline: true, variant: ButtonVariant.link, "data-tracking-id": "something-wrong-try-again" },
|
|
138
137
|
React.createElement(Trans, null, "Try analyzing again.")))),
|
|
139
138
|
isUploadFailed(localFile.uploadProgress.uploadStatus) && (React.createElement("span", { className: "text-danger" },
|
|
140
|
-
React.createElement(Trans, null,
|
|
141
|
-
|
|
142
|
-
' ',
|
|
143
|
-
sosReportErrorText(localFile.uploadProgress.uploadErrorMessage),
|
|
144
|
-
".",
|
|
145
|
-
' '),
|
|
139
|
+
React.createElement(Trans, null, "Upload failed. Please try again."),
|
|
140
|
+
' ',
|
|
146
141
|
React.createElement(Button, { onClick: onRetry(index), isInline: true, variant: ButtonVariant.link, "data-tracking-id": "upload-fail-try-again" },
|
|
147
142
|
React.createElement(Trans, null, "Try again"))))));
|
|
148
143
|
})),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AttachmentHelper.d.ts","sourceRoot":"","sources":["../../../../../../src/components/shared/fileUpload/reducer/AttachmentHelper.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,oDAAoD,CAAC;AAC3F,OAAO,EAAE,0BAA0B,EAAE,MAAM,2CAA2C,CAAC;AAEvF,OAAO,EACH,iBAAiB,
|
|
1
|
+
{"version":3,"file":"AttachmentHelper.d.ts","sourceRoot":"","sources":["../../../../../../src/components/shared/fileUpload/reducer/AttachmentHelper.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,7 +9,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
9
9
|
};
|
|
10
10
|
import { Config, pcm, sessionAttachments } from '@cee-eng/hydrajs';
|
|
11
11
|
import { ToastNotification } from '@rh-support/components';
|
|
12
|
-
import { CaseAttachmentUploadError,
|
|
12
|
+
import { CaseAttachmentUploadError, fetchCaseDetailsByCaseNumber, GET_CONTENT_DOCUMENT_IDS, getText, markCaseAttachmentUploadFailed, markCaseAttachmentUploadInProgress, MultipartUploadError, pollAttachmentUploadStatus, pollContentVersionStatus, uploadCaseAttachment, } from '@rh-support/utils';
|
|
13
13
|
import find from 'lodash/find';
|
|
14
14
|
import includes from 'lodash/includes';
|
|
15
15
|
import isEmpty from 'lodash/isEmpty';
|
|
@@ -220,7 +220,7 @@ needsAnalyzing = false, isSessionId = false, slowUploadConfig = {}, apolloClient
|
|
|
220
220
|
export const uploadFile = (_a) => __awaiter(void 0, [_a], void 0, function* ({ dispatch, idToUploadTo, localFile, originalFile, index,
|
|
221
221
|
// isSecureSupport = false, // TODO: Re-enable when Hydra/GraphQL attachment APIs support secure support again
|
|
222
222
|
needsAnalyzing = false, isSessionId = false, slowUploadConfig = {}, apolloClient, caseSalesforceId, onCaseFileUploaded, }) {
|
|
223
|
-
var _b;
|
|
223
|
+
var _b, _c, _d;
|
|
224
224
|
if (!localFile.uploadability.ableToUpload) {
|
|
225
225
|
return;
|
|
226
226
|
}
|
|
@@ -336,6 +336,12 @@ needsAnalyzing = false, isSessionId = false, slowUploadConfig = {}, apolloClient
|
|
|
336
336
|
uploadErrorMessage: '',
|
|
337
337
|
onAbort,
|
|
338
338
|
});
|
|
339
|
+
const resumeAttachmentId = ((_b = localFile.uploadProgress.multipartResumeState) === null || _b === void 0 ? void 0 : _b.attachmentId) ||
|
|
340
|
+
((_c = localFile.uploadProgress.singlePutResumeState) === null || _c === void 0 ? void 0 : _c.attachmentId);
|
|
341
|
+
// Retry reuses the same SFDC attachment — reset UploadStatus to In Progress before re-PUT / resume
|
|
342
|
+
if (resumeAttachmentId && apolloClient) {
|
|
343
|
+
yield markCaseAttachmentUploadInProgress(apolloClient, idToUploadTo, resumeAttachmentId);
|
|
344
|
+
}
|
|
339
345
|
attachmentId = yield uploadCaseAttachment(idToUploadTo, originalFile, (percent) => {
|
|
340
346
|
if (userAborted)
|
|
341
347
|
return;
|
|
@@ -365,7 +371,13 @@ needsAnalyzing = false, isSessionId = false, slowUploadConfig = {}, apolloClient
|
|
|
365
371
|
parts: localFile.uploadProgress.multipartResumeState.parts,
|
|
366
372
|
completedParts: localFile.uploadProgress.multipartResumeState.completedParts,
|
|
367
373
|
}
|
|
368
|
-
:
|
|
374
|
+
: localFile.uploadProgress.singlePutResumeState
|
|
375
|
+
? {
|
|
376
|
+
attachmentId: localFile.uploadProgress.singlePutResumeState.attachmentId,
|
|
377
|
+
presignedUrl: localFile.uploadProgress.singlePutResumeState.presignedUrl,
|
|
378
|
+
expirationTime: localFile.uploadProgress.singlePutResumeState.expirationTime,
|
|
379
|
+
}
|
|
380
|
+
: undefined, (initAttachmentId) => {
|
|
369
381
|
updateAttachmentIdForFile(dispatch, initAttachmentId, index);
|
|
370
382
|
}, localFile.description);
|
|
371
383
|
if (userAborted) {
|
|
@@ -377,7 +389,7 @@ needsAnalyzing = false, isSessionId = false, slowUploadConfig = {}, apolloClient
|
|
|
377
389
|
percentUploaded: 100,
|
|
378
390
|
onAbort: undefined,
|
|
379
391
|
});
|
|
380
|
-
yield pollAttachmentUploadStatus(apolloClient, caseSalesforceId, attachmentId);
|
|
392
|
+
yield pollAttachmentUploadStatus(apolloClient, caseSalesforceId, attachmentId, idToUploadTo);
|
|
381
393
|
}
|
|
382
394
|
}
|
|
383
395
|
attachmentId && updateAttachmentIdForFile(dispatch, attachmentId, index);
|
|
@@ -388,6 +400,8 @@ needsAnalyzing = false, isSessionId = false, slowUploadConfig = {}, apolloClient
|
|
|
388
400
|
uploadErrorMessage: '',
|
|
389
401
|
percentUploaded: 100,
|
|
390
402
|
onAbort: undefined,
|
|
403
|
+
singlePutResumeState: undefined,
|
|
404
|
+
multipartResumeState: undefined,
|
|
391
405
|
});
|
|
392
406
|
onCaseFileUploaded === null || onCaseFileUploaded === void 0 ? void 0 : onCaseFileUploaded();
|
|
393
407
|
return;
|
|
@@ -406,38 +420,37 @@ needsAnalyzing = false, isSessionId = false, slowUploadConfig = {}, apolloClient
|
|
|
406
420
|
}
|
|
407
421
|
catch (error) {
|
|
408
422
|
const isUserAbort = userAborted || (error === null || error === void 0 ? void 0 : error.message) === 'Request aborted by user';
|
|
409
|
-
const attachmentIdFromError = (error instanceof MultipartUploadError && ((
|
|
423
|
+
const attachmentIdFromError = (error instanceof MultipartUploadError && ((_d = error.resumeData) === null || _d === void 0 ? void 0 : _d.attachmentId)) ||
|
|
410
424
|
(error instanceof CaseAttachmentUploadError && error.attachmentId) ||
|
|
411
425
|
undefined;
|
|
412
426
|
if (attachmentIdFromError) {
|
|
413
427
|
updateAttachmentIdForFile(dispatch, attachmentIdFromError, index);
|
|
414
428
|
}
|
|
415
429
|
if (isUserAbort) {
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
// Best-effort: file stays in queue as ABORTED for retry
|
|
422
|
-
}
|
|
430
|
+
// Cancel: soft-fail only. Hard delete / multipart abort happens on Remove.
|
|
431
|
+
// Mark Failed in SFDC so status is not stuck at In Progress while nothing uploads.
|
|
432
|
+
// Keep resume state (SINGLE_PUT URL / MULTIPART parts) so Retry can continue.
|
|
433
|
+
if (!isSessionId && attachmentIdFromError && apolloClient && caseSalesforceId) {
|
|
434
|
+
void markCaseAttachmentUploadFailed(apolloClient, idToUploadTo, attachmentIdFromError);
|
|
423
435
|
}
|
|
424
|
-
const
|
|
425
|
-
|
|
436
|
+
const multipartResume = error instanceof MultipartUploadError ? error.resumeData : undefined;
|
|
437
|
+
const singlePutResume = error instanceof CaseAttachmentUploadError ? error.resumeData : undefined;
|
|
438
|
+
updateUploadMetadata(dispatch, index, Object.assign(Object.assign({ uploadStatus: UploadStatusConstants.aborted, uploadErrorMessage: '', onAbort: undefined, percentUploaded: 0 }, (multipartResume ? { multipartResumeState: multipartResume } : {})), (singlePutResume ? { singlePutResumeState: singlePutResume } : {})));
|
|
426
439
|
}
|
|
427
440
|
else {
|
|
428
441
|
console.error(error);
|
|
429
|
-
const
|
|
430
|
-
|
|
442
|
+
const singlePutResume = error instanceof CaseAttachmentUploadError ? error.resumeData : undefined;
|
|
443
|
+
const uploadErrorPayload = Object.assign({ uploadStatus: isSessionId
|
|
431
444
|
? UploadStatusConstants.uploadOnSessionFailed
|
|
432
|
-
: UploadStatusConstants.uploadOnCaseFailed,
|
|
433
|
-
|
|
434
|
-
onAbort: undefined,
|
|
435
|
-
multipartResumeState: error instanceof MultipartUploadError ? error.resumeData : undefined,
|
|
436
|
-
};
|
|
437
|
-
if (!uploadErrorPayload.multipartResumeState) {
|
|
445
|
+
: UploadStatusConstants.uploadOnCaseFailed, uploadErrorMessage: error.message, onAbort: undefined, multipartResumeState: error instanceof MultipartUploadError ? error.resumeData : undefined }, (singlePutResume ? { singlePutResumeState: singlePutResume } : {}));
|
|
446
|
+
if (!uploadErrorPayload.multipartResumeState && !uploadErrorPayload.singlePutResumeState) {
|
|
438
447
|
uploadErrorPayload.percentUploaded = 0;
|
|
439
448
|
}
|
|
440
449
|
updateUploadMetadata(dispatch, index, uploadErrorPayload);
|
|
450
|
+
//mark ContentVersion as Failed in SCT so it does not stay "In Progress".
|
|
451
|
+
if (!isSessionId && attachmentIdFromError && apolloClient && caseSalesforceId) {
|
|
452
|
+
void markCaseAttachmentUploadFailed(apolloClient, idToUploadTo, attachmentIdFromError);
|
|
453
|
+
}
|
|
441
454
|
}
|
|
442
455
|
}
|
|
443
456
|
finally {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { CaseDiagnosticsStatus, ICaseDiagnosticsResponse } from '@cee-eng/hydrajs/@types/api/pcm/preCaseDiagnostics';
|
|
2
2
|
import { Report } from '@cee-eng/hydrajs/@types/models/insights';
|
|
3
3
|
import { IAction } from '@rh-support/types/shared';
|
|
4
|
-
import { IMultipartResumeData } from '@rh-support/utils';
|
|
4
|
+
import { IMultipartResumeData, ISinglePutResumeData } from '@rh-support/utils';
|
|
5
5
|
export declare enum AttachmentReducerConstants {
|
|
6
6
|
caseFileSelected = "caseFileSelected",
|
|
7
7
|
caseLocalFileEdited = "caseLocalFileEdited",
|
|
@@ -56,6 +56,8 @@ export interface IUploadMetadata {
|
|
|
56
56
|
onAbort: (abortedFileIndex: number) => void;
|
|
57
57
|
percentUploaded: number;
|
|
58
58
|
multipartResumeState?: IMultipartResumeData;
|
|
59
|
+
/** SINGLE_PUT retry: same attachmentId + presigned URL (avoids duplicate Failed SFDC rows). */
|
|
60
|
+
singlePutResumeState?: ISinglePutResumeData;
|
|
59
61
|
}
|
|
60
62
|
export interface IAnalysisMetadata {
|
|
61
63
|
analysisErrorMesssage?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AttachmentReducer.d.ts","sourceRoot":"","sources":["../../../../../../src/components/shared/fileUpload/reducer/AttachmentReducer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,wBAAwB,EAAE,MAAM,oDAAoD,CAAC;AACrH,OAAO,EAAE,MAAM,EAAE,MAAM,yCAAyC,CAAC;AACjE,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"AttachmentReducer.d.ts","sourceRoot":"","sources":["../../../../../../src/components/shared/fileUpload/reducer/AttachmentReducer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useFileUploader.d.ts","sourceRoot":"","sources":["../../../../../src/components/shared/fileUpload/useFileUploader.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useFileUploader.d.ts","sourceRoot":"","sources":["../../../../../src/components/shared/fileUpload/useFileUploader.tsx"],"names":[],"mappings":"AAcA,OAAO,KAA8D,MAAM,OAAO,CAAC;AAgBnF,OAAO,EACH,UAAU,EAKb,MAAM,6BAA6B,CAAC;AAErC,OAAO,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAC;AAKnD,wBAAgB,eAAe,CAAC,KAAK,EAAE,wBAAwB;gCA8JjB,MAAM;gCAYA,UAAU,mBAAmB,MAAM,WAAW,UAAU;oCAOpD,MAAM,QAAQ,UAAU;wBAxGzD,KAAK,CAAC,UAAU,CAAC,iBAAiB,EAAE,UAAU,CAAC;4BAmK3B,MAAM;kCAzEN,MAAM;EAmGhD"}
|
|
@@ -11,7 +11,7 @@ import { useApolloClient } from '@apollo/client/react';
|
|
|
11
11
|
import { sessionAttachments } from '@cee-eng/hydrajs';
|
|
12
12
|
import { useFetch, usePrevious } from '@rh-support/components';
|
|
13
13
|
import { GlobalMetadataStateContext } from '@rh-support/react-context';
|
|
14
|
-
import { deleteCaseAttachment, fetchCaseDetailsByCaseNumber, getConfigField, getUserAgentForCaseMode, PCM_CONFIG_FIELD_TYPE, } from '@rh-support/utils';
|
|
14
|
+
import { abortMultipartUpload, deleteCaseAttachment, fetchCaseDetailsByCaseNumber, getConfigField, getUserAgentForCaseMode, PCM_CONFIG_FIELD_TYPE, } from '@rh-support/utils';
|
|
15
15
|
import debounce from 'lodash/debounce';
|
|
16
16
|
import { useCallback, useContext, useEffect, useMemo, useRef } from 'react';
|
|
17
17
|
import { SessionRestoreDispatchContext, SessionRestoreStateContext } from '../../../context/SessionRestoreContext';
|
|
@@ -148,10 +148,12 @@ export function useFileUploader(props) {
|
|
|
148
148
|
debounceSessionMetadataUpdate(editedLocalFile, changes);
|
|
149
149
|
});
|
|
150
150
|
const onFileRemoveLocal = (fileIndexToRemove, file) => __awaiter(this, void 0, void 0, function* () {
|
|
151
|
-
var _a, _b, _c;
|
|
151
|
+
var _a, _b, _c, _d;
|
|
152
152
|
// Stop in-flight S3 transfer if Remove is used while upload/verify is still active
|
|
153
153
|
(_b = (_a = file.uploadProgress).onAbort) === null || _b === void 0 ? void 0 : _b.call(_a, fileIndexToRemove);
|
|
154
|
-
const attachmentIdToDelete = file.attachmentId ||
|
|
154
|
+
const attachmentIdToDelete = file.attachmentId ||
|
|
155
|
+
((_c = file.uploadProgress.multipartResumeState) === null || _c === void 0 ? void 0 : _c.attachmentId) ||
|
|
156
|
+
((_d = file.uploadProgress.singlePutResumeState) === null || _d === void 0 ? void 0 : _d.attachmentId);
|
|
155
157
|
const selectedLocalFiles = attachmentState.caseFiles.selectedLocalFiles;
|
|
156
158
|
const isBusy = isUploadingAttachment(selectedLocalFiles) || isAnalysingAnyAttachment(selectedLocalFiles);
|
|
157
159
|
let nextLocalFiles;
|
|
@@ -174,12 +176,21 @@ export function useFileUploader(props) {
|
|
|
174
176
|
if (attachmentIdToDelete && isSessionId && isUploadedSuccessfully(file)) {
|
|
175
177
|
deleteSessionAttachment(idToUploadTo, attachmentIdToDelete);
|
|
176
178
|
}
|
|
177
|
-
//
|
|
179
|
+
// Remove is the only hard cleanup: abort multipart parts (if any), then delete SFDC + S3 object
|
|
178
180
|
if (attachmentIdToDelete && !isSessionId) {
|
|
181
|
+
const multipartResume = file.uploadProgress.multipartResumeState;
|
|
182
|
+
if (multipartResume === null || multipartResume === void 0 ? void 0 : multipartResume.uploadId) {
|
|
183
|
+
try {
|
|
184
|
+
yield abortMultipartUpload(multipartResume.attachmentId, idToUploadTo, multipartResume.uploadId);
|
|
185
|
+
}
|
|
186
|
+
catch (_e) {
|
|
187
|
+
// Best-effort: still attempt deleteFile below
|
|
188
|
+
}
|
|
189
|
+
}
|
|
179
190
|
try {
|
|
180
191
|
yield deleteCaseAttachmentRequest(idToUploadTo, attachmentIdToDelete);
|
|
181
192
|
}
|
|
182
|
-
catch (
|
|
193
|
+
catch (_f) {
|
|
183
194
|
// Best-effort: row is already removed from the PCM queue
|
|
184
195
|
}
|
|
185
196
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useS3Upload.d.ts","sourceRoot":"","sources":["../../../src/hooks/useS3Upload.ts"],"names":[],"mappings":"AAEA,OAAO,EACH,iBAAiB,
|
|
1
|
+
{"version":3,"file":"useS3Upload.d.ts","sourceRoot":"","sources":["../../../src/hooks/useS3Upload.ts"],"names":[],"mappings":"AAEA,OAAO,EACH,iBAAiB,EAOpB,MAAM,mBAAmB,CAAC;AAU3B,wBAAgB,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,iBAAiB,EAAE,gBAAgB,CAAC,EAAE,MAAM;gEA0BpG;QACC,IAAI,EAAE,IAAI,CAAC;QACX,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC;KAC7D;;EA4DJ"}
|
|
@@ -9,7 +9,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
9
9
|
};
|
|
10
10
|
import { ToastNotification } from '@rh-support/components';
|
|
11
11
|
import { useGlobalStateContext } from '@rh-support/react-context';
|
|
12
|
-
import { fetchCaseDetailsByCaseNumber, pollAttachmentUploadStatus, uploadCaseAttachment, } from '@rh-support/utils';
|
|
12
|
+
import { CaseAttachmentUploadError, fetchCaseDetailsByCaseNumber, markCaseAttachmentUploadFailed, MultipartUploadError, pollAttachmentUploadStatus, uploadCaseAttachment, } from '@rh-support/utils';
|
|
13
13
|
import { useTranslation } from 'react-i18next';
|
|
14
14
|
// TODO: Re-enable when Hydra/GraphQL attachment APIs support secure support again
|
|
15
15
|
// Previously: useS3Upload(idToUploadTo, isSecureSupport) and passed isSecureSupport into uploadAttachmentS3
|
|
@@ -29,7 +29,7 @@ export function useS3Upload(caseNumber, apolloClient, caseSalesforceId) {
|
|
|
29
29
|
});
|
|
30
30
|
});
|
|
31
31
|
const uploadFile = (_a) => __awaiter(this, [_a], void 0, function* ({ file, description = '', isPrivate = false, listenerFn = (_percent, _abort) => { }, }) {
|
|
32
|
-
var _b;
|
|
32
|
+
var _b, _c;
|
|
33
33
|
try {
|
|
34
34
|
yield getFileAccessDetails(file);
|
|
35
35
|
}
|
|
@@ -50,7 +50,7 @@ export function useS3Upload(caseNumber, apolloClient, caseSalesforceId) {
|
|
|
50
50
|
resolvedCaseSalesforceId = caseDetails === null || caseDetails === void 0 ? void 0 : caseDetails.id;
|
|
51
51
|
}
|
|
52
52
|
if (apolloClient && resolvedCaseSalesforceId) {
|
|
53
|
-
yield pollAttachmentUploadStatus(apolloClient, resolvedCaseSalesforceId, attachmentId);
|
|
53
|
+
yield pollAttachmentUploadStatus(apolloClient, resolvedCaseSalesforceId, attachmentId, caseNumber);
|
|
54
54
|
}
|
|
55
55
|
return attachmentId;
|
|
56
56
|
}
|
|
@@ -58,6 +58,13 @@ export function useS3Upload(caseNumber, apolloClient, caseSalesforceId) {
|
|
|
58
58
|
if (error.message === 'Request aborted by user') {
|
|
59
59
|
return;
|
|
60
60
|
}
|
|
61
|
+
//mark ContentVersion as Failed in SCT so it does not stay "In Progress".
|
|
62
|
+
const attachmentIdFromError = (error instanceof MultipartUploadError && ((_c = error.resumeData) === null || _c === void 0 ? void 0 : _c.attachmentId)) ||
|
|
63
|
+
(error instanceof CaseAttachmentUploadError && error.attachmentId) ||
|
|
64
|
+
undefined;
|
|
65
|
+
if (attachmentIdFromError && apolloClient && caseSalesforceId) {
|
|
66
|
+
void markCaseAttachmentUploadFailed(apolloClient, caseNumber, attachmentIdFromError);
|
|
67
|
+
}
|
|
61
68
|
throw error;
|
|
62
69
|
}
|
|
63
70
|
});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rh-support/troubleshoot",
|
|
3
|
-
"version": "2.7.
|
|
3
|
+
"version": "2.7.29",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public",
|
|
6
6
|
"registry": "https://registry.npmjs.org"
|
|
@@ -52,11 +52,11 @@
|
|
|
52
52
|
"@progress/kendo-licensing": "1.3.5",
|
|
53
53
|
"@progress/kendo-react-pdf": "^5.16.0",
|
|
54
54
|
"@redux-devtools/extension": "^3.3.0",
|
|
55
|
-
"@rh-support/components": "2.6.
|
|
56
|
-
"@rh-support/react-context": "2.6.
|
|
55
|
+
"@rh-support/components": "2.6.26",
|
|
56
|
+
"@rh-support/react-context": "2.6.28",
|
|
57
57
|
"@rh-support/types": "2.0.31",
|
|
58
|
-
"@rh-support/user-permissions": "2.6.
|
|
59
|
-
"@rh-support/utils": "2.6.
|
|
58
|
+
"@rh-support/user-permissions": "2.6.24",
|
|
59
|
+
"@rh-support/utils": "2.6.23",
|
|
60
60
|
"@types/react-redux": "^7.1.33",
|
|
61
61
|
"@types/redux": "^3.6.0",
|
|
62
62
|
"date-fns": "3.6.0",
|
|
@@ -129,5 +129,5 @@
|
|
|
129
129
|
"defaults and supports es6-module",
|
|
130
130
|
"maintained node versions"
|
|
131
131
|
],
|
|
132
|
-
"gitHead": "
|
|
132
|
+
"gitHead": "2f71c982abea9980c24adf3c673fbe2b0a0454bf"
|
|
133
133
|
}
|