AI Slop Code Risk Monitor

signalapp/Signal-Android

SlopCodeMonitor badge for signalapp/Signal-Android Adjusted legacy signal; badge bands: 25 / 50 / 75 (different from dashboard bands).

A private messenger for Android.

0.4 Low pattern signal View on GitHub

Open-Source Code Quality, Security and Technical Debt Review

This report summarizes scanner evidence for signalapp/Signal-Android, a Kotlin project with 29,560 GitHub stars. SynthScan examined 1,736,481 lines of code across 9466 source files, recording 159 pattern matches distributed across 13 syntactic categories. The legacy adjusted pattern signal is 0.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.

0.4
Adjusted Signal
0.4
Raw Pattern Score
100%
Time Factor
2026-10-30
Last Push
29.6K
Stars
Kotlin
Language
1.7M
Lines of Code
9.5K
Files
159
Pattern Hits
2026-10-31
Scan Date
0.01
HC Hit Rate

Risk Review · Payload v1

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.

Cognitive Ownership Risk 0.2/100 · LOW

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

Hallucinated Dependency & Supply Chain Risk 1.4/100 · LOW

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

Agent Over-Engineering Ratio 0.4/100 · LOW

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

PR Review Velocity Impact 2.2/100 · LOW

Which changes need focused human review? 159 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 53HIGH 24MEDIUM 14LOW 68

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 159 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.

Hallucination Indicators53 hits · 465 pts
SeverityFileLineSnippetContext
CRITICAL…al/registration/sample/debug/DebugNetworkController.kt355 org.signal.registration.sample.dependencies.FakeDeviceTransferRunner.start()CODE
CRITICAL⚡demo/apng/src/main/java/org/signal/apng/DemoActivity.kt55// _root_ide_package_.org.signal.apng.MainActivity.TestModel.ApngModel(COMMENT
CRITICAL⚡demo/apng/src/main/java/org/signal/apng/DemoActivity.kt59// _root_ide_package_.org.signal.apng.MainActivity.TestModel.ApngModel(COMMENT
CRITICAL⚡demo/apng/src/main/java/org/signal/apng/DemoActivity.kt63// _root_ide_package_.org.signal.apng.MainActivity.TestModel.ApngModel(COMMENT
CRITICAL⚡demo/apng/src/main/java/org/signal/apng/DemoActivity.kt67// _root_ide_package_.org.signal.apng.MainActivity.TestModel.ApngModel(COMMENT
CRITICAL…util/src/main/java/org/signal/core/util/JsonUtils.java25 com.fasterxml.jackson.module.kotlin.ExtensionsKt.registerKotlinModule(objectMapper);CODE
CRITICAL…-jvm/src/main/java/org/signal/core/models/ServiceId.kt46 fromLibSignal(org.signal.libsignal.protocol.ServiceId.parseFromString(raw))CODE
CRITICAL…-jvm/src/main/java/org/signal/core/models/ServiceId.kt69 fromLibSignal(org.signal.libsignal.protocol.ServiceId.parseFromFixedWidthBinary(raw))CODE
CRITICAL…-jvm/src/main/java/org/signal/core/models/ServiceId.kt71 fromLibSignal(org.signal.libsignal.protocol.ServiceId.parseFromBinary(raw))CODE
CRITICAL…-jvm/src/main/java/org/signal/core/models/ServiceId.kt154 fun from(uuid: UUID): ACI = ACI(org.signal.libsignal.protocol.ServiceId.Aci(uuid))CODE
CRITICAL…-jvm/src/main/java/org/signal/core/models/ServiceId.kt209 fun from(uuid: UUID): PNI = PNI(org.signal.libsignal.protocol.ServiceId.Pni(uuid))CODE
CRITICAL…-jvm/src/main/java/org/signal/core/models/ServiceId.kt221 PNI(org.signal.libsignal.protocol.ServiceId.Pni(uuid))CODE
CRITICAL…-jvm/src/main/java/org/signal/core/models/ServiceId.kt238 PNI(org.signal.libsignal.protocol.ServiceId.Pni(uuid))CODE
CRITICAL…crime/securesms/database/model/KeyTransparencyStore.kt26 val aci = org.signal.core.models.ServiceId.ACI.fromLibSignal(libsignalAci)CODE
CRITICAL…crime/securesms/database/model/KeyTransparencyStore.kt31 val aci = org.signal.core.models.ServiceId.ACI.fromLibSignal(libsignalAci)CODE
CRITICAL⚡…ms/registration/v2/AppRegistrationNetworkController.kt579 org.signal.core.util.PendingIntentFlags.mutable()CODE
CRITICAL⚡…ms/registration/v2/AppRegistrationNetworkController.kt583 org.thoughtcrime.securesms.notifications.NotificationChannels.getInstance().BACKUPS,CODE
CRITICAL⚡…ms/registration/v2/AppRegistrationNetworkController.kt588 org.thoughtcrime.securesms.devicetransfer.newdevice.NewDeviceServerTask(),CODE
CRITICAL…n/java/org/thoughtcrime/securesms/util/WindowUtil.java19 org.signal.core.ui.WindowExtensionsKt.initializeScreenshotSecurity(window);CODE
CRITICAL…nts/settings/app/chats/folders/ChatFoldersViewModel.kt369 return state.value.currentFolder.folderRecord.name.isEmpty()CODE
CRITICAL…/securesms/components/voice/VoiceNotePlayerCallback.kt203 val currentStreamType = androidx.media3.common.util.Util.getStreamTypeForAudioUsage(player.audioAttributes.usage)CODE
CRITICAL…java/org/signal/lint/AlertDialogBuilderDetectorTest.kt42 Fix for src/foo/Example.java line 5: Replace with new com.google.android.material.dialog.MaterialAlertDialogBuilSTRING
CRITICAL…java/org/signal/lint/AlertDialogBuilderDetectorTest.kt45 + new com.google.android.material.dialog.MaterialAlertDialogBuilder(context).show();STRING
CRITICAL…java/org/signal/lint/AlertDialogBuilderDetectorTest.kt81 Fix for src/foo/Example.java line 5: Replace with new com.google.android.material.dialog.MaterialAlertDialogBuilSTRING
CRITICAL…java/org/signal/lint/AlertDialogBuilderDetectorTest.kt84 + AlertDialog.Builder builder = new com.google.android.material.dialog.MaterialAlertDialogBuilder(context)STRING
CRITICAL…java/org/signal/lint/AlertDialogBuilderDetectorTest.kt119 Fix for src/foo/Example.java line 5: Replace with new com.google.android.material.dialog.MaterialAlertDialogBuilSTRING
CRITICAL…java/org/signal/lint/AlertDialogBuilderDetectorTest.kt122 + new com.google.android.material.dialog.MaterialAlertDialogBuilder(context).show();STRING
CRITICAL…java/org/signal/lint/AlertDialogBuilderDetectorTest.kt158 Fix for src/foo/Example.java line 5: Replace with new com.google.android.material.dialog.MaterialAlertDialogBuilSTRING
CRITICAL…java/org/signal/lint/AlertDialogBuilderDetectorTest.kt161 + AlertDialog.Builder builder = new com.google.android.material.dialog.MaterialAlertDialogBuilder(context)STRING
CRITICAL…/src/test/java/org/signal/lint/CardViewDetectorTest.kt42 Fix for src/foo/Example.java line 5: Replace with new com.google.android.material.card.MaterialCardView(contSTRING
CRITICAL…/src/test/java/org/signal/lint/CardViewDetectorTest.kt45 + new com.google.android.material.card.MaterialCardView(context);STRING
CRITICAL…/src/test/java/org/signal/lint/CardViewDetectorTest.kt81 Fix for src/foo/Example.java line 5: Replace with new com.google.android.material.card.MaterialCardView(context)STRING
CRITICAL…/src/test/java/org/signal/lint/CardViewDetectorTest.kt84 + CardView cardView = new com.google.android.material.card.MaterialCardView(context)STRING
CRITICAL…t/java/org/signal/lint/SystemOutPrintLnDetectorTest.kt41 Fix for src/foo/Example.java line 4: Replace with org.signal.core.util.logging.Log.d(TAG, "Hello World"):STRING
CRITICAL…t/java/org/signal/lint/SystemOutPrintLnDetectorTest.kt44 + org.signal.core.util.logging.Log.d(TAG, "Hello World");STRING
CRITICAL…t/java/org/signal/lint/SystemOutPrintLnDetectorTest.kt77 Fix for src/foo/Example.java line 4: Replace with org.signal.core.util.logging.Log.d(TAG, "Hello"):STRING
CRITICAL…t/java/org/signal/lint/SystemOutPrintLnDetectorTest.kt80 + org.signal.core.util.logging.Log.d(TAG, "Hello");STRING
CRITICAL…t/java/org/signal/lint/SystemOutPrintLnDetectorTest.kt115 Fix for src/foo/Example.kt line 5: Replace with org.signal.core.util.logging.Log.d(TAG, "Hello World"):STRING
CRITICAL…t/java/org/signal/lint/SystemOutPrintLnDetectorTest.kt118 + org.signal.core.util.logging.Log.d(TAG, "Hello World")STRING
CRITICAL…t/java/org/signal/lint/SystemOutPrintLnDetectorTest.kt150 Fix for src/foo/test.kt line 3: Replace with org.signal.core.util.logging.Log.d(TAG, "Hello World"):STRING
CRITICAL…t/java/org/signal/lint/SystemOutPrintLnDetectorTest.kt153 + org.signal.core.util.logging.Log.d(TAG, "Hello World")STRING
CRITICAL…t/java/org/signal/lint/SystemOutPrintLnDetectorTest.kt186 Fix for src/foo/Example.java line 4: Replace with org.signal.core.util.logging.Log.d(TAG, ""):STRING
CRITICAL…t/java/org/signal/lint/SystemOutPrintLnDetectorTest.kt189 + org.signal.core.util.logging.Log.d(TAG, "");STRING
CRITICAL…src/test/java/org/signal/lint/SignalLogDetectorTest.kt43 Fix for src/foo/Example.java line 5: Replace with org.signal.core.util.logging.Log.d("TAG", "msg"):STRING
CRITICAL…src/test/java/org/signal/lint/SignalLogDetectorTest.kt46 + org.signal.core.util.logging.Log.d("TAG", "msg");STRING
CRITICAL…src/test/java/org/signal/lint/SignalLogDetectorTest.kt82 Fix for src/foo/Example.java line 5: Replace with org.signal.core.util.logging.Log.d("TAG", "msg"):STRING
CRITICAL…src/test/java/org/signal/lint/SignalLogDetectorTest.kt85 + org.signal.core.util.logging.Log.d("TAG", "msg");STRING
CRITICAL…src/test/java/org/signal/lint/SignalLogDetectorTest.kt286 Fix for src/foo/Example.java line 5: Replace with org.signal.core.util.logging.Log.d("TAG", "msg"):CODE
CRITICAL…src/test/java/org/signal/lint/SignalLogDetectorTest.kt289 + org.signal.core.util.logging.Log.d("TAG", "msg");CODE
CRITICAL…/main/java/org/signal/lint/SystemOutPrintLnDetector.kt63 val fixSource = "org.signal.core.util.logging.Log.d(TAG, $message)"CODE
CRITICAL…alservice/api/messages/EnvelopeContentValidatorTest.kt310 syncMessage = org.whispersystems.signalservice.internal.push.SyncMessage()CODE
CRITICAL…ing/src/main/java/org/signal/billing/BillingApiImpl.kt170 org.signal.core.util.billing.BillingResponseCode.fromBillingLibraryResponseCode(billingClient.isFeatureSupportedCODE
CRITICAL…ing/src/main/java/org/signal/billing/BillingApiImpl.kt174 org.signal.core.util.billing.BillingResponseCode.fromBillingLibraryResponseCode(e.billingResponseCode)CODE
Cross-File Repetition24 hits · 120 pts
SeverityFileLineSnippetContext
HIGH…on/V188_FixMessageRecipientsAndEditMessageMigration.kt0create table mms_tmp ( _id integer primary key autoincrement, date_sent integer not null, date_received integer not nullSTRING
HIGH…ation/V185_MessageRecipientsAndEditMessageMigration.kt0create table mms_tmp ( _id integer primary key autoincrement, date_sent integer not null, date_received integer not nullSTRING
HIGH…/helpers/migration/V166_ThreadAndMessageForeignKeys.kt0create table mms_tmp ( _id integer primary key autoincrement, date_sent integer not null, date_received integer not nullSTRING
HIGH…/migration/V242_MessageFullTextSearchEmojiSupportV2.kt0create virtual table $fts_table_name using fts5(body, thread_id unindexed, content=message, content_rowid=_id, tokenize STRING
HIGH…rs/migration/V239_MessageFullTextSearchEmojiSupport.kt0create virtual table $fts_table_name using fts5(body, thread_id unindexed, content=message, content_rowid=_id, tokenize STRING
HIGH…esms/database/helpers/migration/V265_FixFtsTriggers.kt0create virtual table $fts_table_name using fts5(body, thread_id unindexed, content=message, content_rowid=_id, tokenize STRING
HIGH…/migration/V242_MessageFullTextSearchEmojiSupportV2.kt0create trigger message_ai after insert on message begin insert into message_fts(rowid, body, thread_id) values (new._id,STRING
HIGH…rs/migration/V239_MessageFullTextSearchEmojiSupport.kt0create trigger message_ai after insert on message begin insert into message_fts(rowid, body, thread_id) values (new._id,STRING
HIGH…tabase/helpers/migration/V175_FixFullTextSearchLink.kt0create trigger message_ai after insert on message begin insert into message_fts(rowid, body, thread_id) values (new._id,STRING
HIGH…esms/database/helpers/migration/V265_FixFtsTriggers.kt0create trigger message_ai after insert on message begin insert into message_fts(rowid, body, thread_id) values (new._id,STRING
HIGH…/migration/V242_MessageFullTextSearchEmojiSupportV2.kt0create trigger message_ad after delete on message begin insert into message_fts(message_fts, rowid, body, thread_id) valSTRING
HIGH…rs/migration/V239_MessageFullTextSearchEmojiSupport.kt0create trigger message_ad after delete on message begin insert into message_fts(message_fts, rowid, body, thread_id) valSTRING
HIGH…tabase/helpers/migration/V175_FixFullTextSearchLink.kt0create trigger message_ad after delete on message begin insert into message_fts(message_fts, rowid, body, thread_id) valSTRING
HIGH…esms/database/helpers/migration/V265_FixFtsTriggers.kt0create trigger message_ad after delete on message begin insert into message_fts(message_fts, rowid, body, thread_id) valSTRING
HIGH…/migration/V242_MessageFullTextSearchEmojiSupportV2.kt0create trigger message_au after update on message begin insert into message_fts(message_fts, rowid, body, thread_id) valSTRING
HIGH…rs/migration/V239_MessageFullTextSearchEmojiSupport.kt0create trigger message_au after update on message begin insert into message_fts(message_fts, rowid, body, thread_id) valSTRING
HIGH…tabase/helpers/migration/V175_FixFullTextSearchLink.kt0create trigger message_au after update on message begin insert into message_fts(message_fts, rowid, body, thread_id) valSTRING
HIGH…esms/database/helpers/migration/V265_FixFtsTriggers.kt0create trigger message_au after update on message begin insert into message_fts(message_fts, rowid, body, thread_id) valSTRING
HIGH…189_CreateCallLinkTableColumnsAndRebuildFKReference.kt0create table call_tmp ( _id integer primary key, call_id integer not null, message_id integer default null references meSTRING
HIGH…abase/helpers/migration/V183_CallLinkTableMigration.kt0create table call_tmp ( _id integer primary key, call_id integer not null, message_id integer default null references meSTRING
HIGH…elpers/migration/V184_CallLinkReplaceIndexMigration.kt0create table call_tmp ( _id integer primary key, call_id integer not null, message_id integer default null references meSTRING
HIGH…189_CreateCallLinkTableColumnsAndRebuildFKReference.kt0insert into call_tmp select _id, call_id, message_id, peer, null as call_link, type, direction, event, timestamp, ringerSTRING
HIGH…abase/helpers/migration/V183_CallLinkTableMigration.kt0insert into call_tmp select _id, call_id, message_id, peer, null as call_link, type, direction, event, timestamp, ringerSTRING
HIGH…elpers/migration/V184_CallLinkReplaceIndexMigration.kt0insert into call_tmp select _id, call_id, message_id, peer, null as call_link, type, direction, event, timestamp, ringerSTRING
Over-Commented Block34 hits · 34 pts
SeverityFileLineSnippetContext
LOWlefthook.yml1# Lefthook git hooks configurationCOMMENT
LOWdemo/apng/src/main/java/org/signal/apng/DemoActivity.kt41// filename = "test00.png",COMMENT
LOW…curesms/jobs/ArchiveAttachmentReconciliationJobTest.kt401 fun givenNoSnapshotYet_whenIReconcile_thenIExpectNoCompletedSnapshotVersionRecorded() {COMMENT
LOW…curesms/jobs/ArchiveAttachmentReconciliationJobTest.kt421 //COMMENT
LOW…me/securesms/conversation/ConversationItemPreviewer.kt41 insertFailedMediaMessage(other = other, attachmentCount = 2)COMMENT
LOW…/org/thoughtcrime/securesms/database/RecipientTable.kt5401 * value, which in this case is the value of [Recipient.Capability].COMMENT
LOW…ase/helpers/migration/V191_UniqueMessageMigrationV2.kt81 // Now that we've corrected data that we know we want to preserve, the rest should all be duplicates that we can safCOMMENT
LOW…oughtcrime/securesms/giph/ui/AspectRatioImageView.java41 this(context, null);COMMENT
LOW…g/thoughtcrime/securesms/fonts/FontTypefaceProvider.kt21// val typeface = cachedTypefaceCOMMENT
LOWbuild-logic/plugins/src/main/java/Licenses.kt1081COMMENT
LOWbuild-logic/plugins/src/main/java/Licenses.kt1101 # Neither the name of Google Inc. nor the names of itsCOMMENT
LOWbuild-logic/plugins/src/main/java/Licenses.kt1121 # listed below with further processing for compound word breaking. TheCOMMENT
LOWbuild-logic/plugins/src/main/java/Licenses.kt1141 # * modification, are permitted provided that the following conditionsCOMMENT
LOWbuild-logic/plugins/src/main/java/Licenses.kt1161 # * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)COMMENT
LOWbuild-logic/plugins/src/main/java/Licenses.kt1181 # * the documentation and/or other materials provided with theCOMMENT
LOWbuild-logic/plugins/src/main/java/Licenses.kt1201 #COMMENT
LOWbuild-logic/plugins/src/main/java/Licenses.kt1221 # software, including all implied warranties of merchantability andCOMMENT
LOWbuild-logic/plugins/src/main/java/Licenses.kt1241 # NO WARRANTYCOMMENT
LOWbuild-logic/plugins/src/main/java/Licenses.kt1261 # officers and other employees shall be held liable for any and allCOMMENT
LOWbuild-logic/plugins/src/main/java/Licenses.kt1281 #COMMENT
LOWbuild-logic/plugins/src/main/java/Licenses.kt1301 # All rights reserved.COMMENT
LOWbuild-logic/plugins/src/main/java/Licenses.kt1321 # STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)COMMENT
LOWbuild-logic/plugins/src/main/java/Licenses.kt1341 # modification, are permitted provided that the following conditionsCOMMENT
LOWbuild-logic/plugins/src/main/java/Licenses.kt1381 # that is in the public domain, and is intended to remain in theCOMMENT
LOW.github/scripts/build.sh1#!/bin/bashCOMMENT
LOW…rime/securesms/video/videoconverter/OutputSurface.java101 // at the Java level, so if we don't either then the object can get GCed, whichCOMMENT
LOW…me/securesms/video/videoconverter/muxer/Mp4Writer.java321 // ----------------------------------------------------------------------COMMENT
LOW…lservice/internal/websocket/LibSignalChatConnection.kt81 // The layer above this, SignalWebSocket.java, is written to handle HTTP Requests and ResponsesCOMMENT
LOW…systems/signalservice/api/svr/SecureValueRecoveryV3.kt81 * There's no concept of "deleting" data with SVR3.COMMENT
LOW…systems/signalservice/api/svr/SecureValueRecoveryV3.kt101// when (val cause = e.cause) {COMMENT
LOW…systems/signalservice/api/svr/SecureValueRecoveryV3.kt141// val masterKey = MasterKey(result.value)COMMENT
LOW…systems/signalservice/api/svr/SecureValueRecoveryV3.kt181// } catch (e: Exception) {COMMENT
LOW…systems/signalservice/api/svr/SecureValueRecoveryV3.kt201// } catch (e: CancellationException) {COMMENT
LOW…a/org/signal/mediasend/screens/edit/MediaEditScreen.kt121 val targetPage = state.focusedMedia?.let { state.selectedMedia.indexOf(it) } ?: -1COMMENT
Fake / Example Data17 hits · 17 pts
SeverityFileLineSnippetContext
LOW…ms/phonenumbers/PhoneNumberVisualTransformationTest.kt14 val expected = "555-0123"CODE
LOW…n/res/layout/conversation_item_received_multimedia.xml234 tools:text="Mango pickle lorem ipsum" />CODE
LOW…/main/res/layout/conversation_item_sent_multimedia.xml172 tools:text="Mango pickle lorem ipsum" />CODE
LOW…res/layout/v2_conversation_item_text_only_outgoing.xml67 tools:text="Mango pickle lorem ipsum" />CODE
LOW…in/res/layout/conversation_item_received_text_only.xml148 tools:text="Mango pickle lorem ipsum" />CODE
LOW…c/main/res/layout/conversation_item_sent_text_only.xml65 tools:text="Mango pickle lorem ipsum" />CODE
LOW…p/src/main/res/layout/v2_media_gallery_folder_item.xml50 tools:text="Lorem ipsum dolor sit amet" />CODE
LOW…p/src/main/res/layout/v2_media_gallery_folder_item.xml50 tools:text="Lorem ipsum dolor sit amet" />CODE
LOW…g/thoughtcrime/securesms/nicknames/NicknameActivity.kt197 note = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod temor incididunt ut labore et doCODE
LOW…g/thoughtcrime/securesms/nicknames/NicknameActivity.kt197 note = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod temor incididunt ut labore et doCODE
LOW…/org/thoughtcrime/securesms/nicknames/ViewNoteSheet.kt110 note = "Lorem ipsum dolor sit amet\n\nWebsite: https://example.com"CODE
LOW…/org/thoughtcrime/securesms/nicknames/ViewNoteSheet.kt110 note = "Lorem ipsum dolor sit amet\n\nWebsite: https://example.com"CODE
LOW…/main/java/org/signal/mediaviewer/MediaViewerScreen.kt358 return "media-viewer-rail-item-${item?.attachmentId?.id ?: "placeholder"}"CODE
LOW…a/org/signal/mediaviewer/MediaViewerPreviewFixtures.kt16 const val LOREM_IPSUM = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut CODE
LOW…a/org/signal/mediaviewer/MediaViewerPreviewFixtures.kt16 const val LOREM_IPSUM = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut CODE
LOW…va/org/signal/mediasend/screens/edit/AddAMessageRow.kt296 message = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et CODE
LOW…va/org/signal/mediasend/screens/edit/AddAMessageRow.kt296 message = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et CODE
Modern AI Meta-Vocabulary5 hits · 15 pts
SeverityFileLineSnippetContext
MEDIUM…gnal/core/ui/compose/keyboard/KeyboardSheetScaffold.kt228 // can come and go without the scaffold being told. Read off the inset rather thanCOMMENT
MEDIUM…gnal/core/ui/compose/keyboard/KeyboardSheetScaffold.kt325 // Where the top of the sheet sits in the scaffold for each height it can rest at.COMMENT
MEDIUM…rime/securesms/conversation/v2/ConversationFragment.kt1099 // Nothing hangs off these, but a scaffold has every reason to report them.COMMENT
MEDIUM…g/thoughtcrime/securesms/conversation/v2/ChatScreen.kt189 // Above the scaffold so a closing keyboard neither covers nor resizes it. The bottom inset isCOMMENT
MEDIUM…rsation/mutiselect/forward/MultiselectForwardScreen.kt100 // While this is hidden the scaffold measures it as empty and falls back to its own window insets, so the listCOMMENT
Decorative Section Separators4 hits · 12 pts
SeverityFileLineSnippetContext
MEDIUMbuild-logic/plugins/src/main/java/Licenses.kt1299 # ----------------------------------------------------------------------COMMENT
MEDIUMbuild-logic/plugins/src/main/java/Licenses.kt1324 # --------------------------------------------------------------------------COMMENT
MEDIUMbuild-logic/plugins/src/main/java/Licenses.kt1336 # --------------------------------------------------------------------------COMMENT
MEDIUMbuild-logic/plugins/src/main/java/Licenses.kt1366 # --------------------------------------------------------------------------COMMENT
AI Slop Vocabulary4 hits · 10 pts
SeverityFileLineSnippetContext
MEDIUM…ms/conversation/v2/UnreadDividerInstrumentationTest.kt72 // Derive expectations from the DB the same way the app does, so the test is robust to any extra system rows.COMMENT
LOW…/org/thoughtcrime/securesms/database/MessageTypes.java13 * Note: We technically could use up to 64 bits, but {@link #TOTAL_MASK} is currently just set toCOMMENT
MEDIUM…in/java/org/thoughtcrime/securesms/main/MainToolbar.kt526 // TODO [alex] - Add proper icon (cannot utilize layer-list)COMMENT
MEDIUM…rime/securesms/conversation/v2/ConversationActivity.kt110 // Note: We utilize this instead of 'replaceFragment' because there seems to be a bugCOMMENT
Hyper-Verbose Identifiers7 hits · 7 pts
SeverityFileLineSnippetContext
LOW…ime/securesms/conversation/ConversationUpdateItem.java357 private final class GroupDataManager {CODE
LOWlib/spinner/src/main/assets/js/tooltips.js19function initializeRecipientTooltips() {CODE
LOWlib/spinner/src/main/assets/js/tooltips.js232function initializeMessageTooltips() {CODE
LOW…ems/signalservice/internal/push/PushServiceSocket.java1491 private static class RegistrationSessionResponseHandler implements ResponseCodeHandler {CODE
LOW…ems/signalservice/internal/push/PushServiceSocket.java1535 private static class RequestVerificationCodeResponseHandler implements ResponseCodeHandler {CODE
LOW…ems/signalservice/internal/push/PushServiceSocket.java1588 private static class PatchRegistrationSessionResponseHandler implements ResponseCodeHandler {CODE
LOW…ems/signalservice/internal/push/PushServiceSocket.java1620 private static class SubmitVerificationCodeResponseHandler implements ResponseCodeHandler {CODE
Verbosity Indicators3 hits · 6 pts
SeverityFileLineSnippetContext
LOW…/helpers/migration/V312_RefactorNameCollisionTables.kt20 // Step 1: Create the new thread linking tableCOMMENT
LOW⚡…/helpers/migration/V312_RefactorNameCollisionTables.kt33 // Step 2: Populate thread links from existing collision dataCOMMENT
LOW⚡…/helpers/migration/V312_RefactorNameCollisionTables.kt42 // Step 3: Recreate name_collision without thread_id and dismissed columnsCOMMENT
Structural Annotation Overuse3 hits · 6 pts
SeverityFileLineSnippetContext
LOW…/helpers/migration/V312_RefactorNameCollisionTables.kt20 // Step 1: Create the new thread linking tableCOMMENT
LOW⚡…/helpers/migration/V312_RefactorNameCollisionTables.kt33 // Step 2: Populate thread links from existing collision dataCOMMENT
LOW⚡…/helpers/migration/V312_RefactorNameCollisionTables.kt42 // Step 3: Recreate name_collision without thread_id and dismissed columnsCOMMENT
Slop Phrases3 hits · 6 pts
SeverityFileLineSnippetContext
LOW…thoughtcrime/securesms/util/SnapToTopDataObserver.java61 * different callbacks. Don't forget to call `submit()`!COMMENT
LOW…ghtcrime/securesms/compose/FragmentBackPressedState.kt62 * Don't forget to call [FragmentBackPressedState.attach]!COMMENT
MEDIUM…systems/signalservice/api/websocket/SignalWebSocket.kt426 * Concerning the requested batch size, it's worth noting that this is simply an upper bound. This method willCOMMENT
Self-Referential Comments1 hit · 3 pts
SeverityFileLineSnippetContext
MEDIUMbuild-logic/plugins/src/main/java/Licenses.kt1298 # This file is derived from the above dictionary version of Nov 22, 2020COMMENT
Deep Nesting1 hit · 1 pts
SeverityFileLineSnippetContext
LOWreproducible-builds/apkdiff/apkdiff.py119CODE