Skip to content

chore: backport V5.1 milestoned fixes to Stable_V5.1 - #14843

Merged
DonLakeFlyer merged 7 commits into
mavlink:Stable_V5.1from
DonLakeFlyer:stable-5.1-backports
Aug 11, 2026
Merged

DonLakeFlyer merged 7 commits into
mavlink:Stable_V5.1from
DonLakeFlyer:stable-5.1-backports

Conversation

@DonLakeFlyer

Copy link
Copy Markdown
Contributor

Cherry-picks the Release V5.1 milestoned PRs merged to master that were missing from Stable_V5.1:

All cherry-picks applied cleanly.

DonLakeFlyer and others added 7 commits August 11, 2026 13:56
…work without native dialogs

Qt.labs.platform dialogs only show when the platform theme provides a native dialog; the QtWidgets fallback was lost when QGC moved to QGuiApplication. QtQuick.Dialogs FolderDialog falls back to a QML implementation, fixing dead folder pickers (e.g. onboard log Download) on systems without native dialog support. Also fixes ClickableColor where the labs ColorDialog shadowed the QtQuick.Dialogs one, and removes stale Qt.labs imports.
An invalid QDateTime makes getUTCFullYear() return NaN, which skipped the
Date Unknown branch and rendered a blank date cell. Also log the transport
selection in refresh() to aid diagnosing transport issues like mavlink#14789.
Log the raw MAVLink FTP directory entries and the cached
ListDirectoryWithTime capability state on every listing so a single
App Log capture shows which list command was used, why, and whether
the vehicle included the mtime field (debugging mavlink#14789).
"file:///" + folder produced a malformed file:////... url on
non-Windows platforms, which could desync the Qt Quick dialog's
breadcrumb from its folder listing (and crash on accept). Use
QUrl::fromLocalFile via a new localFileToUrl helper instead.

Related to mavlink#14789
From the way I look at it, the pitch indicator was inverted:
Pitching down would make the bar go up, pitch up would make it go down.

I've therefore inverted and now it works the same as roll, and feels
right to me.
When we have more than one gimbal manager in the system, it is not clear
which gimbal is which.

For example:
- Autopilot with internal gimbal (compid 1, gimbal device 1)
- External Mavlink gimbal manager (compid 154, gimbal device 1)

Previously, both of these gimbals would show as "Gimbal 1".

With this change, they show up as "Gimbal 1-1" and "Gimbal 154-1".
@codecov

codecov Bot commented Aug 11, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 28.57143% with 10 lines in your changes missing coverage. Please review.
⚠️ Please upload report for BASE (Stable_V5.1@1b5d7f4). Learn more about missing BASE report.

Files with missing lines Patch % Lines
...rc/AnalyzeView/OnboardLogs/OnboardLogController.cc 0.00% 4 Missing and 3 partials ⚠️
src/Vehicle/FTPManager.cc 40.00% 1 Missing and 2 partials ⚠️
Additional details and impacted files

Impacted file tree graph

@@              Coverage Diff               @@
##             Stable_V5.1   #14843   +/-   ##
==============================================
  Coverage               ?   32.76%           
==============================================
  Files                  ?      784           
  Lines                  ?    67648           
  Branches               ?    31342           
==============================================
  Hits                   ?    22168           
  Misses                 ?    30552           
  Partials               ?    14928           
Flag Coverage Δ
unittests 32.76% <28.57%> (?)

Flags with carried forward coverage won't be shown. Click here to find out more.

Files with missing lines Coverage Δ
src/QmlControls/QGCFileDialogController.cc 34.21% <100.00%> (ø)
src/Vehicle/FTPManager.cc 41.03% <40.00%> (ø)
...rc/AnalyzeView/OnboardLogs/OnboardLogController.cc 47.36% <0.00%> (ø)

Continue to review full report in Codecov by Harness.

Legend - Click here to learn more
Δ = absolute (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 1b5d7f4...7d85a46. Read the comment docs.

🚀 New features to boost your workflow:
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@github-actions

Copy link
Copy Markdown
Contributor

Build Results

Platform Status

Platform Status Details
Linux Passed View
Windows Passed View
MacOS Passed View
Android Passed View

All builds passed.

Pre-commit

Check Status Details
pre-commit Failed (non-blocking) View

Pre-commit hooks: 2 passed, 75 failed, 7 skipped.

Test Results

linux-coverage-integration: 37 passed, 0 skipped
linux-coverage-unit: 121 passed, 0 skipped
linux-sanitizers-integration: 20 passed, 0 skipped
linux-sanitizers-unit: 121 passed, 0 skipped
Total: 299 passed, 0 skipped

Code Coverage

Coverage Baseline Change
69.5% 69.0% +0.5%

Artifact Sizes

Artifact Size Δ from master
QGroundControl 252.26 MB -4.75 MB (decrease)
QGroundControl-aarch64 176.30 MB -0.15 MB (decrease)
QGroundControl-installer-AMD64 137.81 MB -0.52 MB (decrease)
QGroundControl-installer-AMD64-ARM64 80.35 MB -0.26 MB (decrease)
QGroundControl-installer-ARM64 109.10 MB -0.07 MB (decrease)
QGroundControl-linux 84.32 MB -76.71 MB (decrease)
QGroundControl-mac 84.31 MB -0.15 MB (decrease)
QGroundControl-x86_64 188.52 MB -0.16 MB (decrease)
Total size decreased by 82.77 MB

Updated: 2026-08-11 22:00:44 UTC • Commit: 7d85a46 • Triggered by: MacOS

@DonLakeFlyer
DonLakeFlyer merged commit b307b24 into mavlink:Stable_V5.1 Aug 11, 2026
47 checks passed
@DonLakeFlyer
DonLakeFlyer deleted the stable-5.1-backports branch August 11, 2026 22:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants