Skip to content

Conversation

@levkropp
Copy link
Contributor

Implement availability zones support in GUI

  • Add ZONE column to VM instances table

  • Add zone controls in bulk actions and filters

  • Add zone selection to instance configuration

  • Add Launch & Configure Next functionality

@levkropp levkropp force-pushed the az-gui branch 2 times, most recently from 24c52c5 to 79a74ad Compare March 12, 2025 23:48
@codecov
Copy link

codecov bot commented Mar 13, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 89.24%. Comparing base (1e46870) to head (489ccbf).
⚠️ Report is 46 commits behind head on availability-zones.

Additional details and impacted files
@@                  Coverage Diff                   @@
##           availability-zones    #3979      +/-   ##
======================================================
+ Coverage               89.10%   89.24%   +0.14%     
======================================================
  Files                     267      267              
  Lines                   15160    15177      +17     
======================================================
+ Hits                    13508    13545      +37     
+ Misses                   1652     1632      -20     

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

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@levkropp levkropp force-pushed the az-gui branch 2 times, most recently from 81f1458 to a6219c6 Compare March 13, 2025 02:38
@levkropp levkropp force-pushed the az-gui branch 2 times, most recently from c5159fa to 68ada27 Compare April 1, 2025 14:57
@levkropp levkropp marked this pull request as ready for review April 1, 2025 14:59
@levkropp levkropp force-pushed the az-gui branch 2 times, most recently from 63d9e3b to 3651967 Compare April 2, 2025 02:02
@andrei-toterman andrei-toterman self-requested a review April 2, 2025 18:54
@ricab ricab requested a review from Sploder12 April 4, 2025 15:08
@levkropp levkropp force-pushed the az-gui branch 2 times, most recently from 3dd506a to 6cede9b Compare April 4, 2025 16:58
@levkropp levkropp requested a review from andrei-toterman April 4, 2025 17:10
@levkropp levkropp changed the base branch from az-scaffolding to az-launch-command April 8, 2025 16:47
@levkropp levkropp force-pushed the az-launch-command branch from 51b2112 to 3b065cc Compare April 8, 2025 17:55
@levkropp levkropp force-pushed the az-launch-command branch 5 times, most recently from 11efe3b to d619572 Compare April 9, 2025 15:30
@levkropp levkropp force-pushed the az-launch-command branch from d619572 to b86caf2 Compare April 9, 2025 16:06
@vikorama
Copy link
Collaborator

Still haven't tested the package as I'm getting an error, but one change we definitely need to do is to remove Pseudo everywhere. This was the feedback from the Roadmap team-only.

@vikorama
Copy link
Collaborator

Thank you @levkropp, a few things to look into:

  • The switchers should have a hover state - the cursor changes to hover. We have documentation for this component in web apps, maybe it'll help a bit to align Flutter.
  • I have to click twice to switch a zone on and off. Steps to reproduce: 1. Expand the zone drop-down, 2. Point at a switcher and click, 3. Nothing happens, click again -> switcher reacts.
  • Availability zones title and zone names should be 550 in weight (seems too bold at the moment).
  • Zone names font should be 16 px. Line height 24px.
  • The subtitles' (# of running instances) font should be the default font. Now it looks like it doesn't have proper letter spacing. It should be the same as the VM names in the all instances table, also 16px. Line height 24px.
  • The outer padding on the drop-down is 24px.
  • The title should be left aligned.
  • Remove border radius on the zone outlines. In our visual guidelines the border radius on buttons and all outlines is 0.
  • The padding on the sides of the button feels uneven by 4-5px.
  • [probably skip for now] Button outline should be the high-contrast color (707070) - we should either fix it for all button, or not touch it for now and fix later, cuz other button states are not consistent with our design system either.

@vikorama
Copy link
Collaborator

I'm not sure if it is a part of this PR, but when one or more zones are disabled, we should indicate it to the user:
image

@levkropp
Copy link
Contributor Author

TLDR: Here is what it looks like now, with the Figma design for reference. Please let me know what you think!

image

Unfortunately, we cannot set a font weight of 550 to the best of my knowledge. If we really want, we could create/add a new font where one of the font values w100 w200 etc corresponds to a version of the font at 550 weight


Hi @vikorama , regarding your latest comments:

The switchers should have a hover state - the cursor changes to hover. We have documentation for this component in web apps, maybe it'll help a bit to align Flutter.

I do not have access to the documentation Figma you have linked. I have requested access. Do you mean something like the following? This is called a SystemMouseCursors.click in Flutter

image

Availability zones title and zone names should be 550 in weight (seems too bold at the moment).

To the best of my knowledge, Flutter only supports specific font weights: w100, w200, w300, w400, w500, w600, w700, w800, w900. There is no w550. For a weight between w500 and w600, the closest valid options is FontWeight.w500 or FontWeight.w600. It's currently set to 600, but I can make it 500 if you prefer

I have to click twice to switch a zone on and off. Steps to reproduce: 1. Expand the zone drop-down, 2. Point at a switcher and click, 3. Nothing happens, click again -> switcher reacts.

I am unable to reproduce this on Kubuntu 24.04. The switcher changes after a short delay for me after one click. There is a chance that this is also related to the incomplete implementation of availability/unavailiabilty in the branch, otherwise this may be a MacOS specific bug.

Zone names font should be 16 px. Line height 24px.

The font size for zone names is set to 16px

Text(
  zoneName,
  style: TextStyle(
    fontSize: 16,
    fontWeight: FontWeight.w600,
    color: Colors.black,
  ),
),

https://api.flutter.dev/flutter/painting/TextStyle/fontSize.html
There is a chance that this is being affected by a textScaleFactor. May I see a screenshot of what it looks like on your end?
I have added a height parameter of 1.5 to set the line height to 16 x 1.5 = 24 px
https://api.flutter.dev/flutter/painting/TextStyle/height.html

  • The subtitles' (# of running instances) font should be the default font. Now it looks like it doesn't have proper letter spacing. It should be the same as the VM names in the all instances table, also 16px. Line height 24px.

The subtitle is using the default font. There have been no changes made to kerning (letter spacing). I have updated it to now also be 16px with a line height of 24px

image
  • The outer padding on the drop-down is 24px.

👍

The padding on the sides of the button feels uneven by 4-5px.

👍
This was a result of the icons used. The padding has been made asymmetrical to account for this

  • [probably skip for now] Button outline should be the high-contrast color (707070)

I agree that this should be in another PR

@levkropp levkropp force-pushed the az-enable-disable-commands branch from affecab to e1b367e Compare July 11, 2025 21:42
@vikorama
Copy link
Collaborator

@levkropp Thank you for looking into all this! The look and the cursor are great!

  1. As I was making these visual comments, I realised I overdid it with the outlines. I simplified it and it looks lighter to me, without the unnecessary complexity:
image

If you agree, could you please make these minor adjustments? 🙏

image

Please see here for more details

  1. Could you please confirm if my previous comment is included in this PR?

@levkropp levkropp force-pushed the az-enable-disable-commands branch from bf18f23 to c2a338e Compare July 15, 2025 16:38
Base automatically changed from az-enable-disable-commands to availability-zones August 18, 2025 16:34
@levkropp levkropp merged commit b8474ed into availability-zones Aug 18, 2025
18 of 19 checks passed
@levkropp levkropp deleted the az-gui branch August 18, 2025 16:40
Sploder12 pushed a commit that referenced this pull request Aug 18, 2025
Implement availability zones support in GUI

- Add ZONE column to VM instances table

- Add zone controls in bulk actions and filters

- Add zone selection to instance configuration

- Add Launch & Configure Next functionality
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.

4 participants