Fix some typos (#5601)

main
Roman Donchenko 3 years ago committed by GitHub
parent 0f0913c138
commit 330f123785
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -76,7 +76,7 @@ jobs:
gen/generate.sh
cd ..
- name: Install test requrements
- name: Install test requirements
run: |
pip3 install --user cvat-sdk/
pip3 install --user cvat-cli/

@ -102,7 +102,7 @@ non-ascii paths while adding files from "Connected file share" (issue #4428)
(<https://github.com/opencv/cvat/issues/4962>)
- HRNET serverless function (<https://github.com/opencv/cvat/pull/4944>)
- Invalid export of segmentation masks when the `background` label gets nonzero id (<https://github.com/opencv/cvat/pull/5056>)
- A trailing slash in hostname does't allow SDK to send some requests
- A trailing slash in hostname doesn't allow SDK to send some requests
(<https://github.com/opencv/cvat/pull/5057>)
- Double modal export/backup a task/project (<https://github.com/opencv/cvat/pull/5075>)
- Fixed bug of computing Job's unsolved/resolved issues numbers (<https://github.com/opencv/cvat/pull/5101>)
@ -137,7 +137,7 @@ non-ascii paths while adding files from "Connected file share" (issue #4428)
- An exception when run export for an empty task (<https://github.com/opencv/cvat/pull/5396>)
- Fixed FBRS serverless function runtime error on images with alpha channel (<https://github.com/opencv/cvat/pull/5384>)
- Attaching manifest with custom name (<https://github.com/opencv/cvat/pull/5377>)
- Uploading non-zip annotaion files (<https://github.com/opencv/cvat/pull/5386>)
- Uploading non-zip annotation files (<https://github.com/opencv/cvat/pull/5386>)
- Loss of rotation in CVAT format (<https://github.com/opencv/cvat/pull/5407>)
- A permission problem with interactive model launches for workers in orgs (<https://github.com/opencv/cvat/issues/4996>)
- Fix chart not being upgradable (<https://github.com/opencv/cvat/pull/5371>)
@ -222,7 +222,7 @@ Skeleton (<https://github.com/cvat-ai/cvat/pull/1>), (<https://github.com/opencv
- Added helm chart support for CVAT 2.X and made ingress compatible with Kubernetes >=1.22 (<https://github.com/openvinotoolkit/cvat/pull/4448>)
### Fixed
- Permission error occured when accessing the JobCommits (<https://github.com/openvinotoolkit/cvat/pull/4435>)
- Permission error occurred when accessing the JobCommits (<https://github.com/openvinotoolkit/cvat/pull/4435>)
- job assignee can remove or update any issue created by the task owner (<https://github.com/openvinotoolkit/cvat/pull/4436>)
- Bug: Incorrect point deletion with keyboard shortcut (<https://github.com/openvinotoolkit/cvat/pull/4420>)
- some AI Tools were not sending responses properly (<https://github.com/openvinotoolkit/cvat/issues/4432>)
@ -307,7 +307,7 @@ Skeleton (<https://github.com/cvat-ai/cvat/pull/1>), (<https://github.com/opencv
- Annotations search does not work correctly in some corner cases (when use complex properties with width, height) (<https://github.com/openvinotoolkit/cvat/pull/4198>)
- Kibana requests are not proxied due to django-revproxy incompatibility with Django >3.2.x (<https://github.com/openvinotoolkit/cvat/issues/4085>)
- Content type for getting frame with tasks/{id}/data/ endpoint (<https://github.com/openvinotoolkit/cvat/pull/4333>)
- Bug: Permission error occured when accessing the comments of a specific issue (<https://github.com/openvinotoolkit/cvat/issues/4416>)
- Bug: Permission error occurred when accessing the comments of a specific issue (<https://github.com/openvinotoolkit/cvat/issues/4416>)
### Security
@ -362,7 +362,7 @@ Skeleton (<https://github.com/cvat-ai/cvat/pull/1>), (<https://github.com/opencv
### Added
- Added ability to import data from share with cli without copying the data (<https://github.com/openvinotoolkit/cvat/issues/2862>)
- Notification if the browser does not support nesassary API
- Notification if the browser does not support necessary API
- Added ability to export project as a dataset (<https://github.com/openvinotoolkit/cvat/pull/3365>)
and project with 3D tasks (<https://github.com/openvinotoolkit/cvat/pull/3502>)
- Additional inline tips in interactors with demo gifs (<https://github.com/openvinotoolkit/cvat/pull/3473>)

@ -2977,7 +2977,7 @@ export class SkeletonTrack extends Track {
);
if (errors.length) {
throw new Error(`Several errors occured during saving skeleton:\n ${errors.join(';\n')}`);
throw new Error(`Several errors occurred during saving skeleton:\n ${errors.join(';\n')}`);
}
};

@ -88,13 +88,13 @@ const cloudStoragesActions = {
getCloudStorageStatusFailed: (cloudStorageID: number, error: any) => (
createAction(CloudStorageActionTypes.GET_CLOUD_STORAGE_STATUS_FAILED, { cloudStorageID, error })
),
getCloudStoragePreiew: (cloudStorageID: number) => (
getCloudStoragePreview: (cloudStorageID: number) => (
createAction(CloudStorageActionTypes.GET_CLOUD_STORAGE_PREVIEW, { cloudStorageID })
),
getCloudStoragePreiewSuccess: (cloudStorageID: number, preview: string) => (
getCloudStoragePreviewSuccess: (cloudStorageID: number, preview: string) => (
createAction(CloudStorageActionTypes.GET_CLOUD_STORAGE_PREVIEW_SUCCESS, { cloudStorageID, preview })
),
getCloudStoragePreiewFailed: (cloudStorageID: number, error: any) => (
getCloudStoragePreviewFailed: (cloudStorageID: number, error: any) => (
createAction(CloudStorageActionTypes.GET_CLOUD_STORAGE_PREVIEW_FAILED, { cloudStorageID, error })
),
};
@ -199,12 +199,12 @@ export function getCloudStorageStatusAsync(cloudStorage: CloudStorage): ThunkAct
export function getCloudStoragePreviewAsync(cloudStorage: CloudStorage): ThunkAction {
return async (dispatch: ActionCreator<Dispatch>): Promise<void> => {
dispatch(cloudStoragesActions.getCloudStoragePreiew(cloudStorage.id));
dispatch(cloudStoragesActions.getCloudStoragePreview(cloudStorage.id));
try {
const result = await cloudStorage.getPreview();
dispatch(cloudStoragesActions.getCloudStoragePreiewSuccess(cloudStorage.id, result));
dispatch(cloudStoragesActions.getCloudStoragePreviewSuccess(cloudStorage.id, result));
} catch (error) {
dispatch(cloudStoragesActions.getCloudStoragePreiewFailed(cloudStorage.id, error));
dispatch(cloudStoragesActions.getCloudStoragePreviewFailed(cloudStorage.id, error));
}
};
}

@ -159,8 +159,8 @@ export const importBackupAsync = (instanceType: 'project' | 'task', storage: Sto
async (dispatch) => {
dispatch(importActions.importBackup());
try {
const inctanceClass = (instanceType === 'task') ? core.classes.Task : core.classes.Project;
const instance = await inctanceClass.restore(storage, file);
const instanceClass = (instanceType === 'task') ? core.classes.Task : core.classes.Project;
const instance = await instanceClass.restore(storage, file);
dispatch(importActions.importBackupSuccess(instance.id, instanceType));
} catch (error) {
dispatch(importActions.importBackupFailed(instanceType, error));

@ -27,13 +27,13 @@ const jobsActions = {
createAction(JobsActionTypes.GET_JOBS_SUCCESS, { jobs })
),
getJobsFailed: (error: any) => createAction(JobsActionTypes.GET_JOBS_FAILED, { error }),
getJobPreiew: (jobID: number) => (
getJobPreview: (jobID: number) => (
createAction(JobsActionTypes.GET_JOB_PREVIEW, { jobID })
),
getJobPreiewSuccess: (jobID: number, preview: string) => (
getJobPreviewSuccess: (jobID: number, preview: string) => (
createAction(JobsActionTypes.GET_JOB_PREVIEW_SUCCESS, { jobID, preview })
),
getJobPreiewFailed: (jobID: number, error: any) => (
getJobPreviewFailed: (jobID: number, error: any) => (
createAction(JobsActionTypes.GET_JOB_PREVIEW_FAILED, { jobID, error })
),
};
@ -59,11 +59,11 @@ export const getJobsAsync = (query: JobsQuery): ThunkAction => async (dispatch)
};
export const getJobPreviewAsync = (job: Job): ThunkAction => async (dispatch) => {
dispatch(jobsActions.getJobPreiew(job.id));
dispatch(jobsActions.getJobPreview(job.id));
try {
const result = await job.frames.preview();
dispatch(jobsActions.getJobPreiewSuccess(job.id, result));
dispatch(jobsActions.getJobPreviewSuccess(job.id, result));
} catch (error) {
dispatch(jobsActions.getJobPreiewFailed(job.id, error));
dispatch(jobsActions.getJobPreviewFailed(job.id, error));
}
};

@ -61,13 +61,13 @@ const projectActions = {
deleteProjectFailed: (projectId: number, error: any) => (
createAction(ProjectsActionTypes.DELETE_PROJECT_FAILED, { projectId, error })
),
getProjectPreiew: (projectID: number) => (
getProjectPreview: (projectID: number) => (
createAction(ProjectsActionTypes.GET_PROJECT_PREVIEW, { projectID })
),
getProjectPreiewSuccess: (projectID: number, preview: string) => (
getProjectPreviewSuccess: (projectID: number, preview: string) => (
createAction(ProjectsActionTypes.GET_PROJECT_PREVIEW_SUCCESS, { projectID, preview })
),
getProjectPreiewFailed: (projectID: number, error: any) => (
getProjectPreviewFailed: (projectID: number, error: any) => (
createAction(ProjectsActionTypes.GET_PROJECT_PREVIEW_FAILED, { projectID, error })
),
};
@ -123,7 +123,7 @@ export function getProjectsAsync(
dispatch(projectActions.getProjectsSuccess(array, result.count));
// Appropriate tasks fetching proccess needs with retrieving only a single project
// Appropriate tasks fetching process needs with retrieving only a single project
if (Object.keys(filteredQuery).includes('id') && typeof filteredQuery.id === 'number') {
dispatch(getProjectTasksAsync({
...tasksQuery,
@ -184,11 +184,11 @@ export function deleteProjectAsync(projectInstance: any): ThunkAction {
}
export const getProjectsPreviewAsync = (project: any): ThunkAction => async (dispatch) => {
dispatch(projectActions.getProjectPreiew(project.id));
dispatch(projectActions.getProjectPreview(project.id));
try {
const result = await project.preview();
dispatch(projectActions.getProjectPreiewSuccess(project.id, result));
dispatch(projectActions.getProjectPreviewSuccess(project.id, result));
} catch (error) {
dispatch(projectActions.getProjectPreiewFailed(project.id, error));
dispatch(projectActions.getProjectPreviewFailed(project.id, error));
}
};

@ -290,7 +290,7 @@ class OpenCVControlComponent extends React.PureComponent<Props & DispatchToProps
} catch (error: any) {
notification.error({
description: error.toString(),
message: 'OpenCV.js processing error occured',
message: 'OpenCV.js processing error occurred',
className: 'cvat-notification-notice-opencv-processing-error',
});
}
@ -346,7 +346,7 @@ class OpenCVControlComponent extends React.PureComponent<Props & DispatchToProps
} catch (error: any) {
notification.error({
description: error.toString(),
message: 'Tracking error occured',
message: 'Tracking error occurred',
});
}
};
@ -401,7 +401,7 @@ class OpenCVControlComponent extends React.PureComponent<Props & DispatchToProps
} catch (error: any) {
notification.error({
description: error.toString(),
message: 'OpenCV.js processing error occured',
message: 'OpenCV.js processing error occurred',
className: 'cvat-notification-notice-opencv-processing-error',
});
} finally {
@ -836,7 +836,7 @@ class OpenCVControlComponent extends React.PureComponent<Props & DispatchToProps
isActivated, canvasInstance, labels, frameData,
} = this.props;
const { libraryInitialized, approxPolyAccuracy, mode } = this.state;
const dynamcPopoverPros = isActivated ?
const dynamicPopoverProps = isActivated ?
{
overlayStyle: {
display: 'none',
@ -860,7 +860,7 @@ class OpenCVControlComponent extends React.PureComponent<Props & DispatchToProps
) : (
<>
<CustomPopover
{...dynamcPopoverPros}
{...dynamicPopoverProps}
placement='right'
overlayClassName='cvat-opencv-control-popover'
content={this.renderContent()}

@ -143,7 +143,7 @@ interface State {
convertMasksToPolygons: boolean;
trackedShapes: TrackedShape[];
fetching: boolean;
pointsRecieved: boolean;
pointsReceived: boolean;
approxPolyAccuracy: number;
mode: 'detection' | 'interaction' | 'tracking';
portals: React.ReactPortal[];
@ -231,7 +231,7 @@ export class ToolsControlComponent extends React.PureComponent<Props, State> {
approxPolyAccuracy: props.defaultApproxPolyAccuracy,
trackedShapes: [],
fetching: false,
pointsRecieved: false,
pointsReceived: false,
mode: 'interaction',
portals: [],
};
@ -294,7 +294,7 @@ export class ToolsControlComponent extends React.PureComponent<Props, State> {
this.setState({
approxPolyAccuracy: defaultApproxPolyAccuracy,
pointsRecieved: false,
pointsReceived: false,
});
window.addEventListener('contextmenu', this.contextmenuDisabler);
}
@ -386,7 +386,7 @@ export class ToolsControlComponent extends React.PureComponent<Props, State> {
};
this.interaction.lastestApproximatedPoints = approximated;
this.setState({ pointsRecieved: !!response.points.length });
this.setState({ pointsReceived: !!response.points.length });
} finally {
if (this.interaction.id === interactionId && this.interaction.hideMessage) {
this.interaction.hideMessage();
@ -416,7 +416,7 @@ export class ToolsControlComponent extends React.PureComponent<Props, State> {
} catch (err: any) {
notification.error({
description: err.toString(),
message: 'Interaction error occured',
message: 'Interaction error occurred',
});
}
};
@ -508,7 +508,7 @@ export class ToolsControlComponent extends React.PureComponent<Props, State> {
} catch (err: any) {
notification.error({
description: err.toString(),
message: 'Tracking error occured',
message: 'Tracking error occurred',
});
}
};
@ -663,7 +663,7 @@ export class ToolsControlComponent extends React.PureComponent<Props, State> {
if (prevProps.frame !== frame && trackedShapes.length) {
// 1. find all trackable objects on the current frame
// 2. devide them into two groups: with relevant state, without relevant state
// 2. divide them into two groups: with relevant state, without relevant state
const trackingData = trackedShapes.reduce<AccumulatorType>(
(acc: AccumulatorType, trackedShape: TrackedShape): AccumulatorType => {
const {
@ -1277,7 +1277,7 @@ export class ToolsControlComponent extends React.PureComponent<Props, State> {
interactors, detectors, trackers, isActivated, canvasInstance, labels, frameIsDeleted,
} = this.props;
const {
fetching, approxPolyAccuracy, pointsRecieved, mode, portals, convertMasksToPolygons,
fetching, approxPolyAccuracy, pointsReceived, mode, portals, convertMasksToPolygons,
} = this.state;
if (![...interactors, ...detectors, ...trackers].length) return null;
@ -1302,7 +1302,7 @@ export class ToolsControlComponent extends React.PureComponent<Props, State> {
};
const showAnyContent = labels.length && !frameIsDeleted;
const showInteractionContent = isActivated && mode === 'interaction' && pointsRecieved && convertMasksToPolygons;
const showInteractionContent = isActivated && mode === 'interaction' && pointsReceived && convertMasksToPolygons;
const showDetectionContent = fetching && mode === 'detection';
const interactionContent: JSX.Element | null = showInteractionContent ? (

@ -25,7 +25,7 @@ export default function LabelsListComponent(): JSX.Element {
const issuesResolvedHidden = useSelector((state: CombinedState): any => state.review.issuesResolvedHidden);
const frames = issues.map((issue: any): number => issue.frame).sort((a: number, b: number) => +a - +b);
const nearestLeft = frames.filter((_frame: number): boolean => _frame < frame).reverse()[0];
const dinamicLeftProps: any = Number.isInteger(nearestLeft) ?
const dynamicLeftProps: any = Number.isInteger(nearestLeft) ?
{
onClick: () => dispatch(changeFrameAsync(nearestLeft)),
} :
@ -37,7 +37,7 @@ export default function LabelsListComponent(): JSX.Element {
};
const nearestRight = frames.filter((_frame: number): boolean => _frame > frame)[0];
const dinamicRightProps: any = Number.isInteger(nearestRight) ?
const dynamicRightProps: any = Number.isInteger(nearestRight) ?
{
onClick: () => dispatch(changeFrameAsync(nearestRight)),
} :
@ -54,12 +54,12 @@ export default function LabelsListComponent(): JSX.Element {
<Row justify='start' align='middle'>
<Col>
<CVATTooltip title='Find the previous frame with issues'>
<LeftOutlined className='cvat-issues-sidebar-previous-frame' {...dinamicLeftProps} />
<LeftOutlined className='cvat-issues-sidebar-previous-frame' {...dynamicLeftProps} />
</CVATTooltip>
</Col>
<Col offset={1}>
<CVATTooltip title='Find the next frame with issues'>
<RightOutlined className='cvat-issues-sidebar-next-frame' {...dinamicRightProps} />
<RightOutlined className='cvat-issues-sidebar-next-frame' {...dynamicRightProps} />
</CVATTooltip>
</Col>
<Col offset={2}>

@ -547,7 +547,7 @@ class CreateTaskContent extends React.PureComponent<Props & RouteComponentProps,
}, resolve);
});
private handleSubmitMutliTasks = (): void => {
private handleSubmitMultiTasks = (): void => {
this.validateBlocks()
.then(() => {
this.addMultiTasks();
@ -852,7 +852,7 @@ class CreateTaskContent extends React.PureComponent<Props & RouteComponentProps,
);
}
private renderFooterMutliTasks(): JSX.Element {
private renderFooterMultiTasks(): JSX.Element {
const {
multiTasks: items,
uploadFileErrorMessage,
@ -882,7 +882,7 @@ class CreateTaskContent extends React.PureComponent<Props & RouteComponentProps,
<Button
htmlType='submit'
type='primary'
onClick={this.handleSubmitMutliTasks}
onClick={this.handleSubmitMultiTasks}
disabled={!!uploadFileErrorMessage}
>
Submit&nbsp;
@ -911,7 +911,7 @@ class CreateTaskContent extends React.PureComponent<Props & RouteComponentProps,
{this.renderAdvancedBlock()}
<Col span={24} className='cvat-create-task-content-footer'>
{many ? this.renderFooterMutliTasks() : this.renderFooterSingleTask() }
{many ? this.renderFooterMultiTasks() : this.renderFooterSingleTask() }
</Col>
</Row>
);

@ -61,7 +61,7 @@ import AnnotationPageContainer from 'containers/annotation-page/annotation-page'
import { getCore } from 'cvat-core-wrapper';
import GlobalHotKeys, { KeyMap } from 'utils/mousetrap-react';
import { NotificationsState } from 'reducers';
import { customWaViewHit } from 'utils/enviroment';
import { customWaViewHit } from 'utils/environment';
import showPlatformNotification, {
platformInfo,
stopNotifications,

@ -18,7 +18,7 @@ export default function LabelSelector(props: Props): JSX.Element {
const {
labels, value, onChange, onEnterPress, ...rest
} = props;
const dinamicProps = value ?
const dynamicProps = value ?
{
value: typeof value === 'number' ? value : value.id,
} :
@ -37,7 +37,7 @@ export default function LabelSelector(props: Props): JSX.Element {
<Select
virtual={false}
{...rest}
{...dinamicProps}
{...dynamicProps}
showSearch
filterOption={(input: string, option?: OptionData | OptionGroupData) => {
if (option) {

@ -16,7 +16,7 @@ import { RawLabel, RawAttribute } from 'cvat-core-wrapper';
import CVATTooltip from 'components/common/cvat-tooltip';
import { validateParsedLabel, idGenerator, LabelOptColor } from './common';
function replaceTraillingCommas(value: string): string {
function replaceTrailingCommas(value: string): string {
return value.replace(/,{1}[\s]*}/g, '}');
}
@ -53,7 +53,7 @@ function transformSkeletonSVG(value: string): string {
function validateLabels(_: RuleObject, value: string): Promise<void> {
try {
const parsed = JSON.parse(replaceTraillingCommas(value));
const parsed = JSON.parse(replaceTrailingCommas(value));
if (!Array.isArray(parsed)) {
return Promise.reject(new Error('Field is expected to be a JSON array'));
}
@ -117,7 +117,7 @@ export default class RawViewer extends React.PureComponent<Props> {
private handleSubmit = (values: Store): void => {
const { onSubmit, labels } = this.props;
const parsed = JSON.parse(
replaceTraillingCommas(values.labels),
replaceTrailingCommas(values.labels),
) as RawLabel[];
const labelIDs: number[] = [];

@ -14,7 +14,7 @@ import Button from 'antd/lib/button';
import Dropdown from 'antd/lib/dropdown';
import Title from 'antd/lib/typography/Title';
import Pagination from 'antd/lib/pagination';
import { MutliPlusIcon } from 'icons';
import { MultiPlusIcon } from 'icons';
import { PlusOutlined } from '@ant-design/icons';
import Empty from 'antd/lib/empty';
import Input from 'antd/lib/input';
@ -241,7 +241,7 @@ export default function ProjectPageComponent(): JSX.Element {
</Button>
<Button
type='primary'
icon={<span className='anticon'><MutliPlusIcon /></span>}
icon={<span className='anticon'><MultiPlusIcon /></span>}
className='cvat-create-multi-tasks-button'
onClick={() => history.push(`/tasks/create?projectId=${id}&many=true`)}
>

@ -75,7 +75,7 @@ export default function ProjectItemComponent(props: Props): JSX.Element {
</span>
)}
description={(
<div className='cvat-porjects-project-item-description'>
<div className='cvat-projects-project-item-description'>
<div>
{ownerName && (
<>

@ -148,7 +148,7 @@
cursor: pointer;
}
.cvat-porjects-project-item-description {
.cvat-projects-project-item-description {
display: flex;
justify-content: space-between;

@ -16,7 +16,7 @@ import { importActions } from 'actions/import-actions';
import { SortingComponent, ResourceFilterHOC, defaultVisibility } from 'components/resource-sorting-filtering';
import { TasksQuery } from 'reducers';
import { usePrevious } from 'utils/hooks';
import { MutliPlusIcon } from 'icons';
import { MultiPlusIcon } from 'icons';
import CvatDropdownMenuPaper from 'components/common/cvat-dropdown-menu-paper';
import {
localStorageRecentKeyword, localStorageRecentCapacity, predefinedFilterValues, config,
@ -107,7 +107,7 @@ export default function TopBarComponent(props: VisibleTopBarProps): JSX.Element
className='cvat-create-multi-tasks-button'
type='primary'
onClick={(): void => history.push('/tasks/create?many=true')}
icon={<span className='anticon'><MutliPlusIcon /></span>}
icon={<span className='anticon'><MultiPlusIcon /></span>}
>
Create multi tasks
</Button>

@ -32,13 +32,13 @@ interface WebhookStatus {
function setUpWebhookStatus(status: number): WebhookStatus {
if (status && status.toString().startsWith('2')) {
return {
message: `Last delivery was succesful. Response: ${status}`,
message: `Last delivery was successful. Response: ${status}`,
className: 'cvat-webhook-status-available',
};
}
if (status && status.toString().startsWith('5')) {
return {
message: `Last delivery was not succesful. Response: ${status}`,
message: `Last delivery was not successful. Response: ${status}`,
className: 'cvat-webhook-status-failed',
};
}

@ -55,7 +55,7 @@ const DEFAULT_AWS_S3_REGIONS: string[][] = [
const SERVER_UNAVAILABLE_COMPONENT = (
<>
Make sure the CVAT backend and all necessary services
(Database, Redis and Open Policy Agent) are running and avaliable.
(Database, Redis and Open Policy Agent) are running and available.
If you upgraded from version 2.2.0 or earlier, manual actions may be needed,
see the&nbsp;
<a

@ -761,7 +761,7 @@ class AnnotationTopBarContainer extends React.PureComponent<Props, State> {
undoShortcut={normalizedKeyMap.UNDO}
redoShortcut={normalizedKeyMap.REDO}
drawShortcut={normalizedKeyMap.SWITCH_DRAW_MODE}
// this shortcut is handled in interactionHandler.ts separatelly
// this shortcut is handled in interactionHandler.ts separately
switchToolsBlockerShortcut={normalizedKeyMap.SWITCH_TOOLS_BLOCKER_STATE}
playPauseShortcut={normalizedKeyMap.PLAY_PAUSE}
deleteFrameShortcut={normalizedKeyMap.DELETE_FRAME}

@ -3,9 +3,11 @@
// SPDX-License-Identifier: MIT
import thunk from 'redux-thunk';
import { createStore, applyMiddleware, Store, Reducer } from 'redux';
import {
createStore, applyMiddleware, Store, Reducer,
} from 'redux';
import { createLogger } from 'redux-logger';
import { isDev } from 'utils/enviroment';
import { isDev } from 'utils/environment';
const logger = createLogger({
predicate: isDev,

@ -118,7 +118,7 @@ export const BrushIcon = React.memo((): JSX.Element => <SVGBrushIcon />);
export const EraserIcon = React.memo((): JSX.Element => <SVGEraserIcon />);
export const PolygonPlusIcon = React.memo((): JSX.Element => <SVGPolygonPlusIcon />);
export const PolygonMinusIcon = React.memo((): JSX.Element => <SVGPolygonMinusIcon />);
export const MutliPlusIcon = React.memo((): JSX.Element => <SVGMultiPlusIcon />);
export const MultiPlusIcon = React.memo((): JSX.Element => <SVGMultiPlusIcon />);
export const BackArrowIcon = React.memo((): JSX.Element => <SVGBackArrowIcon />);
export const ClearIcon = React.memo((): JSX.Element => <SVGClearIcon />);
export const ShowPasswordIcon = React.memo((): JSX.Element => <SVGShowPasswordIcon />);

@ -486,7 +486,7 @@ export default function (state = defaultState, action: AnyAction): Notifications
importing: {
...state.messages.importing,
backup:
`The ${instanceType} has been restored succesfully.
`The ${instanceType} has been restored successfully.
Click [here](/${instanceType}s/${instanceId}) to open`,
},
},

@ -40,12 +40,12 @@ const VIDEO_EXTENSIONS = ['3g2', '3ga', '3gp', '3gp2', '3gpp', '3gpp2', 'amv', '
];
export function getContentTypeRemoteFile(url: string): 'image' | 'video' | 'unknown' {
const extention = getUrlExtension(url);
if (IMAGE_EXTENSIONS.includes(extention)) {
const extension = getUrlExtension(url);
if (IMAGE_EXTENSIONS.includes(extension)) {
return 'image';
}
if (VIDEO_EXTENSIONS.includes(extention)) {
if (VIDEO_EXTENSIONS.includes(extension)) {
return 'video';
}

@ -45,8 +45,8 @@ export default function showPlatformNotification(): boolean {
}
export function showUnsupportedNotification(): boolean {
const nesassaryFeatures = [window.ResizeObserver, Object.fromEntries];
const necessaryFeatures = [window.ResizeObserver, Object.fromEntries];
const unsupportedFeatures = nesassaryFeatures.some((feature) => typeof feature === 'undefined');
const unsupportedFeatures = necessaryFeatures.some((feature) => typeof feature === 'undefined');
return !featuresNotificationShown && unsupportedFeatures;
}

@ -411,7 +411,7 @@ def push(tid, user, scheme, host):
except git.exc.GitCommandError as ex:
_have_no_access_exception(ex)
except Exception as ex:
slogger.task[tid].exception('push to remote repository errors occured', exc_info = True)
slogger.task[tid].exception('push to remote repository errors occurred', exc_info = True)
raise ex

@ -381,7 +381,7 @@ class ProjectViewSet(viewsets.GenericViewSet, mixins.ListModelMixin,
url_path=r'dataset/?$')
def dataset(self, request, pk):
self._object = self.get_object() # force to call check_object_permissions
rq_id = f"import:dataset-for-porject.id{pk}-by-{request.user}"
rq_id = f"import:dataset-for-project.id{pk}-by-{request.user}"
if request.method in {'POST', 'OPTIONS'}:
return self.import_annotations(
@ -465,7 +465,7 @@ class ProjectViewSet(viewsets.GenericViewSet, mixins.ListModelMixin,
return _import_project_dataset(
request=request,
filename=uploaded_file,
rq_id=f"import:dataset-for-porject.id{self._object.pk}-by-{request.user}",
rq_id=f"import:dataset-for-project.id{self._object.pk}-by-{request.user}",
rq_func=dm.project.import_dataset_as_project,
pk=self._object.pk,
format_name=format_name,

@ -41,13 +41,13 @@ services:
no_proxy: elasticsearch,kibana,logstash,nuclio,opa,${no_proxy:-}
NUMPROCS: 1
USE_ALLAUTH_SOCIAL_ACCOUNTS:
# Google enviroment variables
# Google environment variables
SOCIAL_AUTH_GOOGLE_CLIENT_ID:
SOCIAL_AUTH_GOOGLE_CLIENT_SECRET:
# GitHub enviroment variables
# GitHub environment variables
SOCIAL_AUTH_GITHUB_CLIENT_ID:
SOCIAL_AUTH_GITHUB_CLIENT_SECRET:
# Amazon Cognito enviroment variables
# Amazon Cognito environment variables
SOCIAL_AUTH_AMAZON_COGNITO_DOMAIN:
SOCIAL_AUTH_AMAZON_COGNITO_CLIENT_ID:
SOCIAL_AUTH_AMAZON_COGNITO_CLIENT_SECRET:

@ -11,7 +11,7 @@ metadata:
min_neg_points: 0
startswith_box: true
animated_gif: https://raw.githubusercontent.com/opencv/cvat/0fbb19ae3846a017853d52e187f0ce149adced7d/site/content/en/images/iog_example.gif
help_message: The interactor allows to get a mask of an object using its wrapping boundig box, positive, and negative points inside it
help_message: The interactor allows to get a mask of an object using its wrapping bounding box, positive, and negative points inside it
spec:
description: Interactive Object Segmentation with Inside-Outside Guidance

@ -119,7 +119,7 @@ context('Export, import an annotation task.', { browser: '!firefox' }, () => {
cy.wait('@importTask').its('response.statusCode').should('equal', 201);
}
});
cy.contains('The task has been restored succesfully. Click here to open').should('exist').and('be.visible');
cy.contains('The task has been restored successfully. Click here to open').should('exist').and('be.visible');
cy.closeNotification('.ant-notification-notice-info');
cy.openTask(taskName);
cy.url().then((link) => {

@ -82,7 +82,7 @@ Cypress.Commands.add('projectActions', (projectName) => {
cy.contains('.cvat-projects-project-item-title', projectName)
.parents('.cvat-projects-project-item-card')
.within(() => {
cy.get('.cvat-porjects-project-item-description').within(() => {
cy.get('.cvat-projects-project-item-description').within(() => {
cy.get('[type="button"]').trigger('mouseover');
});
});
@ -223,7 +223,7 @@ Cypress.Commands.add('restoreProject', (archiveWithBackup, sourceStorage = null)
}
});
cy.contains('The project has been restored succesfully. Click here to open')
cy.contains('The project has been restored successfully. Click here to open')
.should('exist')
.and('be.visible');
cy.closeNotification('.ant-notification-notice-info');

Loading…
Cancel
Save