This avoids having too many timers running at the same time.
One could for instance update the `EnableRDPPolling` property from the `Options` dialog and start several concurrent `Timer`s
Signed-off-by: Danilo Del Busso <danilo.delbusso@cloud.com>
This prevents `AccessViolationException`s being called, as they're hit when two instances of `AxMSTSCLib.AxMsRdpClient9` call `Connect` on the same IP + Port combination, which results in the same memory being accessed in unmanaged code.
Signed-off-by: Danilo Del Busso <danilo.delbusso@cloud.com>
The `Connect` method returns `E_FAIL` if it is called while the control is already connected or in the connecting state. This can be hit when a lot of connections are being opened at the same time, and it's there as a failsafe.
Also adds `IsAttemptingConnection` as a new field
Signed-off-by: Danilo Del Busso <danilo.delbusso@cloud.com>
The reason this wasn't added to the `AxMsRdpClientX` classes is that I thought it best to not touch `AxMSTSCLib` classes as they are likely generated.
Signed-off-by: Danilo Del Busso <danilo.delbusso@cloud.com>
- The checkbox should be above the credential textboxes.
- Some controls were not aligned correctly.
- Place the controls in tableLayout panels.
Signed-off-by: Konstantina Chremmou <Konstantina.Chremmou@cloud.com>
- Ensure `UpgradeRequiresEUA` runs for Yangtze or greater hosts
- Group non-manual checks in same if block
- Remove unused field in `EuaNotFoundProblem`
Signed-off-by: Danilo Del Busso <danilo.delbusso@cloud.com>
Also:
- Add `HostDoesNotHaveHotfixWarning` warning to EUA `Check` when necessary
- Filter our `null` EUAs before passing them to the `Problem`
Signed-off-by: Danilo Del Busso <danilo.delbusso@cloud.com>
Also:
- Remove unused `button_click` event handler in `AcceptEuaDialog`
- Load EUAs within the `UpgradeRequiresEua` `Check` and removed the spinner from `AcceptEuaDialog`
- Remove `_errors` from `AcceptEuaDialog`
Signed-off-by: Danilo Del Busso <danilo.delbusso@cloud.com>
Adds a new field in `SelectMultipleVMDestinationPage`: `AllSelectedTargets`.
This new field contains a list of all hosts that have been selected. This way `ImportSelectHostPage` can check for each `Host` that has been selected individually and add more relevant messages
Signed-off-by: Danilo Del Busso <danilo.delbusso@cloud.com>
Also, moved the filter indication label from the Alerts/Updates/Events page
to the main window because the Updates page top toolstrip looked too clattered.
Signed-off-by: Konstantina Chremmou <Konstantina.Chremmou@cloud.com>
The check DundeeOrGreater always returns true since we disallow connection to anything earlier than Havana.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
- Adding a disk on local SR to an HA protected VM was crashing.
- The user could not plug the disk to the VM even after providing credentials on the role elevation dialog.
- The user had to enter credentials for each of the sub-actions involved in adding a disk.
Signed-off-by: Konstantina Chremmou <Konstantina.Chremmou@cloud.com>
* Tidy up `SelectMultipleVMDestinationPage.cs`
* CA-375532 & CA-336510: Add warning when importing VMs with too many vCPUs
* CA-375532 & CA-336510: Prevent users from starting appliance if a VM has too many vCPUs
* Tidy up `Page_CpuMem`: use expression-bodied properties
* Tidy up `Page_CpuMem`: use conventional naming scheme
* Tidy up `Page_CpuMem`: use explicit modifiers
* Tidy up `Page_CpuMem`: use `en-US` locale for names
* Tidy up `Page_CpuMem`: use `var` when possible
* Tidy up `Page_CpuMem`: rename `Vcpus` to `VCpus`
* Tidy up `Page_CpuMem`: reorder elements
* Tidy up `Page_CpuMem`: revert class renaming and fix `vCpus` typos
* CA-375532: Prevent users from starting VM if they select too many vCPUs
* Tidy up `Page_Finish`: use expression-bodied properties
* Tidy up `Page_Finish`: fix typo
* Tidy up `Page_CpuMem`: rename `CanStartVM` to `CanStartVm`
* Remove unnecessary using directives
* Anchor warning icon to the top-left corner of its parent
* CA-375532 & CA-336510: Warn users when selecting more vCPUs than pCPUs in the Properties page
* CP-41825: Add warning for imported VMs with > 32 vCPUs
* CP-41825: Add warning for new VMs with > 32 vCPUs
* CP-41825: Add warning for existing VMs when selecting > 32 vCPUs
* CP-41825: Update wording used to alert users running VMs with > 32vCPUs
* Remove unused local variable in `VappStartCommand.cs`
* Reword some vCPUs messages
* Simplify assignment of `CanStartImmediately` in `Page_Finish.cs`
* Simplify assignment of `CanStartVmsAutomatically` in `ImportFinishPage.cs`
* Remove useless `Count` check in `VappStartCommand`
* Rename `pictureBox1` to `warningPictureBox` and change its `SizeMode`
* Separate CPU and memory warnings in `Page_CpuMem`
* Shorten warning messages shown in `Page_CpuMem`
* Disable option to start VM when memory configuration isn't valid
* Report number of vCPUs and pCPUs when showing warning in New VM wizard
* Tidy up `CpuMemoryEditPage`: rename elements
* Tidy up `CpuMemoryEditPage`: use explicity modifiers
* Tidy up `CpuMemoryEditPage`: Rename `CPUMemoryEditPage` to `CpuMemoryEditPage`
* Tidy up `CpuMemoryEditPage`: Miscellaneous renames and improvements
* Tidy up `CpuMemoryEditPage`: Fix whitespace
* Tidy up `CpuMemoryEditPage`: Use ReSharper code formatter
* Tidy up `CpuMemoryEditPage`: Move events to own region
* Tidy up `CpuMemoryEditPage`: Move `IEditPage` members to own region
* Tidy up `CpuMemoryEditPage`: Order members outside of regions
* Replace topology and vCPU warning labels with structured warnings
* Ensure warnings ends with a dot
* Allow multiple CPU warnings to show at the same time
* Remove warning link for vCPUS > pCPUS Option is not achievable
* Enable option to force unit used in `MemorySpinner`
* Replace `NumericUpDown` with `MemorySpinner` and show warnings at bottom of control
* Check destination pCPUs count when destination is not a pool
* Do not disable option to start VMs after import if user selects a shared SR
* Add memory warning when importing appliance with too much memory
* Sort vCPUs and memory warning strings
* Remove target from `ImportWizard`'s summary
Target is not useful and can cause confusion as appliance VMs could start on non-target hosts
* The home server is needed in the summary when importing XVA. The target server is not needed in the summary when migrating a VM.
* Update warnings when the server selection changes. Corrected memory calculation.
* Show all warnings for vCPUs. Moved topology warning to the bottom. Separated methods for showing memory and vCPU warnings.
* Removed the memory setting from the VM Properties dialog. Split running VM info to a separate panel.
* Corrections to the logic for starting the VM automatically. Also, Fixed a bit the layout of the Finish page to make better use of the available space.
* Corrections as per code review.
Signed-off-by: Danilo Del Busso <danilo.delbusso@cloud.com>
Co-authored-by: Konstantina Chremmou <Konstantina.Chremmou@cloud.com>
* Prevent `long` overflow when VM has a very large amount of memory. Resulted in XenCenter hanging with a significant memory leak.
* Remove unused `label` parameter from `LabelShouldBeShown`
* Use `double` for increment variable when calculating increments in `ShinyBar`
* Use `Debug.Assert` call to avoid issues with `DrawGrid` in `ShinyBar`
Signed-off-by: Danilo Del Busso <danilo.delbusso@cloud.com>
RBAC check sometimes runs after the action that is being checked. This results in the status bar being cleared if the RBAC check passes.
Signed-off-by: Danilo Del Busso <danilo.delbusso@cloud.com>
- Removed event that had no subscribers.
- The xml docs are more useful on the properties and not their supporting private fields.
- Stop silencing cache errors as they may reveal other issues.
- Adding server to history was called twice.
- Connection null checks and refactoring of ConnectionExists exceptions.
- Added some logging.
Signed-off-by: Konstantina Chremmou <Konstantina.Chremmou@cloud.com>
- Stop using reflection for the creation of context menu builders. It's error prone.
- MultipleDockerContainers was not constructed because it was abstract.
- Do not reconstruct the selectionList for each builder.
- Unused variables.
Signed-off-by: Konstantina Chremmou <Konstantina.Chremmou@cloud.com>
- Multiple server entries should not be parsed differently from single entries;
(the Uri case was parsed incorrectly; multiple servers with ports could not be added).
- Simplified code parsing the hostname and port.
- Removed obsolete property IXenConnection.Version.
Signed-off-by: Konstantina Chremmou <Konstantina.Chremmou@cloud.com>
- Moved Windows Server templates to a different category.
- Show templates in reverse alphabetical (typically release) order.
Signed-off-by: Konstantina Chremmou <Konstantina.Chremmou@cloud.com>
- The CustomFieldsDialog was an unnecessary intermediate step deteriorating the user experience.
- Fixed layout issues when we have a long list of custom fields.
Signed-off-by: Konstantina Chremmou <Konstantina.Chremmou@cloud.com>
- Converted them to proper AsyncActions to facilitate further refactoring.
- Moved SaveCustomFieldsAction to the same folder as the above.
Signed-off-by: Konstantina Chremmou <Konstantina.Chremmou@cloud.com>
Fixed issue where the SR was not preselected when editing an existing disk and no scans were taking place.
Signed-off-by: Konstantina Chremmou <Konstantina.Chremmou@cloud.com>
- Bumped branding to v4.11.
- Reverted VS version in the solution file.
- Removed brand override registry entry.
- Converted HealthCheck warning pop-up to info pop-up.
- Moved status report actions to a separate folder.
Signed-off-by: Konstantina Chremmou <Konstantina.Chremmou@cloud.com>
* Remove credentials controls from `BugToolPageDestination`
Signed-off-by: Danilo Del Busso <danilo.delbusso@cloud.com>
* Explicitly call dispose in `BugToolPageDestination.cs`
Signed-off-by: Danilo Del Busso <danilo.delbusso@cloud.com>
* Tidy up code in `BugToolPageDestination.cs`
Signed-off-by: Danilo Del Busso <danilo.delbusso@cloud.com>
* Move `StatusReportRow` to its own file
Signed-off-by: Danilo Del Busso <danilo.delbusso@cloud.com>
* Move `ClientSideDataRow` and `HostStatusRow` to own files
Signed-off-by: Danilo Del Busso <danilo.delbusso@cloud.com>
* CP-40842: Update order of pages in `BugToolWizard`
Signed-off-by: Danilo Del Busso <danilo.delbusso@cloud.com>
* CP-40842: Update action and create row for packaging status report in BugTool wizard
Instead of creating a new action, this males ZipStatusReportAction inherit StatusReportAction
Signed-off-by: Danilo Del Busso <danilo.delbusso@cloud.com>
* CP-40842: Allow for pending `StatusReportAction` to be cancelled
This avoids the need for a running action to update the status. i.e. an action that has been registered but hasn't started running can be cancelled, too.
Signed-off-by: Danilo Del Busso <danilo.delbusso@cloud.com>
* CP-40842: Update content of `ACTION_SYSTEM_STATUS_SUCCESSFUL` message
Signed-off-by: Danilo Del Busso <danilo.delbusso@cloud.com>
* CP-40842: Add link to `labelBlurb` in `BugToolPageRetrieveData.cs`
Signed-off-by: Danilo Del Busso <danilo.delbusso@cloud.com>
* CP-40842: Add report packaging logic to `BugToolPageRetrieveData.cs`
Signed-off-by: Danilo Del Busso <danilo.delbusso@cloud.com>
* CP-40842: Open CIS URL when clicking on `linkLabelBlurb`
Signed-off-by: Danilo Del Busso <danilo.delbusso@cloud.com>
* CP-40842: Report packaged data amount in `ZipStatusReportAction`
Signed-off-by: Danilo Del Busso <danilo.delbusso@cloud.com>
* Remove unused `using`s
Signed-off-by: Danilo Del Busso <danilo.delbusso@cloud.com>
* Minor layout tweaks.
Signed-off-by: Konstantina Chremmou <Konstantina.Chremmou@cloud.com>
* Renamed folder and namespace to match the ones for the other wizards.
Signed-off-by: Konstantina Chremmou <Konstantina.Chremmou@cloud.com>
* Renamed wizard's private fields. Some code efficiency corrections.
Signed-off-by: Konstantina Chremmou <Konstantina.Chremmou@cloud.com>
* Keep the row classes as private within the BugToolPageRetrieveData class.
Signed-off-by: Konstantina Chremmou <Konstantina.Chremmou@cloud.com>
* Removed leftover unused action.
Signed-off-by: Konstantina Chremmou <Konstantina.Chremmou@cloud.com>
* Tidy up status report messages. Use more relevant icon.
Signed-off-by: Konstantina Chremmou <Konstantina.Chremmou@cloud.com>
* Made blurb localisable.
Signed-off-by: Konstantina Chremmou <Konstantina.Chremmou@cloud.com>
* Renamed private fields.
Signed-off-by: Konstantina Chremmou <Konstantina.Chremmou@cloud.com>
* Simplified the stages of the compilation of the status report.
Signed-off-by: Konstantina Chremmou <Konstantina.Chremmou@cloud.com>
* Renamed row classes again to match the action names.
Signed-off-by: Konstantina Chremmou <Konstantina.Chremmou@cloud.com>
* Simplify reporting the progress of the zipping action.
Signed-off-by: Konstantina Chremmou <Konstantina.Chremmou@cloud.com>
* Recursive call is not necessary. Tweaked message.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
* Sort strings
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
* Update copyright notices
Signed-off-by: Danilo Del Busso <danilo.delbusso@cloud.com>
---------
Signed-off-by: Danilo Del Busso <danilo.delbusso@cloud.com>
Signed-off-by: Konstantina Chremmou <Konstantina.Chremmou@cloud.com>
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
Co-authored-by: Konstantina Chremmou <Konstantina.Chremmou@cloud.com>
Co-authored-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
Also, renamed the placeholder because msbuild converts spaces to underscores
and in debug mode the settings path is different from the one expected.
Signed-off-by: Konstantina Chremmou <Konstantina.Chremmou@cloud.com>
- Corrections to the layout of the LegalNoticesDialog and the AboutDialog.
- Dispose the LegaNoticesDialog when the AboutDialog is closed.
Signed-off-by: Konstantina Chremmou <Konstantina.Chremmou@cloud.com>
`value` can sometimes be fed as a multiline string, in which case timestamps were added to empty lines, causing confusion.
Signed-off-by: Danilo Del Busso <danilo.delbusso@cloud.com>
Also renamed the archive classes because they were named after the 3rd
party library used and were confusing.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
The scans run in parallel in batches of three to avoid flooding the session.
Also, prevent firing the SelectedIndexChanged event multiple times when populating the NewDisk dialog.
Renamed the SrPicker control on the latter (because SrListBox is a different type of control).
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>