From 1f9fc4cbfb7d93a699714612f65e71c7773faecc Mon Sep 17 00:00:00 2001 From: Boris Sekachev Date: Mon, 17 Oct 2022 15:06:39 +0300 Subject: [PATCH] Fixed CVAT annotation view restoring (#5134) * Fixed CVAT annotation view restoring * Updated version, license, changelog * Redesigned fix --- CHANGELOG.md | 1 + cvat-ui/package.json | 2 +- cvat-ui/src/actions/boundaries-actions.ts | 47 +++++++++++++---------- 3 files changed, 29 insertions(+), 21 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 21921ee2..2097f528 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -48,6 +48,7 @@ non-ascii paths while adding files from "Connected file share" (issue #4428) - Double modal export/backup a task/project () - Fixed bug of computing Job's unsolved/resolved issues numbers () - Dataset export for job () +- Restoring CVAT in case of React-renderning fail () ### Security - TDB diff --git a/cvat-ui/package.json b/cvat-ui/package.json index df9566a4..0b266d26 100644 --- a/cvat-ui/package.json +++ b/cvat-ui/package.json @@ -1,6 +1,6 @@ { "name": "cvat-ui", - "version": "1.42.2", + "version": "1.42.3", "description": "CVAT single-page application", "main": "src/index.tsx", "scripts": { diff --git a/cvat-ui/src/actions/boundaries-actions.ts b/cvat-ui/src/actions/boundaries-actions.ts index 28b30327..faa1cac4 100644 --- a/cvat-ui/src/actions/boundaries-actions.ts +++ b/cvat-ui/src/actions/boundaries-actions.ts @@ -1,4 +1,5 @@ // Copyright (C) 2020-2022 Intel Corporation +// Copyright (C) 2022 CVAT.ai Corporation // // SPDX-License-Identifier: MIT @@ -17,23 +18,19 @@ export enum BoundariesActionTypes { } export const boundariesActions = { - resetAfterError: ( - job: any, - states: any[], - frameNumber: number, - frameData: any | null, - minZ: number, - maxZ: number, - colors: string[], - ) => createAction(BoundariesActionTypes.RESET_AFTER_ERROR, { - job, - states, - frameNumber, - frameData, - minZ, - maxZ, - colors, - }), + resetAfterError: (payload?: { + job: any; + states: any[]; + openTime: number; + frameNumber: number; + frameFilename: string; + frameHasRelatedContext: boolean; + colors: string[]; + filters: string[]; + frameData: any; + minZ: number; + maxZ: number; + }) => createAction(BoundariesActionTypes.RESET_AFTER_ERROR, payload), throwResetError: () => createAction(BoundariesActionTypes.THROW_RESET_ERROR), }; @@ -55,9 +52,19 @@ export function resetAfterErrorAsync(): ThunkAction { await job.logger.log(LogType.restoreJob); - dispatch(boundariesActions.resetAfterError(job, states, frameNumber, frameData, minZ, maxZ, colors)); - } else { - dispatch(boundariesActions.resetAfterError(null, [], 0, null, 0, 0, [])); + dispatch(boundariesActions.resetAfterError({ + job, + states, + openTime: state.annotation.job.openTime || Date.now(), + frameNumber, + frameFilename: frameData.filename, + frameHasRelatedContext: frameData.hasRelatedContext, + colors, + filters: [], + frameData, + minZ, + maxZ, + })); } } catch (error) { dispatch(boundariesActions.throwResetError());