Cross-platform ground control station for drones (Android, iOS, Mac OS, Linux, Windows)
This report presents the forensic synthetic code analysis of mavlink/qgroundcontrol, a C++ project with 4,756 GitHub stars. SynthScan v2.0 examined 522,055 lines of code across 2234 source files, recording 1971 pattern matches distributed across 16 syntactic categories. The overall adjusted score of 6.3 places this repository in the Low AI signal band.
The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).
This chart maps the temporal evolution of the adjusted synthetic code score across successive scan runs. An upward trajectory indicates ongoing incorporation of AI-generated code or expanding LLM-assisted scaffolding; a stable or declining trajectory may reflect active human refactoring, code removal, or the adoption of stricter authorship policies. The dashed secondary line (right axis) independently tracks total raw pattern hit count, which can diverge from the normalised score when codebase size changes significantly between scans.
Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.
This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.
The scanner identified 1971 distinct pattern matches across 16 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | CMakeLists.txt | 1 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 3 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 7 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 9 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 21 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 23 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 29 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 31 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 35 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 37 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 63 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 65 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 67 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 69 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 79 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 81 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 84 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 86 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 91 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 93 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 101 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 103 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 113 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 115 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 126 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 128 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 131 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 133 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 138 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 140 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 149 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 151 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 269 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 271 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 277 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 279 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 288 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 290 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 376 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 378 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 386 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 388 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 405 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 407 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 411 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 413 | # ============================================================================ | COMMENT |
| MEDIUM | CMakeLists.txt | 172 | # ============================================================================ | COMMENT |
| MEDIUM | CMakeLists.txt | 174 | # ============================================================================ | COMMENT |
| MEDIUM | CMakeLists.txt | 190 | # ============================================================================ | COMMENT |
| MEDIUM | CMakeLists.txt | 192 | # ============================================================================ | COMMENT |
| MEDIUM | CMakeLists.txt | 254 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM | CMakeLists.txt | 256 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM | CMakeLists.txt | 311 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM | CMakeLists.txt | 313 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM | CMakeLists.txt | 324 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM | CMakeLists.txt | 326 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM | CMakeLists.txt | 338 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM | CMakeLists.txt | 340 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM | CMakeLists.txt | 351 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM | CMakeLists.txt | 353 | # ---------------------------------------------------------------------------- | COMMENT |
| 455 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/pre_commit.py | 44 | def ensure_precommit_available() -> bool: | CODE |
| LOW | tools/setup/install_dependencies/_packages.py | 392 | def _get_categorized_packages( | CODE |
| LOW | tools/setup/install_dependencies/_common.py | 110 | def run_apt_install_with_retry( | CODE |
| LOW | tools/setup/install_dependencies/_common.py | 145 | def run_dnf_install_with_retry( | CODE |
| LOW | tools/setup/install_dependencies/_common.py | 163 | def run_pacman_install_with_retry( | CODE |
| LOW | tools/setup/install_dependencies/_common.py | 224 | def check_apt_package_available(package: str) -> bool: | CODE |
| LOW | tools/setup/install_dependencies/_common.py | 239 | def get_available_debian_packages(category: str) -> list[str]: | CODE |
| LOW | tools/setup/install_dependencies/_debian.py | 38 | def resolve_package_alternatives(packages: list[str]) -> list[str]: | CODE |
| LOW | tools/setup/install_dependencies/_windows.py | 108 | def install_windows_gstreamer(version: str, dry_run: bool = False) -> bool: | CODE |
| LOW | tools/tests/test_tool_version.py | 14 | def test_probe_version_three_components() -> None: | CODE |
| LOW⚡ | tools/tests/test_tool_version.py | 25 | def test_probe_version_two_components() -> None: | CODE |
| LOW⚡ | tools/tests/test_tool_version.py | 33 | def test_probe_version_uses_stderr_when_stdout_empty() -> None: | CODE |
| LOW⚡ | tools/tests/test_tool_version.py | 41 | def test_probe_version_missing_tool() -> None: | CODE |
| LOW⚡ | tools/tests/test_tool_version.py | 46 | def test_probe_version_nonzero_exit() -> None: | CODE |
| LOW⚡ | tools/tests/test_tool_version.py | 54 | def test_probe_version_unparseable() -> None: | CODE |
| LOW⚡ | tools/tests/test_tool_version.py | 62 | def test_probe_version_custom_pattern() -> None: | CODE |
| LOW⚡ | tools/tests/test_tool_version.py | 71 | def test_probe_version_custom_args() -> None: | CODE |
| LOW⚡ | tools/tests/test_proc.py | 12 | def test_run_captured_returns_completed_process() -> None: | CODE |
| LOW⚡ | tools/tests/test_proc.py | 19 | def test_run_captured_check_raises() -> None: | CODE |
| LOW⚡ | tools/tests/test_proc.py | 24 | def test_run_captured_failing_command_does_not_raise_by_default() -> None: | CODE |
| LOW⚡ | tools/tests/test_proc.py | 34 | def test_run_text_returns_stdout() -> None: | CODE |
| LOW⚡ | tools/tests/test_proc.py | 38 | def test_run_text_default_on_missing_binary() -> None: | CODE |
| LOW⚡ | tools/tests/test_proc.py | 42 | def test_run_text_default_on_nonzero_exit() -> None: | CODE |
| LOW⚡ | tools/tests/test_build_gstreamer.py | 24 | def test_detect_jobs_with_override() -> None: | CODE |
| LOW⚡ | tools/tests/test_build_gstreamer.py | 28 | def test_detect_jobs_without_override() -> None: | CODE |
| LOW⚡ | tools/tests/test_build_gstreamer.py | 33 | def test_detect_jobs_fallback_when_cpu_count_none() -> None: | CODE |
| LOW⚡ | tools/tests/test_build_gstreamer.py | 53 | def test_build_config_defaults(tmp_path: Path) -> None: | CODE |
| LOW⚡ | tools/tests/test_build_gstreamer.py | 61 | def test_build_config_custom_prefix(tmp_path: Path) -> None: | CODE |
| LOW⚡ | tools/tests/test_build_gstreamer.py | 67 | def test_build_config_archive_name() -> None: | CODE |
| LOW⚡ | tools/tests/test_build_gstreamer.py | 72 | def test_build_config_archive_name_simulator() -> None: | CODE |
| LOW⚡ | tools/tests/test_build_gstreamer.py | 77 | def test_get_meson_args_contains_prefix(tmp_path: Path) -> None: | CODE |
| LOW⚡ | tools/tests/test_build_gstreamer.py | 86 | def test_get_meson_args_macos_arch_flags(tmp_path: Path) -> None: | CODE |
| LOW⚡ | tools/tests/test_build_gstreamer.py | 94 | def test_get_meson_args_macos_universal_no_arch_flags(tmp_path: Path) -> None: | CODE |
| LOW⚡ | tools/tests/test_build_gstreamer.py | 102 | def test_get_meson_args_linux_no_arch_flags(tmp_path: Path) -> None: | CODE |
| LOW⚡ | tools/tests/test_build_gstreamer.py | 109 | def test_get_meson_args_includes_plugins(tmp_path: Path) -> None: | CODE |
| LOW | tools/tests/test_coverage.py | 9 | def test_build_step_summary_includes_metrics() -> None: | CODE |
| LOW⚡ | tools/tests/test_vehicle_null_check.py | 33 | def test_detects_unsafe_direct_access(sample_violations: list[dict]) -> None: | CODE |
| LOW⚡ | tools/tests/test_vehicle_null_check.py | 37 | def test_detects_unsafe_variable_use(sample_violations: list[dict]) -> None: | CODE |
| LOW⚡ | tools/tests/test_vehicle_null_check.py | 41 | def test_detects_unsafe_get_parameter(sample_violations: list[dict]) -> None: | CODE |
| LOW⚡ | tools/tests/test_vehicle_null_check.py | 45 | def test_ignores_safe_patterns(sample_violations: list[dict]) -> None: | CODE |
| LOW | tools/tests/test_vehicle_null_check.py | 59 | def test_exit_code_on_violations() -> None: | CODE |
| LOW | tools/tests/test_vehicle_null_check.py | 63 | def test_exit_code_no_violations(tmp_path: Path) -> None: | CODE |
| LOW | tools/tests/test_vehicle_null_check.py | 81 | def test_analyze_directory_finds_fixture_violations() -> None: | CODE |
| LOW | tools/tests/test_build_profile.py | 21 | def test_parse_ninja_log_reads_edges_and_skips_header(tmp_path: Path) -> None: | CODE |
| LOW | tools/tests/test_build_profile.py | 39 | def test_summarize_ninja_log_reports_slowest_rebuilds_and_generated_steps() -> None: | CODE |
| LOW | tools/tests/test_build_profile.py | 62 | def test_classify_output_identifies_common_build_hotspots() -> None: | CODE |
| LOW | tools/tests/test_build_profile.py | 71 | def test_parse_time_trace_reads_compile_duration_and_expensive_events(tmp_path: Path) -> None: | CODE |
| LOW | tools/tests/test_build_profile.py | 95 | def test_find_time_traces_ignores_non_trace_json(tmp_path: Path) -> None: | CODE |
| LOW | tools/tests/test_build_profile.py | 108 | def test_build_report_includes_all_sections() -> None: | CODE |
| LOW | tools/tests/test_generate_docs.py | 9 | def test_build_doxyfile_text_overrides_output_and_pdf(tmp_path) -> None: | CODE |
| LOW | tools/tests/test_gh_actions.py | 15 | def test_list_workflow_runs_for_sha_uses_jq_get_method() -> None: | CODE |
| LOW | tools/tests/test_gh_actions.py | 27 | def test_list_workflow_runs_for_sha_unpacks_ndjson_stream() -> None: | CODE |
| LOW | tools/tests/test_gh_actions.py | 38 | def test_list_run_artifacts_parses_ndjson_stream() -> None: | CODE |
| LOW | tools/tests/test_gh_actions.py | 53 | def test_list_run_artifacts_rejects_invalid_run_id() -> None: | CODE |
| LOW | tools/tests/test_gh_actions.py | 104 | def test_auto_pull_request_target(self) -> None: | CODE |
| LOW | tools/tests/test_gh_actions.py | 117 | def test_auto_workflow_dispatch(self) -> None: | CODE |
| LOW | tools/tests/test_gh_actions.py | 141 | def test_multiline_delimiter_resists_collision(self, tmp_path) -> None: | CODE |
| LOW | tools/tests/test_gh_actions.py | 183 | def test_escapes_newlines_and_percent(self, capsys) -> None: | CODE |
| LOW | tools/tests/test_gh_actions.py | 187 | def test_emits_to_stdout_not_stderr(self, capsys) -> None: | CODE |
| LOW⚡ | tools/tests/test_install_dependencies.py | 44 | def test_debian_packages_not_empty() -> None: | CODE |
| 548 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/coding-style/CodingStyle.h | 1 | // This is an example class header file which is used to describe the QGroundControl | COMMENT |
| LOW | tools/coding-style/CodingStyle.h | 21 | // Note how the Qt headers, System headers and the QGroundControl headers above are kept in separate groups | COMMENT |
| LOW | tools/coding-style/CodingStyle.h | 41 | /// Class names are PascalCase. If you override any Qt base class to provide a generic | COMMENT |
| LOW | tools/debuggers/profile.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | …s/qt-qml-review/references/lint-scripts/qt_qml_lint.py | 501 | # JS module imports instead. | COMMENT |
| LOW | …s/qt-qml-review/references/lint-scripts/qt_qml_lint.py | 541 | RE_BND_LIST_PROP = re.compile(r'property\s+list\s*<') | COMMENT |
| LOW | …s/qt-qml-review/references/lint-scripts/qt_qml_lint.py | 561 | # status===Loader.Ready. Binding to Loader.item.prop without a | COMMENT |
| LOW | …s/qt-qml-review/references/lint-scripts/qt_qml_lint.py | 581 | RE_LDR_SOURCE = re.compile(r'^\s*source\s*:') | COMMENT |
| LOW | …s/qt-qml-review/references/lint-scripts/qt_qml_lint.py | 601 | # DEL-3: connect() in Component.onCompleted (survives delegate destruction). | COMMENT |
| LOW | …s/qt-qml-review/references/lint-scripts/qt_qml_lint.py | 621 | # STA-2: Transition without from/to (catch-all). | COMMENT |
| LOW | …s/qt-qml-review/references/lint-scripts/qt_qml_lint.py | 641 | # IMG-2: Image with network source without asynchronous:true | COMMENT |
| LOW | …s/qt-qml-review/references/lint-scripts/qt_qml_lint.py | 681 | # (glyph shaping, line breaking). Use scale transform on the Text | COMMENT |
| LOW | …s/qt-qml-review/references/lint-scripts/qt_qml_lint.py | 701 | COMMENT | |
| LOW | …s/qt-qml-review/references/lint-scripts/qt_qml_lint.py | 721 | COMMENT | |
| LOW | …-example/src/MissionManager/PerimeterScanComplexItem.h | 1 | #pragma once | COMMENT |
| LOW | test/CMakeLists.txt | 41 | # ---------------------------------------------------------------------------- | COMMENT |
| LOW | test/UnitTestList.h | 1 | #pragma once | COMMENT |
| LOW | test/QmlUITests/RemoteIDSettingsUITest.h | 1 | #pragma once | COMMENT |
| LOW | test/QmlUITests/QmlUITestBase.h | 21 | /// The base class overrides cleanup() to call stopUI() automatically, so the | COMMENT |
| LOW | test/QmlUITests/QmlUITestBase.h | 61 | /// When a MockLink is active, call mockLink->disconnect() first so the | COMMENT |
| LOW | test/QmlUITests/QmlUITestBase.h | 81 | /// Open the toolbar Q-logo tool-select dropdown and click the entry with | COMMENT |
| LOW | test/QmlUITests/QmlUITestBase.h | 121 | /// Scroll the QQuickFlickable identified by \a flickableObjectName so that | COMMENT |
| LOW | test/QmlUITests/QmlUITestBase.h | 141 | COMMENT | |
| LOW | test/QmlUITests/VehicleConfigUITestBase.h | 21 | void navigateToConfigureView(); | COMMENT |
| LOW | test/QmlUITests/AppCloseWarningUITest.h | 1 | #pragma once | COMMENT |
| LOW | test/QmlUITests/APMSensorsCalibrationUITest.h | 1 | #pragma once | COMMENT |
| LOW | test/Utilities/QGCCommandLineParserTest.h | 1 | #pragma once | COMMENT |
| LOW | test/Utilities/StateMachine/states/StateTestCommon.h | 1 | #pragma once | COMMENT |
| LOW | test/UnitTestFramework/UnitTest.h | 1 | #pragma once | COMMENT |
| LOW | test/UnitTestFramework/UnitTest.h | 41 | // ============================================================================ | COMMENT |
| LOW | test/UnitTestFramework/UnitTest.h | 61 | /// @param labels The labels to format | COMMENT |
| LOW | test/UnitTestFramework/UnitTest.h | 81 | /// Register a pure-logic test that needs no QGCApplication (no QML engine, no vehicle, | COMMENT |
| LOW | test/UnitTestFramework/UnitTest.h | 141 | /// Declare a parameterized test function pair | COMMENT |
| LOW | test/UnitTestFramework/UnitTest.h | 461 | /// @a category must be the exact Qt logging category string (e.g. | COMMENT |
| LOW | test/UnitTestFramework/UnitTest.h | 481 | /// in the given @a category for the duration of the test. | COMMENT |
| LOW | test/UnitTestFramework/MultiSignalSpy.h | 1 | #pragma once | COMMENT |
| LOW | test/UnitTestFramework/MultiSignalSpy.h | 21 | /// signal counts, wait for signals, and extract arguments. | COMMENT |
| LOW | test/UnitTestFramework/BaseClasses/StateMachineTest.h | 1 | #pragma once | COMMENT |
| LOW | test/UnitTestFramework/BaseClasses/StateMachineTest.h | 21 | /// void _testMyState() { | COMMENT |
| LOW | test/UnitTestFramework/BaseClasses/MissionTest.h | 21 | /// @code | COMMENT |
| LOW | test/UnitTestFramework/BaseClasses/MissionTest.h | 81 | /// Example usage: | COMMENT |
| LOW | test/UnitTestFramework/BaseClasses/ParameterTest.h | 1 | #pragma once | COMMENT |
| LOW | test/UnitTestFramework/BaseClasses/TestBaseClasses.h | 1 | #pragma once | COMMENT |
| LOW | test/UnitTestFramework/BaseClasses/JsonTest.h | 1 | #pragma once | COMMENT |
| LOW | test/UnitTestFramework/BaseClasses/VehicleTest.h | 41 | /// @file | COMMENT |
| LOW | test/UnitTestFramework/BaseClasses/CommsTest.h | 1 | #pragma once | COMMENT |
| LOW | …itTestFramework/BaseClasses/VehicleTestManualConnect.h | 1 | #pragma once | COMMENT |
| LOW | test/UnitTestFramework/BaseClasses/TerrainTest.h | 1 | #pragma once | COMMENT |
| LOW | test/UnitTestFramework/BaseClasses/TerrainTest.h | 81 | COMMENT | |
| LOW | …st/UnitTestFramework/PropertyTesting/PropertyTesting.h | 1 | #pragma once | COMMENT |
| LOW | …st/UnitTestFramework/PropertyTesting/PropertyTesting.h | 21 | /// const auto lat = *rc::gen::inRange(-90.0, 90.0); | COMMENT |
| LOW | …st/UnitTestFramework/PropertyTesting/PropertyTesting.h | 41 | /// | COMMENT |
| LOW | …st/UnitTestFramework/PropertyTesting/PropertyTesting.h | 61 | /// RC_TAG("label"); // Tag unconditionally | COMMENT |
| LOW | …st/UnitTestFramework/PropertyTesting/PropertyTesting.h | 81 | /// @param name Description of the property being tested | COMMENT |
| LOW | test/UnitTestFramework/QmlTesting/QmlTesting.h | 1 | #pragma once | COMMENT |
| LOW | test/UnitTestFramework/QmlTesting/QmlTesting.h | 21 | /// | COMMENT |
| LOW | test/UnitTestFramework/QmlTesting/QmlTesting.h | 41 | /// compare(component.clicked, true) | COMMENT |
| LOW | test/UnitTestFramework/QmlTesting/QmlTesting.h | 61 | /// SignalSpy { | COMMENT |
| LOW | test/UnitTestFramework/QmlTesting/QmlTesting.h | 81 | /// ] | COMMENT |
| LOW | test/UnitTestFramework/QmlTesting/QmlTesting.h | 101 | /// Example: tst_FactTextField.qml, tst_QGCButton.qml | COMMENT |
| 279 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/generate_docs.py | 4 | CODE | |
| LOW | tools/pre_commit.py | 4 | CODE | |
| LOW | tools/build_profile.py | 4 | CODE | |
| LOW | tools/release.py | 15 | CODE | |
| LOW | tools/clean.py | 11 | CODE | |
| LOW | tools/configure.py | 17 | CODE | |
| LOW | tools/run_tests.py | 16 | CODE | |
| LOW | tools/_bootstrap.py | 3 | CODE | |
| LOW | tools/check_deps.py | 4 | CODE | |
| LOW | tools/coverage.py | 4 | CODE | |
| LOW | tools/analyze.py | 20 | CODE | |
| LOW | tools/analyzers/cppcheck.py | 3 | CODE | |
| LOW | tools/analyzers/clang_format.py | 3 | CODE | |
| LOW | tools/analyzers/clazy.py | 3 | CODE | |
| LOW | tools/analyzers/clang_tidy.py | 3 | CODE | |
| LOW | tools/analyzers/qmllint.py | 3 | CODE | |
| LOW | tools/setup/install_python.py | 14 | CODE | |
| LOW | tools/setup/build_android_openssl.py | 20 | CODE | |
| LOW | tools/setup/build-gstreamer.py | 28 | CODE | |
| LOW | tools/setup/install_qt.py | 15 | CODE | |
| LOW | tools/setup/read_config.py | 20 | CODE | |
| LOW | tools/setup/install_dependencies/_fedora.py | 3 | CODE | |
| LOW | tools/setup/install_dependencies/_macos.py | 3 | CODE | |
| LOW | tools/setup/install_dependencies/_packages.py | 3 | CODE | |
| LOW | tools/setup/install_dependencies/_cli.py | 3 | CODE | |
| LOW | tools/setup/install_dependencies/_common.py | 10 | CODE | |
| LOW | tools/setup/install_dependencies/_common.py | 26 | CODE | |
| LOW | tools/setup/install_dependencies/_common.py | 27 | CODE | |
| LOW | tools/setup/install_dependencies/_common.py | 27 | CODE | |
| LOW | tools/setup/install_dependencies/_debian.py | 3 | CODE | |
| LOW | tools/setup/install_dependencies/__init__.py | 13 | CODE | |
| LOW | tools/setup/install_dependencies/__init__.py | 15 | CODE | |
| LOW | tools/setup/install_dependencies/__init__.py | 16 | CODE | |
| LOW | tools/setup/install_dependencies/__init__.py | 16 | CODE | |
| LOW | tools/setup/install_dependencies/__init__.py | 16 | CODE | |
| LOW | tools/setup/install_dependencies/__init__.py | 16 | CODE | |
| LOW | tools/setup/install_dependencies/__init__.py | 17 | CODE | |
| LOW | tools/setup/install_dependencies/__init__.py | 17 | CODE | |
| LOW | tools/setup/install_dependencies/__init__.py | 17 | CODE | |
| LOW | tools/setup/install_dependencies/__init__.py | 17 | CODE | |
| LOW | tools/setup/install_dependencies/__init__.py | 17 | CODE | |
| LOW | tools/setup/install_dependencies/__init__.py | 17 | CODE | |
| LOW | tools/setup/install_dependencies/__init__.py | 17 | CODE | |
| LOW | tools/setup/install_dependencies/__init__.py | 17 | CODE | |
| LOW | tools/setup/install_dependencies/__init__.py | 17 | CODE | |
| LOW | tools/setup/install_dependencies/__init__.py | 17 | CODE | |
| LOW | tools/setup/install_dependencies/__init__.py | 17 | CODE | |
| LOW | tools/setup/install_dependencies/__init__.py | 17 | CODE | |
| LOW | tools/setup/install_dependencies/__init__.py | 17 | CODE | |
| LOW | tools/setup/install_dependencies/__init__.py | 17 | CODE | |
| LOW | tools/setup/install_dependencies/__init__.py | 17 | CODE | |
| LOW | tools/setup/install_dependencies/__init__.py | 17 | CODE | |
| LOW | tools/setup/install_dependencies/__init__.py | 17 | CODE | |
| LOW | tools/setup/install_dependencies/__init__.py | 17 | CODE | |
| LOW | tools/setup/install_dependencies/__init__.py | 17 | CODE | |
| LOW | tools/setup/install_dependencies/__init__.py | 38 | CODE | |
| LOW | tools/setup/install_dependencies/__init__.py | 38 | CODE | |
| LOW | tools/setup/install_dependencies/__init__.py | 38 | CODE | |
| LOW | tools/setup/install_dependencies/__init__.py | 38 | CODE | |
| LOW | tools/setup/install_dependencies/__init__.py | 38 | CODE | |
| 249 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/_bootstrap.py | 61 | except Exception: | CODE |
| MEDIUM | tools/_bootstrap.py | 57 | def _unraisablehook(unraisable) -> None: | CODE |
| MEDIUM | tools/setup/install_python.py | 275 | print(f"Error: {e}", file=sys.stderr) | CODE |
| MEDIUM | tools/setup/install_python.py | 299 | print(f"Error: Command failed with exit code {e.returncode}", file=sys.stderr) | CODE |
| MEDIUM | tools/setup/install_python.py | 302 | print(f"Error: {e}", file=sys.stderr) | CODE |
| MEDIUM | tools/setup/read_config.py | 106 | print(f"Error: {e}", file=sys.stderr) | CODE |
| MEDIUM | tools/setup/read_config.py | 109 | print(f"Error: Invalid JSON in config file: {e}", file=sys.stderr) | CODE |
| MEDIUM | tools/setup/read_config.py | 126 | print(f"Error: Key '{key}' not found in config", file=sys.stderr) | CODE |
| LOW | tools/setup/install_dependencies/_common.py | 359 | except Exception as e: | CODE |
| LOW⚡ | tools/tests/test_patterns.py | 82 | except Exception: | CODE |
| LOW | tools/simulation/mock_ntrip_caster.py | 156 | except Exception as e: | CODE |
| MEDIUM | tools/simulation/mock_ntrip_caster.py | 151 | def run(self): | CODE |
| MEDIUM | tools/simulation/mock_vehicle.py | 38 | print("Error: pymavlink not installed") | CODE |
| LOW | tools/common/io.py | 102 | except Exception: | CODE |
| MEDIUM | tools/debuggers/gdb-pretty-printers/qt6.py | 102 | def to_string(self): | CODE |
| MEDIUM | tools/debuggers/gdb-pretty-printers/qt6.py | 110 | def children(self): | CODE |
| MEDIUM | tools/debuggers/gdb-pretty-printers/qt6.py | 141 | def to_string(self): | CODE |
| MEDIUM | tools/debuggers/gdb-pretty-printers/qt6.py | 161 | def to_string(self): | CODE |
| MEDIUM | tools/debuggers/gdb-pretty-printers/qt6.py | 181 | def to_string(self): | CODE |
| MEDIUM | tools/debuggers/gdb-pretty-printers/qt6.py | 218 | def to_string(self): | CODE |
| MEDIUM | tools/debuggers/gdb-pretty-printers/qt6.py | 233 | def to_string(self): | CODE |
| MEDIUM | tools/debuggers/gdb-pretty-printers/qt6.py | 248 | def to_string(self): | CODE |
| MEDIUM | tools/debuggers/gdb-pretty-printers/qt6.py | 272 | def to_string(self): | CODE |
| MEDIUM | tools/debuggers/gdb-pretty-printers/qt6.py | 302 | def to_string(self): | CODE |
| LOW | tools/debuggers/gdb-pretty-printers/qt6.py | 44 | except Exception as e: | CODE |
| LOW | tools/debuggers/gdb-pretty-printers/qt6.py | 66 | except Exception as e: | CODE |
| LOW | tools/debuggers/gdb-pretty-printers/qt6.py | 107 | except Exception: | CODE |
| LOW | tools/debuggers/gdb-pretty-printers/qt6.py | 122 | except Exception: | CODE |
| LOW | tools/debuggers/gdb-pretty-printers/qt6.py | 148 | except Exception: | CODE |
| LOW | tools/debuggers/gdb-pretty-printers/qt6.py | 168 | except Exception: | CODE |
| LOW | tools/debuggers/gdb-pretty-printers/qt6.py | 208 | except Exception: | CODE |
| LOW | tools/debuggers/gdb-pretty-printers/qt6.py | 223 | except Exception: | CODE |
| LOW | tools/debuggers/gdb-pretty-printers/qt6.py | 238 | except Exception: | CODE |
| LOW | tools/debuggers/gdb-pretty-printers/qt6.py | 255 | except Exception: | CODE |
| LOW | tools/debuggers/gdb-pretty-printers/qt6.py | 262 | except Exception: | CODE |
| LOW | tools/debuggers/gdb-pretty-printers/qt6.py | 292 | except Exception: | CODE |
| LOW | tools/debuggers/gdb-pretty-printers/qt6.py | 316 | except Exception: | CODE |
| MEDIUM | …s/qt-qml-review/references/lint-scripts/qt_qml_lint.py | 1454 | print("Error: no input files specified", file=sys.stderr) | CODE |
| MEDIUM | …t-cpp-review/references/lint-scripts/qt_review_lint.py | 757 | print("Error: no input files specified", file=sys.stderr) | CODE |
| MEDIUM | tools/generators/mavlink_enums.py | 177 | print(f"Error: {mavlink_dir} is not a directory", file=sys.stderr) | STRING |
| MEDIUM | tools/generators/mavlink_enums.py | 182 | print(f"Error: no dialect headers found in {mavlink_dir}", file=sys.stderr) | STRING |
| MEDIUM | tools/generators/mavlink_instance_fields.py | 109 | print(f"Error: Could not find {dialect}.xml in {xml_dir}", file=sys.stderr) | CODE |
| MEDIUM | tools/generators/config_qml/generate_pages.py | 46 | print(f"Error: {args.pages_dir} is not a directory", file=sys.stderr) | CODE |
| MEDIUM | tools/translations/qgc_lupdate_json.py | 114 | print(f"Error: Duplicate filenames: {path.name} paths: {path} {entry[1]}") | CODE |
| MEDIUM | tools/translations/qgc_lupdate.py | 106 | print(f"Error: {e}", file=sys.stderr) | CODE |
| MEDIUM | tools/translations/qgc_lupdate.py | 112 | print(f"Error: lupdate failed with exit code {e.returncode}", file=sys.stderr) | CODE |
| MEDIUM | .github/scripts/coverage_comment.py | 42 | print(f"Error parsing {xml_path}: {e}", file=sys.stderr) | CODE |
| MEDIUM⚡ | .github/scripts/ccache_helper.py | 229 | print("Error: Failed to download ccache archive", file=sys.stderr) | CODE |
| MEDIUM⚡ | .github/scripts/ccache_helper.py | 233 | print("Error: Failed to download signature file", file=sys.stderr) | CODE |
| MEDIUM⚡ | .github/scripts/ccache_helper.py | 238 | print("Error: Failed to setup minisign", file=sys.stderr) | CODE |
| MEDIUM⚡ | .github/scripts/ccache_helper.py | 242 | print("Error: Signature verification failed", file=sys.stderr) | CODE |
| MEDIUM⚡ | .github/scripts/ccache_helper.py | 313 | print(f"Error extracting ccache: {e}", file=sys.stderr) | CODE |
| MEDIUM⚡ | .github/scripts/ccache_helper.py | 318 | print(f"Error: ccache binary not found at {ccache_bin}", file=sys.stderr) | CODE |
| MEDIUM⚡ | .github/scripts/ccache_helper.py | 326 | print(f"Error copying ccache: {result.stderr}", file=sys.stderr) | CODE |
| MEDIUM⚡ | .github/scripts/ccache_helper.py | 331 | print(f"Error setting permissions: {result.stderr}", file=sys.stderr) | CODE |
| MEDIUM⚡ | .github/scripts/ccache_helper.py | 335 | print(f"Error installing ccache: {e}", file=sys.stderr) | CODE |
| MEDIUM | .github/scripts/ccache_helper.py | 269 | print(f"Error extracting minisign: {e}", file=sys.stderr) | CODE |
| MEDIUM | .github/scripts/ccache_helper.py | 274 | print(f"Error: minisign binary not found at {minisign_bin}", file=sys.stderr) | CODE |
| MEDIUM | .github/scripts/ccache_helper.py | 300 | print(f"Error running minisign: {e}", file=sys.stderr) | CODE |
| MEDIUM | .github/scripts/ccache_helper.py | 754 | print(f"Error: Invalid ccache version format: {args.version}", file=sys.stderr) | CODE |
| 11 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/debuggers/profile.sh | 8 | # Usage: | COMMENT |
| LOW | test/UnitTestFramework/BaseClasses/MissionTest.h | 20 | /// Example usage: | COMMENT |
| LOW | test/UnitTestFramework/BaseClasses/MissionTest.h | 81 | /// Example usage: | COMMENT |
| LOW | test/UnitTestFramework/BaseClasses/ParameterTest.h | 14 | /// Example usage: | COMMENT |
| LOW | test/UnitTestFramework/BaseClasses/VehicleTest.h | 47 | /// Example usage: | COMMENT |
| LOW | test/UnitTestFramework/BaseClasses/CommsTest.h | 17 | /// Example usage: | COMMENT |
| LOW | test/UnitTestFramework/BaseClasses/TerrainTest.h | 87 | /// Example usage: | COMMENT |
| LOW | deploy/docker/run-docker.sh | 4 | # Usage: | COMMENT |
| LOW | src/Utilities/StateMachine/QGCStateMachine.h | 278 | /// Example usage: | COMMENT |
| LOW | src/Utilities/StateMachine/QGCStateMachine.h | 477 | /// Example usage: | COMMENT |
| LOW | src/Utilities/StateMachine/States/EventQueuedState.h | 13 | /// Example usage: | COMMENT |
| LOW | src/Utilities/StateMachine/States/LoopState.h | 12 | /// Example usage: | COMMENT |
| LOW | src/Utilities/StateMachine/States/RollbackState.h | 12 | /// Example usage: | COMMENT |
| LOW | src/Utilities/StateMachine/States/FallbackChainState.h | 12 | /// Example usage: | COMMENT |
| LOW | src/Utilities/StateMachine/States/SkippableAsyncState.h | 16 | /// Example usage: | COMMENT |
| LOW | src/Utilities/StateMachine/States/ProgressState.h | 15 | /// Example usage: | COMMENT |
| LOW | …ies/StateMachine/States/RetryableRequestMessageState.h | 19 | /// Example usage: | COMMENT |
| LOW | src/Utilities/StateMachine/States/SequenceState.h | 13 | /// Example usage: | COMMENT |
| LOW | src/Utilities/StateMachine/States/CircuitBreakerState.h | 20 | /// Example usage: | COMMENT |
| LOW | …c/Utilities/StateMachine/Transitions/RetryTransition.h | 15 | /// Example usage: | COMMENT |
| LOW | …Utilities/StateMachine/Transitions/TimeoutTransition.h | 14 | /// Example usage: | COMMENT |
| LOW | src/Utilities/StateMachine/Helpers/StateMachineLogger.h | 24 | /// Example usage: | COMMENT |
| LOW | src/Utilities/StateMachine/Helpers/StateContext.h | 16 | /// Example usage: | COMMENT |
| LOW | …/Utilities/StateMachine/Helpers/ErrorRecoveryBuilder.h | 16 | /// Example usage: | COMMENT |
| LOW | src/Utilities/StateMachine/Helpers/ErrorHandlers.h | 17 | /// Example usage: | COMMENT |
| LOW | src/Utilities/FileSystem/QGCFileWatcher.h | 18 | /// Example usage: | COMMENT |
| LOW | src/Utilities/Compression/QGCArchiveFile.h | 14 | /// Example usage: | COMMENT |
| LOW | src/Utilities/Compression/QGCDecompressDevice.h | 13 | /// Example usage: | COMMENT |
| LOW | src/Utilities/Compression/QGCArchiveWatcher.h | 17 | /// Example usage: | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/pre_commit.py | 52 | CODE | |
| LOW | tools/pre_commit.py | 142 | CODE | |
| LOW | tools/configure.py | 63 | CODE | |
| LOW | tools/analyzers/qt_translate_noop_check.py | 139 | CODE | |
| LOW | tools/analyzers/vehicle_null_check.py | 71 | CODE | |
| LOW | tools/setup/install_dependencies/_macos.py | 22 | CODE | |
| LOW | tools/setup/install_dependencies/_cli.py | 28 | CODE | |
| LOW | tools/setup/install_dependencies/_cli.py | 158 | CODE | |
| LOW | tools/setup/install_dependencies/_common.py | 322 | CODE | |
| LOW | tools/setup/install_dependencies/_debian.py | 91 | CODE | |
| LOW | tools/setup/install_dependencies/_debian.py | 159 | CODE | |
| LOW | tools/setup/install_dependencies/_windows.py | 108 | CODE | |
| LOW | tools/simulation/mock_ntrip_caster.py | 238 | CODE | |
| LOW | tools/common/file_traversal.py | 73 | CODE | |
| LOW | tools/common/gh_actions.py | 92 | CODE | |
| LOW | tools/debuggers/gst_latency_parser.py | 48 | CODE | |
| LOW | …s/qt-qml-review/references/lint-scripts/qt_qml_lint.py | 882 | CODE | |
| LOW | …s/qt-qml-review/references/lint-scripts/qt_qml_lint.py | 1045 | CODE | |
| LOW | …s/qt-qml-review/references/lint-scripts/qt_qml_lint.py | 1300 | CODE | |
| LOW | …s/qt-qml-review/references/lint-scripts/qt_qml_lint.py | 1374 | CODE | |
| LOW | …s/qt-qml-review/references/lint-scripts/qt_qml_lint.py | 212 | CODE | |
| LOW | …t-cpp-review/references/lint-scripts/qt_review_lint.py | 473 | CODE | |
| LOW | …profiler/references/scripts/parse-qmlprofiler-trace.py | 32 | CODE | |
| LOW | tools/generators/mavlink_instance_fields.py | 35 | CODE | |
| LOW | tools/generators/settings_qml/emit.py | 44 | CODE | |
| LOW | tools/generators/settings_qml/emit.py | 289 | CODE | |
| LOW | tools/translations/qgc_lupdate_json.py | 29 | CODE | |
| LOW | tools/translations/qgc_lupdate_json.py | 104 | CODE | |
| LOW | tools/translations/qgc_lupdate.py | 33 | CODE | |
| LOW | .github/scripts/generate_build_results_comment.py | 174 | CODE | |
| LOW | .github/scripts/ccache_helper.py | 524 | CODE | |
| LOW | .github/scripts/ccache_helper.py | 189 | CODE | |
| LOW | .github/scripts/download_artifacts.py | 185 | CODE | |
| LOW | .github/scripts/cmake_helper.py | 195 | CODE | |
| LOW | .github/scripts/collect_artifact_sizes.py | 48 | CODE | |
| LOW | .github/scripts/collect_artifact_sizes.py | 155 | CODE | |
| LOW | .github/scripts/install_dependencies_helper.py | 43 | CODE | |
| LOW | .github/scripts/android_boot_test.py | 260 | CODE | |
| LOW | .github/scripts/tests/test_bootstrap_sparse_checkout.py | 52 | CODE | |
| LOW | .github/scripts/tests/test_bootstrap_sparse_checkout.py | 67 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/setup/install_dependencies/_fedora.py | 39 | __all__ = ["install_fedora"] | CODE |
| LOW | tools/setup/install_dependencies/_macos.py | 103 | __all__ = ["get_gstreamer_macos_urls", "install_macos"] | CODE |
| LOW | tools/setup/install_dependencies/_packages.py | 431 | __all__ = [ | CODE |
| LOW | tools/setup/install_dependencies/_cli.py | 226 | __all__ = ["list_packages", "main", "parse_args", "print_packages"] | CODE |
| LOW | tools/setup/install_dependencies/_common.py | 273 | def _set_env_var_ci(name: str, value: str) -> None: | CODE |
| LOW | tools/setup/install_dependencies/_common.py | 279 | def _set_env_var_local(name: str, value: str) -> None: | CODE |
| LOW | tools/setup/install_dependencies/_common.py | 290 | def set_env_var(name: str, value: str) -> None: | CODE |
| LOW | tools/setup/install_dependencies/_common.py | 364 | __all__ = [ | CODE |
| LOW | tools/setup/install_dependencies/_debian.py | 227 | __all__ = [ | CODE |
| LOW | tools/setup/install_dependencies/__init__.py | 74 | __all__ = [ | CODE |
| LOW | tools/setup/install_dependencies/_arch.py | 42 | __all__ = ["install_arch"] | CODE |
| LOW | tools/setup/install_dependencies/_windows.py | 253 | __all__ = [ | CODE |
| LOW | tools/common/git.py | 18 | __all__ = ["get_default_branch_ref", "run_git"] | CODE |
| LOW | tools/common/env.py | 12 | __all__ = [ | CODE |
| LOW | tools/common/proc.py | 19 | __all__ = ["run_bytes", "run_captured", "run_text"] | CODE |
| LOW | tools/common/opener.py | 18 | __all__ = ["open_in_default_app"] | CODE |
| LOW | tools/common/net.py | 23 | __all__ = ["download_file", "download_with_retry", "run_with_retries"] | CODE |
| LOW | tools/common/io.py | 18 | __all__ = [ | CODE |
| LOW | tools/common/analyzer.py | 20 | __all__ = ["AnalysisResult", "AnalyzerBase"] | CODE |
| LOW | tools/common/__init__.py | 256 | __all__ = [*_LAZY_SYMBOLS.keys(), "pip_install"] | CODE |
| LOW | tools/common/format.py | 12 | __all__ = ["format_bytes", "format_delta_bytes"] | CODE |
| LOW | tools/common/platform.py | 13 | __all__ = ["current_platform", "is_linux", "is_macos", "is_windows"] | CODE |
| LOW | tools/common/cli.py | 23 | __all__ = [ | CODE |
| LOW | tools/common/markdown.py | 15 | __all__ = ["md_table"] | CODE |
| LOW | tools/common/tool_version.py | 20 | __all__ = ["DEFAULT_VERSION_RE", "probe_version", "uv_lock_version"] | CODE |
| LOW | tools/generators/settings_qml/page_generator.py | 25 | __all__ = [ | CODE |
| LOW | tools/generators/config_qml/page_generator.py | 24 | __all__ = [ | CODE |
| LOW | .github/scripts/generate_build_results_comment.py | 28 | logger = logging.getLogger(__name__) | CODE |
| LOW | .github/scripts/verify_executable.py | 26 | def _setup_gstreamer_env(build_dir: Path) -> None: | CODE |
| LOW | .github/scripts/xml_utils.py | 17 | __all__ = ["XMLParseError", "xml_parse"] | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | tools/tests/test_settings_qml_generator.py | 737 | showWhen="sink && sink.enabled", | CODE |
| HIGH | tools/tests/test_settings_qml_generator.py | 752 | assert "visible: sink && sink.enabled" in qml | CODE |
| HIGH | tools/tests/test_version_drift.py | 43 | "Run: (cd tools && uv lock) and commit the result.\n\n" | CODE |
| HIGH | …t-run/references/scripts/parse-qmltestrunner-output.py | 32 | "failure_message": str | null, | STRING |
| HIGH | tools/generators/settings_qml/emit.py | 219 | section_vis = f"(sectionFilter === -1 || sectionFilter === {grp_idx})" | CODE |
| HIGH | tools/generators/config_qml/model.py | 129 | are composed with && so the control is only visible when the param exists | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …s/qt-qml-review/references/lint-scripts/qt_qml_lint.py | 844 | # Tier B: Match + context window check. | COMMENT |
| MEDIUM | …s/qt-qml-review/references/lint-scripts/qt_qml_lint.py | 1014 | # Build context window | COMMENT |
| MEDIUM⚡ | …t-cpp-review/references/lint-scripts/qt_review_lint.py | 85 | scope_aware: bool = True # Truncate context window at function-scope boundaries (column-0 closing brace) | CODE |
| MEDIUM | …t-cpp-review/references/lint-scripts/qt_review_lint.py | 370 | # Tier B: Match + context window check. | COMMENT |
| MEDIUM⚡ | …t-cpp-review/references/lint-scripts/qt_review_lint.py | 425 | # Scope-aware context window builder | COMMENT |
| MEDIUM | …t-cpp-review/references/lint-scripts/qt_review_lint.py | 601 | # Build context window (use comment-stripped lines) | COMMENT |
| MEDIUM⚡ | test/CMakeLists.txt | 49 | # FULL WIRING IS NOT YET COMPLETE — this is intentional scaffolding. The default | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/simulation/run-arducopter-sitl.sh | 16 | # Check if Docker is available | COMMENT |
| LOW | tools/simulation/run-arducopter-sitl.sh | 63 | # Check if running | COMMENT |
| LOW | tools/debuggers/profile.sh | 217 | # Check if we have permissions | COMMENT |
| LOW | …s/qt-qml-review/references/lint-scripts/qt_qml_lint.py | 925 | # Check if this property was bound with : in the file | COMMENT |
| LOW | …s/qt-qml-review/references/lint-scripts/qt_qml_lint.py | 954 | # Check if the property has a dynamic binding | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …kills/qt-qml-test/references/qt-quick-test-controls.md | 397 | emailField.text = qsTr("user@example.com") | CODE |
| LOW | …kills/qt-qml-test/references/qt-quick-test-template.md | 133 | emailField.text = qsTr("user@example.com") | CODE |
| LOW | …kills/qt-qml-test/references/qt-quick-test-template.md | 134 | compare(emailField.text, qsTr("user@example.com")) | CODE |
| LOW | tools/generators/settings_qml/model.py | 89 | "placeholder", "value", "component", | CODE |
| LOW | tools/generators/settings_qml/model.py | 125 | placeholder=ctrl_data.get("placeholder", ""), | CODE |
| LOW | src/AppSettings/pages/NTRIP.SettingsUI.json | 56 | "placeholder": "e.g. 1005,1077,1087" | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | tools/setup/install_qt.py | 173 | Pick the primary Android Qt root from installed ABIs. Args: abis: Semicolon-separated ABI list (e.g. "arm64 | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/generators/common/controls.py | 140 | CODE | |
| LOW | tools/generators/common/controls.py | 263 | CODE | |
| LOW | tools/generators/common/controls.py | 607 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | deploy/docker/lib/setup-venv.sh | 2 | # Create the qgc venv and install hash-locked build-time Python deps: jinja2/ | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | src/Vehicle/VehicleSetup/Bootloader.h | 37 | /// IMPORTANT: Make sure this id does not conflict with any newly added real board ids | COMMENT |