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

Desktop gui #3282

Merged
merged 240 commits into from
Apr 19, 2024
Merged

Desktop gui #3282

merged 240 commits into from
Apr 19, 2024

Conversation

andrei-toterman
Copy link
Contributor

@andrei-toterman andrei-toterman commented Nov 3, 2023

Fixes #2895

@andrei-toterman andrei-toterman mentioned this pull request Nov 3, 2023
Copy link

codecov bot commented Nov 3, 2023

Codecov Report

Attention: Patch coverage is 93.33333% with 3 lines in your changes are missing coverage. Please review.

Project coverage is 88.80%. Comparing base (19f8477) to head (c7c66df).

Files Patch % Lines
src/daemon/daemon.cpp 71.42% 2 Missing ⚠️
include/multipass/vm_image_info.h 95.65% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #3282      +/-   ##
==========================================
- Coverage   88.89%   88.80%   -0.10%     
==========================================
  Files         254      252       -2     
  Lines       14084    14019      -65     
==========================================
- Hits        12520    12449      -71     
- Misses       1564     1570       +6     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@andrei-toterman andrei-toterman force-pushed the desktop-gui branch 2 times, most recently from 8c34ede to ad72159 Compare January 12, 2024 20:13
@andrei-toterman andrei-toterman force-pushed the desktop-gui branch 3 times, most recently from a36aef4 to b99e118 Compare February 21, 2024 10:23
@andrei-toterman andrei-toterman force-pushed the desktop-gui branch 4 times, most recently from 5475c53 to c00c70d Compare March 8, 2024 16:33
@andrei-toterman andrei-toterman force-pushed the desktop-gui branch 7 times, most recently from 65aff18 to 900d203 Compare March 22, 2024 18:22
@andrei-toterman andrei-toterman marked this pull request as ready for review March 22, 2024 18:26
@andrei-toterman andrei-toterman changed the base branch from main to shutdown-grpc-server-on-exit March 22, 2024 18:28
Base automatically changed from shutdown-grpc-server-on-exit to main March 26, 2024 16:01
Copy link
Contributor

@townsend2010 townsend2010 left a comment

Choose a reason for hiding this comment

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

Hey @andrei-toterman!

Again, fantastic work here! I'm submitting this review as-is because I pushed some changes for the Snap package and it seems I can't view some of my saved comments. I will follow up with more comments as necessary.

include/multipass/dart_ffi.h Outdated Show resolved Hide resolved
src/client/cli/main.cpp Outdated Show resolved Hide resolved
src/client/desktop_gui/ffi/dart_ffi.cpp Outdated Show resolved Hide resolved
src/platform/platform_shared.h Outdated Show resolved Hide resolved
src/simplestreams/simple_streams_manifest.cpp Outdated Show resolved Hide resolved
@townsend2010
Copy link
Contributor

Hey @andrei-toterman,

I think since the original GUI was removed, we can go back to using gui again for directories, etc. instead of desktop-gui.

Also, I'm still thinking about the name of this, both the executable and the app itself. For the time being, let's rename it back to multipass.gui to be consistent with how the original GUI was named. I'm still considering calling the app itself "Multipass Manager" and the executable multipass-manager, but I'd like to get some broad feedback about that. To me, "Multipass" is the all encompassing product and calling the app that seems a bit...off.

@townsend2010
Copy link
Contributor

I have also made quite a few changes to the snap package to trim it down. It went from ~82MB down to ~64MB. There is still some room for improvement, but I think this is sufficient for now.

flutter pub get
flutter build linux --release --verbose --target lib/main.dart
organize:
/root/parts/desktop-gui/build/build/linux/x64/release/bundle: bin/
Copy link
Contributor

Choose a reason for hiding this comment

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

I'm not a real fan of all of the parts of the GUI bundle being dumped into bin/. It's ok for now, but we should do better in another PR.

@townsend2010
Copy link
Contributor

A UI "issue" I've found is that when you are in the list of instances and select one or more instances and then do an action such as start, stop, etc., the selections stay active and must be de-selected even after the action completes. I think that once the action is complete, the instances should automatically be de-selected. @vikorama, what do you think?

@vikorama
Copy link

A UI "issue" I've found is that when you are in the list of instances and select one or more instances and then do an action such as start, stop, etc., the selections stay active and must be de-selected even after the action completes. I think that once the action is complete, the instances should automatically be de-selected. @vikorama, what do you think?

Very good catch @townsend2010! I think the instance selection should stay selected as long as the user stays on the 'All instances' page. For example a flow like this: I select 5 running instances, pause them to free up recourses, do what I need to do in other apps, get back to Multipass and run the selected instances again.

I think that the selection should get de-selected when:

  • a user opens up an individual instance page
  • goes to the Catalogue/Help/Settings
  • searches for something on the 'All instances' page or removes a search query -> already happening in the current package on Mac.
  • switches 'show running only' on or off -> already happening in the current package on Mac. (this behaviour is arguable from the UX POV, but since it's already there, let's keep it for now)

What do you think?

@townsend2010
Copy link
Contributor

Hey @vikorama!

I think what you propose makes perfect sense! Thank you for your input!

@andrei-toterman
Copy link
Contributor Author

Hey, @vikorama! Thanks for the feedback! Indeed, most of the changes that you mentioned are not in the latest package. They are implemented, but due to various CI shenanigans, we couldn't obtain the packages with those changes. Hopefully they will be ready today.

@vikorama
Copy link

@andrei-toterman As discussed, let's keep the context switcher as is for now. I agree that it's better to avoid it jumping around due to different name lengths. We might need to improve the visual design of the top panel in the future anyways, and it'd be easier to do it when we collect feedback after the first launch.

Copy link
Contributor

@townsend2010 townsend2010 left a comment

Choose a reason for hiding this comment

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

Ok, this looks great in it's current form. Let's get it in!!! 🚀

@townsend2010 townsend2010 merged commit b78e979 into main Apr 19, 2024
10 of 12 checks passed
@townsend2010 townsend2010 deleted the desktop-gui branch April 19, 2024 12:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[linux] Update Multipass icon for snap package and Snap Store
4 participants