Skip to content
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

#575, #1175 Show 'progress' indicator during verify/upload #1260

Merged
merged 1 commit into from
Aug 1, 2022
Merged

Conversation

kittaakos
Copy link
Contributor

@kittaakos kittaakos commented Jul 27, 2022

Motivation

Show progress indication when running the verify, upload, upload using programmer or burn bootloader commands from IDE2.

The changes in action:

  1. Verfiy:
Verify.mp4
  1. Upload:
Upload.mp4

Change description

  • [dev]: The core service (backend) does not run compile before verify; it's the caller's responsibility to run it.

Other information

Noteworthy UI/UX changes:

An Upload consists of two tasks: Verfiy and Upload. With the proposed changes, users will see on the toolbar (Verify toolbar icon is yellow with the light Arduino theme) that if Verify is in progress, then Upload is in progress. See in action.

https://user-images.githubusercontent.com/1405703/181474498-14e02b6b-1f4e-4b07-b93c-7e819f874e8e.mp4

This is a UI change compared to the HEAD of the main branch, but I believe this is the correct solution What do you think @per1234 and @ubidefeo?

For reviewers:

Closes #575
Closes #1175

Reviewer checklist

  • PR addresses a single concern.
  • The PR has no duplicates (please search among the Pull Requests before creating one)
  • PR title and description are properly filled.
  • Docs have been added / updated (for bug fixes / features)

@kittaakos kittaakos force-pushed the #575 branch 3 times, most recently from 633fd9c to 3789ec4 Compare July 28, 2022 09:26
@kittaakos kittaakos marked this pull request as ready for review July 28, 2022 09:41
@kittaakos kittaakos added type: enhancement Proposed improvement topic: code Related to content of the project itself labels Jul 28, 2022
@ubidefeo
Copy link

The progress indicator works as expected.
Opening the output panel right at the beginning of verify is helping a lot in moving the attention to the bottom of the window, where the progress can be noticed easy.
I have seen at the end of the ESP32 platform installation that a longer message appears in the output panel, I guess this is expected?

Installing esp32:riscv32-esp-elf-gcc@gcc8_4_0-esp-2021r2-patch3
esp32:riscv32-esp-elf-gcc@gcc8_4_0-esp-2021r2-patch3 installed
Installing esp32:xtensa-esp32-elf-gcc@gcc8_4_0-esp-2021r2-patch3
esp32:xtensa-esp32-elf-gcc@gcc8_4_0-esp-2021r2-patch3 installed
Installing esp32:xtensa-esp32s2-elf-gcc@gcc8_4_0-esp-2021r2-patch3
esp32:xtensa-esp32s2-elf-gcc@gcc8_4_0-esp-2021r2-patch3 installed
Installing esp32:xtensa-esp32s3-elf-gcc@gcc8_4_0-esp-2021r2-patch3
esp32:xtensa-esp32s3-elf-gcc@gcc8_4_0-esp-2021r2-patch3 installed
Installing esp32:esptool_py@3.3.0
esp32:esptool_py@3.3.0 installed
Installing esp32:mkspiffs@0.2.3
esp32:mkspiffs@0.2.3 installed
Installing esp32:mklittlefs@3.0.0-gnu12-dc7f933
esp32:mklittlefs@3.0.0-gnu12-dc7f933 installed
Installing platform esp32:esp32@2.0.3
Configuring platform.
Platform esp32:esp32@2.0.3 installed

cc @per1234

Copy link
Contributor

@AlbyIanna AlbyIanna left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The code looks good, but I have only one remark.

I noticed that it's possible to trigger an Upload when there's a Verify in progress, and vice versa it's possible to trigger a Verify when there's an Upload in progress. Maybe this is expected (in the end it doesn't seem to cause any significant issue). I'm pointing this out because it feels weird to click on the Upload button and get feedback (the yellow active status) on the Verify button, while the Upload button is still clickable.

Screen.Recording.2022-07-29.at.17.15.55.mov

@kittaakos
Copy link
Contributor Author

Thanks for taking the time and trying it out.

I noticed that it's possible to trigger an Upload when there's a Verify in progress, and vice versa it's possible to trigger a Verify when there's an Upload in progress. Maybe this is expected (in the end it doesn't seem to cause any significant issue)

It's the same in the main too. So this did not change anything.

Screen Shot 2022-07-29 at 17 29 28

I'm pointing this out because it feels weird to click on the Upload button and get feedback (the yellow active status) on the Verify button

Good that you brought this up; it's mentioned in the description as expected behavioral changes. I am looking forward to hearing how it should exactly work. I can restore what it is on the main, but you also noticed the behavior does not seem correct, right?

while the Upload button is still clickable.

This is undesired. Thanks for noting it. I will change the logic so that when the user clicks on Upload, the following will happen:

  • upload turns into yellow,
  • verify starts (verify button yellow, upload is still yellow),
  • verify completes (only upload is yellow),
  • upload completes (zero yellow buttons)

@AlbyIanna
Copy link
Contributor

AlbyIanna commented Jul 29, 2022

I am looking forward to hearing how it should exactly work.

I don't really know. The Java IDE didn't have this issue because it turns yellow only one button: if you click on the Upload button, the Upload button is the only one that turns yellow (even during the compile process), and clicking the Verify button during this time wouldn't do anything, making it disabled for all intents. But anyway, as you said, it's not in this PR's scope to solve this issue 👍

upload turns into yellow,
verify starts (verify button yellow, upload is still yellow),
verify completes (only upload is yellow),
upload completes (zero yellow buttons)

I like this, thanks!

Let's add @91volt to the thread and see what he thinks about this solution.

Closes #575
Closes #1175

Signed-off-by: Akos Kitta <a.kitta@arduino.cc>
@kittaakos
Copy link
Contributor Author

I am looking forward to hearing how it should exactly work.

I don't really know. The Java IDE didn't have this issue because it turns yellow only one button: if you click on the Upload button, the Upload button is the only one that turns yellow (even during the compile process), and clicking the Verify button during this time wouldn't do anything, making it disabled for all intents. But anyway, as you said, it's not in this PR's scope to solve this issue 👍

upload turns into yellow,
verify starts (verify button yellow, upload is still yellow),
verify completes (only upload is yellow),
upload completes (zero yellow buttons)

I like this, thanks!

I reverted all the UX changes. The Verify and Upload UX should be the same as the main state.

Copy link
Contributor

@per1234 per1234 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a really nice advancement in the user experience. Thanks Akos!

@kittaakos kittaakos merged commit e156dcc into main Aug 1, 2022
@kittaakos kittaakos deleted the #575 branch August 1, 2022 13:07
@per1234 per1234 linked an issue Aug 2, 2022 that may be closed by this pull request
@per1234
Copy link
Contributor

per1234 commented Aug 6, 2022

I noticed that it's possible to trigger an Upload when there's a Verify in progress, and vice versa it's possible to trigger a Verify when there's an Upload in progress.

This bug is now being tracked at #1299

@kittaakos kittaakos mentioned this pull request Dec 12, 2022
4 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
topic: code Related to content of the project itself type: enhancement Proposed improvement
Projects
None yet
4 participants