cvat icon indicating copy to clipboard operation
cvat copied to clipboard

Requests page

Open klakhov opened this issue 1 year ago • 8 comments

Motivation and context

This PR introduces new page with information about data processing(status and progress). For now it will support: task creation, import/export.

For previous discussions refer to: #7537

How has this been tested?

Checklist

  • [x] I submit my changes into the develop branch
  • [x] I have created a changelog fragment
  • [ ] I have updated the documentation accordingly
  • [ ] I have added tests to cover my changes
  • ~~[ ] I have linked related issues (see GitHub docs)~~
  • [x] I have increased versions of npm packages if it is necessary (cvat-canvas, cvat-core, cvat-data and cvat-ui)

License

  • [x] I submit my code changes under the same MIT License that covers the project. Feel free to contact the maintainers if that's a concern.

klakhov avatar Jun 27 '24 10:06 klakhov

[!NOTE]

Reviews paused

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?

Share
Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai generate interesting stats about this repository and render them as a table.
    • @coderabbitai show all the console.log statements in this repository.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (invoked as PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Additionally, you can add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.

CodeRabbit Configration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

coderabbitai[bot] avatar Jun 27 '24 10:06 coderabbitai[bot]

@coderabbitai pause

klakhov avatar Jun 27 '24 10:06 klakhov

Actions performed

Reviews paused.

coderabbitai[bot] avatar Jun 27 '24 10:06 coderabbitai[bot]

Codecov Report

Attention: Patch coverage is 76.11307% with 338 lines in your changes missing coverage. Please review.

Project coverage is 83.28%. Comparing base (688e0c5) to head (76cda50). Report is 2 commits behind head on develop.

Additional details and impacted files
@@             Coverage Diff             @@
##           develop    #8095      +/-   ##
===========================================
- Coverage    83.64%   83.28%   -0.36%     
===========================================
  Files          383      389       +6     
  Lines        40502    41269     +767     
  Branches      3830     3855      +25     
===========================================
+ Hits         33877    34372     +495     
- Misses        6625     6897     +272     
Components Coverage Δ
cvat-ui 79.42% <76.49%> (-0.26%) :arrow_down:
cvat-server 86.75% <75.90%> (-0.51%) :arrow_down:

codecov-commenter avatar Jun 27 '24 11:06 codecov-commenter

  1. The sorting header seems to be missing on the Requests tab. It's there on all the other tabs, but not in this one image
  2. I'd just show the downloading button on the card. I don't see the point in the actions section with just 1 button. Actions can include some additional actions, but downloading is the key purpose of these cards. image
  3. When we click export, the annotations are not downloaded automatically. To export, we need to make several extra clicks. If we export multiple tasks, this will be multiplied by the number of tasks exported. To me, it doesn't look a good decision. Probably, we can download automatically, if we know there were some downloading requests in this UI session (i.e. before the window was refreshed). If the window was reopened, the exports can be found in the list, as implemented.

zhiltsov-max avatar Jun 28 '24 08:06 zhiltsov-max

I see that the latest test runs were successful, looks like an unstable rest-api test. Marked a failed test as unstable, if any test fails which is not related to the PR, please tag me

novda avatar Jun 28 '24 08:06 novda

@klakhov

Please, resolve conflicts

bsekachev avatar Jun 28 '24 11:06 bsekachev

  1. The sorting header seems to be missing on the Requests tab. It's there on all the other tabs, but not in this one

The sorting/filtering functionality was not planned in this iteration

  1. I'd just show the downloading button on the card. I don't see the point in the actions section with just 1 button. Actions can include some additional actions, but downloading is the key purpose of these cards.

I will think about this. We may need to re-design the card a little bit. Probably this enhancement can be moved to second iteration.

  1. When we click export, the annotations are not downloaded automatically. To export, we need to make several extra clicks. If we export multiple tasks, this will be multiplied by the number of tasks exported. To me, it doesn't look a good decision. Probably, we can download automatically, if we know there were some downloading requests in this UI session (i.e. before the window was refreshed). If the window was reopened, the exports can be found in the list, as implemented.

I belive we discussed automatic downloading several times on different meetings, in the end we decided to stick with the simplier version - download by clicks(sometimes we may want to have control what we download and in what order). I agree that sometimes it can be not-so-useful. Probably there should be a setting controlling the behavior. Anyway, the feature looks like an enhancement that needs discussion.

klakhov avatar Jul 01 '24 13:07 klakhov

I think Expires on on resources exported to a cloud storage may confuse users a little bit

image

Upd: Better to use Finished on in this case.

bsekachev avatar Jul 02 '24 08:07 bsekachev

As discussed, let's increase default value for DATASET_CACHE_TTL. I believe we may use 24 hours instead of 10 hours and also, avoid dividing this value by 3 for projects

File: cvat/apps/dataset_manager/views.py, line 42

CC: @zhiltsov-max

bsekachev avatar Jul 02 '24 08:07 bsekachev

I think Expires on on resources exported to a cloud storage may confuse users a little bit

image

Upd: Better to use Finished on in this case.

Applied

klakhov avatar Jul 02 '24 09:07 klakhov