-
Notifications
You must be signed in to change notification settings - Fork 3.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[GSoC'24] Consensus annotation #8434
Open
zhiltsov-max
wants to merge
366
commits into
develop
Choose a base branch
from
gsoc/consensus-feature
base: develop
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
366 commits
Select commit
Hold shift + click to select a range
10e1053
when consensus jobs are merged the parent job goes in `NEW` state
Viditagarwal7479 e467eb3
gave everyone assigned to that Task permission to view the Consensus …
Viditagarwal7479 8508e2e
changed the term `normal job` to `regular job`
Viditagarwal7479 c24a82d
shifted the consensus based annotation tag below the details of task
Viditagarwal7479 fe3f524
changed the term `normal job` to `regular job`
Viditagarwal7479 d53b3ae
showing all kinds of job on jobs page
Viditagarwal7479 1c5625d
added a filter field for job type in jobs page
Viditagarwal7479 fd434ae
updated the `schema.yml` with `regular job` instead of `normal job`
Viditagarwal7479 3b90c8f
Merge branch 'consensus-job' of https://github.com/Viditagarwal7479/c…
Viditagarwal7479 a5224f1
changed the some leftover usage of `normal job` to `regular job`
Viditagarwal7479 27297f4
after merging consensus jobs regular job's state is marked as COMPLETE
Viditagarwal7479 e33f9b2
changed button name for mergeing consensus jobs
Viditagarwal7479 2a26581
Merge branch 'gsoc/consensus-feature' of https://github.com/opencv/cv…
Viditagarwal7479 f754bc6
fixed conflict in `engine` migrations
Viditagarwal7479 9866dbd
removed unwanted commented code
Viditagarwal7479 df8bd0c
Merge pull request #7974 from Viditagarwal7479/consensus-job
zhiltsov-max 4bf0aeb
Merge branch 'gsoc/consensus-feature' of https://github.com/opencv/cv…
Viditagarwal7479 033b6a8
added missing `,` in `TaskReadSerializer` fields
Viditagarwal7479 6d49bf5
added the max. 10 consensus jobs per regular job condition
Viditagarwal7479 2c906bb
added tests related to setting consensus jobs per regular job
Viditagarwal7479 7635f34
fixed OKS implementation
Viditagarwal7479 a6a9def
Merge branch 'develop' of https://github.com/opencv/cvat into merge_c…
Viditagarwal7479 1b206a3
added sigma for OKS calculation in consensus settings
Viditagarwal7479 1e60737
added matching from `quality_reports.py` and merging of skeletons to …
Viditagarwal7479 6c24859
formatted python code
Viditagarwal7479 0412835
added consensus jobs and their annotations into backup
Viditagarwal7479 f5a4880
added `restore_db_per_function` to TestTaskBackups
Viditagarwal7479 89b86df
fixed `JobSummarySerializer` to include all types of Jobs in `TaskSum…
Viditagarwal7479 2c2ca6a
fixed a typo in project as peoject
Viditagarwal7479 9315d67
added consensus score and assignee to consensus report
Viditagarwal7479 7ede7cb
added separate consensus merge and analytics button
Viditagarwal7479 cc036a4
fixed that `count` param wasn't considering `consensus jobs` in Task …
Viditagarwal7479 c186d67
removed unwanted comments
Viditagarwal7479 93d0758
count param in `tasks.json` for testing updated
Viditagarwal7479 f7c20a0
added target param while filtering consensus report
Viditagarwal7479 d922b8f
added target and assignee in consensus reports
Viditagarwal7479 ca4d4f2
added consensus migrations
Viditagarwal7479 c240ee7
reformatting and removed unused imports
Viditagarwal7479 0b428f8
updated implementation of count of jobs in task details
Viditagarwal7479 26a7157
updated shade of yellow color in quality and consensus color
Viditagarwal7479 2af30ba
renamed QualityConflictsFilter to ConflictsFilter
Viditagarwal7479 13e9edb
added interface for Consensus Reports, Settings and Conflict
Viditagarwal7479 8170c8a
replace `jobName` change with a Tag
Viditagarwal7479 3eb8ec6
updated `schema.yml`
Viditagarwal7479 924ad45
added tag to consensus job list in task view
Viditagarwal7479 91caee6
removed settings reset button
Viditagarwal7479 a487dd0
confirmation dialog before merging consensus jobs
Viditagarwal7479 59f2daa
added structure of consensus conflict and report
Viditagarwal7479 79c2a7b
added consensus analytics page
Viditagarwal7479 008d14b
removed declaration of unused variable in consensus test case
Viditagarwal7479 e6c7f58
reformat consensus settings form
Viditagarwal7479 d9466bf
Merge branch 'gsoc/consensus-feature' into merge_consensus_jobs
Viditagarwal7479 7c0aefc
added `AssigneeConsensusReport`
Viditagarwal7479 54e7d97
formatted python files
Viditagarwal7479 fdfc3cb
added `assignee consensus report` in the react for assignee consensus…
Viditagarwal7479 de1e7eb
added assignee consnesus report into assignee list
Viditagarwal7479 06bea50
removed console.log and fixed sort statement in table
Viditagarwal7479 5e0bc21
removed consensus modal
Viditagarwal7479 11258ec
added more appropriate type and assert to common `segment_iou`
Viditagarwal7479 bb7f242
added check of `media` before accessing it's attributes
Viditagarwal7479 40585f4
added consensus worker information to yml files
Viditagarwal7479 4228ad2
removed create assignee report endpoint
Viditagarwal7479 ced9e5c
updated `schema.yml`
Viditagarwal7479 9d1fd92
added consensus endpoints for test json dump
Viditagarwal7479 d2a6789
refined the message in confirmation box before merging consnesus jobs
Viditagarwal7479 01ef325
added information about conflict count at assignee level
Viditagarwal7479 ca61c51
disabled merge button when merging in progress
Viditagarwal7479 4642244
Merge branch 'develop' of https://github.com/opencv/cvat into gsoc/co…
Viditagarwal7479 b45d795
fixed the conflict due to newly added migrations in `engine` app
Viditagarwal7479 6e8e252
Merge pull request #8305 from Viditagarwal7479/gsoc/consensus-feature
zhiltsov-max 755465e
added `cvat-task-analytics-tabs` to `styles.scss`
Viditagarwal7479 7f229ad
Replaced Analytics with Consensus Analytics
Viditagarwal7479 fc5b670
removed consensus tab from old analytics page
Viditagarwal7479 1acb383
removed the stale action types for consensus modal
Viditagarwal7479 4532b28
moved consensus analytics page from `/tasks/id/analytics/consensus` t…
Viditagarwal7479 cd05f0f
converted snake_case to camelCase in typescript code
Viditagarwal7479 3ea3981
removed `styles.scss` associated with earlier `consensus modal`
Viditagarwal7479 0bac45b
moved `consensus-settings-form` file into the consensus analytics folder
Viditagarwal7479 76f2d2c
Merge branch 'gsoc/consensus-feature' of https://github.com/Viditagar…
Viditagarwal7479 d3c3750
removed reference to deleted `styles.scss`
Viditagarwal7479 188f9f0
updated path of `ConsensusSettingsForm` while refering in code
Viditagarwal7479 3ce1295
modified consensus migrations based on changes in engine migrations a…
Viditagarwal7479 2fb5941
Merge branch 'gsoc/consensus-feature' into merge_consensus_jobs
Viditagarwal7479 145a9d2
Merge commit 'cc036a46a4c54353bf83763903d367829bbd5dd5' into merge_co…
Viditagarwal7479 2ac3abc
Merge commit '008d14b8beb2a7a5d3fb619881b806042c69c489' into merge_co…
Viditagarwal7479 a1b2651
changed endpoint from `/analytics/consensus` to `/consensus`
Viditagarwal7479 99e78d2
removed consensus report created information from UI when it's not cr…
Viditagarwal7479 b8566a1
Revert "removed consensus report created information from UI when it'…
Viditagarwal7479 8fab2b4
removed unwanted notification for consensus job error added useful ea…
Viditagarwal7479 0654857
removed consensus report created date info from UI when it's not created
Viditagarwal7479 eebc206
removed unwanted notification for consensus job error added useful ea…
Viditagarwal7479 30c80bd
removed consensus report created date info from UI when it's not created
Viditagarwal7479 07b9c0b
Merge remote-tracking branch 'origin/merge_consensus_jobs' into merge…
Viditagarwal7479 8301ad2
set the `conflict_count` before accessing it even if no errors are there
Viditagarwal7479 0550298
uncommented consensus worker deployment .conf
Viditagarwal7479 d59568a
renamed `SettingsFilter` to `QualitySettingsFilter` and `ConsensusSet…
Viditagarwal7479 b079593
increased weight of `MERGE_CONSENSUS_JOBS` action button from 55 to 60
Viditagarwal7479 5db8cb0
made `_Serializable` public by removing `_`
Viditagarwal7479 8539683
optimised the consensus jobs fetching process to make fewer database …
Viditagarwal7479 ff4140f
added support for no assignee in `AssigneeConsensusReport`
Viditagarwal7479 8e0d4ac
moved setting the default `quorum` where it's created as function cal…
Viditagarwal7479 6fda20f
assignee in assignee consensus report wouldn't be none
Viditagarwal7479 7787fe2
replaced `assigneeID` with `assignee.id`
Viditagarwal7479 0376d31
Merge branch 'develop' of https://github.com/Viditagarwal7479/cvat in…
Viditagarwal7479 2a2efe9
made the job type tag into ribbon in jobs page
Viditagarwal7479 b6e21ff
added case for null assignee in `AssigneeConsensusReport`
Viditagarwal7479 3f8e171
added function to create `assignee_consensus_report`
Viditagarwal7479 893091a
moved calc. `task_mean_consensus_score` out from `save_report`
Viditagarwal7479 1c427ed
reformatted file and removed duplicated code
Viditagarwal7479 6bce0ac
reformatted files
Viditagarwal7479 0ceed73
fixed assignee consensus report when consensus score is nan (no annot…
Viditagarwal7479 2336773
fixed issue in consensus helm `deployment.yml` while copying from qua…
Viditagarwal7479 9c0a545
removed unused python imports
Viditagarwal7479 aa3dcda
fixed nan issue in consensus score when a frame has no annotations
Viditagarwal7479 d0659b6
made mask matching work the same as polygon matching
Viditagarwal7479 1ae7309
`self.errors` should contain errors specifc to the current passed dat…
Viditagarwal7479 c48223e
consensus analytics page is only for task
Viditagarwal7479 11ef270
added `get_ann_dataset_id` function instead of using class private ob…
Viditagarwal7479 5530bb4
inherited common properties of `LineMatcher` from `quality_reports.py`
Viditagarwal7479 1dc43e4
removed unsed function definition
Viditagarwal7479 05bd621
added `self` param to function defined inside class
Viditagarwal7479 9b67b7f
added type info to function `match_annotations_two_sources`
Viditagarwal7479 26e9ab6
fixed the `dm.PolyLine` instead of `dm.Skeleton` in `LineMatcher`
Viditagarwal7479 ddff303
added return type info instead of pass in `match_annotations_two_sour…
Viditagarwal7479 6bccbbc
made private objects of IntersectMerge publicly accessible
Viditagarwal7479 c0af3ee
(in attrib) made private objects of IntersectMerge publicly accessible
Viditagarwal7479 bd86446
reused objects from `DistanceComparator` in `quality_reports.py` in `…
Viditagarwal7479 8c09dcf
redefined private class objects to be used publicly
Viditagarwal7479 060e518
fixed the output type of `match_annotations_two_sources`
Viditagarwal7479 0692c6b
used the reference to `dm.ops.segment_iou` as default
Viditagarwal7479 ec58672
label can't be None after merging
Viditagarwal7479 03a3c31
Merge-able "if" statements are combined
Viditagarwal7479 e4cc879
updated the return type of function updated in previous commit
Viditagarwal7479 789cb74
used `(len(...) or 1)` instead of `np.isnan`
Viditagarwal7479 25e247e
instead of storing `parent_job_id` storing `parent_job` for the conse…
Viditagarwal7479 ecb8367
made earlier pvt members of `IntersectMerge` pvt again
Viditagarwal7479 bc3a4d5
added fixed implementation of inherited functions
Viditagarwal7479 fa42b98
`match_annotations_two_sources` only returns matches
Viditagarwal7479 4767f74
formatted python files
Viditagarwal7479 373ec86
improved caching of distances
Viditagarwal7479 4b4847a
removed unused import
Viditagarwal7479 f92c0a2
corrected related name param while querying for parent job
Viditagarwal7479 039c076
added serialisation of assignee in consensus report
Viditagarwal7479 47733ac
updated related name in Jobs to `childern_jobs`
Viditagarwal7479 9353906
made keys symmetric in distance caching
Viditagarwal7479 d3f1bab
added `line_thickness` param for LineMatcher
Viditagarwal7479 a2c7fe7
removed `DistanceComparator` inheritance with `_distance_comparator` …
Viditagarwal7479 d06d124
added accessing private class objects through separate function
Viditagarwal7479 e544e79
converted `OKS` to `oks`
Viditagarwal7479 bc6cd9a
reformatted code
Viditagarwal7479 2f49390
reformatted code
Viditagarwal7479 a9eb879
created a function to get quality and consensus conflicts, to reduce …
Viditagarwal7479 de91e88
replaced `Conf` reference in `IntersectMerge` object with `conf` the …
Viditagarwal7479 8db1d21
Passing annotations as `dm.DatasetItem` into quality_reports `match_s…
Viditagarwal7479 f666c57
added `line_thickness` in consensus settings
Viditagarwal7479 145fd7a
corrected typed annotation in python function
Viditagarwal7479 3d68358
reused code from quality_report and used the symmetric property of ca…
Viditagarwal7479 46a5003
moved `rq_id` into query params
Viditagarwal7479 ba1d875
reused the `issues.tsx` from task-quality in consensus
Viditagarwal7479 b68f761
added `rq_id` to consensus jobs merging to handle `rq_id` for consens…
Viditagarwal7479 3b158b0
used the common sorter implementation in `job_list.tsx` in `task-qual…
Viditagarwal7479 795daad
`if` to `else if`
Viditagarwal7479 81763b9
Merge branch 'develop' of https://github.com/Viditagarwal7479/cvat in…
Viditagarwal7479 671829d
Merge branch 'gsoc/consensus-feature' into gsoc/consensus-feature
Viditagarwal7479 c8b6e28
Merge pull request #8376 from Viditagarwal7479/gsoc/consensus-feature
zhiltsov-max 0ab57db
added `line_thickness` in consensus reports
Viditagarwal7479 11c9798
added parent job wise merging in task with consensus jobs
Viditagarwal7479 4a0d988
`task_id` of a job can't be `null` typescript model
Viditagarwal7479 1965c72
Merge branch 'develop' of https://github.com/Viditagarwal7479/cvat in…
Viditagarwal7479 e5910e9
corrected paths of imports which changed on merging `develop` with cu…
Viditagarwal7479 d9f72fd
Merge branch 'gsoc/consensus-feature' of https://github.com/Viditagar…
Viditagarwal7479 7e00278
Merge branch 'gsoc/consensus-feature' into merge_consensus_jobs
Viditagarwal7479 15e2501
imporved info of `agreementScoreThreshold` in Consensus Settings page…
Viditagarwal7479 6c857b9
Merge branch 'merge_consensus_jobs' of https://github.com/Viditagarwa…
Viditagarwal7479 91a120c
added remembering of collapsed and uncollapsed state of regular job i…
Viditagarwal7479 b4ac890
corrected job filter in consensus reports api implementation
Viditagarwal7479 73aa75b
removed Consensus Conflict Type of `WrongGroupError` and `FailedAttrV…
Viditagarwal7479 1f12625
made class variables to instance variables. Causing issue when multip…
Viditagarwal7479 3883993
typo of task as task`s`
Viditagarwal7479 7d1965a
handled `assignee` can be null on assignee view in Consensus Analytics
Viditagarwal7479 d28826d
removed unwanted `console.log` statements
Viditagarwal7479 053a7dd
updated migrations based on removed consensus conflict types
Viditagarwal7479 42fed6b
updated `schema.yml`
Viditagarwal7479 85311d6
replaced floor division with ceil division
Viditagarwal7479 eb9c6e4
made public func as private where needed
Viditagarwal7479 b0a762d
corrected spelling of children
Viditagarwal7479 32c5c6a
renamed `new_intersect_merge.py` and `merge_consensus_jobs.py`
Viditagarwal7479 211425e
reformatted python files
Viditagarwal7479 864791d
added `consensus` as annotation source type
Viditagarwal7479 4186fe2
made validation on `oks_sigma` less restrictive in consensus settings
Viditagarwal7479 a107c2c
remvoed unnessecary condition as job type will be among the 3 known t…
Viditagarwal7479 6ae0ed7
nothing to show in assignee list if assignee is null
Viditagarwal7479 8f8091f
updated `schema.yml`
Viditagarwal7479 0f758bb
moved `consensus_report_id` in filter_fields for assignee report
Viditagarwal7479 488ebbd
fixed merging of `Point` annotations
Viditagarwal7479 909b08c
fixed mergeing of `PolyLine` annotations
Viditagarwal7479 50007a2
removed extra `s` from `consensus/assignee_report` endpoint
Viditagarwal7479 8916612
moved server health check while starting test container in try for sl…
Viditagarwal7479 38b9691
added endpoints for consensus objects for accessing them in test cases
Viditagarwal7479 86eeb0e
added more reliable way to get consensus error type
Viditagarwal7479 da956e5
reformatted python files
Viditagarwal7479 5e89857
added `parent_id` to Consensus Reports
Viditagarwal7479 0c17d44
used `parent_id` in ConsensusConflictsViewSet also
Viditagarwal7479 33e4b9d
updated `schama.yml` with `parent_id`
Viditagarwal7479 939cb10
Merge pull request #8042 from Viditagarwal7479/merge_consensus_jobs
zhiltsov-max bff16ba
fixed the return type of `_get_error_type`
Viditagarwal7479 da1aa0d
renamed conflict rules in consensus to `consensus_conflicts`
Viditagarwal7479 051992e
Merge branch 'develop' of https://github.com/Viditagarwal7479/cvat in…
Viditagarwal7479 27117b6
Merge pull request #8436 from Viditagarwal7479/gsoc/consensus-feature
zhiltsov-max 786c135
Merge branch 'develop' of https://github.com/Viditagarwal7479/cvat in…
Viditagarwal7479 104b2bb
Merge branch 'cvat-ai:gsoc/consensus-feature' into gsoc/consensus-fea…
Viditagarwal7479 efa9c53
Merge remote-tracking branch 'upstream/gsoc/consensus-feature' into m…
Viditagarwal7479 8441428
Merge remote-tracking branch 'upstream/develop' into merge_consensus_…
Viditagarwal7479 1c0c88d
Merge branch 'develop' into gsoc/consensus-feature
Viditagarwal7479 befeb37
Merge pull request #8443 from Viditagarwal7479/gsoc/consensus-feature
zhiltsov-max 4674adc
reverted unnecessary changes included in this branch
Viditagarwal7479 c7cbedb
reverted changes in testing assets, as `consensus_testcases` branch y…
Viditagarwal7479 505318a
`assignee_reports` to camel case
Viditagarwal7479 9afad1a
return type is JSON not HTML
Viditagarwal7479 b957929
fixed the create consensus report end point to return RQID instaad of…
Viditagarwal7479 e6eccf2
made `task_id` param in request body of create consensus report endpo…
Viditagarwal7479 7551811
fixed import order, 3rd party imports come before internal imports
Viditagarwal7479 8efe8fa
added missing components earlier in quality analytics
Viditagarwal7479 966b6e5
fixing minor bugs in rendering consensus jobs
Viditagarwal7479 f86a394
removed the `aggregate` endpoint in `Task` and `Job` and using the co…
Viditagarwal7479 af04e2b
Merge branch 'develop' of https://github.com/cvat-ai/cvat into merge_…
Viditagarwal7479 9b4ca32
Merge commit 'af04e2b2f06a0c18056ae149602fcdd545284ba7' into gsoc/con…
Viditagarwal7479 dac855f
added consensus to vscode launch.json
Viditagarwal7479 06995ee
modified analytics page to include the change in size props in `Analy…
Viditagarwal7479 93c1dcb
Merge branch 'develop' of https://github.com/Viditagarwal7479/cvat in…
Viditagarwal7479 e2d96af
fixed migration issue when merging `develop` into `gsoc/consensus-fea…
Viditagarwal7479 24d79a3
updated `schema.yml`
Viditagarwal7479 8dc3c2c
handled consensus score as `nan` scenario
Viditagarwal7479 fc212f0
Merge pull request #8500 from Viditagarwal7479/gsoc/consensus-feature
zhiltsov-max 8dadd43
[GSoC'24] Test Cases for Consensus Features (#8283)
Viditagarwal7479 93410b6
Remove extra file
zhiltsov-max 3fbfcbe
Merge branch 'develop' into zm/consensus
zhiltsov-max 55afa1a
Update db migrations
zhiltsov-max 98954a2
Fix signals
zhiltsov-max 7e08e0e
Fix permissions
zhiltsov-max 4008c5c
Update test assets
zhiltsov-max bb0bba8
Format code
zhiltsov-max 809703d
Format code
zhiltsov-max 51b44ad
Fix imports
zhiltsov-max fcfa8a2
Update schema
zhiltsov-max a315840
Merge pull request #8870 from cvat-ai/zm/consensus
zhiltsov-max 9ad9319
Merge branch 'develop' of https://github.com/cvat-ai/cvat into gsoc/c…
Viditagarwal7479 9451f3d
updated `schema.yml`
Viditagarwal7479 440d2ab
Merge branch 'develop' of https://github.com/cvat-ai/cvat into gsoc/c…
Viditagarwal7479 e81c042
Merge pull request #8895 from Viditagarwal7479/gsoc/consensus-feature
zhiltsov-max File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,53 @@ | ||
// Copyright (C) 2024 CVAT.ai Corporation | ||
// | ||
// SPDX-License-Identifier: MIT | ||
|
||
import { SerializedAssigneeConsensusReportData } from './server-response-types'; | ||
import User from './user'; | ||
|
||
export default class AssigneeConsensusReport { | ||
#id: number; | ||
#taskID: number; | ||
#assignee: User; | ||
#consensusScore: number; | ||
#conflictCount: number; | ||
#consensusReportID: number; | ||
|
||
constructor(initialData: SerializedAssigneeConsensusReportData) { | ||
this.#id = initialData.id; | ||
this.#taskID = initialData.task_id; | ||
this.#consensusScore = initialData.consensus_score; | ||
this.#consensusReportID = initialData.consensus_report_id; | ||
this.#conflictCount = initialData.conflict_count; | ||
|
||
if (initialData.assignee) { | ||
this.#assignee = new User(initialData.assignee); | ||
} else { | ||
this.#assignee = null; | ||
} | ||
} | ||
|
||
get id(): number { | ||
return this.#id; | ||
} | ||
|
||
get taskID(): number { | ||
return this.#taskID; | ||
} | ||
|
||
get assignee(): User { | ||
return this.#assignee; | ||
} | ||
|
||
get consensusScore(): number { | ||
return this.#consensusScore; | ||
} | ||
|
||
get conflictCount(): number { | ||
return this.#conflictCount; | ||
} | ||
|
||
get consensusReportID(): number { | ||
return this.#consensusReportID; | ||
} | ||
} |
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is there any reason to remove comments that was left in original function?
If not, please return them