AI Slop Code RIsk Monitor

utkarshdalal/GameNative

Native PC gaming with Steam, Epic, GOG and Amazon integrations on Android

4.4 Low pattern signal View on GitHub

Maintenance and Governance Review

This report summarizes scanner evidence for utkarshdalal/GameNative, a Kotlin project with 11,128 GitHub stars. SynthScan examined 559,952 lines of code across 2029 source files, recording 913 pattern matches distributed across 14 syntactic categories. The legacy adjusted pattern signal is 4.4 (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.

4.4
Adjusted Signal
4.4
Raw Pattern Score
100%
Time Factor
2026-10-10
Last Push
11.1K
Stars
Kotlin
Language
560.0K
Lines of Code
2.0K
Files
913
Pattern Hits
2026-10-12
Scan Date
0.05
HC Hit Rate

Risk Review · v3

Use each vector to guide manual verification of the underlying findings.

Cognitive Ownership Risk 4.9/100 · LOW

Can maintainers explain intent, assumptions, and trade-offs? 574 finding(s).

Hallucinated Dependency & Supply Chain Risk 9.8/100 · LOW

Are imports declared and package/API names verified? 114 finding(s).

Agent Over-Engineering Ratio 6.2/100 · LOW

Are wrappers, guards, and repeated structures necessary? 228 finding(s).

PR Review Velocity Impact 18.9/100 · LOW

Which changes need focused human review? 913 finding(s).

What These Metrics Mean

Adjusted Signal
Legacy pattern score normalized per 1,000 scanned lines and multiplied by the repository-level time factor. It is not an estimate of AI authorship.
Raw Pattern Score
Sum of severity- and context-weighted pattern findings before applying the time factor.
Time Factor
A coarse multiplier based on repository last-push metadata. It does not identify when individual code was written.
Pattern Hits
Count of configured pattern findings. Review each location and surrounding code before acting.
HC Hit Rate
High- and critical-severity findings per scanned file. Severity is a configured detector weight, not proof of a vulnerability or authorship.
Lines / Files
Scan coverage denominators used by the legacy normalized score.

Pattern-Signal History

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.

Severity Breakdown

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.

CRITICAL 107HIGH 3MEDIUM 228LOW 575

Directory Score Breakdown

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.

Pattern Findings

The scanner identified 913 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.

Hallucination Indicators107 hits · 1135 pts
SeverityFileLineSnippetContext
CRITICAL…a/app/gamenative/service/gog/GOGDownloadManagerTest.kt331 val chunk = app.gamenative.service.gog.api.FileChunk(CODE
CRITICAL…a/app/gamenative/service/gog/GOGDownloadManagerTest.kt360 val chunk = app.gamenative.service.gog.api.FileChunk(CODE
CRITICAL…a/app/gamenative/service/gog/GOGDownloadManagerTest.kt397 val chunk = app.gamenative.service.gog.api.FileChunk(CODE
CRITICAL…a/app/gamenative/service/gog/GOGDownloadManagerTest.kt428 val chunk = app.gamenative.service.gog.api.FileChunk(CODE
CRITICAL…a/app/gamenative/service/gog/GOGDownloadManagerTest.kt457 val chunk = app.gamenative.service.gog.api.FileChunk(CODE
CRITICAL…a/app/gamenative/service/gog/GOGDownloadManagerTest.kt485 val chunk = app.gamenative.service.gog.api.FileChunk(CODE
CRITICAL…a/app/gamenative/service/gog/GOGDownloadManagerTest.kt512 val chunk = app.gamenative.service.gog.api.FileChunk(CODE
CRITICALapp/src/main/java/app/gamenative/PrefManager.kt962 app.gamenative.ui.enums.SortOption.fromKey(keyValue)CODE
CRITICALapp/src/main/java/app/gamenative/PrefManager.kt966 app.gamenative.ui.enums.SortOption.fromOrdinal(ordinal)CODE
CRITICALapp/src/main/java/app/gamenative/PluviaApp.kt92 app.gamenative.service.gog.GOGConstants.init(this)CODE
CRITICAL⚡app/src/main/java/app/gamenative/ui/PluviaMain.kt904 if (app.gamenative.service.gog.GOGService.hasStoredCredentials(context) &&CODE
CRITICAL⚡app/src/main/java/app/gamenative/ui/PluviaMain.kt908 app.gamenative.service.gog.GOGService.start(context)CODE
CRITICAL⚡app/src/main/java/app/gamenative/ui/PluviaMain.kt914 if (app.gamenative.service.epic.EpicService.hasStoredCredentials(context) &&CODE
CRITICAL⚡app/src/main/java/app/gamenative/ui/PluviaMain.kt918 app.gamenative.service.epic.EpicService.start(context)CODE
CRITICALapp/src/main/java/app/gamenative/ui/PluviaMain.kt2515 app.gamenative.service.ea.EaHelperArchive.download(context) { setLoadingProgress(it) }CODE
CRITICALapp/src/main/java/app/gamenative/ui/PluviaMain.kt2531 app.gamenative.service.ea.EaSteamLinkGate.offerSteamLink(context)CODE
CRITICALapp/src/main/java/app/gamenative/ui/PluviaMain.kt2778 val syncSuccess = app.gamenative.service.epic.EpicCloudSavesManager.syncCloudSaves(CODE
CRITICAL…a/app/gamenative/ui/component/dialog/EnvironmentTab.kt186 color = androidx.compose.material3.MaterialTheme.colorSchemeCODE
CRITICAL…ava/app/gamenative/ui/screen/xr/ImmersiveXrActivity.kt263 windowsVrRuntimeService = app.gamenative.ui.screen.xr.windows.WindowsVrRuntimeService(this)CODE
CRITICAL…ava/app/gamenative/ui/screen/xr/ImmersiveXrActivity.kt308 ?.let { app.gamenative.ui.screen.xr.windows.WindowsVrRuntimeConfig.from(it).enabled }CODE
CRITICAL…ava/app/gamenative/ui/screen/xr/ImmersiveXrActivity.kt383 app.gamenative.ui.util.SnackbarManager.show(message)CODE
CRITICAL⚡…java/app/gamenative/ui/screen/library/LibraryScreen.kt1329 val gogLoggedIn = app.gamenative.service.gog.GOGAuthManager.hasStoredCredentials(context)CODE
CRITICAL⚡…java/app/gamenative/ui/screen/library/LibraryScreen.kt1330 val epicLoggedIn = app.gamenative.service.epic.EpicAuthManager.hasStoredCredentials(context)CODE
CRITICAL⚡…java/app/gamenative/ui/screen/library/LibraryScreen.kt1331 val amazonLoggedIn = app.gamenative.service.amazon.AmazonAuthManager.hasStoredCredentials(context)CODE
CRITICAL…gamenative/ui/screen/library/appscreen/GOGAppScreen.kt293 val state = app.gamenative.ui.component.dialog.state.MessageDialogState(CODE
CRITICAL…gamenative/ui/screen/library/appscreen/GOGAppScreen.kt368 app.gamenative.ui.component.dialog.state.MessageDialogState(CODE
CRITICAL…gamenative/ui/screen/library/appscreen/GOGAppScreen.kt504 app.gamenative.ui.component.dialog.state.MessageDialogState(CODE
CRITICAL…gamenative/ui/screen/library/appscreen/GOGAppScreen.kt665 mutableStateOf(BaseAppScreen.getInstallDialogState(appId) ?: app.gamenative.ui.component.dialog.state.MessagCODE
CRITICAL…gamenative/ui/screen/library/appscreen/GOGAppScreen.kt670 installDialogState = state ?: app.gamenative.ui.component.dialog.state.MessageDialogState(false)CODE
CRITICAL…gamenative/ui/screen/library/appscreen/GOGAppScreen.kt741 app.gamenative.ui.component.dialog.MessageDialog(CODE
CRITICAL…amenative/ui/screen/library/appscreen/EpicAppScreen.kt387 app.gamenative.ui.component.dialog.state.GameManagerDialogState(visible = true),CODE
CRITICAL…amenative/ui/screen/library/appscreen/EpicAppScreen.kt394 app.gamenative.ui.component.dialog.state.GameManagerDialogState(visible = true)CODE
CRITICAL…amenative/ui/screen/library/appscreen/EpicAppScreen.kt471 app.gamenative.ui.component.dialog.state.GameManagerDialogState(visible = true),CODE
CRITICAL…amenative/ui/screen/library/appscreen/EpicAppScreen.kt478 app.gamenative.ui.component.dialog.state.GameManagerDialogState(visible = true),CODE
CRITICAL…amenative/ui/screen/library/appscreen/EpicAppScreen.kt490 app.gamenative.ui.component.dialog.state.MessageDialogState(CODE
CRITICAL…amenative/ui/screen/library/appscreen/EpicAppScreen.kt548 app.gamenative.ui.component.dialog.state.MessageDialogState(CODE
CRITICAL…amenative/ui/screen/library/appscreen/EpicAppScreen.kt672 app.gamenative.ui.component.dialog.state.MessageDialogState(CODE
CRITICAL⚡…amenative/ui/screen/library/appscreen/EpicAppScreen.kt891 mutableStateOf(BaseAppScreen.getInstallDialogState(appId) ?: app.gamenative.ui.component.dialog.state.MessagCODE
CRITICAL⚡…amenative/ui/screen/library/appscreen/EpicAppScreen.kt896 installDialogState = state ?: app.gamenative.ui.component.dialog.state.MessageDialogState(false)CODE
CRITICAL⚡…amenative/ui/screen/library/appscreen/EpicAppScreen.kt902 mutableStateOf(getGameManagerDialogState(gameId) ?: app.gamenative.ui.component.dialog.state.GameManagerDialCODE
CRITICAL⚡…amenative/ui/screen/library/appscreen/EpicAppScreen.kt907 gameManagerDialogState = state ?: app.gamenative.ui.component.dialog.state.GameManagerDialogState(faCODE
CRITICAL…amenative/ui/screen/library/appscreen/EpicAppScreen.kt974 app.gamenative.ui.component.dialog.MessageDialog(CODE
CRITICAL…amenative/ui/screen/library/appscreen/EpicAppScreen.kt988 app.gamenative.ui.component.dialog.EpicGameManagerDialog(CODE
CRITICAL⚡…amenative/ui/screen/library/appscreen/BaseAppScreen.kt1790 app.gamenative.data.GameSource.EPIC -> app.gamenative.service.epic.EpicService.getDownloadInfo(displayInfo.gCODE
CRITICAL⚡…amenative/ui/screen/library/appscreen/BaseAppScreen.kt1791 app.gamenative.data.GameSource.GOG -> app.gamenative.service.gog.GOGService.getDownloadInfo(displayInfo.gameCODE
CRITICAL⚡…amenative/ui/screen/library/appscreen/BaseAppScreen.kt1793 app.gamenative.data.GameSource.AMAZON -> app.gamenative.service.amazon.AmazonService.getDownloadInfoByAppId(CODE
CRITICAL…amenative/ui/screen/library/appscreen/BaseAppScreen.kt1819 app.gamenative.ui.screen.library.AppScreenContent(CODE
CRITICAL…amenative/ui/screen/library/appscreen/BaseAppScreen.kt1833 immersiveMode = app.gamenative.ui.screen.library.ImmersiveModeUiState(CODE
CRITICAL…amenative/ui/screen/library/appscreen/BaseAppScreen.kt1874 communityCompatibility = app.gamenative.ui.screen.library.CommunityCompatibilityUiState(CODE
CRITICAL⚡…java/app/gamenative/ui/screen/xserver/XServerScreen.kt3780 HorizontalDivider(color = androidx.compose.ui.graphics.Color.White.copy(alpha = 0.16f))CODE
CRITICAL⚡…java/app/gamenative/ui/screen/xserver/XServerScreen.kt3786 color = androidx.compose.ui.graphics.Color.White.copy(alpha = 0.86f),CODE
CRITICAL⚡…java/app/gamenative/ui/screen/xserver/XServerScreen.kt3792 color = androidx.compose.ui.graphics.Color.White.copy(alpha = 0.64f),CODE
CRITICAL⚡…java/app/gamenative/ui/screen/xserver/XServerScreen.kt4896 app.gamenative.service.amazon.AmazonService.getProductIdByAppId(appIdInt)CODE
CRITICAL⚡…java/app/gamenative/ui/screen/xserver/XServerScreen.kt4901 app.gamenative.service.amazon.AmazonService.getInstallPathByAppId(appIdInt)CODE
CRITICAL…java/app/gamenative/ui/screen/xserver/XServerScreen.kt2722 val scCursor = app.gamenative.ui.component.dialog.ScCursorController(context)CODE
CRITICAL…java/app/gamenative/ui/screen/xserver/XServerScreen.kt2734 scCursor.move(app.gamenative.ui.component.dialog.ScNavDialogStack.topView() ?: view,CODE
CRITICAL…java/app/gamenative/ui/screen/xserver/XServerScreen.kt2740 scCursor.tap(app.gamenative.ui.component.dialog.ScNavDialogStack.topView() ?: view)CODE
CRITICAL…java/app/gamenative/ui/screen/xserver/XServerScreen.kt2751 val target = app.gamenative.ui.component.dialog.ScNavDialogStack.topView() ?: viewCODE
CRITICAL…java/app/gamenative/ui/screen/xserver/XServerScreen.kt2755 if (!app.gamenative.ui.component.dialog.ScNavDialogStack.back()) {CODE
CRITICAL…java/app/gamenative/ui/screen/xserver/XServerScreen.kt3029 androidx.compose.ui.graphics.Color.Black.copy(alpha = 0.6f),CODE
47 more matches not shown…
Decorative Section Separators224 hits · 713 pts
SeverityFileLineSnippetContext
MEDIUM…ava/app/gamenative/ui/component/FpsLimiterUtilsTest.kt9 // ── fpsLimiterSteps ──────────────────────────────────────────────────────COMMENT
MEDIUM…ava/app/gamenative/ui/component/FpsLimiterUtilsTest.kt58 // ── fpsLimiterCurrentIndex ────────────────────────────────────────────────COMMENT
MEDIUM…ava/app/gamenative/ui/component/FpsLimiterUtilsTest.kt92 // ── nextFpsLimiterValue ───────────────────────────────────────────────────COMMENT
MEDIUM…ava/app/gamenative/ui/component/FpsLimiterUtilsTest.kt120 // ── previousFpsLimiterValue ───────────────────────────────────────────────COMMENT
MEDIUM…ava/app/gamenative/ui/component/FpsLimiterUtilsTest.kt145 // ── fpsLimiterProgress ────────────────────────────────────────────────────COMMENT
MEDIUM…st/java/app/gamenative/workshop/WorkshopManagerTest.kt36 // ── Helper ──────────────────────────────────────────────────────────COMMENT
MEDIUM…st/java/app/gamenative/workshop/WorkshopManagerTest.kt97 // ── parseEnabledIds ─────────────────────────────────────────────────COMMENT
MEDIUM…st/java/app/gamenative/workshop/WorkshopManagerTest.kt138 // ── cleanupUnsubscribedItems ────────────────────────────────────────COMMENT
MEDIUM…st/java/app/gamenative/workshop/WorkshopManagerTest.kt188 // ── getItemsNeedingSync ─────────────────────────────────────────────COMMENT
MEDIUM…st/java/app/gamenative/workshop/WorkshopManagerTest.kt276 // ── updateMarkerTimestamps ──────────────────────────────────────────COMMENT
MEDIUM…st/java/app/gamenative/workshop/WorkshopManagerTest.kt337 // ── configureModSymlinks: deselected mod cleanup ────────────────────COMMENT
MEDIUM…st/java/app/gamenative/workshop/WorkshopManagerTest.kt495 // ── fixItemFileNames ────────────────────────────────────────────────COMMENT
MEDIUM…test/java/app/gamenative/service/SteamAutoCloudTest.kt1981 // ── Sync decision tests ──────────────────────────────────────────────COMMENT
MEDIUM…test/java/app/gamenative/service/SteamAutoCloudTest.kt2949 // ── Reconciliation of never-synced cloud files ───────────────────────COMMENT
MEDIUMapp/src/test/java/com/winlator/core/FileUtilsTest.kt13 // ── readFirstLine ─────────────────────────────────────────────────────────COMMENT
MEDIUM…src/test/java/com/winlator/xenvironment/ImageFsTest.kt30 // ── shared dir ────────────────────────────────────────────────────────────COMMENT
MEDIUM…src/test/java/com/winlator/xenvironment/ImageFsTest.kt61 // ── getVariant ────────────────────────────────────────────────────────────COMMENT
MEDIUM…src/test/java/com/winlator/xenvironment/ImageFsTest.kt90 // ── getVersion ────────────────────────────────────────────────────────────COMMENT
MEDIUM…src/main/java/app/gamenative/ui/component/QuickMenu.kt1405 // ── FPS Limiter (topmost) ────────────────────────────────────────COMMENT
MEDIUM…src/main/java/app/gamenative/ui/component/QuickMenu.kt1445 // ── Performance HUD ──────────────────────────────────────────────COMMENT
MEDIUM…src/main/java/app/gamenative/ui/component/QuickMenu.kt1782 // ── Multiplier (Off / 2x / 3x / 4x) ───────────────────────────────COMMENT
MEDIUM…src/main/java/app/gamenative/ui/component/QuickMenu.kt1814 // ── Flow Scale ────────────────────────────────────────────COMMENT
MEDIUM…src/main/java/app/gamenative/ui/component/QuickMenu.kt1833 // ── Performance Mode ──────────────────────────────────────COMMENT
MEDIUM…src/main/java/app/gamenative/ui/component/QuickMenu.kt1844 // ── Present Mode (Mailbox / FIFO) ─────────────────────────COMMENT
MEDIUM…src/main/java/app/gamenative/ui/component/QuickMenu.kt1866 // ── Backend (Legacy layer / Native renderer) ──────────────COMMENT
MEDIUM…src/main/java/app/gamenative/ui/component/QuickMenu.kt1910 // ── Passthrough ────────────────────────────────────────────────COMMENT
MEDIUM…amenative/ui/component/dialog/WorkshopManagerDialog.kt540// ── Folder Picker Dialog ──────────────────────────────────────────────────────COMMENT
MEDIUM…amenative/ui/component/dialog/WorkshopManagerDialog.kt638 // ── Header ──────────────────────────────────────────COMMENT
MEDIUM…amenative/ui/component/dialog/WorkshopManagerDialog.kt685 // ── Back navigation bar (only when browsing) ────────COMMENT
MEDIUM…amenative/ui/component/dialog/WorkshopManagerDialog.kt732 // ── Content ─────────────────────────────────────────COMMENT
MEDIUM…amenative/ui/component/dialog/WorkshopManagerDialog.kt878 // ── Footer ──────────────────────────────────────────COMMENT
MEDIUM…/gamenative/ui/component/dialog/AmazonInstallDialog.kt88 // ── Hero section ──────────────────────────────────────────────COMMENT
MEDIUM…/gamenative/ui/component/dialog/AmazonInstallDialog.kt199 // ── Bottom: size summary + action buttons ─────────────────────COMMENT
MEDIUM⚡…tive/ui/component/dialog/TouchGestureSettingsDialog.kt114 // ═══════════════════════════════════════════════════════════COMMENT
MEDIUM⚡…tive/ui/component/dialog/TouchGestureSettingsDialog.kt115 // ── Single Finger ──────────────────────────────────────────COMMENT
MEDIUM⚡…tive/ui/component/dialog/TouchGestureSettingsDialog.kt116 // ═══════════════════════════════════════════════════════════COMMENT
MEDIUM⚡…tive/ui/component/dialog/TouchGestureSettingsDialog.kt125 // ── Tap (customisable action) ───────────────────────────COMMENT
MEDIUM⚡…tive/ui/component/dialog/TouchGestureSettingsDialog.kt206 // ═══════════════════════════════════════════════════════════COMMENT
MEDIUM⚡…tive/ui/component/dialog/TouchGestureSettingsDialog.kt207 // ── Two Finger ─────────────────────────────────────────────COMMENT
MEDIUM⚡…tive/ui/component/dialog/TouchGestureSettingsDialog.kt208 // ═══════════════════════════════════════════════════════════COMMENT
MEDIUM⚡…tive/ui/component/dialog/TouchGestureSettingsDialog.kt217 // ── Two-Finger Tap (customisable action) ─────────────────COMMENT
MEDIUM⚡…tive/ui/component/dialog/TouchGestureSettingsDialog.kt285 // ═══════════════════════════════════════════════════════════COMMENT
MEDIUM⚡…tive/ui/component/dialog/TouchGestureSettingsDialog.kt286 // ── Three Finger ───────────────────────────────────────────COMMENT
MEDIUM⚡…tive/ui/component/dialog/TouchGestureSettingsDialog.kt287 // ═══════════════════════════════════════════════════════════COMMENT
MEDIUM⚡…tive/ui/component/dialog/TouchGestureSettingsDialog.kt296 // ── Three-Finger Tap (customisable action) ──────────────COMMENT
MEDIUM⚡…tive/ui/component/dialog/TouchGestureSettingsDialog.kt346 // ═══════════════════════════════════════════════════════════COMMENT
MEDIUM⚡…tive/ui/component/dialog/TouchGestureSettingsDialog.kt347 // ── Other ──────────────────────────────────────────────────COMMENT
MEDIUM⚡…tive/ui/component/dialog/TouchGestureSettingsDialog.kt348 // ═══════════════════════════════════════════════════════════COMMENT
MEDIUM⚡…tive/ui/component/dialog/TouchGestureSettingsDialog.kt357 // ── Gesture Threshold ────────────────────────────────────COMMENT
MEDIUM…tive/ui/component/dialog/TouchGestureSettingsDialog.kt154 // ── Double-Tap (fixed action, customisable delay) ────────COMMENT
MEDIUM…tive/ui/component/dialog/TouchGestureSettingsDialog.kt169 // ── Long Press (customisable action + delay) ─────────────COMMENT
MEDIUM…tive/ui/component/dialog/TouchGestureSettingsDialog.kt193 // ── Drag (customisable action) ──────────────────────────COMMENT
MEDIUM…tive/ui/component/dialog/TouchGestureSettingsDialog.kt230 // ── Two-Finger Hold (customisable action + delay) ────────COMMENT
MEDIUM…tive/ui/component/dialog/TouchGestureSettingsDialog.kt254 // ── Two-Finger Drag (customisable action) ────────────────COMMENT
MEDIUM…tive/ui/component/dialog/TouchGestureSettingsDialog.kt267 // ── Pinch In/Out (customisable action) ───────────────────COMMENT
MEDIUM…tive/ui/component/dialog/TouchGestureSettingsDialog.kt309 // ── Three-Finger Hold (customisable action + delay) ─────COMMENT
MEDIUM…tive/ui/component/dialog/TouchGestureSettingsDialog.kt333 // ── Three-Finger Drag (customisable action) ─────────────COMMENT
MEDIUM…tive/ui/component/dialog/TouchGestureSettingsDialog.kt378 // ── Show Click Highlight ─────────────────────────────────COMMENT
MEDIUM…tive/ui/component/dialog/TouchGestureSettingsDialog.kt409// ── Helper composables / functions ───────────────────────────────────────COMMENT
MEDIUM…tive/ui/component/dialog/TouchGestureSettingsDialog.kt592// ── Categorized action picker for tap/hold gestures ─────────────────────COMMENT
164 more matches not shown…
Over-Commented Block472 hits · 394 pts
SeverityFileLineSnippetContext
LOWtools/build-gn-download.sh1#!/usr/bin/env bashCOMMENT
LOW…test/java/app/gamenative/service/SteamAutoCloudTest.kt1981 // ── Sync decision tests ──────────────────────────────────────────────COMMENT
LOW…java/app/gamenative/ui/screen/library/LibraryScreen.kt581 }COMMENT
LOW…java/app/gamenative/ui/screen/xserver/XServerScreen.kt581 // val xServer by remember {COMMENT
LOW…java/app/gamenative/ui/screen/xserver/XServerScreen.kt781 fun applyFpsLimiterToEngines(limit: Int) {COMMENT
LOW…c/main/java/app/gamenative/workshop/WorkshopManager.kt2841 }COMMENT
LOW…c/main/java/app/gamenative/workshop/WorkshopManager.kt2861 //COMMENT
LOW…main/java/app/gamenative/workshop/WorkshopSymlinker.kt121 }COMMENT
LOW…p/src/main/java/app/gamenative/service/SteamService.kt3461// Timber.d(COMMENT
LOW…ava/app/gamenative/service/epic/EpicDownloadManager.kt821COMMENT
LOWapp/src/main/java/com/winlator/core/AppUtils.java141 // if (context instanceof Activity) {COMMENT
LOWapp/src/main/java/com/winlator/core/AppUtils.java161 // globalToastReference = new WeakReference<>(toast);COMMENT
LOWapp/src/main/java/com/winlator/core/AppUtils.java181 // else {COMMENT
LOWapp/src/main/java/com/winlator/core/AppUtils.java201 // popupWindow.update();COMMENT
LOWapp/src/main/java/com/winlator/core/AppUtils.java301 // tabLayout.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {COMMENT
LOW…ator/xenvironment/components/SteamClientComponent.java61 // ((ALSAClient)client.getTag()).release();COMMENT
LOW…ironment/components/GuestProgramLauncherComponent.java201 public static int exec(Context context, boolean proot32, String[] bindingPaths, EnvVars extraVars, Callback<Integer>COMMENT
LOW…ironment/components/GuestProgramLauncherComponent.java221 // if (Files.exists(steamApiTargetPath)) {COMMENT
LOW…/com/winlator/xserver/extensions/XInput2Extension.java141 try (XStreamLock lock = outputStream.lock()) {COMMENT
LOW…/com/winlator/xserver/extensions/XInput2Extension.java181 } else {COMMENT
LOW…/com/winlator/xserver/extensions/XInput2Extension.java241 }COMMENT
LOW…/com/winlator/xserver/extensions/XInput2Extension.java301 namePad +COMMENT
LOW…/com/winlator/xserver/extensions/XInput2Extension.java321 outputStream.writeByte(RESPONSE_CODE_SUCCESS); // repTypeCOMMENT
LOWapp/src/main/cpp/asurfacerenderer/blit_converter.h1#ifndef BLIT_CONVERTER_HCOMMENT
LOWapp/src/main/cpp/asurfacerenderer/blit_converter.h21// its lifetime. All EGL/GL operations are posted to that thread, so callersCOMMENT
LOW…/main/cpp/asurfacerenderer/ASurfaceRendererContext.cpp1#include "ASurfaceRendererContext.h"COMMENT
LOW…/main/cpp/asurfacerenderer/ASurfaceRendererContext.cpp21using namespace std::chrono;COMMENT
LOWapp/src/main/cpp/asurfacerenderer/ahbimage.c1#include <jni.h>COMMENT
LOW…rc/main/cpp/asurfacerenderer/ASurfaceRendererContext.h1#pragma onceCOMMENT
LOWapp/src/main/cpp/asurfacerenderer/blit_converter.cpp1#include "blit_converter.h"COMMENT
LOWapp/src/main/cpp/asurfacerenderer/drawable.c1#include <jni.h>COMMENT
LOWapp/src/main/cpp/sevenzx/lzma/7zTypes.h1/* 7zTypes.h -- Basic typesCOMMENT
LOWapp/src/main/cpp/sevenzx/lzma/7zTypes.h21#endifCOMMENT
LOWapp/src/main/cpp/sevenzx/lzma/7zTypes.h101typedef UInt32 SizeT;COMMENT
LOWapp/src/main/cpp/sevenzx/lzma/7zTypes.h121#elseCOMMENT
LOWapp/src/main/cpp/sevenzx/lzma/7zTypes.h361#define WSTRING_PATH_SEPARATOR L"\\"COMMENT
LOWapp/src/main/cpp/sevenzx/lzma/Bcj2.c1/* Bcj2.c -- BCJ2 Decoder (Converter for x86 code)COMMENT
LOWapp/src/main/cpp/sevenzx/lzma/Compiler.h1/* Compiler.hCOMMENT
LOWapp/src/main/cpp/sevenzx/lzma/Compiler.h21 #pragma warning(disable : 4514) // unreferenced inline function has been removedCOMMENT
LOWapp/src/main/cpp/sevenzx/lzma/CpuArch.h21 || defined(__x86_64__) \COMMENT
LOWapp/src/main/cpp/sevenzx/lzma/CpuArch.h61 #define MY_CPU_ARMCOMMENT
LOWapp/src/main/cpp/sevenzx/lzma/CpuArch.h81 #define MY_CPU_NAME "mips"COMMENT
LOWapp/src/main/cpp/sevenzx/lzma/CpuArch.h101#if defined(__sparc64__)COMMENT
LOWapp/src/main/cpp/sevenzx/lzma/CpuArch.h161#endifCOMMENT
LOWapp/src/main/cpp/sevenzx/lzma/CpuArch.h241#elseCOMMENT
LOWapp/src/main/cpp/sevenzx/lzma/Ppmd7.c21#ifdef PPMD_32BITCOMMENT
LOWapp/src/main/cpp/sevenzx/lzma/7zFile.h1/* 7zFile.h -- File IOCOMMENT
LOWapp/src/main/cpp/sevenzx/lzma/Xz.h1/* Xz.h - Xz interfaceCOMMENT
LOWapp/src/main/cpp/sevenzx/lzma/LzmaDec.c81 { UPDATE_0_CHECK; i += m; m += m; } else \COMMENT
LOWapp/src/main/cpp/sevenzx/lzma/LzmaDec.c101#define kNumStates2 16COMMENT
LOWapp/src/main/cpp/sevenzx/lzma/LzmaDec.c121#ifdef MY_CPU_X86_OR_AMD64COMMENT
LOWapp/src/main/cpp/sevenzx/lzma/LzmaDec.c141#define IsRepG1 (IsRepG0 + kNumStates)COMMENT
LOWapp/src/main/cpp/sevenzx/lzma/7zDec.c1/* 7zDec.c -- Decoding from 7z folderCOMMENT
LOWapp/src/main/cpp/sevenzx/lzma/7zDec.c21#endifCOMMENT
LOWapp/src/main/cpp/sevenzx/lzma/MtDec.h1/* MtDec.h -- Multi-thread DecoderCOMMENT
LOWapp/src/main/cpp/sevenzx/lzma/7zVersion.h1#define MY_VER_MAJOR 18COMMENT
LOWapp/src/main/cpp/sevenzx/lzma/7zVersion.h21 #define MY_COPYRIGHT MY_COPYRIGHT_CRCOMMENT
LOWapp/src/main/cpp/proot/talloc/talloc.c41#ifdef HAVE_VALGRIND_MEMCHECK_HCOMMENT
LOWapp/src/main/cpp/proot/talloc/talloc.c101#if (__GNUC__ >= 3)COMMENT
LOWapp/src/main/cpp/proot/talloc/talloc.h81COMMENT
412 more matches not shown…
Verbosity Indicators39 hits · 59 pts
SeverityFileLineSnippetContext
LOW…est/java/app/gamenative/utils/BestConfigServiceTest.kt506 // So we need to check if the parsing logic handles this correctlySTRING
LOW…/java/app/gamenative/utils/SteamUtilsFileSearchTest.kt508 // Step 1: Call replaceSteamApi()COMMENT
LOW…/java/app/gamenative/utils/SteamUtilsFileSearchTest.kt534 // Step 2: Call restoreSteamApi()COMMENT
LOW…/java/app/gamenative/utils/SteamUtilsFileSearchTest.kt552 // Step 1: Initial Setup - Create fake steam app structureCOMMENT
LOW…/java/app/gamenative/utils/SteamUtilsFileSearchTest.kt601 // Step 2: Call replaceSteamClientDll (First Time)COMMENT
LOW…/java/app/gamenative/utils/SteamUtilsFileSearchTest.kt671 // Step 3: Call replaceSteamApiCOMMENT
LOW…/java/app/gamenative/utils/SteamUtilsFileSearchTest.kt742 // Step 4: Call replaceSteamClientDll (Second Time)COMMENT
LOW…/java/app/gamenative/utils/SteamUtilsFileSearchTest.kt792 // Step 1: Initial Setup - Create fake steam app structureCOMMENT
LOW…/java/app/gamenative/utils/SteamUtilsFileSearchTest.kt846 // Step 2: Call replaceSteamClientDll (First Time)COMMENT
LOW…/java/app/gamenative/utils/SteamUtilsFileSearchTest.kt897 // Step 3: Call restoreSteamApiCOMMENT
LOW…/java/app/gamenative/utils/SteamUtilsFileSearchTest.kt929 // Step 4: Call replaceSteamClientDll (Second Time)COMMENT
LOW…/java/app/gamenative/utils/SteamUtilsFileSearchTest.kt984 // Step 1: Initial Setup - Create fake steam app structureCOMMENT
LOW…/java/app/gamenative/utils/SteamUtilsFileSearchTest.kt1038 // Step 2: Call replaceSteamApi (First Time)COMMENT
LOW…/java/app/gamenative/utils/SteamUtilsFileSearchTest.kt1126 // Step 3: Call restoreSteamApiCOMMENT
LOW…/java/app/gamenative/utils/SteamUtilsFileSearchTest.kt1156 // Step 4: Call replaceSteamApi (Second Time)COMMENT
LOW…rc/main/java/app/gamenative/utils/BestConfigService.kt897 // Step 1: Prepare the config using either device-adapted or value-preserving behaviorCOMMENT
LOW…rc/main/java/app/gamenative/utils/BestConfigService.kt908 // Step 2: check for unavailable component versionsCOMMENT
LOW…rc/main/java/app/gamenative/utils/BestConfigService.kt919 // Step 3: Build map with only fields present in filteredJson (not defaults)COMMENT
LOW⚡…p/src/main/java/app/gamenative/service/SteamService.kt3823 // Step 1: Get access tokens for all DLC appIds at onceCOMMENT
LOW⚡…p/src/main/java/app/gamenative/service/SteamService.kt3833 // Step 2: Filter to only appIds that have tokens (we own them)COMMENT
LOW⚡…p/src/main/java/app/gamenative/service/SteamService.kt3843 // Step 3: Create PICSRequests for all owned appIdsCOMMENT
LOW⚡…p/src/main/java/app/gamenative/service/SteamService.kt3853 // Step 4: Query PICS for all apps at once (batch them)COMMENT
LOW…/java/app/gamenative/service/gog/GOGDownloadManager.kt169 // Step 1: Get available builds — prefer Gen 2, fall back to Gen 1 (legacy)COMMENT
LOW…/java/app/gamenative/service/gog/GOGDownloadManager.kt204 // Step 2: Fetch main manifestCOMMENT
LOW…/java/app/gamenative/service/gog/GOGDownloadManager.kt242 // Step 3: Filter depots by container language (parser resolves to GOG codes and tries English fallback)COMMENT
LOW…/java/app/gamenative/service/gog/GOGDownloadManager.kt264 // Step 4: Fetch depot manifests to get file listsCOMMENT
LOW…/java/app/gamenative/service/gog/GOGDownloadManager.kt297 // Step 5: Separate base game, DLC, and support filesCOMMENT
LOW…/java/app/gamenative/service/gog/GOGDownloadManager.kt380 // Step 6: Calculate sizes and extract chunk hashesCOMMENT
LOW…/java/app/gamenative/service/gog/GOGDownloadManager.kt400 // Step 7: Get secure CDN links for chunksCOMMENT
LOW…/java/app/gamenative/service/gog/GOGDownloadManager.kt575 // Step 11: CleanupCOMMENT
LOWapp/src/main/cpp/winlator/gpu_helper.c78 // Step 1: Dynamic load Vulkan for maximum compatibilityCOMMENT
LOW⚡app/src/main/cpp/winlator/gpu_helper.c96 // Step 2: Query the maximum supported API versionCOMMENT
LOW⚡app/src/main/cpp/winlator/gpu_helper.c103 // Step 3: Create Vulkan instance with detected API versionCOMMENT
LOWapp/src/main/cpp/winlator/gpu_helper.c129 // Step 4: Get instance-level function pointersCOMMENT
LOWapp/src/main/cpp/winlator/gpu_helper.c146 // Step 5: Enumerate physical devicesCOMMENT
LOWapp/src/main/cpp/winlator/gpu_helper.c168 // Step 6: Select the best physical deviceCOMMENT
LOWapp/src/main/cpp/winlator/gpu_helper.c201 // Step 7: Enumerate device extensionsCOMMENT
LOWapp/src/main/cpp/winlator/gpu_helper.c248 // Step 8: Create Java String array and populateCOMMENT
LOWapp/src/main/cpp/winlator/gpu_helper.c273 // Step 9: Cleanup and returnCOMMENT
Structural Annotation Overuse38 hits · 58 pts
SeverityFileLineSnippetContext
LOW…/java/app/gamenative/utils/SteamUtilsFileSearchTest.kt508 // Step 1: Call replaceSteamApi()COMMENT
LOW…/java/app/gamenative/utils/SteamUtilsFileSearchTest.kt534 // Step 2: Call restoreSteamApi()COMMENT
LOW…/java/app/gamenative/utils/SteamUtilsFileSearchTest.kt552 // Step 1: Initial Setup - Create fake steam app structureCOMMENT
LOW…/java/app/gamenative/utils/SteamUtilsFileSearchTest.kt601 // Step 2: Call replaceSteamClientDll (First Time)COMMENT
LOW…/java/app/gamenative/utils/SteamUtilsFileSearchTest.kt671 // Step 3: Call replaceSteamApiCOMMENT
LOW…/java/app/gamenative/utils/SteamUtilsFileSearchTest.kt742 // Step 4: Call replaceSteamClientDll (Second Time)COMMENT
LOW…/java/app/gamenative/utils/SteamUtilsFileSearchTest.kt792 // Step 1: Initial Setup - Create fake steam app structureCOMMENT
LOW…/java/app/gamenative/utils/SteamUtilsFileSearchTest.kt846 // Step 2: Call replaceSteamClientDll (First Time)COMMENT
LOW…/java/app/gamenative/utils/SteamUtilsFileSearchTest.kt897 // Step 3: Call restoreSteamApiCOMMENT
LOW…/java/app/gamenative/utils/SteamUtilsFileSearchTest.kt929 // Step 4: Call replaceSteamClientDll (Second Time)COMMENT
LOW…/java/app/gamenative/utils/SteamUtilsFileSearchTest.kt984 // Step 1: Initial Setup - Create fake steam app structureCOMMENT
LOW…/java/app/gamenative/utils/SteamUtilsFileSearchTest.kt1038 // Step 2: Call replaceSteamApi (First Time)COMMENT
LOW…/java/app/gamenative/utils/SteamUtilsFileSearchTest.kt1126 // Step 3: Call restoreSteamApiCOMMENT
LOW…/java/app/gamenative/utils/SteamUtilsFileSearchTest.kt1156 // Step 4: Call replaceSteamApi (Second Time)COMMENT
LOW…rc/main/java/app/gamenative/utils/BestConfigService.kt897 // Step 1: Prepare the config using either device-adapted or value-preserving behaviorCOMMENT
LOW…rc/main/java/app/gamenative/utils/BestConfigService.kt908 // Step 2: check for unavailable component versionsCOMMENT
LOW…rc/main/java/app/gamenative/utils/BestConfigService.kt919 // Step 3: Build map with only fields present in filteredJson (not defaults)COMMENT
LOW⚡…p/src/main/java/app/gamenative/service/SteamService.kt3823 // Step 1: Get access tokens for all DLC appIds at onceCOMMENT
LOW⚡…p/src/main/java/app/gamenative/service/SteamService.kt3833 // Step 2: Filter to only appIds that have tokens (we own them)COMMENT
LOW⚡…p/src/main/java/app/gamenative/service/SteamService.kt3843 // Step 3: Create PICSRequests for all owned appIdsCOMMENT
LOW⚡…p/src/main/java/app/gamenative/service/SteamService.kt3853 // Step 4: Query PICS for all apps at once (batch them)COMMENT
LOW…/java/app/gamenative/service/gog/GOGDownloadManager.kt169 // Step 1: Get available builds — prefer Gen 2, fall back to Gen 1 (legacy)COMMENT
LOW…/java/app/gamenative/service/gog/GOGDownloadManager.kt204 // Step 2: Fetch main manifestCOMMENT
LOW…/java/app/gamenative/service/gog/GOGDownloadManager.kt242 // Step 3: Filter depots by container language (parser resolves to GOG codes and tries English fallback)COMMENT
LOW…/java/app/gamenative/service/gog/GOGDownloadManager.kt264 // Step 4: Fetch depot manifests to get file listsCOMMENT
LOW…/java/app/gamenative/service/gog/GOGDownloadManager.kt297 // Step 5: Separate base game, DLC, and support filesCOMMENT
LOW…/java/app/gamenative/service/gog/GOGDownloadManager.kt380 // Step 6: Calculate sizes and extract chunk hashesCOMMENT
LOW…/java/app/gamenative/service/gog/GOGDownloadManager.kt400 // Step 7: Get secure CDN links for chunksCOMMENT
LOW…/java/app/gamenative/service/gog/GOGDownloadManager.kt575 // Step 11: CleanupCOMMENT
LOWapp/src/main/cpp/winlator/gpu_helper.c78 // Step 1: Dynamic load Vulkan for maximum compatibilityCOMMENT
LOW⚡app/src/main/cpp/winlator/gpu_helper.c96 // Step 2: Query the maximum supported API versionCOMMENT
LOW⚡app/src/main/cpp/winlator/gpu_helper.c103 // Step 3: Create Vulkan instance with detected API versionCOMMENT
LOWapp/src/main/cpp/winlator/gpu_helper.c129 // Step 4: Get instance-level function pointersCOMMENT
LOWapp/src/main/cpp/winlator/gpu_helper.c146 // Step 5: Enumerate physical devicesCOMMENT
LOWapp/src/main/cpp/winlator/gpu_helper.c168 // Step 6: Select the best physical deviceCOMMENT
LOWapp/src/main/cpp/winlator/gpu_helper.c201 // Step 7: Enumerate device extensionsCOMMENT
LOWapp/src/main/cpp/winlator/gpu_helper.c248 // Step 8: Create Java String array and populateCOMMENT
LOWapp/src/main/cpp/winlator/gpu_helper.c273 // Step 9: Cleanup and returnCOMMENT
TODO Padding16 hits · 35 pts
SeverityFileLineSnippetContext
LOWapp/src/main/java/com/winlator/core/PatchElf.java49 // TODO: implement these ops.COMMENT
LOW⚡app/src/main/cpp/winlator/patchelf_wrapper.cpp6 // TODO: implement createElfObject()COMMENT
LOW⚡app/src/main/cpp/winlator/patchelf_wrapper.cpp11 // TODO: implement destroyElfObject()COMMENT
LOW⚡app/src/main/cpp/winlator/patchelf_wrapper.cpp16 // TODO: implement isChanged()COMMENT
LOW⚡app/src/main/cpp/winlator/patchelf_wrapper.cpp21 // TODO: implement getInterpreter()COMMENT
LOW⚡app/src/main/cpp/winlator/patchelf_wrapper.cpp27 // TODO: implement setInterpreter()COMMENT
LOW⚡app/src/main/cpp/winlator/patchelf_wrapper.cpp32 // TODO: implement getOsAbi()COMMENT
LOW⚡app/src/main/cpp/winlator/patchelf_wrapper.cpp38 // TODO: implement replaceOsAbi()COMMENT
LOW⚡app/src/main/cpp/winlator/patchelf_wrapper.cpp43 // TODO: implement getSoName()COMMENT
LOW⚡app/src/main/cpp/winlator/patchelf_wrapper.cpp49 // TODO: implement replaceSoName()COMMENT
LOW⚡app/src/main/cpp/winlator/patchelf_wrapper.cpp54 // TODO: implement getRPath()COMMENT
LOW⚡app/src/main/cpp/winlator/patchelf_wrapper.cpp60 // TODO: implement addRPath()COMMENT
LOW⚡app/src/main/cpp/winlator/patchelf_wrapper.cpp66 // TODO: implement removeRPath()COMMENT
LOW⚡app/src/main/cpp/winlator/patchelf_wrapper.cpp71 // TODO: implement getNeeded()COMMENT
LOW⚡app/src/main/cpp/winlator/patchelf_wrapper.cpp77 // TODO: implement addNeeded()COMMENT
LOW⚡app/src/main/cpp/winlator/patchelf_wrapper.cpp83 // TODO: implement removeNeeded()COMMENT
Magic Placeholder Names2 hits · 15 pts
SeverityFileLineSnippetContext
HIGHapp/src/main/java/app/gamenative/utils/SteamGridDB.kt38 * The key should be added to local.properties as: STEAMGRIDDB_API_KEY=YOUR_API_KEYCOMMENT
HIGHapp/src/main/java/app/gamenative/utils/SteamGridDB.kt39 * Or set as an environment variable: STEAMGRIDDB_API_KEY=YOUR_API_KEYCOMMENT
AI Slop Vocabulary3 hits · 9 pts
SeverityFileLineSnippetContext
MEDIUM…n/java/app/gamenative/ui/component/dialog/ScListNav.kt57 // that currently exist — this makes it robust to content that changes under it (e.g. switching command-pickerCOMMENT
MEDIUMapp/src/main/java/app/gamenative/utils/ShortcutUtils.kt55 // Otherwise, fall back to median per channel to get a robust blended backgroundCOMMENT
MEDIUM…in/java/app/gamenative/service/amazon/AmazonService.kt77 // Active install paths keyed by Amazon product ID (used for robust partial-download detection)COMMENT
Empty Error Handlers1 hit · 5 pts
SeverityFileLineSnippetContext
HIGH…lrenderer/src/gallium/auxiliary/util/u_format_parse.py332except ValueError:CODE
Slop Phrases2 hits · 4 pts
SeverityFileLineSnippetContext
LOWapp/src/main/cpp/proot/src/tracee/tracee.c162 /* Don't forget to write its register cache back. */COMMENT
MEDIUM…n/cpp/virglrenderer/src/gallium/include/pipe/p_state.h604 * 'start' is implicitly 0 and 'count' is set as discussed above.COMMENT
Hyper-Verbose Identifiers3 hits · 3 pts
SeverityFileLineSnippetContext
LOW…n/java/com/winlator/sysvshm/SysVSHMRequestHandler.java11public class SysVSHMRequestHandler implements RequestHandler {CODE
LOW…n/java/com/winlator/xserver/XClientRequestHandler.java29public class XClientRequestHandler implements RequestHandler {CODE
LOW…n/java/com/winlator/alsaserver/ALSARequestHandler.java17public class ALSARequestHandler implements RequestHandler {CODE
Unused Imports3 hits · 3 pts
SeverityFileLineSnippetContext
LOW…lrenderer/src/gallium/auxiliary/util/u_format_parse.py32CODE
LOW…lrenderer/src/gallium/auxiliary/util/u_format_table.py3CODE
LOW…lrenderer/src/gallium/auxiliary/util/u_format_table.py36CODE
Fake / Example Data2 hits · 2 pts
SeverityFileLineSnippetContext
LOW…va/app/gamenative/ui/component/dialog/MessageDialog.kt107 message = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed " +CODE
LOW…va/app/gamenative/ui/component/dialog/MessageDialog.kt107 message = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed " +CODE
Deep Nesting1 hit · 1 pts
SeverityFileLineSnippetContext
LOW…lrenderer/src/gallium/auxiliary/util/u_format_parse.py275CODE