This is the official upstream of the Subsurface divelog program
This report summarizes scanner evidence for subsurface/subsurface, a C++ project with 3,216 GitHub stars. SynthScan examined 722,637 lines of code across 953 source files, recording 641 pattern matches distributed across 13 syntactic categories. The legacy adjusted pattern signal is 2.8 (Low pattern signal); it is not an authorship estimate.
Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.
Use each vector to guide manual verification of the underlying findings.
Payload schema: 1.0.0 · Engine: 2.0.0 · Scoring: heuristic-density-v1 · Scan date: 2026-10-31.
Can maintainers explain intent, assumptions, and trade-offs? 619 finding(s).
Are imports declared and package/API names verified? 1 finding(s).
Are wrappers, guards, and repeated structures necessary? 46 finding(s).
Which changes need focused human review? 641 finding(s).
This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.
Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.
This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.
The scanner identified 641 distinct pattern matches across 13 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. 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 configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | CMakeLists.txt | 10 | # AI-generated (Claude) | COMMENT |
| HIGH | CMakeLists.txt | 204 | # AI-generated (Claude) | COMMENT |
| HIGH | CMakeLists.txt | 481 | # AI-generated (Claude) | COMMENT |
| HIGH | CMakeLists.txt | 520 | # AI-generated (Claude): UTTypeItem, used by the "Load from file" document picker | COMMENT |
| HIGH | CMakeLists.txt | 1181 | # AI-generated (Claude) | COMMENT |
| HIGH | CMakeLists.txt | 1193 | # AI-generated (Claude) | COMMENT |
| HIGH | CMakeLists.txt | 1400 | # AI-generated (Claude) | COMMENT |
| HIGH | subsurface-helper.cpp | 114 | // AI-generated (Claude) | COMMENT |
| HIGH | CLAUDE.md | 19 | // AI-generated (Claude) | COMMENT |
| HIGH | …ckaging/windows-msvc/overlay-ports/libmtp/msvc_wpd.cpp | 1 | // AI-generated (Claude) | COMMENT |
| HIGH | packaging/ios/enable-signing.sh | 2 | # AI-generated (Claude) | COMMENT |
| HIGH | packaging/ios/ios-native-libs.sh | 2 | # AI-generated (Claude) | COMMENT |
| HIGH | packaging/ios/ios-build-subsurface.sh | 2 | # AI-generated (Claude) | COMMENT |
| HIGH | packaging/android/local-build.sh | 48 | # AI-generated (Claude) | COMMENT |
| HIGH | packaging/android/local-build.sh | 67 | # AI-generated (Claude) | COMMENT |
| HIGH | packaging/android/local-build.sh | 177 | # AI-generated (Claude) | COMMENT |
| HIGH | packaging/android/local-build.sh | 198 | # AI-generated (Claude): unsigned builds do not have a keystore to copy. | COMMENT |
| HIGH | packaging/android/in-container-build.sh | 97 | # AI-generated (Claude) | COMMENT |
| HIGH | packaging/android/in-container-build.sh | 323 | # AI-generated (Claude): androiddeployqt may apply its debug key even without release credentials. | COMMENT |
| HIGH | …subsurfacedivelog/mobile/SubsurfaceMobileActivity.java | 95 | // AI-generated (Claude) | COMMENT |
| HIGH | …subsurfacedivelog/mobile/SubsurfaceMobileActivity.java | 169 | // AI-generated (Claude): "Load from file" uses its own request code, handled separately below | COMMENT |
| HIGH | …subsurfacedivelog/mobile/SubsurfaceMobileActivity.java | 235 | // AI-generated (Claude) | COMMENT |
| HIGH | …subsurfacedivelog/mobile/SubsurfaceMobileActivity.java | 311 | // AI-generated (Claude) | COMMENT |
| HIGH⚡ | …subsurfacedivelog/mobile/SubsurfaceMobileActivity.java | 355 | // AI-generated (Claude): a save dialog still open from before a recreation | COMMENT |
| HIGH⚡ | …subsurfacedivelog/mobile/SubsurfaceMobileActivity.java | 359 | // AI-generated (Claude) | COMMENT |
| HIGH⚡ | …subsurfacedivelog/mobile/SubsurfaceMobileActivity.java | 366 | // AI-generated (Claude) | COMMENT |
| HIGH | Documentation/user-manual.txt | 1274 | // AI-generated (Claude) | COMMENT |
| HIGH | mobile-widgets/qmlmanager.cpp | 699 | // AI-generated (Claude): Do not discard unsaved data while switching accounts | COMMENT |
| HIGH | mobile-widgets/qmlmanager.cpp | 1141 | // AI-generated (Claude): Reject incomplete input rather than interpreting missing fields as zero. | COMMENT |
| HIGH | mobile-widgets/qmlmanager.cpp | 1635 | // AI-generated (Claude) | COMMENT |
| HIGH | mobile-widgets/qmlmanager.cpp | 2293 | // AI-generated (Claude): diveSharePrivate maps to uploadDiveShare::doUpload()'s | COMMENT |
| HIGH | mobile-widgets/qmlmanager.cpp | 2300 | // AI-generated (Claude): the file creation below was moved out of shareViaEmail() | COMMENT |
| HIGH | mobile-widgets/qmlmanager.cpp | 2357 | // AI-generated (Claude): handedOff only tells us the share intent was | COMMENT |
| HIGH | mobile-widgets/qmlmanager.cpp | 2368 | // AI-generated (Claude): iosshare.shareViaEmail() doesn't report back whether | COMMENT |
| HIGH | mobile-widgets/qmlmanager.cpp | 2377 | // AI-generated (Claude) | COMMENT |
| HIGH | mobile-widgets/qmlmanager.cpp | 2397 | // AI-generated (Claude): handedOff only tells us the Storage Access Framework | COMMENT |
| HIGH | mobile-widgets/qmlmanager.cpp | 2405 | // AI-generated (Claude): iosshare.saveFile() doesn't report back whether the | COMMENT |
| HIGH | mobile-widgets/qmlmanager.cpp | 2477 | // AI-generated (Claude) | COMMENT |
| HIGH | mobile-widgets/qmlmanager.cpp | 2492 | // AI-generated (Claude) | COMMENT |
| HIGH | mobile-widgets/qmlmanager.cpp | 2503 | // AI-generated (Claude): call into ObjC++ code to present the document picker | COMMENT |
| HIGH | mobile-widgets/qmlmanager.cpp | 2510 | // AI-generated (Claude) | COMMENT |
| HIGH | mobile-widgets/qmlmanager.h | 89 | // AI-generated (Claude): split per upload destination so each takes only the | COMMENT |
| HIGH | mobile-widgets/qmlmanager.h | 99 | // AI-generated (Claude) | COMMENT |
| HIGH | mobile-widgets/qmlmanager.h | 347 | // AI-generated (Claude): result of loadDivesFromFile() / importDivesFromFile(), | COMMENT |
| HIGH | mobile-widgets/qmlmanager.h | 355 | // AI-generated (Claude): result of shareViaEmail()/saveExportToDevice(). | COMMENT |
| HIGH | mobile-widgets/qmlinterface.h | 90 | // AI-generated (Claude): per-plan surface pressure and derived altitude for the mobile planner | COMMENT |
| HIGH | mobile-widgets/qmlinterface.h | 356 | // AI-generated (Claude): emitted when either the pressure or the derived altitude changes | COMMENT |
| HIGH | core/qt-ble.cpp | 647 | // AI-generated (Claude) | COMMENT |
| HIGH | core/qt-ble.cpp | 701 | // AI-generated (Claude) | COMMENT |
| HIGH | core/qt-ble.cpp | 742 | // AI-generated (Claude) | COMMENT |
| HIGH | core/qt-ble.cpp | 761 | // AI-generated (Claude) | COMMENT |
| HIGH | core/qt-ble.cpp | 981 | // AI-generated (Claude) | COMMENT |
| HIGH | core/imagedownloader.cpp | 23 | // AI-generated (Claude) | COMMENT |
| HIGH | core/pref.cpp | 9 | // AI-generated (Claude) | COMMENT |
| HIGH | core/plannernotes.cpp | 150 | // AI-generated (Claude) | COMMENT |
| HIGH | core/git-access.h | 43 | // AI-generated (Claude) | COMMENT |
| HIGH | core/fit_file.cpp | 26 | // AI-generated (Claude) | COMMENT |
| HIGH | core/file.h | 49 | // AI-generated (Claude) | COMMENT |
| HIGH | core/videoframeextractor.cpp | 12 | // AI-generated (Claude) | COMMENT |
| HIGH | core/save-git.cpp | 851 | // AI-generated (Claude): An empty site still carries referential data when a dive uses its UUID. | COMMENT |
| 127 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | subsurface-mobile-main.cpp | 1 | // SPDX-License-Identifier: GPL-2.0 | COMMENT |
| LOW | subsurface-mobile-main.cpp | 21 | #include "core/checkcloudconnection.h" | COMMENT |
| LOW | CMakeLists.txt | 1 | # cmake based build of Subsurface | COMMENT |
| LOW | subsurface-downloader-main.cpp | 1 | // SPDX-License-Identifier: GPL-2.0 | COMMENT |
| LOW | cli-downloader.cpp | 1 | // SPDX-License-Identifier: GPL-2.0 | COMMENT |
| LOW | export-html.cpp | 1 | // SPDX-License-Identifier: GPL-2.0 | COMMENT |
| LOW | subsurface-helper.cpp | 1 | // SPDX-License-Identifier: GPL-2.0 | COMMENT |
| LOW | subsurface-helper.cpp | 21 | #include <QQmlContext> | COMMENT |
| LOW | subsurface-helper.cpp | 101 | #if defined(__APPLE__) && !defined(Q_OS_IOS) | COMMENT |
| LOW | subsurface-desktop-main.cpp | 1 | // SPDX-License-Identifier: GPL-2.0 | COMMENT |
| LOW | subsurface-desktop-main.cpp | 21 | COMMENT | |
| LOW | …ckaging/windows-msvc/overlay-ports/libmtp/msvc_wpd.cpp | 1 | // AI-generated (Claude) | COMMENT |
| LOW | packaging/ios/enable-signing.sh | 1 | #!/bin/bash | COMMENT |
| LOW | packaging/ios/ios-native-libs.sh | 1 | #!/bin/bash | COMMENT |
| LOW | packaging/ios/ios-build-subsurface.sh | 1 | #!/bin/bash | COMMENT |
| LOW | packaging/macosx/homebrew-local-build.sh | 1 | #!/bin/bash | COMMENT |
| LOW | packaging/macosx/build-deps.sh | 1 | #!/bin/bash | COMMENT |
| LOW | packaging/android/local-build.sh | 1 | #!/bin/bash | COMMENT |
| LOW | packaging/android/local-build.sh | 21 | # | COMMENT |
| LOW | packaging/android/local-build.sh | 121 | CONTAINER_IMAGE="docker.io/subsurface/android-build:6.10.3-6" | COMMENT |
| LOW | packaging/android/in-container-build.sh | 1 | #!/bin/bash | COMMENT |
| LOW | packaging/android/in-container-build.sh | 81 | # - scripts/mobilecomponents.sh itself (build flags, patch loop) | COMMENT |
| LOW | packaging/android/in-container-build.sh | 161 | # has actually changed -- because `make install` of autotools projects | COMMENT |
| LOW | packaging/android/in-container-build.sh | 181 | # automake whenever configure.ac looks newer than the generated files. After | COMMENT |
| LOW | packaging/android/in-container-build.sh | 221 | else | COMMENT |
| LOW | packaging/windows/smtk2ssrf-mxe-build.sh | 1 | #!/bin/bash -e | COMMENT |
| LOW | packaging/windows/smtk2ssrf-mxe-build.sh | 21 | # -t (--tag): Defines which git version we want to build. Defaults to | COMMENT |
| LOW | packaging/windows/smtk2ssrf-mxe-build.sh | 41 | # build git latest master regardless of subsurface's cross built version. | COMMENT |
| LOW | packaging/windows/mxe-based-build.sh | 1 | #!/bin/bash -e | COMMENT |
| LOW | packaging/windows/mxe-based-build.sh | 21 | # | COMMENT |
| LOW | packaging/windows/mxe-based-build.sh | 41 | # minutes to several hours) you should have a working MXE install in | COMMENT |
| LOW | packaging/windows/mxe-based-build.sh | 61 | # | COMMENT |
| LOW | …subsurfacedivelog/mobile/SubsurfaceMobileActivity.java | 241 | // file as a result. | COMMENT |
| LOW | …subsurfacedivelog/mobile/SubsurfaceMobileActivity.java | 321 | // Calls into this method come from JNI (QMLManager::setStatusbarColor); | COMMENT |
| LOW | mobile-widgets/qmlmanager.cpp | 1 | // SPDX-License-Identifier: GPL-2.0 | COMMENT |
| LOW | mobile-widgets/qmlmanager.cpp | 21 | #if QT_VERSION >= QT_VERSION_CHECK(6, 5, 0) | COMMENT |
| LOW | mobile-widgets/qmlmanager.cpp | 41 | #include "core/subsurfacestartup.h" // for ignore_bt flag | COMMENT |
| LOW | mobile-widgets/qmlmanager.cpp | 2481 | // (so that it survives the picker returning asynchronously) and then hands | COMMENT |
| LOW | mobile-widgets/qmlmanager.cpp | 2501 | appendTextToLog("loadDivesFromFile: no valid Android activity"); | COMMENT |
| LOW | mobile-widgets/qmlmanager.cpp | 2521 | // stack, and therefore MUST run on the Qt main thread. The native pickers | COMMENT |
| LOW | mobile-widgets/qmlmanager.h | 1 | // SPDX-License-Identifier: GPL-2.0 | COMMENT |
| LOW | mobile-widgets/qmlinterface.h | 1 | // SPDX-License-Identifier: GPL-2.0 | COMMENT |
| LOW | mobile-widgets/qmlinterface.h | 21 | // header | COMMENT |
| LOW | core/qt-ble.cpp | 1 | // SPDX-License-Identifier: GPL-2.0 | COMMENT |
| LOW | core/qt-ble.cpp | 161 | // | COMMENT |
| LOW | core/qt-ble.cpp | 221 | // | COMMENT |
| LOW | core/qt-ble.cpp | 441 | *actual += packet.size(); | COMMENT |
| LOW | core/qt-ble.cpp | 641 | COMMENT | |
| LOW | core/qt-ble.cpp | 681 | */ | COMMENT |
| LOW | core/qt-ble.cpp | 741 | #if defined(Q_OS_LINUX) && !defined(Q_OS_ANDROID) | COMMENT |
| LOW | core/qt-ble.cpp | 801 | // Note that ble takes ownership of controller and henceforth deleting ble will | COMMENT |
| LOW | core/imagedownloader.cpp | 1 | // SPDX-License-Identifier: GPL-2.0 | COMMENT |
| LOW | core/imagedownloader.cpp | 21 | #include <QtConcurrent> | COMMENT |
| LOW | core/filterconstraint.cpp | 1 | // SPDX-License-Identifier: GPL-2.0 | COMMENT |
| LOW | core/divelog.cpp | 1 | // SPDX-License-Identifier: GPL-2.0 | COMMENT |
| LOW | core/qthelper.cpp | 1 | // SPDX-License-Identifier: GPL-2.0 | COMMENT |
| LOW | core/qthelper.cpp | 21 | #include "picture.h" | COMMENT |
| LOW | core/windows.cpp | 1 | // SPDX-License-Identifier: GPL-2.0 | COMMENT |
| LOW | core/ostctools.cpp | 1 | // SPDX-License-Identifier: GPL-2.0 | COMMENT |
| LOW | core/range.h | 1 | // SPDX-License-Identifier: GPL-2.0 | COMMENT |
| 321 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | .github/workflows/windows-msvc-qt6.yml | 213 | # --------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | .github/workflows/windows-msvc-qt6.yml | 215 | # --------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | .github/workflows/windows-msvc-qt6.yml | 221 | # --------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | .github/workflows/windows-msvc-qt6.yml | 223 | # --------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | .github/workflows/windows-msvc-qt6.yml | 284 | # --------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | .github/workflows/windows-msvc-qt6.yml | 289 | # --------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | .github/workflows/windows-msvc-qt6.yml | 297 | # --------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | .github/workflows/windows-msvc-qt6.yml | 299 | # --------------------------------------------------------------- | COMMENT |
| MEDIUM | .github/workflows/windows-msvc-qt6.yml | 50 | # --------------------------------------------------------------- | COMMENT |
| MEDIUM | .github/workflows/windows-msvc-qt6.yml | 52 | # --------------------------------------------------------------- | COMMENT |
| MEDIUM | .github/workflows/windows-msvc-qt6.yml | 70 | # --------------------------------------------------------------- | COMMENT |
| MEDIUM | .github/workflows/windows-msvc-qt6.yml | 72 | # --------------------------------------------------------------- | COMMENT |
| MEDIUM | .github/workflows/windows-msvc-qt6.yml | 133 | # --------------------------------------------------------------- | COMMENT |
| MEDIUM | .github/workflows/windows-msvc-qt6.yml | 135 | # --------------------------------------------------------------- | COMMENT |
| MEDIUM | .github/workflows/windows-msvc-qt6.yml | 249 | # --------------------------------------------------------------- | COMMENT |
| MEDIUM | .github/workflows/windows-msvc-qt6.yml | 251 | # --------------------------------------------------------------- | COMMENT |
| MEDIUM | .github/workflows/windows-msvc-qt6.yml | 346 | # --------------------------------------------------------------- | COMMENT |
| MEDIUM | .github/workflows/windows-msvc-qt6.yml | 348 | # --------------------------------------------------------------- | COMMENT |
| MEDIUM | .github/workflows/windows-msvc-qt6.yml | 421 | # --------------------------------------------------------------- | COMMENT |
| MEDIUM | .github/workflows/windows-msvc-qt6.yml | 423 | # --------------------------------------------------------------- | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | cli/tests/test_cli.py | 223 | def test_list_dives_pagination(self): | CODE |
| LOW | cli/tests/test_cli.py | 244 | def test_list_dives_statistics(self): | CODE |
| LOW | cli/tests/test_cli.py | 314 | def test_get_dive_invalid_format(self): | CODE |
| LOW | cli/tests/test_cli.py | 322 | def test_get_dive_missing_arg(self): | CODE |
| LOW | cli/tests/test_cli.py | 379 | def test_get_trip_missing_arg(self): | CODE |
| LOW | cli/tests/test_cli.py | 454 | def test_get_profile_custom_dimensions(self): | CODE |
| LOW⚡ | cli/tests/test_cli.py | 490 | def test_get_profile_not_found(self): | CODE |
| LOW⚡ | cli/tests/test_cli.py | 499 | def test_get_profile_missing_arg(self): | CODE |
| LOW⚡ | cli/tests/test_cli.py | 508 | def test_dive_data_consistency(self): | CODE |
| LOW⚡ | cli/tests/test_cli.py | 560 | def test_security_long_dive_ref(self): | CODE |
| LOW⚡ | cli/tests/test_cli.py | 570 | def test_security_special_chars_dive_ref(self): | CODE |
| LOW | scripts/shellcheck/test-report-pr.py | 58 | def test_changed_files_renames_deletions_and_existing_findings(self): | CODE |
| LOW | scripts/shellcheck/test-report-pr.py | 86 | def test_no_changes_and_invalid_sha(self): | CODE |
| LOW | scripts/shellcheck/test-report-pr.py | 94 | def test_base_branch_changes_after_divergence_are_not_pr_changes(self): | CODE |
| LOW | scripts/shellcheck/test-report-pr.py | 113 | def test_enforced_set_fails_on_a_finding(self): | CODE |
| LOW | scripts/shellcheck/test-report-pr.py | 124 | def test_new_script_is_enforced_by_default(self): | CODE |
| LOW | scripts/shellcheck/test-report-pr.py | 143 | def test_root_script_with_leading_hyphen_is_not_an_option(self): | CODE |
| LOW | scripts/shellcheck/test-report-pr.py | 155 | def test_runner_handles_newlines_and_unterminated_exemptions(self): | CODE |
| LOW⚡ | scripts/shellcheck/test-report-pr.py | 171 | def test_extensionless_script_is_covered(self): | CODE |
| LOW⚡ | scripts/shellcheck/test-report-pr.py | 178 | def test_tracked_script_symlink_is_rejected(self): | CODE |
| LOW⚡ | scripts/shellcheck/test-report-pr.py | 186 | def test_git_enumeration_failure_fails_both_modes(self): | CODE |
| LOW | scripts/shellcheck/test-report-pr.py | 201 | def test_github_report_is_informational(self): | CODE |
| LOW | scripts/shellcheck/test-report-pr.py | 212 | def test_annotation_fields_and_markdown_escape_untrusted_data(self): | CODE |
| LOW | scripts/shellcheck/test-report-pr.py | 229 | def test_annotation_cap_and_summary_size_limit(self): | CODE |
| LOW | scripts/shellcheck/test-report-pr.py | 246 | def test_summary_omits_per_file_headers_when_they_exceed_limit(self): | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | packaging/macosx/make-package.sh | 210 | # Check if there are any problematic absolute RPATHs | COMMENT |
| LOW | packaging/android/local-build.sh | 150 | # Check if the container already exists and whether it was created from | COMMENT |
| LOW | packaging/windows/docker-build.sh | 27 | # Check if our container exists | COMMENT |
| LOW | scripts/smtk2ssrf-build.sh | 79 | # Check if we are in a sane environment | COMMENT |
| LOW | scripts/smtk2ssrf-build.sh | 89 | # Check if we have glib-2.0 installed. This is a dependency for | COMMENT |
| LOW | scripts/smtk2ssrf-build.sh | 100 | # Check if mdbtools devel package is avaliable, if it is not, download | COMMENT |
| LOW | scripts/find-prs-for-release.sh | 81 | # Check if this ref has the target build number | COMMENT |
| LOW | .github/workflows/publish-release.yml | 121 | # Check if workflow has path filters that don't match changed files | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | packaging/ubuntu/make-package.sh | 151 | # this uses my (Dirk's) email address by default... simply set that variable in your | COMMENT |
| MEDIUM | core/filterconstraint.h | 98 | // However, by using these functions we are more robust, because the lists can be ordered differently than the enums. | COMMENT |
| LOW | scripts/countTranslations.sh | 3 | # simply create some stats | COMMENT |
| MEDIUM | commands/command_divelist.h | 233 | // but simple and robust way: We keep two full copies of the dive (before and after). | COMMENT |
| MEDIUM | stats/barseries.cpp | 336 | // Essentially, the name of the bin and the number and percentages of dives. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | packaging/android/local-build.sh | 160 | # Create the container if it doesn't exist. The container runs | COMMENT |
| MEDIUM | packaging/windows/docker-build.sh | 30 | # Create the container if it does not exist | COMMENT |
| MEDIUM⚡ | cli/tests/test_cli.py | 564 | # Create a very long dive ref (should be rejected) | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | theme/jquery.min.js | 4 | marginLeft:0},function(){return a.getBoundingClientRect().left}):0))+"px":void 0}),n.each({margin:"",padding:"",border:" | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | cli/tests/test_cli.py | 260 | CODE | |
| LOW | cli/tests/test_cli.py | 403 | CODE | |
| LOW | cli/tests/test_cli.py | 454 | CODE | |
| LOW | cli/tests/test_cli.py | 508 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | packaging/android/local-build.sh | 29 | # Usage: | COMMENT |
| LOW | scripts/parse-descriptor.pl | 5 | # Usage: | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | core/dive.cpp | 2880 | // TODO: implement addition for units.h types | COMMENT |
| LOW | core/divelist.cpp | 618 | // TODO: implement subtraction for units.h types | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | scripts/get-dep-lib.sh | 117 | # If changing the openSSL version here, make sure to change it in scripts/docker/android-build-container/Dockerfile also | COMMENT |
| LOW | commands/command_edit.cpp | 1557 | // Don't forget to unregister the old and register the new dive! | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | cli/tests/test_cli.py | 621 | except Exception as e: | CODE |