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

Client connecting progress indicator #4

Open
GwnDaan opened this issue Dec 12, 2023 · 9 comments · May be fixed by #77
Open

Client connecting progress indicator #4

GwnDaan opened this issue Dec 12, 2023 · 9 comments · May be fixed by #77
Assignees
Labels
enhancement New feature or request

Comments

@GwnDaan
Copy link
Member

GwnDaan commented Dec 12, 2023

Add loading indicator in UI that there is a VT client being connected. For really large pools, you think it's hanging, while in practice it is transferring the object pool(s).

@GwnDaan GwnDaan added the enhancement New feature or request label Dec 12, 2023
@ad3154
Copy link
Member

ad3154 commented Dec 13, 2023

100% agreed but will be tricky... I think maybe the server should register for the EDPO message and calculate progress based on that plus the total byte count compared to the requested byte count in the Get Memory message? Will have to experiment...

@ad3154 ad3154 self-assigned this Dec 13, 2023
@GwnDaan
Copy link
Member Author

GwnDaan commented Dec 13, 2023

I think it's better to integrate it into the stack itself. Like a function to get the active transport protocol sessions between two control functions. And then there can simply be a getter to get the progress in fractions/percentages of the total number of bytes transferred. Though then we should consider waiting for Open-Agriculture/AgIsoStack-plus-plus#344 first, because otherwise we are duplicating our work...

I think this approach will result in a smoother progress bar than solely depending on EDPO (which can be every 255 frames, and can even reach up to 255*200ms = +/-25 seconds)

@GwnDaan
Copy link
Member Author

GwnDaan commented Dec 20, 2023

A function to get progress percentage for transportation sessions will be added with Open-Agriculture/AgIsoStack-plus-plus#391

@ad3154
Copy link
Member

ad3154 commented Jan 19, 2024

Now that your ETP/TP changes are merged, I might be able to knock this out this weekend. I am thinking of drawing a circular progress bar where each working set icon would be drawn once it's fully transferred.

@martonmiklos
Copy link
Contributor

Hi folks,

I started to work on this, actually got it even rolling.:

kép

Any comments on the visuals?
I have less than zero sense for design, any comment is welcome.

martonmiklos referenced this issue in martonmiklos/AgIsoVirtualTerminal Dec 31, 2024
@ad3154
Copy link
Member

ad3154 commented Jan 1, 2025

I was also thinking we'd go down the path of drawing the indicator where the working set icon would be, so that's consistent with the direction I had in my head at least.

My initial thought was to use a Juce progress bar with the "arched" style for it, but a percent gives more useful info.
Are you using the regular juce progress bar here?

@ad3154
Copy link
Member

ad3154 commented Jan 1, 2025

Actually, the JUCE progress bars can include a percentage, so it might be a bit cleaner to just use that - maybe at least take a look and consider

martonmiklos referenced this issue in martonmiklos/AgIsoVirtualTerminal Jan 1, 2025
martonmiklos referenced this issue in martonmiklos/AgIsoVirtualTerminal Jan 1, 2025
@martonmiklos
Copy link
Contributor

Actually, the JUCE progress bars can include a percentage, so it might be a bit cleaner to just use that - maybe at least take a look and consider

Well so far I did it in a stone aged approach: using a rectangle and a text, but I will take a look on Juce's progressbar.

@martonmiklos
Copy link
Contributor

Juce's API approach is quite strange for this use case: we need to pass a reference to a variable to update the drawing.

I tried to workaround it in by calling setTextToDisplay in a custom paint event, but the text's % part is not displayed:
I also tried to use the linear style but I still got this pie like display:
kép

Anyway Muller's but IOP and TP size highlighted me that it is not enough to update it at the chunks, but I will need to somehow smuggle the TransportProtocolSessionBase::get_percentage_bytes_transferred to the progress reporting.

martonmiklos referenced this issue in martonmiklos/AgIsoVirtualTerminal Jan 3, 2025
@martonmiklos martonmiklos linked a pull request Jan 11, 2025 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants