diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 4fbefd3f..36ac4797 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -59,7 +59,7 @@ jobs: cache-from: type=local,src=/tmp/cvat_cache_server tags: openvino/cvat_server:latest load: true - - name: Runing unit tests + - name: Running unit tests env: HOST_COVERAGE_DATA_DIR: ${{ github.workspace }} CONTAINER_COVERAGE_DATA_DIR: "/coverage_data" @@ -203,7 +203,7 @@ jobs: needs: [Unit_testing, E2E_testing] steps: - uses: actions/checkout@v2 - - name: Geting SHA from the default branch + - name: Getting SHA from the default branch id: get-sha run: | URL_get_default_branch="https://api.github.com/repos/${{ github.repository }}" diff --git a/CHANGELOG.md b/CHANGELOG.md index de168835..81c873fc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -157,7 +157,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed - PATCH requests from cvat-core submit only changed fields () -- deploy.sh in serverless folder is seperated into deploy_cpu.sh and deploy_gpu.sh () +- deploy.sh in serverless folder is separated into deploy_cpu.sh and deploy_gpu.sh () - Bumped nuclio version to 1.5.8 - Migrated to Antd 4.9 () @@ -307,11 +307,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Cannot read property 'pinned' of undefined because of zOrder related issues () - Do not iterate over hidden objects in aam (which are invisible because of zOrder) () - Cursor position is reset after changing a text field () -- Hidden points and cuboids can be selected to be groupped () +- Hidden points and cuboids can be selected to be grouped () - `outside` annotations should not be in exported images () - `CVAT for video format` import error with interpolation () - `Image compression` definition mismatch () -- Points are dublicated during polygon interpolation sometimes () +- Points are duplicated during polygon interpolation sometimes () - When redraw a shape with activated autobordering, previous points are visible () - No mapping between side object element and context menu in some attributes () - Interpolated shapes exported as `keyframe = True` () @@ -462,7 +462,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Removed -- Annotation convertation utils, currently supported natively via Datumaro framework +- Annotation conversion utils, currently supported natively via Datumaro framework () ### Fixed diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 8a749626..6686f747 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -116,7 +116,7 @@ You develop CVAT under WSL (Windows subsystem for Linux) following next steps. wsl -d Ubuntu-18.04 ``` -- Run all commands from this isntallation guide in WSL Ubuntu shell. +- Run all commands from this installation guide in WSL Ubuntu shell. ## Setup additional components in development environment diff --git a/Dockerfile b/Dockerfile index 917f2422..7e720aa7 100644 --- a/Dockerfile +++ b/Dockerfile @@ -134,7 +134,7 @@ RUN if [ "$INSTALL_SOURCES" = "yes" ]; then \ fi COPY --from=build-image /tmp/openh264/openh264*.tar.gz /tmp/ffmpeg/ffmpeg*.tar.gz ${HOME}/sources/ -# Copy python virtual enviroment and FFmpeg binaries from build-image +# Copy python virtual environment and FFmpeg binaries from build-image COPY --from=build-image /opt/venv /opt/venv ENV PATH="/opt/venv/bin:${PATH}" COPY --from=build-image /opt/ffmpeg /usr diff --git a/README.md b/README.md index f08c2357..0ed379a4 100644 --- a/README.md +++ b/README.md @@ -116,7 +116,7 @@ Prebuilt docker images for CVAT releases are available on Docker Hub: Automatically generated Swagger documentation for Django REST API is available on `/api/swagger`(default: `localhost:8080/api/swagger`). -Swagger documentation is visiable on allowed hostes, Update environement +Swagger documentation is visible on allowed hosts, Update environment variable in docker-compose.yml file with cvat hosted machine IP or domain name. Example - `ALLOWED_HOSTS: 'localhost, 127.0.0.1'`. diff --git a/cvat-canvas/README.md b/cvat-canvas/README.md index 126dc885..ee0a0fb3 100644 --- a/cvat-canvas/README.md +++ b/cvat-canvas/README.md @@ -245,4 +245,4 @@ canvas.draw({ You can call setup() during editing, dragging, and resizing only to update objects, not to change a frame. You can change frame during draw only when you do not redraw an existing object -Other methods do not change state and can be used everytime. +Other methods do not change state and can be used at any time. diff --git a/cvat-canvas/package-lock.json b/cvat-canvas/package-lock.json index 3bc6a578..33d803fd 100644 --- a/cvat-canvas/package-lock.json +++ b/cvat-canvas/package-lock.json @@ -1,6 +1,6 @@ { "name": "cvat-canvas", - "version": "2.4.3", + "version": "2.4.4", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/cvat-canvas/package.json b/cvat-canvas/package.json index 9612021d..9f406d89 100644 --- a/cvat-canvas/package.json +++ b/cvat-canvas/package.json @@ -1,6 +1,6 @@ { "name": "cvat-canvas", - "version": "2.4.3", + "version": "2.4.4", "description": "Part of Computer Vision Annotation Tool which presents its canvas library", "main": "src/canvas.ts", "scripts": { diff --git a/cvat-canvas/src/typescript/autoborderHandler.ts b/cvat-canvas/src/typescript/autoborderHandler.ts index 36a8e3d5..caa29693 100644 --- a/cvat-canvas/src/typescript/autoborderHandler.ts +++ b/cvat-canvas/src/typescript/autoborderHandler.ts @@ -1,4 +1,4 @@ -// Copyright (C) 2020 Intel Corporation +// Copyright (C) 2020-2021 Intel Corporation // // SPDX-License-Identifier: MIT @@ -28,14 +28,14 @@ export class AutoborderHandlerImpl implements AutoborderHandler { private auxiliaryGroupID: number | null; private auxiliaryClicks: number[]; private listeners: Record< - number, - Record< - number, - { - click: (event: MouseEvent) => void; - dblclick: (event: MouseEvent) => void; - } - > + number, + Record< + number, + { + click: (event: MouseEvent) => void; + dblclick: (event: MouseEvent) => void; + } + > >; public constructor(frameContent: SVGSVGElement) { @@ -172,12 +172,11 @@ export class AutoborderHandlerImpl implements AutoborderHandler { } else { // sign defines bypass direction const landmarks = this.auxiliaryClicks; - const sign = - Math.sign(landmarks[2] - landmarks[0]) * - Math.sign(landmarks[1] - landmarks[0]) * - Math.sign(landmarks[2] - landmarks[1]); + const sign = Math.sign(landmarks[2] - landmarks[0]) + * Math.sign(landmarks[1] - landmarks[0]) + * Math.sign(landmarks[2] - landmarks[1]); - // go via a polygon and get vertexes + // go via a polygon and get vertices // the first vertex has been already drawn const way = []; for (let i = landmarks[0] + sign; ; i += sign) { diff --git a/cvat-canvas/src/typescript/cuboid.ts b/cvat-canvas/src/typescript/cuboid.ts index ded91714..435c6d78 100644 --- a/cvat-canvas/src/typescript/cuboid.ts +++ b/cvat-canvas/src/typescript/cuboid.ts @@ -352,7 +352,7 @@ function setupCuboidPoints(points: Point[]): any[] { ? Math.abs(points[1].y - points[0].y) : Math.abs(points[1].y - points[2].y); - // seperate into left and right point + // separate into left and right point // we pick the first and third point because we know assume they will be on // opposite corners if (points[0].x < points[2].x) { diff --git a/cvat-canvas/src/typescript/drawHandler.ts b/cvat-canvas/src/typescript/drawHandler.ts index f3e08e07..735f68ad 100644 --- a/cvat-canvas/src/typescript/drawHandler.ts +++ b/cvat-canvas/src/typescript/drawHandler.ts @@ -462,11 +462,11 @@ export class DrawHandlerImpl implements DrawHandler { this.drawInstance.draw('point', e); } else { this.drawInstance.draw('update', e); - const deltaTreshold = 15; + const deltaThreshold = 15; const dx = (e.clientX - lastDrawnPoint.x) ** 2; const dy = (e.clientY - lastDrawnPoint.y) ** 2; const delta = Math.sqrt(dx + dy); - if (delta > deltaTreshold) { + if (delta > deltaThreshold) { this.drawInstance.draw('point', e); } } diff --git a/cvat-canvas/src/typescript/editHandler.ts b/cvat-canvas/src/typescript/editHandler.ts index 3c97c776..aad596e4 100644 --- a/cvat-canvas/src/typescript/editHandler.ts +++ b/cvat-canvas/src/typescript/editHandler.ts @@ -93,11 +93,11 @@ export class EditHandlerImpl implements EditHandler { if (lastDrawnPoint.x === null || lastDrawnPoint.y === null) { (this.editLine as any).draw('point', e); } else { - const deltaTreshold = 15; + const deltaThreshold = 15; const dxsqr = (e.clientX - lastDrawnPoint.x) ** 2; const dysqr = (e.clientY - lastDrawnPoint.y) ** 2; const delta = Math.sqrt(dxsqr + dysqr); - if (delta > deltaTreshold) { + if (delta > deltaThreshold) { (this.editLine as any).draw('point', e); } } diff --git a/cvat-canvas/src/typescript/interactionHandler.ts b/cvat-canvas/src/typescript/interactionHandler.ts index a0c18a82..32371dbc 100644 --- a/cvat-canvas/src/typescript/interactionHandler.ts +++ b/cvat-canvas/src/typescript/interactionHandler.ts @@ -94,7 +94,7 @@ export class InteractionHandlerImpl implements InteractionHandler { if ((e.button === 0 || (e.button === 2 && this.interactionData.enableNegVertices)) && !e.altKey) { e.preventDefault(); const [cx, cy] = translateToSVG((this.canvas.node as any) as SVGSVGElement, [e.clientX, e.clientY]); - if (!this.isWithingFrame(cx, cy)) return; + if (!this.isWithinFrame(cx, cy)) return; if (!this.isWithinThreshold(cx, cy)) return; this.currentInteractionShape = this.canvas @@ -149,7 +149,7 @@ export class InteractionHandlerImpl implements InteractionHandler { } }; - // clear this listener in relese() + // clear this listener in release() this.canvas.on('mousedown.interaction', eventListener); } @@ -234,7 +234,7 @@ export class InteractionHandlerImpl implements InteractionHandler { return xDiff < this.thresholdRectSize / 2 && yDiff < this.thresholdRectSize / 2; } - private isWithingFrame(x: number, y: number): boolean { + private isWithinFrame(x: number, y: number): boolean { const { offset, image } = this.geometry; const { width, height } = image; const [imageX, imageY] = [Math.round(x - offset), Math.round(y - offset)]; @@ -280,7 +280,7 @@ export class InteractionHandlerImpl implements InteractionHandler { } if (this.interactionData.enableSliding && this.interactionShapes.length) { - if (this.isWithingFrame(x, y)) { + if (this.isWithinFrame(x, y)) { if (this.interactionData.enableThreshold && !this.isWithinThreshold(x, y)) return; this.onInteraction( [ diff --git a/cvat-canvas/src/typescript/splitHandler.ts b/cvat-canvas/src/typescript/splitHandler.ts index b8224d33..69b602ab 100644 --- a/cvat-canvas/src/typescript/splitHandler.ts +++ b/cvat-canvas/src/typescript/splitHandler.ts @@ -1,4 +1,4 @@ -// Copyright (C) 2019-2020 Intel Corporation +// Copyright (C) 2019-2021 Intel Corporation // // SPDX-License-Identifier: MIT @@ -43,7 +43,7 @@ export class SplitHandlerImpl implements SplitHandler { } private closeSplitting(): void { - // Split done is true if an object was splitted + // Split done is true if an object was split // Split also can be called with { enabled: false } without splitting an object if (!this.splitDone) { this.onSplitDone(null); diff --git a/cvat-core/README.md b/cvat-core/README.md index 22d8faa9..e1deebe9 100644 --- a/cvat-core/README.md +++ b/cvat-core/README.md @@ -2,7 +2,7 @@ ## Description -This CVAT module is a client-side JavaScipt library to management of objects, frames, logs, etc. +This CVAT module is a client-side JavaScript library for management of objects, frames, logs, etc. It contains the core logic of the Computer Vision Annotation Tool. ## Versioning diff --git a/cvat-core/package-lock.json b/cvat-core/package-lock.json index 2bdc1118..de12729b 100644 --- a/cvat-core/package-lock.json +++ b/cvat-core/package-lock.json @@ -1,6 +1,6 @@ { "name": "cvat-core", - "version": "3.13.0", + "version": "3.13.1", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/cvat-core/package.json b/cvat-core/package.json index e5e482fd..48284f16 100644 --- a/cvat-core/package.json +++ b/cvat-core/package.json @@ -1,6 +1,6 @@ { "name": "cvat-core", - "version": "3.13.0", + "version": "3.13.1", "description": "Part of Computer Vision Tool which presents an interface for client-side integration", "main": "babel.config.js", "scripts": { diff --git a/cvat-core/src/annotations-collection.js b/cvat-core/src/annotations-collection.js index a28f9508..bc3ec093 100644 --- a/cvat-core/src/annotations-collection.js +++ b/cvat-core/src/annotations-collection.js @@ -868,7 +868,7 @@ const deepSearch = (deepSearchFrom, deepSearchTo) => { // deepSearchFrom is expected to be a frame that doesn't satisfy a filter - // deepSearchTo is expected to be a frame that satifies a filter + // deepSearchTo is expected to be a frame that satisfies a filter let [prev, next] = [deepSearchFrom, deepSearchTo]; // half division method instead of linear search diff --git a/cvat-core/src/annotations-objects.js b/cvat-core/src/annotations-objects.js index 21166756..7ffe1bd3 100644 --- a/cvat-core/src/annotations-objects.js +++ b/cvat-core/src/annotations-objects.js @@ -50,7 +50,7 @@ throw new DataError(`Points must have exact 8 points, but got ${points.length / 2}`); } } else { - throw new ArgumentError(`Unknown value of shapeType has been recieved ${shapeType}`); + throw new ArgumentError(`Unknown value of shapeType has been received ${shapeType}`); } } @@ -1452,7 +1452,7 @@ / Math.sqrt(Math.pow(y2 - y1, 2) + Math.pow(x2 - x1, 2)), ); } else { - // The link below works for lines (which have infinit length) + // The link below works for lines (which have infinite length) // There is a case when perpendicular doesn't cross the edge // In this case we don't use the computed distance // Instead we use just distance to the nearest point diff --git a/cvat-core/src/common.js b/cvat-core/src/common.js index ca30481d..7ac8660b 100644 --- a/cvat-core/src/common.js +++ b/cvat-core/src/common.js @@ -34,7 +34,7 @@ for (const prop in filter) { if (Object.prototype.hasOwnProperty.call(filter, prop)) { if (!(prop in fields)) { - throw new ArgumentError(`Unsupported filter property has been recieved: "${prop}"`); + throw new ArgumentError(`Unsupported filter property has been received: "${prop}"`); } else if (!fields[prop](filter[prop])) { throw new ArgumentError(`Received filter property "${prop}" is not satisfied for checker`); } diff --git a/cvat-core/src/project.js b/cvat-core/src/project.js index e2a137f1..b66eab49 100644 --- a/cvat-core/src/project.js +++ b/cvat-core/src/project.js @@ -18,7 +18,7 @@ class Project { /** * In a fact you need use the constructor only if you want to create a project - * @param {object} initialData - Object which is used for initalization + * @param {object} initialData - Object which is used for initialization *
It can contain keys: *
  • name *
  • labels diff --git a/cvat-core/src/session.js b/cvat-core/src/session.js index 49dcb565..7c9b9665 100644 --- a/cvat-core/src/session.js +++ b/cvat-core/src/session.js @@ -18,7 +18,7 @@ const Review = require('./review'); const { FieldUpdateTrigger } = require('./common'); - function buildDublicatedAPI(prototype) { + function buildDuplicatedAPI(prototype) { Object.defineProperties(prototype, { annotations: Object.freeze({ value: { @@ -576,7 +576,7 @@ * Create a log and add it to a log collection
    * Durable logs will be added after "close" method is called for them
    * The fields "task_id" and "job_id" automatically added when add logs - * throught a task or a job
    + * through a task or a job
    * Ignore rules exist for some logs (e.g. zoomImage, changeAttribute)
    * Payload of ignored logs are shallowly combined to previous logs of the same type * @method log @@ -999,7 +999,7 @@ class Task extends Session { /** * In a fact you need use the constructor only if you want to create a task - * @param {object} initialData - Object which is used for initalization + * @param {object} initialData - Object which is used for initialization *
    It can contain keys: *
  • name *
  • assignee @@ -1697,8 +1697,8 @@ closeSession, } = require('./annotations'); - buildDublicatedAPI(Job.prototype); - buildDublicatedAPI(Task.prototype); + buildDuplicatedAPI(Job.prototype); + buildDuplicatedAPI(Task.prototype); Job.prototype.save.implementation = async function () { if (this.id) { diff --git a/cvat-core/tests/api/annotations.js b/cvat-core/tests/api/annotations.js index b7a44a43..94bb5100 100644 --- a/cvat-core/tests/api/annotations.js +++ b/cvat-core/tests/api/annotations.js @@ -1,4 +1,4 @@ -// Copyright (C) 2020 Intel Corporation +// Copyright (C) 2020-2021 Intel Corporation // // SPDX-License-Identifier: MIT @@ -211,7 +211,7 @@ describe('Feature: put annotations', () => { expect(task.annotations.put([state1])).rejects.toThrow(window.cvat.exceptions.ArgumentError); }); - test('put shape without points and with invalud points to a task', async () => { + test('put shape without points and with invalid points to a task', async () => { const task = (await window.cvat.tasks.get({ id: 101 }))[0]; await task.annotations.clear(true); const state = new window.cvat.classes.ObjectState({ diff --git a/cvat-ui/package-lock.json b/cvat-ui/package-lock.json index a2acc044..635b76db 100644 --- a/cvat-ui/package-lock.json +++ b/cvat-ui/package-lock.json @@ -1,6 +1,6 @@ { "name": "cvat-ui", - "version": "1.20.1", + "version": "1.20.2", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/cvat-ui/package.json b/cvat-ui/package.json index 50e3b014..6d0b02ca 100644 --- a/cvat-ui/package.json +++ b/cvat-ui/package.json @@ -1,6 +1,6 @@ { "name": "cvat-ui", - "version": "1.20.1", + "version": "1.20.2", "description": "CVAT single-page application", "main": "src/index.tsx", "scripts": { diff --git a/cvat-ui/src/components/annotation-page/standard-workspace/controls-side-bar/control-visibility-observer.tsx b/cvat-ui/src/components/annotation-page/standard-workspace/controls-side-bar/control-visibility-observer.tsx index 54e99d04..37233d14 100644 --- a/cvat-ui/src/components/annotation-page/standard-workspace/controls-side-bar/control-visibility-observer.tsx +++ b/cvat-ui/src/components/annotation-page/standard-workspace/controls-side-bar/control-visibility-observer.tsx @@ -76,7 +76,7 @@ export default function ControlVisibilityObserver

    ( visibilityHeightThreshold = wrapper.offsetTop + wrapper.offsetHeight; // start observing parent size observer.observe(ref.current.parentElement as HTMLElement); - // then put it to extra controls if parent height is not enought + // then put it to extra controls if parent height is not enough setVisible(availableHeight - reservedHeight >= visibilityHeightThreshold); } diff --git a/cvat-ui/src/components/create-project-page/create-project-content.tsx b/cvat-ui/src/components/create-project-page/create-project-content.tsx index b17a4958..05c53dd8 100644 --- a/cvat-ui/src/components/create-project-page/create-project-content.tsx +++ b/cvat-ui/src/components/create-project-page/create-project-content.tsx @@ -96,7 +96,7 @@ function AdaptiveAutoAnnotationForm({ formRef }: { formRef: RefObject }): JSX.Element { +function AdvancedConfigurationForm({ formRef }: { formRef: RefObject }): JSX.Element { return (

    - +