A sleek, customizable desktop shell crafted for Wayland.
This report summarizes scanner evidence for noctalia-dev/noctalia, a C++ project with 11,736 GitHub stars. SynthScan examined 618,002 lines of code across 1833 source files, recording 1347 pattern matches distributed across 14 syntactic categories. The legacy adjusted pattern signal is 2.5 (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? 814 finding(s).
Are imports declared and package/API names verified? 446 finding(s).
Are wrappers, guards, and repeated structures necessary? 121 finding(s).
Which changes need focused human review? 1347 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 1347 distinct pattern matches across 14 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 |
|---|---|---|---|---|
| LOW | example.toml | 201 | border_color = "outline_variant" # outline color: theme color role (e.g. "primary") or hex (e.g. "#a8b185") | COMMENT |
| LOW | example.toml | 341 | # Per-monitor backend override: | COMMENT |
| LOW | example.toml | 361 | [location] | COMMENT |
| LOW | example.toml | 421 | capsule = false | COMMENT |
| LOW | example.toml | 481 | show_dots = false | COMMENT |
| LOW | example.toml | 501 | # ── Desktop Widgets ─────────────────────────────────────────────────────────── | COMMENT |
| LOW | example.toml | 521 | # rotation = 0.0 | COMMENT |
| LOW | example.toml | 541 | # background_opacity = 0.8 | COMMENT |
| LOW | example.toml | 561 | # [[control_center.shortcuts]] | COMMENT |
| LOW | example.toml | 581 | # bluetooth_enabled = [] | COMMENT |
| LOW | example.toml | 601 | # | COMMENT |
| LOW | example.toml | 621 | # [widget.keyboard_layout.custom_labels] # override display labels by exact layout name | COMMENT |
| LOW | example.toml | 641 | # font_weight = 700 | COMMENT |
| LOW | tests/hyprland_workspace_backend_test.cpp | 1 | #include "compositors/hyprland/hyprland_runtime.h" | COMMENT |
| LOW | tests/clipboard_storage_permissions_test.cpp | 1 | #include "security/secret_store.h" | COMMENT |
| LOW | tests/capsule_group_lane_override_test.cpp | 1 | // Locks the settings GUI's "lane is overridden" signal across capsule-group edits: adding a widget | COMMENT |
| LOW | tests/tray_registration_integration_test.cpp | 1 | #include "core/deferred_call.h" | COMMENT |
| LOW | tests/process_test.cpp | 1 | #include "core/process/process.h" | COMMENT |
| LOW | tests/fingerprint_authenticator_integration_test.cpp | 1 | #include "auth/fingerprint_authenticator.h" | COMMENT |
| LOW | tests/plugin_recommendations_test.cpp | 1 | #include "config/config_service.h" | COMMENT |
| LOW | tests/url_open_test.cpp | 1 | #include "net/url_open.h" | COMMENT |
| LOW | tests/widget_settings_schema_test.cpp | 1 | // The validator and the settings GUI must agree on which keys a plugin widget accepts. | COMMENT |
| LOW | tests/theme_shell_mode_test.cpp | 1 | // [theme].mode is the app-facing mode: it is what the resolved callback carries to templates, | COMMENT |
| LOW | tests/plugin_i18n_test.cpp | 1 | #include "i18n/i18n_service.h" | COMMENT |
| LOW | tests/wayland_toplevels_identity_test.cpp | 1 | #include "system/internal_app_metadata.h" | COMMENT |
| LOW | tests/tray_signal_sender_integration_test.cpp | 1 | #include "core/deferred_call.h" | COMMENT |
| LOW | tests/vdir_reader_test.cpp | 61 | "END:VEVENT\r\n" | COMMENT |
| LOW | tests/widget_definition_test.cpp | 1 | // Every typed widget definition validates itself lazily: `field()` and `WidgetDefinition::validate()` | COMMENT |
| LOW | tests/widget_definition_test.cpp | 21 | #include "shell/bar/widgets/notification_widget_definition.h" | COMMENT |
| LOW | tests/widget_definition_test.cpp | 41 | COMMENT | |
| LOW | tests/template_hook_runner_test.cpp | 1 | #include "tests/test_check.h" | COMMENT |
| LOW | tests/capsule_group_style_persist_test.cpp | 1 | // Locks that every capsule group style field edited in the settings GUI survives a restart. Group | COMMENT |
| LOW | tests/button_layout_test.cpp | 1 | #include "render/core/renderer.h" | COMMENT |
| LOW | tests/screencopy_connection_isolation_test.cpp | 1 | #include "capture/screencopy_capture.h" | COMMENT |
| LOW | tests/plugin_git_export_test.cpp | 1 | #include "core/process/process.h" | COMMENT |
| LOW | tests/clipboard_service_test.cpp | 1 | // Drives the data-control callbacks with a fake compositor, covering two things | COMMENT |
| LOW | tests/config_override_mutation_test.cpp | 1 | // Locks the atomic set-and-clear contract of ConfigService::mutateOverrides. Switching a calendar | COMMENT |
| LOW | tests/plugin_bindings_test.cpp | 1 | #include "core/toml.h" | COMMENT |
| LOW | tests/secret_collection_probe_integration_test.cpp | 1 | #include "dbus/secret/secret_collection_probe.h" | COMMENT |
| LOW | tests/plugin_file_privacy_test.cpp | 1 | #include "core/toml.h" | COMMENT |
| LOW | tests/ipc_service_test.cpp | 1 | #include "ipc/ipc_service.h" | COMMENT |
| LOW | tests/template_apply_notify_test.cpp | 1 | // A requested after-apply notification is owed until an application delivers it. Later | COMMENT |
| LOW | tests/scrollbar_geometry_test.cpp | 1 | #include "render/animation/animation_manager.h" | COMMENT |
| LOW | tests/bluetooth_property_integration_test.cpp | 1 | #include "dbus/bluetooth/bluetooth_service.h" | COMMENT |
| LOW | tests/calendar_reminder_monitor_test.cpp | 1 | // Drives the real monitor against a real NotificationManager to prove the countdown state machine | COMMENT |
| LOW | tests/tray_theme_path_index_test.cpp | 1 | #include "core/deferred_call.h" | COMMENT |
| LOW | tests/brightness_service_test.cpp | 1 | #include "compositors/compositor_platform.h" | COMMENT |
| LOW | tests/brightness_service_test.cpp | 21 | #include <print> | COMMENT |
| LOW | tests/virtual_grid_view_gesture_test.cpp | 1 | // Covers the click-vs-drag split for adapter-consumed presses. Pointers emit | COMMENT |
| LOW | tests/plugin_lifecycle_test.cpp | 1 | #include "config/config_service.h" | COMMENT |
| LOW | tests/secret_store_test.cpp | 1 | #include "security/secret_store.h" | COMMENT |
| LOW | tests/upower_charge_limit_integration_test.cpp | 1 | #include "dbus/system_bus.h" | COMMENT |
| LOW | tests/security_primitives_test.cpp | 1 | #include "security/encrypted_file_store.h" | COMMENT |
| LOW | tests/location_service_test.cpp | 1 | #include "config/config_service.h" | COMMENT |
| LOW | tests/idle_manager_test.cpp | 1 | #include "core/deferred_call.h" | COMMENT |
| LOW | tests/umbriel_audio_provider_test.cpp | 1 | #include "compositors/umbriel/umbriel_audio_provider.h" | COMMENT |
| LOW | tests/calendar_credential_store_test.cpp | 1 | #include "calendar/calendar_credential_store.h" | COMMENT |
| LOW | tests/notification_history_encryption_test.cpp | 1 | #include "core/deferred_call.h" | COMMENT |
| LOW | tests/plugin_manifest_test.cpp | 1 | #include "scripting/plugin_api.h" | COMMENT |
| LOW | tests/notification_history_image_bounds_test.cpp | 1 | #include "notification/notification_history_store.h" | COMMENT |
| 690 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/notifications-test.sh | 17 | notify-send "Notification #4" "This is test notification with a very long text that will probably break the layout or ma | CODE |
| LOW | tools/notifications-test.sh | 17 | notify-send "Notification #4" "This is test notification with a very long text that will probably break the layout or ma | CODE |
| LOW | tools/notifications-test.sh | 38 | "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore | CODE |
| LOW | tools/notifications-test.sh | 38 | "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore | CODE |
| LOW | tools/notifications-test.sh | 52 | "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin lectus nibh, mollis eget pulvinar eget, alique | CODE |
| LOW | tools/notifications-test.sh | 52 | "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin lectus nibh, mollis eget pulvinar eget, alique | CODE |
| LOW | assets/fonts/tabler.json | 17954 | "placeholder": { | CODE |
| LOW | assets/translations/tr.json | 746 | "placeholder": "Bir yanıt yaz…" | CODE |
| LOW | assets/translations/tr.json | 1089 | "placeholder": "Araçlarda ara..." | CODE |
| LOW | assets/translations/tr.json | 1985 | "placeholder": "Bir görselin dosya yolu" | CODE |
| LOW | assets/translations/tr.json | 2209 | "placeholder": "Masaüstü duvar kağıdını kullan" | CODE |
| LOW | assets/translations/tr.json | 2607 | "placeholder": "Şehir, Ülke" | CODE |
| LOW | assets/translations/tr.json | 2637 | "placeholder": "/ses/dosyasi/yolu.wav" | CODE |
| LOW | assets/translations/tr.json | 2707 | "placeholder": "/ses/dosyasi/yolu.wav" | CODE |
| LOW | assets/translations/tr.json | 2789 | "placeholder": "/profil/resmi/yolu.png" | CODE |
| LOW | assets/translations/tr.json | 2810 | "placeholder": "gimp {path} veya satty -f -" | CODE |
| LOW | assets/translations/tr.json | 2856 | "placeholder": "$CMD" | CODE |
| LOW | assets/translations/tr.json | 3006 | "placeholder": "~/Pictures" | CODE |
| LOW | assets/translations/tr.json | 3019 | "placeholder": "swappy -f -" | CODE |
| LOW | assets/translations/tr.json | 3114 | "placeholder": "~/Resimler/DuvarKağıtları" | CODE |
| LOW | assets/translations/tr.json | 3119 | "placeholder": "~/Resimler/DuvarKağıtları" | CODE |
| LOW | assets/translations/tr.json | 3141 | "placeholder": "~/Resimler/DuvarKağıtları" | CODE |
| LOW | assets/translations/tr.json | 3145 | "placeholder": "~/Resimler/DuvarKağıtları" | CODE |
| LOW | assets/translations/tr.json | 4046 | "placeholder": "Ara..." | CODE |
| LOW | assets/translations/tr.json | 4049 | "placeholder": "Bir seçenek seçin" | CODE |
| LOW | assets/translations/hu.json | 729 | "placeholder": "Válasz írása…" | CODE |
| LOW | assets/translations/hu.json | 1060 | "placeholder": "Widgetek keresése…" | CODE |
| LOW | assets/translations/hu.json | 1918 | "placeholder": "Útvonal a képhez" | CODE |
| LOW | assets/translations/hu.json | 2129 | "placeholder": "Asztali háttérkép használata" | CODE |
| LOW | assets/translations/hu.json | 2500 | "placeholder": "Város, Ország" | CODE |
| LOW | assets/translations/hu.json | 2530 | "placeholder": "/path/to/sound.wav" | CODE |
| LOW | assets/translations/hu.json | 2600 | "placeholder": "/elérési/út/a/hangfájlhoz.wav" | CODE |
| LOW | assets/translations/hu.json | 2682 | "placeholder": "/path/to/avatar.png" | CODE |
| LOW | assets/translations/hu.json | 2703 | "placeholder": "gimp {path} vagy satty -f -" | CODE |
| LOW | assets/translations/hu.json | 2739 | "placeholder": "$CMD" | CODE |
| LOW | assets/translations/hu.json | 2889 | "placeholder": "XDG Képek könyvtár" | CODE |
| LOW | assets/translations/hu.json | 2902 | "placeholder": "swappy -f -" | CODE |
| LOW | assets/translations/hu.json | 2989 | "placeholder": "~/Pictures/Wallpapers" | CODE |
| LOW | assets/translations/hu.json | 2994 | "placeholder": "~/Pictures/Wallpapers" | CODE |
| LOW | assets/translations/hu.json | 3016 | "placeholder": "~/Pictures/Wallpapers" | CODE |
| LOW | assets/translations/hu.json | 3020 | "placeholder": "~/Pictures/Wallpapers" | CODE |
| LOW | assets/translations/hu.json | 3794 | "placeholder": "Keresés…" | CODE |
| LOW | assets/translations/hu.json | 3797 | "placeholder": "Válassz egy opciót" | CODE |
| LOW | assets/translations/nl.json | 674 | "placeholder": "Typ een reactie..." | CODE |
| LOW | assets/translations/nl.json | 927 | "placeholder": "Widgets zoeken..." | CODE |
| LOW | assets/translations/nl.json | 1754 | "placeholder": "Bureaubladachtergrond gebruiken" | CODE |
| LOW | assets/translations/nl.json | 1960 | "placeholder": "Stad, Land" | CODE |
| LOW | assets/translations/nl.json | 1986 | "placeholder": "/pad/naar/geluid.wav" | CODE |
| LOW | assets/translations/nl.json | 2047 | "placeholder": "/pad/naar/geluid.wav" | CODE |
| LOW | assets/translations/nl.json | 2126 | "placeholder": "/pad/naar/avatar.png" | CODE |
| LOW | assets/translations/nl.json | 2147 | "placeholder": "gimp {path} of satty -f -" | CODE |
| LOW | assets/translations/nl.json | 2263 | "placeholder": "~/Afbeeldingen" | CODE |
| LOW | assets/translations/nl.json | 2276 | "placeholder": "swappy -f -" | CODE |
| LOW | assets/translations/nl.json | 2358 | "placeholder": "~/Afbeeldingen/Wallpapers" | CODE |
| LOW | assets/translations/nl.json | 2363 | "placeholder": "~/Afbeeldingen/Wallpapers" | CODE |
| LOW | assets/translations/nl.json | 2385 | "placeholder": "~/Afbeeldingen/Wallpapers" | CODE |
| LOW | assets/translations/nl.json | 2389 | "placeholder": "~/Afbeeldingen/Wallpapers" | CODE |
| LOW | assets/translations/nl.json | 2962 | "placeholder": "Zoeken..." | CODE |
| LOW | assets/translations/nl.json | 2965 | "placeholder": "Selecteer een optie" | CODE |
| LOW | assets/translations/ja.json | 927 | "placeholder": "返信を入力…" | CODE |
| 381 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | example.toml | 5 | # ── Shell ───────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | example.toml | 134 | # ── Wallpaper ───────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | example.toml | 157 | # ── Theme ───────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | example.toml | 183 | # ── Backdrop ────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | example.toml | 190 | # ── Notifications ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | example.toml | 220 | # ── OSD ─────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | example.toml | 252 | # ── Lock Screen ─────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | example.toml | 266 | # ── System Monitor ──────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | example.toml | 278 | # ── Calendar ────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | example.toml | 306 | # ── Weather ─────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | example.toml | 315 | # ── Audio ───────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | example.toml | 328 | # ── Bluetooth ───────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | example.toml | 334 | # ── Brightness ──────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | example.toml | 350 | # ── Night Light ─────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | example.toml | 358 | # ── Location ────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | example.toml | 370 | # ── Idle ────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | example.toml | 388 | # ── Keybinds ────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | example.toml | 401 | # ── Bar ─────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | example.toml | 451 | # ── Dock ────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | example.toml | 501 | # ── Desktop Widgets ─────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | example.toml | 543 | # ── Control Center ──────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | example.toml | 566 | # ── Hooks ───────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | assets/templates/helix/helix.toml | 2 | # ------------------- | COMMENT |
| MEDIUM | assets/templates/helix/helix.toml | 61 | # -------------- | COMMENT |
| MEDIUM | src/ui/dialogs/dialog_popup_host.h | 132 | // ── Hooks ──────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | src/core/log.h | 14 | // ── Global free functions (no section tag) ──────────────────────────────────── | COMMENT |
| MEDIUM | src/core/log.h | 32 | // ── Logger — per-module logger with a section tag ───────────────────────────── | COMMENT |
| MEDIUM | src/config/config_service.cpp | 548 | // ── Lifecycle ──────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | src/config/config_service.cpp | 583 | // ── Public interface ───────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | src/config/config_service.cpp | 1119 | // ── Private helpers ────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | src/config/schema/field.h | 154 | // ── Leaf codec factories ───────────────────────────────────────────────── | COMMENT |
| MEDIUM | src/shell/settings/settings_content_plugins.cpp | 368 | // ── Per-plugin settings editor ───────────────────────────────────────── | COMMENT |
| MEDIUM | src/shell/settings/settings_content_plugins.cpp | 843 | // ── Plugins ────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | src/shell/control_center/shortcut_registry.cpp | 37 | // ── Toggle shortcuts ──────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | src/shell/control_center/shortcut_registry.cpp | 378 | // ── Action-only shortcuts ────��────────────────────────────────────────────── | COMMENT |
| MEDIUM | src/shell/test/test_panel.cpp | 129 | // ── Column A: Buttons + Icon buttons ──────────────────────────────────── | COMMENT |
| MEDIUM | src/shell/test/test_panel.cpp | 297 | // ── Column B: Toggles, Segmented, Checkbox, Radio, Spinner ────────────── | COMMENT |
| MEDIUM | src/shell/test/test_panel.cpp | 478 | // ── Column C: File dialog, Color picker, Grid view, Transforms ────────── | COMMENT |
| MEDIUM | src/shell/test/test_panel.cpp | 894 | // ── Section heading ──────────────────────────────────────────────── | COMMENT |
| MEDIUM | src/shell/test/test_panel.cpp | 906 | // ── Font family controls ────────────────────────────────────────── | COMMENT |
| MEDIUM | src/shell/test/test_panel.cpp | 1411 | // ── Auto-scrolling labels (marquee) ──────────────────────────────── | COMMENT |
| MEDIUM | src/shell/wallpaper/wallpaper.cpp | 1355 | // ── Wallpaper loading & transitions ────────────────────────────────────────── | COMMENT |
| MEDIUM | src/shell/wallpaper/panel/wallpaper_panel.cpp | 783 | // ── Body: virtualized scrolling grid ────────────────────────────────── | COMMENT |
| MEDIUM | src/shell/dock/dock_items.cpp | 1190 | // ── Drag-to-reorder ────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | src/shell/dock/dock.cpp | 305 | // ── Lifecycle ───────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | src/shell/dock/dock.cpp | 503 | // ── Input ───────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | src/shell/dock/dock.cpp | 657 | // ── Private: instance management ───────────────────────────────────────────── | COMMENT |
| MEDIUM | src/shell/dock/dock.cpp | 864 | // ── Private: scene building ─────────────────────────────────────────────────── | COMMENT |
| MEDIUM | src/shell/dock/dock.cpp | 911 | // ── Private: item population ────────────────────────────────────────────────── | COMMENT |
| MEDIUM | src/shell/dock/dock.cpp | 950 | // ── Private: visual update ──────────────────────────────────────────────────── | COMMENT |
| MEDIUM | src/shell/dock/dock.cpp | 996 | // ── Private: item context menu (right-click) ────────────────────────────────── | COMMENT |
| MEDIUM | src/render/render_target.cpp | 10 | // ── ScaledRenderer ────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | src/render/render_target.cpp | 80 | // ── RenderTarget ──────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | src/render/core/shared_texture_cache.cpp | 77 | // ── Lease ──────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | src/render/core/shared_texture_cache.cpp | 129 | // ── Cache ──────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | src/render/text/cairo_text_renderer.cpp | 160 | // ── CacheKey equality/hash ────────────────────────────────────────────────── | COMMENT |
| MEDIUM | src/render/text/cairo_text_renderer.cpp | 226 | // ── Lifecycle ─────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | src/render/text/cairo_text_renderer.cpp | 370 | // ── Layout construction ───────────────────────────────────────────────────── | COMMENT |
| MEDIUM | src/render/text/cairo_text_renderer.cpp | 495 | // ── measure / truncate ────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | src/render/text/cairo_text_renderer.cpp | 703 | // ── Rasterization ─────────────────────────────────────────────────────────── | COMMENT |
| 19 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/i18n-check.py | 157 | def is_placeholder_or_internal_literal(s: str) -> bool: | CODE |
| LOW | tools/i18n-check.py | 179 | def looks_like_user_visible_copy(s: str) -> bool: | CODE |
| LOW | tools/i18n-check.py | 195 | def cpp_code_before_line_comment(line: str) -> str: | CODE |
| LOW | tools/i18n-check.py | 253 | def looks_like_wide_prose_string(s: str) -> bool: | CODE |
| LOW⚡ | .github/workflows/scripts/test_enforce_pr_template.py | 45 | def test_accepts_canonical_template(self) -> None: | CODE |
| LOW⚡ | .github/workflows/scripts/test_enforce_pr_template.py | 48 | def test_accepts_completed_ready_template(self) -> None: | CODE |
| LOW⚡ | .github/workflows/scripts/test_enforce_pr_template.py | 57 | def test_accepts_ready_template_without_context_sections(self) -> None: | CODE |
| LOW⚡ | .github/workflows/scripts/test_enforce_pr_template.py | 72 | def test_accepts_ready_template_without_inapplicable_change_types(self) -> None: | CODE |
| LOW⚡ | .github/workflows/scripts/test_enforce_pr_template.py | 81 | def test_accepts_annotated_change_type(self) -> None: | CODE |
| LOW⚡ | .github/workflows/scripts/test_enforce_pr_template.py | 89 | def test_accepts_asterisk_bullets(self) -> None: | CODE |
| LOW⚡ | .github/workflows/scripts/test_enforce_pr_template.py | 96 | def test_accepts_template_line_wrapping(self) -> None: | CODE |
| LOW⚡ | .github/workflows/scripts/test_enforce_pr_template.py | 103 | def test_accepts_body_stripped_of_guidance_comments(self) -> None: | CODE |
| LOW⚡ | .github/workflows/scripts/test_enforce_pr_template.py | 107 | def test_rejects_missing_testing_section(self) -> None: | CODE |
| LOW⚡ | .github/workflows/scripts/test_enforce_pr_template.py | 114 | def test_rejects_missing_motivation_section(self) -> None: | CODE |
| LOW⚡ | .github/workflows/scripts/test_enforce_pr_template.py | 121 | def test_rejects_renamed_section(self) -> None: | CODE |
| LOW⚡ | .github/workflows/scripts/test_enforce_pr_template.py | 128 | def test_rejects_ready_template_without_a_checked_change_type(self) -> None: | CODE |
| LOW⚡ | .github/workflows/scripts/test_enforce_pr_template.py | 135 | def test_rejects_ready_template_with_two_primary_change_types(self) -> None: | CODE |
| LOW⚡ | .github/workflows/scripts/test_enforce_pr_template.py | 142 | def test_rejects_breaking_change_as_the_only_change_type(self) -> None: | CODE |
| LOW⚡ | .github/workflows/scripts/test_enforce_pr_template.py | 153 | def test_accepts_breaking_change_alongside_one_primary_type(self) -> None: | CODE |
| LOW⚡ | .github/workflows/scripts/test_enforce_pr_template.py | 160 | def test_ready_template_requires_every_mandatory_item(self) -> None: | CODE |
| LOW⚡ | .github/workflows/scripts/test_enforce_pr_template.py | 168 | def test_draft_allows_unchecked_mandatory_items(self) -> None: | CODE |
| LOW⚡ | .github/workflows/scripts/test_enforce_pr_template.py | 177 | def test_rejects_deleted_checklist_item(self) -> None: | CODE |
| LOW⚡ | .github/workflows/scripts/test_enforce_pr_template.py | 185 | def test_rejects_altered_checklist_item(self) -> None: | CODE |
| LOW | .github/workflows/scripts/test_enforce_pr_template.py | 228 | def test_valid_template_writes_nothing_when_no_comment_exists(self) -> None: | CODE |
| LOW | .github/workflows/scripts/test_enforce_pr_template.py | 240 | def test_valid_template_resolves_an_existing_enforcement_comment(self) -> None: | CODE |
| LOW | .github/workflows/scripts/test_enforce_pr_template.py | 271 | def test_invalid_ready_pull_request_is_converted_then_gets_fresh_comment(self) -> None: | CODE |
| LOW | .github/workflows/scripts/test_enforce_pr_template.py | 302 | def test_each_conversion_posts_a_fresh_comment_without_reading_old_comments( | CODE |
| LOW | .github/workflows/scripts/test_enforce_pr_template.py | 321 | def test_invalid_draft_updates_the_latest_enforcement_comment(self) -> None: | CODE |
| LOW | .github/workflows/scripts/test_enforce_pr_template.py | 358 | def test_identical_draft_comment_is_not_rewritten(self) -> None: | CODE |
| LOW | .github/workflows/scripts/test_enforce_pr_template.py | 383 | def test_invalid_draft_replaces_a_comment_by_another_author(self) -> None: | CODE |
| LOW | .github/workflows/scripts/test_enforce_pr_template.py | 426 | def test_valid_template_deletes_a_comment_by_another_author(self) -> None: | CODE |
| LOW | .github/workflows/scripts/test_enforce_pr_template.py | 452 | def test_own_comment_is_updated_and_older_foreign_comment_deleted(self) -> None: | CODE |
| LOW | .github/workflows/scripts/test_enforce_pr_template.py | 479 | def test_graphql_error_stops_before_posting_conversion_comment(self) -> None: | CODE |
| LOW | .github/workflows/scripts/enforce-pr-template.py | 74 | def build_enforcement_comment(missing: list[str], *, converted: bool) -> str: | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | third_party/luau/Common/include/Luau/DenseHash.h | 453 | // We can leverage the structure of the bitvector here to skip contiguous chunks of empty elements | COMMENT |
| MEDIUM | third_party/luau/VM/src/ldebug.cpp | 416 | // this can be changed, but if requires making patching a bit more nuanced so that we don't patch AUX words | COMMENT |
| MEDIUM | src/ui/controls/label.h | 117 | // User-visible text (wire text may duplicate for seamless marquee). | COMMENT |
| MEDIUM | src/app/application_events.cpp | 54 | // A robust-context reset invalidates the whole share group. Tear down every | COMMENT |
| MEDIUM | src/render/core/shader_program.h | 18 | // Forget the GL name without deleting it. Used after a robust-context reset, when the | COMMENT |
| MEDIUM | src/render/core/texture_manager.h | 63 | // Forget GL names without deleting them. Used after a robust-context reset, | COMMENT |
| MEDIUM | src/render/backend/gles_texture_manager.cpp | 45 | // Drops errors raised before the call we are about to check. Bounded because a robust context that | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | tools/tray_appindicator_compat_test.py | 100 | except AttributeError: | CODE |
| HIGH | tests/plugin_recommendations_http_test.py | 153 | except (ssl.SSLError, ConnectionError): | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | src/ui/controls/virtual_grid_view.cpp | 256 | // Step 1: estimate the canvas's virtual size so ScrollView can measure | COMMENT |
| LOW | src/ui/controls/virtual_grid_view.cpp | 341 | // Step 2: determine the visible row range from the resolved scroll offset, with overscan. | COMMENT |
| LOW | src/ui/controls/virtual_grid_view.cpp | 356 | // Step 3: grow the pool if needed. Pool is row-major (poolRows * columns) | COMMENT |
| LOW | src/ui/controls/virtual_grid_view.cpp | 409 | // Step 4: bind / position pool slots, addressing by `row % poolRows`. | COMMENT |
| LOW | src/ui/controls/virtual_grid_view.cpp | 479 | // Step 5: position the input overlay across the entire virtual canvas. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | src/ui/controls/virtual_grid_view.cpp | 256 | // Step 1: estimate the canvas's virtual size so ScrollView can measure | COMMENT |
| LOW | src/ui/controls/virtual_grid_view.cpp | 341 | // Step 2: determine the visible row range from the resolved scroll offset, with overscan. | COMMENT |
| LOW | src/ui/controls/virtual_grid_view.cpp | 356 | // Step 3: grow the pool if needed. Pool is row-major (poolRows * columns) | COMMENT |
| LOW | src/ui/controls/virtual_grid_view.cpp | 409 | // Step 4: bind / position pool slots, addressing by `row % poolRows`. | COMMENT |
| LOW | src/ui/controls/virtual_grid_view.cpp | 479 | // Step 5: position the input overlay across the entire virtual canvas. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | src/shell/osd/osd_overlay.h | 55 | // Custom OSD as requested by plugins and the osd-show IPC command. No progress hides the bar; | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/template-engine-compare-all.py | 47 | except Exception as e: | CODE |
| LOW | tools/palette-generator-analysis.py | 93 | except Exception as e: | CODE |
| LOW | tools/palette-generator-analysis.py | 112 | except Exception as e: | CODE |
| LOW | tools/palette-generator-analysis.py | 125 | except Exception as e: | CODE |
| LOW | tools/palette-generator-analysis.py | 136 | except Exception: | CODE |
| LOW | tools/palette-generator-analysis.py | 238 | except Exception: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/template-engine-compare-all.py | 78 | CODE | |
| LOW | tools/issue-triage.py | 208 | CODE | |
| LOW | tools/i18n-check.py | 110 | CODE | |
| LOW | tools/i18n-check.py | 195 | CODE | |
| LOW | tools/i18n-check.py | 269 | CODE | |
| LOW | tests/plugin_recommendations_http_test.py | 23 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/i18n-pull.sh | 48 | # Check if jq is available | COMMENT |
| LOW | tools/i18n-push.sh | 45 | # Check if directory exists | COMMENT |
| LOW | tools/i18n-push.sh | 98 | # Check if English exists (only required when pushing all languages) | COMMENT |
| LOW | tools/i18n-check.py | 354 | # Check if any known prefix covers this key | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/template-engine-compare-all.py | 11 | CODE | |
| LOW | tools/issue-triage.py | 36 | CODE | |
| LOW | tools/i18n-check.py | 33 | CODE | |
| LOW | .github/workflows/scripts/test_enforce_pr_template.py | 1 | CODE | |
| LOW | .github/workflows/scripts/enforce-pr-template.py | 2 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | third_party/luau/VM/src/lgc.cpp | 1234 | // don't forget to visit main thread, it's the only object not allocated in GCO pages | COMMENT |
| LOW | third_party/luau/Compiler/include/Luau/Compiler.h | 28 | // Note: this structure is duplicated in luacode.h, don't forget to change these in sync! | COMMENT |