@myinterview/widget-react 1.1.44 → 1.1.45-development-2356482

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.
@@ -36,6 +36,7 @@ interface IConfig {
36
36
  accessibility_id?: string;
37
37
  recordWithoutVideo?: boolean;
38
38
  forcedView?: IViews;
39
+ useSafeUpload?: boolean;
39
40
  }
40
41
  export type IClientConfig = Omit<IConfig, 'practiceQuestions'> & {
41
42
  practiceQuestions?: IClientQuestion[];
@@ -122,6 +122,9 @@ export declare const enum STATES {
122
122
  RE_INIT_RECORDER__NEXT_RETAKE = "reInitRecorderNextRetake",
123
123
  RE_INIT_RECORDER__NEXT_QUESTION = "reInitRecorderNextQuestion",
124
124
  UPLOADING = "uploading",
125
+ UPLOADING__SELECTOR = "uploadingSelector",
126
+ UPLOADING__LAST_QUESTION = "uploadingLastQuestion",
127
+ UPLOADING__SAFE_UPLOAD = "uploadingSafeUpload",
125
128
  CONFIRM = "confirm",
126
129
  CONFIRM_WATING = "confirmWaiting",
127
130
  FINISHED = "finished",
@@ -220,6 +223,7 @@ export declare const enum GUARDS {
220
223
  IS_DISCONNECTED = "isDisconnected",
221
224
  CAN_START_INTERVIEW = "canStartInterview",
222
225
  ARE_ALL_QUESTIONS_UPLOADED = "areAllQuestionsUploaded",
226
+ IS_CURRENT_QUESTION_SAFE_UPLOADED = "isCurrentQuestionSafeUploaded",
223
227
  SHOULD_SHOW_WELCOME = "shouldShowWelcome",
224
228
  IS_NO_SOUND_ERROR = "isNoSoundError",
225
229
  IS_VIDEO_CORRUPTED = "isVideoCorrupted",
@@ -229,7 +233,8 @@ export declare const enum GUARDS {
229
233
  IS_RECORDER_READY = "isRecorderReady",
230
234
  IS_ASSESSMENT_QUESTION = "isAssessmentQuestion",
231
235
  IS_TIMES_UP = "isTimesUp",
232
- SHOULD_TRY_TO_CONFIRM = "shouldTryToConfirm"
236
+ SHOULD_TRY_TO_CONFIRM = "shouldTryToConfirm",
237
+ IS_SAFE_UPLOAD = "isSafeUpload"
233
238
  }
234
239
  export declare const enum TAGS {
235
240
  SETUP = "setup",
package/dist/esm/index.js CHANGED
@@ -8079,6 +8079,9 @@ var STATES$5;
8079
8079
  STATES["RE_INIT_RECORDER__NEXT_RETAKE"] = "reInitRecorderNextRetake";
8080
8080
  STATES["RE_INIT_RECORDER__NEXT_QUESTION"] = "reInitRecorderNextQuestion";
8081
8081
  STATES["UPLOADING"] = "uploading";
8082
+ STATES["UPLOADING__SELECTOR"] = "uploadingSelector";
8083
+ STATES["UPLOADING__LAST_QUESTION"] = "uploadingLastQuestion";
8084
+ STATES["UPLOADING__SAFE_UPLOAD"] = "uploadingSafeUpload";
8082
8085
  STATES["CONFIRM"] = "confirm";
8083
8086
  STATES["CONFIRM_WATING"] = "confirmWaiting";
8084
8087
  STATES["FINISHED"] = "finished";
@@ -8181,6 +8184,7 @@ var GUARDS$3;
8181
8184
  GUARDS["IS_DISCONNECTED"] = "isDisconnected";
8182
8185
  GUARDS["CAN_START_INTERVIEW"] = "canStartInterview";
8183
8186
  GUARDS["ARE_ALL_QUESTIONS_UPLOADED"] = "areAllQuestionsUploaded";
8187
+ GUARDS["IS_CURRENT_QUESTION_SAFE_UPLOADED"] = "isCurrentQuestionSafeUploaded";
8184
8188
  GUARDS["SHOULD_SHOW_WELCOME"] = "shouldShowWelcome";
8185
8189
  GUARDS["IS_NO_SOUND_ERROR"] = "isNoSoundError";
8186
8190
  GUARDS["IS_VIDEO_CORRUPTED"] = "isVideoCorrupted";
@@ -8191,6 +8195,7 @@ var GUARDS$3;
8191
8195
  GUARDS["IS_ASSESSMENT_QUESTION"] = "isAssessmentQuestion";
8192
8196
  GUARDS["IS_TIMES_UP"] = "isTimesUp";
8193
8197
  GUARDS["SHOULD_TRY_TO_CONFIRM"] = "shouldTryToConfirm";
8198
+ GUARDS["IS_SAFE_UPLOAD"] = "isSafeUpload";
8194
8199
  })(GUARDS$3 || (GUARDS$3 = {}));
8195
8200
  var TAGS;
8196
8201
  (function (TAGS) {
@@ -35410,7 +35415,7 @@ const prod_config = {
35410
35415
  const config$1 = (configEnv) => {
35411
35416
  let env = configEnv;
35412
35417
  try {
35413
- env !== null && env !== void 0 ? env : (env = "prod");
35418
+ env !== null && env !== void 0 ? env : (env = "staging");
35414
35419
  }
35415
35420
  catch (_a) { }
35416
35421
  switch (env) {
@@ -35429,8 +35434,8 @@ const configGenerator = () => {
35429
35434
  let environment;
35430
35435
  let release;
35431
35436
  try {
35432
- environment !== null && environment !== void 0 ? environment : (environment = "prod");
35433
- release !== null && release !== void 0 ? release : (release = "1.1.44");
35437
+ environment !== null && environment !== void 0 ? environment : (environment = "staging");
35438
+ release !== null && release !== void 0 ? release : (release = "1.1.45");
35434
35439
  }
35435
35440
  catch (_a) {
35436
35441
  console.error('sentry configGenerator error');
@@ -45348,10 +45353,13 @@ const InnerView = React__default.forwardRef(({ widgetMachine, sendToWidget, reco
45348
45353
  setIsQuestionVideoWatched(false);
45349
45354
  }, [isVideoQuestionState]);
45350
45355
  useEffect(() => {
45351
- var _a;
45356
+ var _a, _b;
45352
45357
  if (isUploadingState) {
45353
45358
  (_a = myinterviewRef === null || myinterviewRef === void 0 ? void 0 : myinterviewRef.current) === null || _a === void 0 ? void 0 : _a.style.setProperty('--myinterview-widget-background-height', '100vh');
45354
45359
  }
45360
+ else {
45361
+ (_b = myinterviewRef === null || myinterviewRef === void 0 ? void 0 : myinterviewRef.current) === null || _b === void 0 ? void 0 : _b.style.setProperty('--myinterview-widget-background-height', 'calc(40vh - 100px)');
45362
+ }
45355
45363
  }, [isUploadingState]);
45356
45364
  useEffect(() => {
45357
45365
  var _a, _b, _c;
@@ -51590,6 +51598,16 @@ const accWidgetMachine = createMachine({
51590
51598
  target: STATES$5.UPLOADING,
51591
51599
  cond: GUARDS$3.IS_LAST_INTERVIEW_QUESTION,
51592
51600
  },
51601
+ {
51602
+ actions: [
51603
+ ACTIONS$6.UPDATE_VIDEO_FILE_COMPLETED,
51604
+ ACTIONS$6.SPAWN_UPLOADER,
51605
+ ACTIONS$6.UPDATE_TOTAL_FILES_SIZE,
51606
+ ACTIONS$6.RESET_FAILED_RECORDING_ATTEMPTS,
51607
+ ],
51608
+ target: STATES$5.UPLOADING,
51609
+ cond: GUARDS$3.IS_SAFE_UPLOAD,
51610
+ },
51593
51611
  {
51594
51612
  actions: [
51595
51613
  ACTIONS$6.UPDATE_VIDEO_FILE_COMPLETED,
@@ -51671,11 +51689,32 @@ const accWidgetMachine = createMachine({
51671
51689
  },
51672
51690
  [STATES$5.UPLOADING]: {
51673
51691
  tags: [TAGS.DISPLAY_OUTER_VIEW, TAGS.DISPLAY_UPLOAD],
51674
- entry: [
51675
- { type: ACTIONS$6.SESSION_EVENT, data: { event: 'widget_completed', type: 'date' } },
51676
- { type: ACTIONS$6.CONSOLE_DEBUG, data: { message: DEBUG.UPLOADING_STATE } },
51677
- ],
51678
- always: { target: STATES$5.CONFIRM, cond: GUARDS$3.ARE_ALL_QUESTIONS_UPLOADED },
51692
+ initial: STATES$5.UPLOADING__SELECTOR,
51693
+ states: {
51694
+ [STATES$5.UPLOADING__SELECTOR]: {
51695
+ entry: [
51696
+ { type: ACTIONS$6.CONSOLE_DEBUG, data: { message: DEBUG.UPLOADING_STATE } },
51697
+ ],
51698
+ always: [
51699
+ { target: STATES$5.UPLOADING__LAST_QUESTION, cond: GUARDS$3.IS_LAST_INTERVIEW_QUESTION },
51700
+ { target: STATES$5.UPLOADING__SAFE_UPLOAD },
51701
+ ],
51702
+ },
51703
+ [STATES$5.UPLOADING__LAST_QUESTION]: {
51704
+ entry: [
51705
+ { type: ACTIONS$6.SESSION_EVENT, data: { event: 'widget_completed', type: 'date' } },
51706
+ ],
51707
+ always: [
51708
+ { target: `#widget.${STATES$5.CONFIRM}`, cond: GUARDS$3.ARE_ALL_QUESTIONS_UPLOADED },
51709
+ ],
51710
+ },
51711
+ [STATES$5.UPLOADING__SAFE_UPLOAD]: {
51712
+ always: [
51713
+ { target: `#widget.${STATES$5.NEXT_QUESTION_MIDDLEWARE}`, cond: GUARDS$3.IS_CURRENT_QUESTION_SAFE_UPLOADED },
51714
+ ],
51715
+ exit: [ACTIONS$6.UPDATE_QUESTION_NUMBER],
51716
+ },
51717
+ },
51679
51718
  invoke: {
51680
51719
  id: 'updateVideo',
51681
51720
  src: SERVICES$1.UPDATE_VIDEO_OBJECT_CALL,
@@ -52006,6 +52045,7 @@ const accWidgetMachine = createMachine({
52006
52045
  [GUARDS$3.IS_DISCONNECTED]: ({ isConnected }) => !isConnected,
52007
52046
  [GUARDS$3.CAN_START_INTERVIEW]: ({ checksState }) => (checksState.camera === CAMERA_STATES.READY || checksState.camera === CAMERA_STATES.SKIP) && checksState.microphone === MICROPHONE_STATES.READY && [INTERNET_STATES.CONNECTED, INTERNET_STATES.SLOW_CONNECTION].includes(checksState.internet),
52008
52047
  [GUARDS$3.ARE_ALL_QUESTIONS_UPLOADED]: ({ widgetConfig }) => { var _a, _b; return !!((_b = (_a = widgetConfig.video) === null || _a === void 0 ? void 0 : _a.videos) === null || _b === void 0 ? void 0 : _b.every((video) => video.uploaded)); },
52048
+ [GUARDS$3.IS_CURRENT_QUESTION_SAFE_UPLOADED]: ({ widgetConfig, currentQuestion }) => { var _a, _b; return !!(widgetConfig.config.useSafeUpload && ((_b = (_a = widgetConfig.video) === null || _a === void 0 ? void 0 : _a.videos) === null || _b === void 0 ? void 0 : _b[currentQuestion - 1].uploaded)); },
52009
52049
  [GUARDS$3.SHOULD_SHOW_WELCOME]: ({ widgetConfig }) => !!widgetConfig.config.introVideo || !!widgetConfig.config.welcomeTitle || !!widgetConfig.config.welcomeText,
52010
52050
  [GUARDS$3.IS_NO_SOUND_ERROR]: (_, { data }) => data.code === MICROPHONE_NO_SOUND_ERROR_CODE,
52011
52051
  [GUARDS$3.IS_VIDEO_CORRUPTED]: (_, { data }) => !data.webm.size,
@@ -52016,6 +52056,7 @@ const accWidgetMachine = createMachine({
52016
52056
  [GUARDS$3.IS_ASSESSMENT_QUESTION]: ({ questions, currentQuestion }) => !!questions[currentQuestion - 1].answerType && questions[currentQuestion - 1].answerType !== ANSWER_TYPES.VIDEO,
52017
52057
  [GUARDS$3.IS_TIMES_UP]: (_, event) => !!event.data.isTimesUp,
52018
52058
  [GUARDS$3.SHOULD_TRY_TO_CONFIRM]: ({ confirmUploadedFalseCount }) => confirmUploadedFalseCount <= MAX_CONFIRM_ATTEMPTS,
52059
+ [GUARDS$3.IS_SAFE_UPLOAD]: ({ widgetConfig }) => !!widgetConfig.config.useSafeUpload,
52019
52060
  },
52020
52061
  });
52021
52062
 
@@ -54871,9 +54912,7 @@ const Main = ({ widgetConfig, setShouldShowWaterMark, myinterviewRef, isWidgetMi
54871
54912
  });
54872
54913
  }
54873
54914
  SentryHub.configureScope((scope) => {
54874
- scope.setTags({
54875
- company_id: candidate === null || candidate === void 0 ? void 0 : candidate.company_id,
54876
- });
54915
+ scope.setTags(Object.assign({ company_id: candidate === null || candidate === void 0 ? void 0 : candidate.company_id, email: candidate.email }, (isIphone && { iphoneModel: getIPhoneModel() })));
54877
54916
  });
54878
54917
  }, [candidate, job === null || job === void 0 ? void 0 : job.language]);
54879
54918
  const setBackgroundOpacity = () => {
@@ -55028,7 +55067,7 @@ const useAccessibility = () => {
55028
55067
  };
55029
55068
 
55030
55069
  const Widget = forwardRef(({ candidate, job, video, config, disabled = false, buttonText = 'START INTERVIEW', buttonStyle = {}, children, styleUrls = [], fontsUrls = [], }, clientRef) => {
55031
- const widget_version = "1.1.44";
55070
+ const widget_version = "1.1.45";
55032
55071
  const [isWidgetOpen, setIsWidgetOpen] = useState(false);
55033
55072
  const [isWidgetMinimized, setIsWidgetMinimized] = useState(false);
55034
55073
  const [isIncognitoMode, setIsIncognitoMode] = useState(false);
@@ -55062,14 +55101,6 @@ const Widget = forwardRef(({ candidate, job, video, config, disabled = false, bu
55062
55101
  "@import url(",
55063
55102
  styleUrl,
55064
55103
  ")"))), [styleUrls]);
55065
- useEffect(() => {
55066
- SentryHub.configureScope((scope) => {
55067
- scope.setUser({
55068
- email: candidate.email,
55069
- });
55070
- scope.setTags(Object.assign({}, (isIphone && { iphoneModel: getIPhoneModel() })));
55071
- });
55072
- }, [candidate.email]);
55073
55104
  useEffect(() => {
55074
55105
  if (config.env) {
55075
55106
  updateVideoAxiosBaseURL(config$1(config.env).serverUrl);
@@ -55109,7 +55140,7 @@ const Widget = forwardRef(({ candidate, job, video, config, disabled = false, bu
55109
55140
  const openWidget = () => {
55110
55141
  var _a;
55111
55142
  (_a = config.onWidgetClicked) === null || _a === void 0 ? void 0 : _a.call(config);
55112
- if (![candidate.username, candidate.email, config.auth].every(Boolean))
55143
+ if (!config.auth)
55113
55144
  return;
55114
55145
  setLayoutStyleProperties();
55115
55146
  document.body.style.maxHeight = '100vh';