A private messenger for Android.
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.
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? 61 finding(s).
Are imports declared and package/API names verified? 70 finding(s).
Are wrappers, guards, and repeated structures necessary? 35 finding(s).
Which changes need focused human review? 159 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 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.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | …al/registration/sample/debug/DebugNetworkController.kt | 355 | org.signal.registration.sample.dependencies.FakeDeviceTransferRunner.start() | CODE |
| CRITICAL⚡ | demo/apng/src/main/java/org/signal/apng/DemoActivity.kt | 55 | // _root_ide_package_.org.signal.apng.MainActivity.TestModel.ApngModel( | COMMENT |
| CRITICAL⚡ | demo/apng/src/main/java/org/signal/apng/DemoActivity.kt | 59 | // _root_ide_package_.org.signal.apng.MainActivity.TestModel.ApngModel( | COMMENT |
| CRITICAL⚡ | demo/apng/src/main/java/org/signal/apng/DemoActivity.kt | 63 | // _root_ide_package_.org.signal.apng.MainActivity.TestModel.ApngModel( | COMMENT |
| CRITICAL⚡ | demo/apng/src/main/java/org/signal/apng/DemoActivity.kt | 67 | // _root_ide_package_.org.signal.apng.MainActivity.TestModel.ApngModel( | COMMENT |
| CRITICAL | …util/src/main/java/org/signal/core/util/JsonUtils.java | 25 | com.fasterxml.jackson.module.kotlin.ExtensionsKt.registerKotlinModule(objectMapper); | CODE |
| CRITICAL | …-jvm/src/main/java/org/signal/core/models/ServiceId.kt | 46 | fromLibSignal(org.signal.libsignal.protocol.ServiceId.parseFromString(raw)) | CODE |
| CRITICAL | …-jvm/src/main/java/org/signal/core/models/ServiceId.kt | 69 | fromLibSignal(org.signal.libsignal.protocol.ServiceId.parseFromFixedWidthBinary(raw)) | CODE |
| CRITICAL | …-jvm/src/main/java/org/signal/core/models/ServiceId.kt | 71 | fromLibSignal(org.signal.libsignal.protocol.ServiceId.parseFromBinary(raw)) | CODE |
| CRITICAL | …-jvm/src/main/java/org/signal/core/models/ServiceId.kt | 154 | fun from(uuid: UUID): ACI = ACI(org.signal.libsignal.protocol.ServiceId.Aci(uuid)) | CODE |
| CRITICAL | …-jvm/src/main/java/org/signal/core/models/ServiceId.kt | 209 | fun from(uuid: UUID): PNI = PNI(org.signal.libsignal.protocol.ServiceId.Pni(uuid)) | CODE |
| CRITICAL | …-jvm/src/main/java/org/signal/core/models/ServiceId.kt | 221 | PNI(org.signal.libsignal.protocol.ServiceId.Pni(uuid)) | CODE |
| CRITICAL | …-jvm/src/main/java/org/signal/core/models/ServiceId.kt | 238 | PNI(org.signal.libsignal.protocol.ServiceId.Pni(uuid)) | CODE |
| CRITICAL | …crime/securesms/database/model/KeyTransparencyStore.kt | 26 | val aci = org.signal.core.models.ServiceId.ACI.fromLibSignal(libsignalAci) | CODE |
| CRITICAL | …crime/securesms/database/model/KeyTransparencyStore.kt | 31 | val aci = org.signal.core.models.ServiceId.ACI.fromLibSignal(libsignalAci) | CODE |
| CRITICAL⚡ | …ms/registration/v2/AppRegistrationNetworkController.kt | 579 | org.signal.core.util.PendingIntentFlags.mutable() | CODE |
| CRITICAL⚡ | …ms/registration/v2/AppRegistrationNetworkController.kt | 583 | org.thoughtcrime.securesms.notifications.NotificationChannels.getInstance().BACKUPS, | CODE |
| CRITICAL⚡ | …ms/registration/v2/AppRegistrationNetworkController.kt | 588 | org.thoughtcrime.securesms.devicetransfer.newdevice.NewDeviceServerTask(), | CODE |
| CRITICAL | …n/java/org/thoughtcrime/securesms/util/WindowUtil.java | 19 | org.signal.core.ui.WindowExtensionsKt.initializeScreenshotSecurity(window); | CODE |
| CRITICAL | …nts/settings/app/chats/folders/ChatFoldersViewModel.kt | 369 | return state.value.currentFolder.folderRecord.name.isEmpty() | CODE |
| CRITICAL | …/securesms/components/voice/VoiceNotePlayerCallback.kt | 203 | val currentStreamType = androidx.media3.common.util.Util.getStreamTypeForAudioUsage(player.audioAttributes.usage) | CODE |
| CRITICAL | …java/org/signal/lint/AlertDialogBuilderDetectorTest.kt | 42 | Fix for src/foo/Example.java line 5: Replace with new com.google.android.material.dialog.MaterialAlertDialogBuil | STRING |
| CRITICAL | …java/org/signal/lint/AlertDialogBuilderDetectorTest.kt | 45 | + new com.google.android.material.dialog.MaterialAlertDialogBuilder(context).show(); | STRING |
| CRITICAL | …java/org/signal/lint/AlertDialogBuilderDetectorTest.kt | 81 | Fix for src/foo/Example.java line 5: Replace with new com.google.android.material.dialog.MaterialAlertDialogBuil | STRING |
| CRITICAL | …java/org/signal/lint/AlertDialogBuilderDetectorTest.kt | 84 | + AlertDialog.Builder builder = new com.google.android.material.dialog.MaterialAlertDialogBuilder(context) | STRING |
| CRITICAL | …java/org/signal/lint/AlertDialogBuilderDetectorTest.kt | 119 | Fix for src/foo/Example.java line 5: Replace with new com.google.android.material.dialog.MaterialAlertDialogBuil | STRING |
| CRITICAL | …java/org/signal/lint/AlertDialogBuilderDetectorTest.kt | 122 | + new com.google.android.material.dialog.MaterialAlertDialogBuilder(context).show(); | STRING |
| CRITICAL | …java/org/signal/lint/AlertDialogBuilderDetectorTest.kt | 158 | Fix for src/foo/Example.java line 5: Replace with new com.google.android.material.dialog.MaterialAlertDialogBuil | STRING |
| CRITICAL | …java/org/signal/lint/AlertDialogBuilderDetectorTest.kt | 161 | + AlertDialog.Builder builder = new com.google.android.material.dialog.MaterialAlertDialogBuilder(context) | STRING |
| CRITICAL | …/src/test/java/org/signal/lint/CardViewDetectorTest.kt | 42 | Fix for src/foo/Example.java line 5: Replace with new com.google.android.material.card.MaterialCardView(cont | STRING |
| CRITICAL | …/src/test/java/org/signal/lint/CardViewDetectorTest.kt | 45 | + new com.google.android.material.card.MaterialCardView(context); | STRING |
| CRITICAL | …/src/test/java/org/signal/lint/CardViewDetectorTest.kt | 81 | 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.kt | 84 | + CardView cardView = new com.google.android.material.card.MaterialCardView(context) | STRING |
| CRITICAL | …t/java/org/signal/lint/SystemOutPrintLnDetectorTest.kt | 41 | 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.kt | 44 | + org.signal.core.util.logging.Log.d(TAG, "Hello World"); | STRING |
| CRITICAL | …t/java/org/signal/lint/SystemOutPrintLnDetectorTest.kt | 77 | 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.kt | 80 | + org.signal.core.util.logging.Log.d(TAG, "Hello"); | STRING |
| CRITICAL | …t/java/org/signal/lint/SystemOutPrintLnDetectorTest.kt | 115 | 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.kt | 118 | + org.signal.core.util.logging.Log.d(TAG, "Hello World") | STRING |
| CRITICAL | …t/java/org/signal/lint/SystemOutPrintLnDetectorTest.kt | 150 | 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.kt | 153 | + org.signal.core.util.logging.Log.d(TAG, "Hello World") | STRING |
| CRITICAL | …t/java/org/signal/lint/SystemOutPrintLnDetectorTest.kt | 186 | 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.kt | 189 | + org.signal.core.util.logging.Log.d(TAG, ""); | STRING |
| CRITICAL | …src/test/java/org/signal/lint/SignalLogDetectorTest.kt | 43 | 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.kt | 46 | + org.signal.core.util.logging.Log.d("TAG", "msg"); | STRING |
| CRITICAL | …src/test/java/org/signal/lint/SignalLogDetectorTest.kt | 82 | 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.kt | 85 | + org.signal.core.util.logging.Log.d("TAG", "msg"); | STRING |
| CRITICAL | …src/test/java/org/signal/lint/SignalLogDetectorTest.kt | 286 | 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.kt | 289 | + org.signal.core.util.logging.Log.d("TAG", "msg"); | CODE |
| CRITICAL | …/main/java/org/signal/lint/SystemOutPrintLnDetector.kt | 63 | val fixSource = "org.signal.core.util.logging.Log.d(TAG, $message)" | CODE |
| CRITICAL | …alservice/api/messages/EnvelopeContentValidatorTest.kt | 310 | syncMessage = org.whispersystems.signalservice.internal.push.SyncMessage() | CODE |
| CRITICAL | …ing/src/main/java/org/signal/billing/BillingApiImpl.kt | 170 | org.signal.core.util.billing.BillingResponseCode.fromBillingLibraryResponseCode(billingClient.isFeatureSupported | CODE |
| CRITICAL | …ing/src/main/java/org/signal/billing/BillingApiImpl.kt | 174 | org.signal.core.util.billing.BillingResponseCode.fromBillingLibraryResponseCode(e.billingResponseCode) | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | …on/V188_FixMessageRecipientsAndEditMessageMigration.kt | 0 | create table mms_tmp ( _id integer primary key autoincrement, date_sent integer not null, date_received integer not null | STRING |
| HIGH | …ation/V185_MessageRecipientsAndEditMessageMigration.kt | 0 | create table mms_tmp ( _id integer primary key autoincrement, date_sent integer not null, date_received integer not null | STRING |
| HIGH | …/helpers/migration/V166_ThreadAndMessageForeignKeys.kt | 0 | create table mms_tmp ( _id integer primary key autoincrement, date_sent integer not null, date_received integer not null | STRING |
| HIGH | …/migration/V242_MessageFullTextSearchEmojiSupportV2.kt | 0 | create virtual table $fts_table_name using fts5(body, thread_id unindexed, content=message, content_rowid=_id, tokenize | STRING |
| HIGH | …rs/migration/V239_MessageFullTextSearchEmojiSupport.kt | 0 | create 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.kt | 0 | create virtual table $fts_table_name using fts5(body, thread_id unindexed, content=message, content_rowid=_id, tokenize | STRING |
| HIGH | …/migration/V242_MessageFullTextSearchEmojiSupportV2.kt | 0 | create 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.kt | 0 | create 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.kt | 0 | create 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.kt | 0 | create trigger message_ai after insert on message begin insert into message_fts(rowid, body, thread_id) values (new._id, | STRING |
| HIGH | …/migration/V242_MessageFullTextSearchEmojiSupportV2.kt | 0 | create trigger message_ad after delete on message begin insert into message_fts(message_fts, rowid, body, thread_id) val | STRING |
| HIGH | …rs/migration/V239_MessageFullTextSearchEmojiSupport.kt | 0 | create trigger message_ad after delete on message begin insert into message_fts(message_fts, rowid, body, thread_id) val | STRING |
| HIGH | …tabase/helpers/migration/V175_FixFullTextSearchLink.kt | 0 | create trigger message_ad after delete on message begin insert into message_fts(message_fts, rowid, body, thread_id) val | STRING |
| HIGH | …esms/database/helpers/migration/V265_FixFtsTriggers.kt | 0 | create trigger message_ad after delete on message begin insert into message_fts(message_fts, rowid, body, thread_id) val | STRING |
| HIGH | …/migration/V242_MessageFullTextSearchEmojiSupportV2.kt | 0 | create trigger message_au after update on message begin insert into message_fts(message_fts, rowid, body, thread_id) val | STRING |
| HIGH | …rs/migration/V239_MessageFullTextSearchEmojiSupport.kt | 0 | create trigger message_au after update on message begin insert into message_fts(message_fts, rowid, body, thread_id) val | STRING |
| HIGH | …tabase/helpers/migration/V175_FixFullTextSearchLink.kt | 0 | create trigger message_au after update on message begin insert into message_fts(message_fts, rowid, body, thread_id) val | STRING |
| HIGH | …esms/database/helpers/migration/V265_FixFtsTriggers.kt | 0 | create trigger message_au after update on message begin insert into message_fts(message_fts, rowid, body, thread_id) val | STRING |
| HIGH | …189_CreateCallLinkTableColumnsAndRebuildFKReference.kt | 0 | create table call_tmp ( _id integer primary key, call_id integer not null, message_id integer default null references me | STRING |
| HIGH | …abase/helpers/migration/V183_CallLinkTableMigration.kt | 0 | create table call_tmp ( _id integer primary key, call_id integer not null, message_id integer default null references me | STRING |
| HIGH | …elpers/migration/V184_CallLinkReplaceIndexMigration.kt | 0 | create table call_tmp ( _id integer primary key, call_id integer not null, message_id integer default null references me | STRING |
| HIGH | …189_CreateCallLinkTableColumnsAndRebuildFKReference.kt | 0 | insert into call_tmp select _id, call_id, message_id, peer, null as call_link, type, direction, event, timestamp, ringer | STRING |
| HIGH | …abase/helpers/migration/V183_CallLinkTableMigration.kt | 0 | insert into call_tmp select _id, call_id, message_id, peer, null as call_link, type, direction, event, timestamp, ringer | STRING |
| HIGH | …elpers/migration/V184_CallLinkReplaceIndexMigration.kt | 0 | insert into call_tmp select _id, call_id, message_id, peer, null as call_link, type, direction, event, timestamp, ringer | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | lefthook.yml | 1 | # Lefthook git hooks configuration | COMMENT |
| LOW | demo/apng/src/main/java/org/signal/apng/DemoActivity.kt | 41 | // filename = "test00.png", | COMMENT |
| LOW | …curesms/jobs/ArchiveAttachmentReconciliationJobTest.kt | 401 | fun givenNoSnapshotYet_whenIReconcile_thenIExpectNoCompletedSnapshotVersionRecorded() { | COMMENT |
| LOW | …curesms/jobs/ArchiveAttachmentReconciliationJobTest.kt | 421 | // | COMMENT |
| LOW | …me/securesms/conversation/ConversationItemPreviewer.kt | 41 | insertFailedMediaMessage(other = other, attachmentCount = 2) | COMMENT |
| LOW | …/org/thoughtcrime/securesms/database/RecipientTable.kt | 5401 | * value, which in this case is the value of [Recipient.Capability]. | COMMENT |
| LOW | …ase/helpers/migration/V191_UniqueMessageMigrationV2.kt | 81 | // Now that we've corrected data that we know we want to preserve, the rest should all be duplicates that we can saf | COMMENT |
| LOW | …oughtcrime/securesms/giph/ui/AspectRatioImageView.java | 41 | this(context, null); | COMMENT |
| LOW | …g/thoughtcrime/securesms/fonts/FontTypefaceProvider.kt | 21 | // val typeface = cachedTypeface | COMMENT |
| LOW | build-logic/plugins/src/main/java/Licenses.kt | 1081 | COMMENT | |
| LOW | build-logic/plugins/src/main/java/Licenses.kt | 1101 | # Neither the name of Google Inc. nor the names of its | COMMENT |
| LOW | build-logic/plugins/src/main/java/Licenses.kt | 1121 | # listed below with further processing for compound word breaking. The | COMMENT |
| LOW | build-logic/plugins/src/main/java/Licenses.kt | 1141 | # * modification, are permitted provided that the following conditions | COMMENT |
| LOW | build-logic/plugins/src/main/java/Licenses.kt | 1161 | # * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) | COMMENT |
| LOW | build-logic/plugins/src/main/java/Licenses.kt | 1181 | # * the documentation and/or other materials provided with the | COMMENT |
| LOW | build-logic/plugins/src/main/java/Licenses.kt | 1201 | # | COMMENT |
| LOW | build-logic/plugins/src/main/java/Licenses.kt | 1221 | # software, including all implied warranties of merchantability and | COMMENT |
| LOW | build-logic/plugins/src/main/java/Licenses.kt | 1241 | # NO WARRANTY | COMMENT |
| LOW | build-logic/plugins/src/main/java/Licenses.kt | 1261 | # officers and other employees shall be held liable for any and all | COMMENT |
| LOW | build-logic/plugins/src/main/java/Licenses.kt | 1281 | # | COMMENT |
| LOW | build-logic/plugins/src/main/java/Licenses.kt | 1301 | # All rights reserved. | COMMENT |
| LOW | build-logic/plugins/src/main/java/Licenses.kt | 1321 | # STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) | COMMENT |
| LOW | build-logic/plugins/src/main/java/Licenses.kt | 1341 | # modification, are permitted provided that the following conditions | COMMENT |
| LOW | build-logic/plugins/src/main/java/Licenses.kt | 1381 | # that is in the public domain, and is intended to remain in the | COMMENT |
| LOW | .github/scripts/build.sh | 1 | #!/bin/bash | COMMENT |
| LOW | …rime/securesms/video/videoconverter/OutputSurface.java | 101 | // at the Java level, so if we don't either then the object can get GCed, which | COMMENT |
| LOW | …me/securesms/video/videoconverter/muxer/Mp4Writer.java | 321 | // ---------------------------------------------------------------------- | COMMENT |
| LOW | …lservice/internal/websocket/LibSignalChatConnection.kt | 81 | // The layer above this, SignalWebSocket.java, is written to handle HTTP Requests and Responses | COMMENT |
| LOW | …systems/signalservice/api/svr/SecureValueRecoveryV3.kt | 81 | * There's no concept of "deleting" data with SVR3. | COMMENT |
| LOW | …systems/signalservice/api/svr/SecureValueRecoveryV3.kt | 101 | // when (val cause = e.cause) { | COMMENT |
| LOW | …systems/signalservice/api/svr/SecureValueRecoveryV3.kt | 141 | // val masterKey = MasterKey(result.value) | COMMENT |
| LOW | …systems/signalservice/api/svr/SecureValueRecoveryV3.kt | 181 | // } catch (e: Exception) { | COMMENT |
| LOW | …systems/signalservice/api/svr/SecureValueRecoveryV3.kt | 201 | // } catch (e: CancellationException) { | COMMENT |
| LOW | …a/org/signal/mediasend/screens/edit/MediaEditScreen.kt | 121 | val targetPage = state.focusedMedia?.let { state.selectedMedia.indexOf(it) } ?: -1 | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …ms/phonenumbers/PhoneNumberVisualTransformationTest.kt | 14 | val expected = "555-0123" | CODE |
| LOW | …n/res/layout/conversation_item_received_multimedia.xml | 234 | tools:text="Mango pickle lorem ipsum" /> | CODE |
| LOW | …/main/res/layout/conversation_item_sent_multimedia.xml | 172 | tools:text="Mango pickle lorem ipsum" /> | CODE |
| LOW | …res/layout/v2_conversation_item_text_only_outgoing.xml | 67 | tools:text="Mango pickle lorem ipsum" /> | CODE |
| LOW | …in/res/layout/conversation_item_received_text_only.xml | 148 | tools:text="Mango pickle lorem ipsum" /> | CODE |
| LOW | …c/main/res/layout/conversation_item_sent_text_only.xml | 65 | tools:text="Mango pickle lorem ipsum" /> | CODE |
| LOW | …p/src/main/res/layout/v2_media_gallery_folder_item.xml | 50 | tools:text="Lorem ipsum dolor sit amet" /> | CODE |
| LOW | …p/src/main/res/layout/v2_media_gallery_folder_item.xml | 50 | tools:text="Lorem ipsum dolor sit amet" /> | CODE |
| LOW | …g/thoughtcrime/securesms/nicknames/NicknameActivity.kt | 197 | note = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod temor incididunt ut labore et do | CODE |
| LOW | …g/thoughtcrime/securesms/nicknames/NicknameActivity.kt | 197 | note = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod temor incididunt ut labore et do | CODE |
| LOW | …/org/thoughtcrime/securesms/nicknames/ViewNoteSheet.kt | 110 | note = "Lorem ipsum dolor sit amet\n\nWebsite: https://example.com" | CODE |
| LOW | …/org/thoughtcrime/securesms/nicknames/ViewNoteSheet.kt | 110 | note = "Lorem ipsum dolor sit amet\n\nWebsite: https://example.com" | CODE |
| LOW | …/main/java/org/signal/mediaviewer/MediaViewerScreen.kt | 358 | return "media-viewer-rail-item-${item?.attachmentId?.id ?: "placeholder"}" | CODE |
| LOW | …a/org/signal/mediaviewer/MediaViewerPreviewFixtures.kt | 16 | 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.kt | 16 | 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.kt | 296 | 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.kt | 296 | message = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …gnal/core/ui/compose/keyboard/KeyboardSheetScaffold.kt | 228 | // can come and go without the scaffold being told. Read off the inset rather than | COMMENT |
| MEDIUM | …gnal/core/ui/compose/keyboard/KeyboardSheetScaffold.kt | 325 | // Where the top of the sheet sits in the scaffold for each height it can rest at. | COMMENT |
| MEDIUM | …rime/securesms/conversation/v2/ConversationFragment.kt | 1099 | // Nothing hangs off these, but a scaffold has every reason to report them. | COMMENT |
| MEDIUM | …g/thoughtcrime/securesms/conversation/v2/ChatScreen.kt | 189 | // Above the scaffold so a closing keyboard neither covers nor resizes it. The bottom inset is | COMMENT |
| MEDIUM | …rsation/mutiselect/forward/MultiselectForwardScreen.kt | 100 | // While this is hidden the scaffold measures it as empty and falls back to its own window insets, so the list | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | build-logic/plugins/src/main/java/Licenses.kt | 1299 | # ---------------------------------------------------------------------- | COMMENT |
| MEDIUM | build-logic/plugins/src/main/java/Licenses.kt | 1324 | # -------------------------------------------------------------------------- | COMMENT |
| MEDIUM | build-logic/plugins/src/main/java/Licenses.kt | 1336 | # -------------------------------------------------------------------------- | COMMENT |
| MEDIUM | build-logic/plugins/src/main/java/Licenses.kt | 1366 | # -------------------------------------------------------------------------- | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …ms/conversation/v2/UnreadDividerInstrumentationTest.kt | 72 | // 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.java | 13 | * Note: We technically could use up to 64 bits, but {@link #TOTAL_MASK} is currently just set to | COMMENT |
| MEDIUM | …in/java/org/thoughtcrime/securesms/main/MainToolbar.kt | 526 | // TODO [alex] - Add proper icon (cannot utilize layer-list) | COMMENT |
| MEDIUM | …rime/securesms/conversation/v2/ConversationActivity.kt | 110 | // Note: We utilize this instead of 'replaceFragment' because there seems to be a bug | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …ime/securesms/conversation/ConversationUpdateItem.java | 357 | private final class GroupDataManager { | CODE |
| LOW | lib/spinner/src/main/assets/js/tooltips.js | 19 | function initializeRecipientTooltips() { | CODE |
| LOW | lib/spinner/src/main/assets/js/tooltips.js | 232 | function initializeMessageTooltips() { | CODE |
| LOW | …ems/signalservice/internal/push/PushServiceSocket.java | 1491 | private static class RegistrationSessionResponseHandler implements ResponseCodeHandler { | CODE |
| LOW | …ems/signalservice/internal/push/PushServiceSocket.java | 1535 | private static class RequestVerificationCodeResponseHandler implements ResponseCodeHandler { | CODE |
| LOW | …ems/signalservice/internal/push/PushServiceSocket.java | 1588 | private static class PatchRegistrationSessionResponseHandler implements ResponseCodeHandler { | CODE |
| LOW | …ems/signalservice/internal/push/PushServiceSocket.java | 1620 | private static class SubmitVerificationCodeResponseHandler implements ResponseCodeHandler { | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …/helpers/migration/V312_RefactorNameCollisionTables.kt | 20 | // Step 1: Create the new thread linking table | COMMENT |
| LOW⚡ | …/helpers/migration/V312_RefactorNameCollisionTables.kt | 33 | // Step 2: Populate thread links from existing collision data | COMMENT |
| LOW⚡ | …/helpers/migration/V312_RefactorNameCollisionTables.kt | 42 | // Step 3: Recreate name_collision without thread_id and dismissed columns | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …/helpers/migration/V312_RefactorNameCollisionTables.kt | 20 | // Step 1: Create the new thread linking table | COMMENT |
| LOW⚡ | …/helpers/migration/V312_RefactorNameCollisionTables.kt | 33 | // Step 2: Populate thread links from existing collision data | COMMENT |
| LOW⚡ | …/helpers/migration/V312_RefactorNameCollisionTables.kt | 42 | // Step 3: Recreate name_collision without thread_id and dismissed columns | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …thoughtcrime/securesms/util/SnapToTopDataObserver.java | 61 | * different callbacks. Don't forget to call `submit()`! | COMMENT |
| LOW | …ghtcrime/securesms/compose/FragmentBackPressedState.kt | 62 | * Don't forget to call [FragmentBackPressedState.attach]! | COMMENT |
| MEDIUM | …systems/signalservice/api/websocket/SignalWebSocket.kt | 426 | * Concerning the requested batch size, it's worth noting that this is simply an upper bound. This method will | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | build-logic/plugins/src/main/java/Licenses.kt | 1298 | # This file is derived from the above dictionary version of Nov 22, 2020 | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | reproducible-builds/apkdiff/apkdiff.py | 119 | CODE |