💚 End-to-end encrypted cloud for everything.
This report summarizes scanner evidence for ente/ente, a Dart project with 29,789 GitHub stars. SynthScan examined 1,186,715 lines of code across 5902 source files, recording 319 pattern matches distributed across 15 syntactic categories. The legacy adjusted pattern signal is 0.3 (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? 153 finding(s).
Are imports declared and package/API names verified? 147 finding(s).
Are wrappers, guards, and repeated structures necessary? 69 finding(s).
Which changes need focused human review? 319 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 319 distinct pattern matches across 15 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | web/packages/base/components/SingleInputForm.tsx | 26 | "label" | "placeholder" | "autoComplete" | "autoFocus" | "disabled" | CODE |
| LOW | web/apps/locker/tests/user-details.test.ts | 28 | savedLocalUser.mockReturnValue({ email: "cached@example.org" }); | CODE |
| LOW | web/apps/locker/tests/user-details.test.ts | 82 | [{ email: "server@example.org" }, "server@example.org"], | CODE |
| LOW | web/apps/locker/tests/user-details.test.ts | 84 | [{}, "cached@example.org"], | CODE |
| LOW | rust/crates/legacy/tests/legacy.rs | 382 | email: Some("bad-beneficiary@example.org".into()), | CODE |
| LOW | rust/crates/legacy/tests/legacy.rs | 435 | Some("beneficiary@example.org"), | CODE |
| LOW | rust/crates/legacy/tests/legacy.rs | 568 | .open_from_shares(&immediate_kit.shares[0..2], Some("beneficiary@example.org")) | CODE |
| LOW | rust/crates/accounts/src/client.rs | 643 | .with_body(r#"{"email":"user@example.org"}"#) | CODE |
| LOW | rust/crates/accounts/src/client.rs | 647 | assert_eq!(client.email().await.unwrap(), "user@example.org"); | CODE |
| LOW | rust/crates/accounts/src/client.rs | 688 | .send_otp("user@example.org", purpose, false) | CODE |
| LOW | rust/crates/accounts/src/client.rs | 761 | .verify_email("user@example.org", "123456", Some("testAccount")) | CODE |
| LOW | rust/crates/accounts/src/details.rs | 123 | "email": "alice@example.org", "usage": 3 * GB, "fileCount": 339, | CODE |
| LOW | rust/crates/accounts/src/details.rs | 150 | {"id": "a", "email": "admin@example.org", "status": "ACCEPTED", "usage": 50 * GB, "isAdmin": true}, | CODE |
| LOW | rust/crates/accounts/src/details.rs | 152 | {"id": "c", "email": "new@example.org", "status": "INVITED"} | CODE |
| LOW | rust/crates/accounts/src/details.rs | 185 | {"id": "a", "email": "admin@example.org", "status": "ACCEPTED", "usage": 50 * GB, "isAdmin": true}, | CODE |
| LOW | rust/crates/accounts/src/details.rs | 186 | {"id": "b", "email": "other@example.org", "status": "ACCEPTED", "usage": 3 * GB, "storageLimit": GB} | CODE |
| LOW | rust/crates/accounts/src/details.rs | 205 | serde_json::to_string(&json!({"email": "alice@example.org", "usage": 1, | CODE |
| LOW | rust/crates/accounts/src/signup/tests.rs | 14 | "new@example.org".into(), | CODE |
| LOW | rust/crates/accounts/src/signup/tests.rs | 182 | let email = "fresh-user@example.org"; | CODE |
| LOW | rust/crates/accounts/src/lifecycle/tests.rs | 305 | "user@example.org".into(), | CODE |
| LOW | rust/crates/accounts/src/lifecycle/tests.rs | 325 | email: "user@example.org".into(), | CODE |
| LOW | rust/crates/accounts/src/login/tests.rs | 18 | "user@example.org".into(), | CODE |
| LOW | rust/crates/accounts/src/login/tests.rs | 42 | let (flow, step) = LoginFlow::start(&client, "user@example.org".into()) | CODE |
| LOW | rust/crates/accounts/src/login/tests.rs | 60 | let (_, step) = LoginFlow::start(&make_client(server.url()), "user@example.org".into()) | CODE |
| LOW | rust/crates/accounts/src/login/tests.rs | 281 | let (mut flow, step) = LoginFlow::start(&client, "user@example.org".into()) | CODE |
| LOW | rust/crates/test-support/src/lib.rs | 16 | pub const HARDCODED_OTT_EMAIL_SUFFIX: &str = "@example.org"; | CODE |
| LOW | rust/apps/cli/tests/cli/export.rs | 497 | let email = format!("export-staging-{}@example.org", Uuid::new_v4()); | CODE |
| LOW | rust/apps/cli/tests/cli/export.rs | 585 | let email = format!("export-albums-{}@example.org", Uuid::new_v4()); | CODE |
| LOW | rust/apps/cli/tests/cli/export.rs | 636 | let email = format!("live-publication-{}@example.org", Uuid::new_v4()); | CODE |
| LOW | rust/apps/cli/tests/cli/export.rs | 688 | let email = format!("live-adoption-{}@example.org", Uuid::new_v4()); | CODE |
| LOW | rust/apps/cli/tests/cli/export.rs | 855 | let email = format!("live-export-{}@example.org", Uuid::new_v4()); | CODE |
| LOW | rust/apps/cli/tests/cli/export.rs | 1159 | let email = format!("invalid-live-{}@example.org", Uuid::new_v4()); | CODE |
| LOW | rust/apps/cli/tests/cli/export.rs | 1342 | let email = format!("export-names-{}@example.org", Uuid::new_v4()); | CODE |
| LOW | rust/apps/cli/tests/cli/export.rs | 1456 | let email = format!("live-names-{}@example.org", Uuid::new_v4()); | CODE |
| LOW | rust/apps/cli/tests/cli/export.rs | 1587 | let email = format!("skewed-export-{}@example.org", Uuid::new_v4()); | CODE |
| LOW | rust/apps/cli/tests/cli/export.rs | 1750 | let email = format!("export-{}@example.org", Uuid::new_v4()); | CODE |
| LOW | rust/apps/cli/tests/cli/admin_museum.rs | 18 | let admin_email = format!("admin-{}@example.org", Uuid::new_v4()); | CODE |
| LOW | rust/apps/cli/tests/cli/admin_museum.rs | 19 | let email = format!("managed-{}@example.org", Uuid::new_v4()); | CODE |
| LOW | rust/apps/cli/tests/cli/admin_museum.rs | 166 | let missing = create_account(origin, &format!("missing-{}@example.org", Uuid::new_v4())).await; | CODE |
| LOW | rust/apps/cli/tests/cli/admin_museum.rs | 255 | let admin_email = format!("admin-{}@example.org", Uuid::new_v4()); | CODE |
| LOW | rust/apps/cli/tests/cli/admin_museum.rs | 256 | let email = format!("interactive-{}@example.org", Uuid::new_v4()); | CODE |
| LOW | rust/apps/cli/tests/cli/admin_museum.rs | 317 | let admin_email = format!("admin-{}@example.org", Uuid::new_v4()); | CODE |
| LOW | rust/apps/cli/tests/cli/admin_museum.rs | 318 | let email = format!("security-{}@example.org", Uuid::new_v4()); | CODE |
| LOW | rust/apps/cli/tests/cli/admin_museum.rs | 420 | "override@example.org" | CODE |
| LOW | rust/apps/cli/tests/cli/admin_museum.rs | 432 | let email = format!("admin-{}@example.org", Uuid::new_v4()); | CODE |
| LOW⚡ | rust/apps/cli/tests/cli/admin_museum.rs | 447 | "delivery@example.org", | CODE |
| LOW⚡ | rust/apps/cli/tests/cli/admin_museum.rs | 449 | "sender@example.org", | CODE |
| LOW⚡ | rust/apps/cli/tests/cli/admin_museum.rs | 457 | json!({"to": "delivery@example.org", "accepted": true}) | CODE |
| LOW⚡ | rust/apps/cli/tests/cli/admin_museum.rs | 461 | "override@example.org" | CODE |
| LOW⚡ | rust/apps/cli/tests/cli/admin_museum.rs | 463 | "sender@example.org" | CODE |
| LOW⚡ | rust/apps/cli/tests/cli/account.rs | 64 | br#"{"email":"input@example.org","password":" secret "}"# | CODE |
| LOW⚡ | rust/apps/cli/tests/cli/account.rs | 71 | br#"{"email":"new@example.org","password":" secret "}"#.as_slice(), | CODE |
| LOW⚡ | rust/apps/cli/tests/cli/account.rs | 76 | br#"{"email":"new@example.org","password":" secret ","otp":"123456"}"#.as_slice(), | CODE |
| LOW⚡ | rust/apps/cli/tests/cli/account.rs | 81 | br#"{"email":"new@example.org","otp":"123456"}"#.as_slice(), | CODE |
| LOW⚡ | rust/apps/cli/tests/cli/account.rs | 205 | br#"{"email":"new@example.org","password":" secret \ud83d\ude42 "}"#, | CODE |
| LOW⚡ | rust/apps/cli/tests/cli/account.rs | 213 | .with_body(r#"{"email":"new@example.org"}"#) | CODE |
| LOW⚡ | rust/apps/cli/tests/cli/account.rs | 220 | br#"{"email":"new@example.org","password":" secret \ud83d\ude42 "}"#, | CODE |
| LOW⚡ | rust/apps/cli/tests/cli/account.rs | 726 | {"id": "a", "email": "admin@example.org", "status": "ACCEPTED", "usage": 50 * GB, "isAdmin": true}, | CODE |
| LOW⚡ | rust/apps/cli/tests/cli/account.rs | 727 | {"id": "b", "email": "fixture@example.org", "status": "ACCEPTED", "usage": 3 * GB, "storageLimit": 5 * GB}, | CODE |
| LOW⚡ | rust/apps/cli/tests/cli/account.rs | 728 | {"id": "c", "email": "new@example.org", "status": "INVITED"} | CODE |
| 66 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | docs/docs/self-hosting/installation/compose.md | 14 | ## Step 1: Clone the repository | COMMENT |
| LOW | docs/docs/self-hosting/installation/compose.md | 25 | ## Step 2: Populate the configuration file and environment variables | COMMENT |
| LOW | docs/docs/self-hosting/installation/compose.md | 57 | ## Step 3: Start the cluster | COMMENT |
| LOW | docs/docs/self-hosting/installation/manual.md | 76 | ## Step 1: Clone the repository | COMMENT |
| LOW | docs/docs/self-hosting/installation/manual.md | 84 | ## Step 2: Configure PostgreSQL database | COMMENT |
| LOW | docs/docs/self-hosting/installation/manual.md | 122 | ## Step 3: Configure Museum (Ente's server) | COMMENT |
| LOW | docs/docs/self-hosting/installation/manual.md | 168 | ## Step 4: Configure Web Application | COMMENT |
| LOW | …s/docs/self-hosting/installation/post-install/index.md | 10 | ## Step 1: Creating first user | COMMENT |
| LOW | …s/docs/self-hosting/installation/post-install/index.md | 43 | ## Step 2: Whitelist admins | COMMENT |
| LOW | …s/docs/self-hosting/installation/post-install/index.md | 94 | ## Step 3: Configure application endpoints | COMMENT |
| LOW | …s/docs/self-hosting/installation/post-install/index.md | 115 | ## Step 4: Make it publicly accessible | COMMENT |
| LOW | …s/docs/self-hosting/installation/post-install/index.md | 150 | ## Step 5: Download mobile and desktop app | COMMENT |
| LOW | …s/docs/self-hosting/installation/post-install/index.md | 156 | ## Step 6: Configure apps to use your server | COMMENT |
| LOW | …s/docs/self-hosting/installation/post-install/index.md | 182 | ## Step 7: Configure Ente CLI | COMMENT |
| LOW | docs/docs/self-hosting/guides/photos-k8s-helm.md | 60 | ## Step 1: Add the Helm repository | COMMENT |
| LOW | docs/docs/self-hosting/guides/photos-k8s-helm.md | 75 | ## Step 2: Create a values file | COMMENT |
| LOW | docs/docs/self-hosting/guides/photos-k8s-helm.md | 145 | ## Step 3: Configure ingress (optional) | COMMENT |
| LOW | docs/docs/self-hosting/guides/photos-k8s-helm.md | 235 | ## Step 4: Configure email (optional) | COMMENT |
| LOW | docs/docs/self-hosting/guides/photos-k8s-helm.md | 250 | ## Step 5: Install the chart | COMMENT |
| LOW | docs/docs/self-hosting/guides/photos-k8s-helm.md | 270 | ## Step 6: Verify the installation | COMMENT |
| LOW | docs/docs/self-hosting/guides/photos-k8s-helm.md | 284 | ## Step 7: Create your first user | COMMENT |
| LOW | docs/docs/self-hosting/administration/cli.md | 18 | ## Step 1: Configure endpoint | COMMENT |
| LOW | docs/docs/self-hosting/administration/cli.md | 32 | ## Step 2: Whitelist admins | COMMENT |
| LOW | docs/docs/self-hosting/administration/cli.md | 36 | ## Step 3: Add an account | COMMENT |
| LOW | docs/docs/self-hosting/administration/cli.md | 56 | ## Step 4: Increase storage and account validity | COMMENT |
| LOW | docs/docs/self-hosting/administration/reverse-proxy.md | 31 | ## Step 1: Configure A or AAAA records | COMMENT |
| LOW | docs/docs/self-hosting/administration/reverse-proxy.md | 41 | ## Step 2: Configure reverse proxy | COMMENT |
| LOW | docs/docs/self-hosting/administration/reverse-proxy.md | 101 | ## Step 3: Reload reverse proxy | COMMENT |
| LOW | docs/docs/self-hosting/administration/reverse-proxy.md | 109 | ## Step 4: Verify the setup | COMMENT |
| LOW | …s/docs/auth/migration/microsoft-authenticator/index.md | 22 | ### Step 1: Install Ente Auth | COMMENT |
| LOW | …s/docs/auth/migration/microsoft-authenticator/index.md | 28 | ### Step 2: Open the account's security settings | COMMENT |
| LOW⚡ | …s/docs/auth/migration/microsoft-authenticator/index.md | 41 | ### Step 3: Replace the authenticator app | COMMENT |
| LOW⚡ | …s/docs/auth/migration/microsoft-authenticator/index.md | 49 | ### Step 4: Add the account to Ente Auth | COMMENT |
| LOW⚡ | …s/docs/auth/migration/microsoft-authenticator/index.md | 57 | ### Step 5: Verify the code | COMMENT |
| LOW⚡ | …s/docs/auth/migration/microsoft-authenticator/index.md | 63 | ### Step 6: Repeat for all accounts | COMMENT |
| LOW | docs/docs/locker/getting-started/family-setup.md | 19 | ## Step 1: Set up accounts for family members | COMMENT |
| LOW | docs/docs/locker/getting-started/family-setup.md | 57 | ## Step 2: Plan your collection structure | COMMENT |
| LOW | docs/docs/locker/getting-started/family-setup.md | 76 | ## Step 3: Digitize and upload important documents | COMMENT |
| LOW | docs/docs/locker/getting-started/family-setup.md | 127 | ## Step 4: Share collections with family members | COMMENT |
| LOW | docs/docs/locker/getting-started/family-setup.md | 158 | ## Step 5: Set up Legacy for account recovery | COMMENT |
| LOW | docs/docs/locker/getting-started/family-setup.md | 202 | ## Step 6: Create an emergency information sheet | COMMENT |
| LOW | …ocs/photos/features/sharing-and-collaboration/embed.md | 44 | #### Step 1 - Create a public link | COMMENT |
| LOW | …ocs/photos/features/sharing-and-collaboration/embed.md | 53 | #### Step 2 - Add iframe to your website | COMMENT |
| LOW | …ures/sharing-and-collaboration/custom-domains/index.md | 41 | ### Step 1 - Link your domain | COMMENT |
| LOW | …ures/sharing-and-collaboration/custom-domains/index.md | 47 | ### Step 2 - Add DNS entry | COMMENT |
| LOW | docs/docs/photos/migration/from-amazon-photos.md | 16 | ### Step 1: Download from Amazon Photos | COMMENT |
| LOW | docs/docs/photos/migration/from-amazon-photos.md | 30 | ### Step 2: Organize your downloads (Optional) | COMMENT |
| LOW | docs/docs/photos/migration/from-amazon-photos.md | 40 | ### Step 3: Upload to Ente | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | infra/ml/test/tools/parity_shell_helpers.py | 127 | def ios_physical_available_ids() -> set[str]: | CODE |
| LOW⚡ | infra/ml/test/tools/parity_shell_helpers.py | 309 | def cmd_is_ios_simulator_udid(args: list[str]) -> None: | CODE |
| LOW⚡ | infra/ml/test/tools/parity_shell_helpers.py | 329 | def cmd_list_android_emulators(args: list[str]) -> None: | CODE |
| LOW | infra/ml/test/tools/parity_shell_helpers.py | 407 | def _summarize_metric_failures(metric: str, failures: list[dict[str, object]]) -> str: | CODE |
| LOW | infra/ml/test/tools/_report_common.py | 60 | def format_generated_timestamp(value: object) -> str: | CODE |
| LOW | infra/ml/test/tools/generate_ml_indexing_golden.py | 98 | def _dump_deterministic_results(results) -> str: | CODE |
| LOW | infra/ml/test/ground_truth/_runtime.py | 212 | def _parse_primary_item_ipma_associations( | CODE |
| LOW | infra/ml/test/ground_truth/_runtime.py | 269 | def _heif_primary_item_has_orientation_transform(source_path: Path) -> bool: | CODE |
| LOW | infra/ml/test/ground_truth/_runtime.py | 332 | def _correct_image_orientation(image: Image.Image, *, source_path: Path | None = None) -> Image.Image: | CODE |
| LOW | infra/ml/test/ground_truth/face_detection.py | 38 | def preprocess_image_yolo_face( | CODE |
| LOW | infra/ml/test/ground_truth/face_detection.py | 91 | def _correct_for_aspect_ratio( | CODE |
| LOW | infra/ml/test/ground_truth/face_alignment.py | 38 | def _estimate_similarity_transform(src_landmarks: np.ndarray) -> np.ndarray: | CODE |
| LOW | infra/ml/test/ground_truth/face_alignment.py | 48 | def align_faces_for_mobilefacenet( | CODE |
| LOW | infra/ml/test/ground_truth/schema.py | 46 | def _validate_normalized_vector( | CODE |
| LOW | infra/ml/test/ground_truth/schema.py | 63 | def _validate_normalized_point(point: Sequence[Any], *, field_name: str) -> tuple[float, float]: | CODE |
| LOW | …fra/ml/playground/optimizations/optimize_ocr_models.py | 58 | def canonicalize_scalar_affines(model): | CODE |
| LOW | …fra/ml/playground/optimizations/optimize_ocr_models.py | 160 | def fuse_recognizer_layer_norms(model): | CODE |
| LOW | …fra/ml/playground/optimizations/optimize_ocr_models.py | 229 | def compact_recognizer_output(model): | CODE |
| LOW | …fra/ml/playground/optimizations/optimize_ocr_models.py | 358 | def rewrite_classifier_hardswish(model): | CODE |
| LOW | infra/ml/playground/optimizations/optimize_models.py | 208 | def rewrite_prelu_decompositions(model: onnx.ModelProto) -> int: | CODE |
| LOW | infra/ml/playground/optimizations/optimize_models.py | 334 | def make_implicit_conv_padding_explicit(model: onnx.ModelProto) -> int: | CODE |
| LOW | infra/ml/playground/optimizations/optimize_models.py | 347 | def remove_redundant_output_normalization(model: onnx.ModelProto) -> int: | CODE |
| LOW | …nents/upload-progress/StopUploadConfirmationDialog.tsx | 28 | export function StopUploadConfirmationDialog({ | CODE |
| LOW | web/packages/accounts/components/SignUpContents.tsx | 157 | function handleAcceptedTermsChange(acceptedTerms: boolean) { | CODE |
| LOW | web/packages/accounts/components/auth/TextField.tsx | 93 | function handlePasswordToggleMouseDown( | CODE |
| LOW | web/apps/photobook/src/context/BookContext.tsx | 112 | function buildEnteOriginalDownloadJob( | CODE |
| LOW | web/apps/photobook/src/lib/layouts.ts | 774 | export function defaultVariantKeyForCount(count: number): string { | CODE |
| LOW | web/apps/photobook/src/lib/images.ts | 25 | export async function normalizeImportedImageBlob( | CODE |
| LOW | …ker/src/components/sidebar/LockerRecoveryKeyDrawer.tsx | 48 | function LockerRecoveryKeyPresentation({ | CODE |
| LOW | …ocker/src/components/create-item/FileUploadSection.tsx | 695 | function areUploadItemCardPropsEqual( | CODE |
| LOW | web/apps/photos/src/utils/file-actions.ts | 185 | function insertSendLinkBeforeDownload(actions: FileContextAction[]): void { | CODE |
| LOW | web/apps/photos/src/utils/file-actions.ts | 204 | function insertAddPersonBeforeModifications( | CODE |
| LOW | …photos/src/components/auth/PasskeyVerificationForm.tsx | 19 | export function PasskeyVerificationPresentation( | CODE |
| LOW | …ps/photos/src/components/gallery/GalleryEmptyState.tsx | 235 | function GalleryEmptyStateSkeleton(): React.JSX.Element { | CODE |
| LOW | web/apps/photos/src/services/upload-manager.ts | 288 | function convertInProgressUploadsToList(inProgressUploads: InProgressUploads) { | CODE |
| LOW | …ums/src/public-album/upload/services/upload-manager.ts | 200 | function convertInProgressUploadsToList(inProgressUploads: InProgressUploads) { | CODE |
| LOW | web/apps/memories/src/components/LaneMemoryViewer.tsx | 1056 | function LaneDesktopBackgroundGridOverlay() { | CODE |
| LOW | web/apps/memories/src/components/LaneMemoryViewer.tsx | 1105 | function LaneMobileBackgroundGridOverlay() { | CODE |
| LOW | …apps/memories/src/components/PublicMemoryPageShell.tsx | 23 | export function PublicMemoryLoadingContent() { | CODE |
| LOW | web/apps/memories/src/pages/index.tsx | 15 | function ViewerChunkLoadingFallback() { | CODE |
| LOW⚡ | android/checks/gradle-order/test.py | 16 | def test_includes_across_calls_and_multiline_arguments(self): | CODE |
| LOW⚡ | android/checks/gradle-order/test.py | 23 | def test_comments_strings_and_repositories_are_not_declarations(self): | CODE |
| LOW⚡ | android/checks/gradle-order/test.py | 31 | def test_character_literals_do_not_change_declaration_nesting(self): | STRING |
| LOW⚡ | android/checks/gradle-order/test.py | 39 | def test_each_dependency_configuration_is_sorted_independently(self): | STRING |
| LOW | android/checks/gradle-order/test.py | 57 | def test_strings_preserve_following_declarations(self): | STRING |
| LOW⚡ | android/checks/gradle-order/test.py | 71 | def test_named_dependency_coordinates_mix_with_string_notation(self): | STRING |
| LOW⚡ | android/checks/gradle-order/test.py | 81 | def test_build_script_file_filters_are_not_project_includes(self): | STRING |
| LOW⚡ | android/checks/gradle-order/test.py | 87 | def test_projects_platforms_catalogs_and_add(self): | STRING |
| LOW | android/checks/gradle-order/test.py | 104 | def test_dependency_customization_is_not_another_declaration(self): | STRING |
| LOW | android/checks/gradle-order/test.py | 115 | def test_cli_excludes_build_directories(self): | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | server/configurations/local.yaml | 1 | # Museum loads configuration in this order: | COMMENT |
| LOW | server/configurations/local.yaml | 21 | # Defaults to credentials.yaml in the current working directory. | COMMENT |
| LOW | server/configurations/local.yaml | 41 | # | COMMENT |
| LOW | server/configurations/local.yaml | 61 | # If you're running a self hosted instance and wish to serve public links for photos, | COMMENT |
| LOW | server/configurations/local.yaml | 81 | # Set this to the URL where your accounts web app is running. It is used | COMMENT |
| LOW | server/configurations/local.yaml | 121 | host: localhost | COMMENT |
| LOW | server/configurations/local.yaml | 141 | # "b2-eu-cen"). | COMMENT |
| LOW | server/configurations/local.yaml | 201 | # 3. Directly download the file during replication instead of going via the | COMMENT |
| LOW | server/configurations/local.yaml | 221 | # The application does not handle these cases. By default, we will use the derived-storage or hot storage bucket | COMMENT |
| LOW | server/configurations/local.yaml | 241 | # new keys. You can use `go run tools/gen-random-keys/main.go` for that. | COMMENT |
| LOW | server/configurations/local.yaml | 301 | # Our "Relying Party" ID. This scopes the generated credentials. | COMMENT |
| LOW | server/configurations/local.yaml | 341 | # | COMMENT |
| LOW | server/configurations/local.yaml | 361 | # local-domain-suffix: "@example.org" | COMMENT |
| LOW | server/configurations/local.yaml | 381 | enabled: false | COMMENT |
| LOW | …/apps/auth/linux/flutter/generated_plugin_registrant.h | 1 | // | COMMENT |
| LOW | mobile/apps/auth/lib/models/protos/googleauth.pb.dart | 1 | // | COMMENT |
| LOW | …e/apps/auth/lib/models/protos/googleauth.pbserver.dart | 1 | // | COMMENT |
| LOW | mobile/apps/auth/windows/runner/resource.h | 1 | //{{NO_DEPENDENCIES}} | COMMENT |
| LOW | …pps/auth/windows/flutter/generated_plugin_registrant.h | 1 | // | COMMENT |
| LOW | mobile/apps/photos/pubspec.yaml | 221 | # ------------------------------ | COMMENT |
| LOW | mobile/apps/photos/pubspec.yaml | 241 | # adaptive_icon_background: "#08C225" | COMMENT |
| LOW | mobile/apps/photos/ios/RiveSimulatorArchInfo.c | 1 | #include <TargetConditionals.h> | COMMENT |
| LOW | mobile/apps/photos/ios/Runner/Runner-Bridging-Header.h | 1 | #import "GeneratedPluginRegistrant.h" | COMMENT |
| LOW | …/apps/photos/lib/models/location/location.freezed.dart | 1 | // GENERATED CODE - DO NOT MODIFY BY HAND | COMMENT |
| LOW | …/apps/photos/lib/models/location/location.freezed.dart | 81 | /// A variant of `map` that fallback to returning `orElse`. | COMMENT |
| LOW | …/apps/photos/lib/models/location/location.freezed.dart | 101 | } | COMMENT |
| LOW | …/apps/photos/lib/models/location/location.freezed.dart | 121 | COMMENT | |
| LOW | …/apps/photos/lib/models/location/location.freezed.dart | 141 | return null; | COMMENT |
| LOW | …/apps/photos/lib/models/location/location.freezed.dart | 161 | return orElse(); | COMMENT |
| LOW | …/apps/photos/lib/models/location/location.freezed.dart | 181 | return $default(_that.latitude,_that.longitude);case _: | COMMENT |
| LOW | …otos/lib/models/location_tag/location_tag.freezed.dart | 1 | // GENERATED CODE - DO NOT MODIFY BY HAND | COMMENT |
| LOW | …otos/lib/models/location_tag/location_tag.freezed.dart | 161 | /// switch (sealedClass) { | COMMENT |
| LOW | …otos/lib/models/location_tag/location_tag.freezed.dart | 181 | /// ```dart | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | infra/ml/test/ground_truth/_runtime.py | 22 | except Exception: | CODE |
| HIGH | rust/apps/cli/tests/cli/admin_prompt.py | 68 | except ProcessLookupError: | CODE |
| HIGH | rust/apps/cli/tests/cli/admin_prompt.py | 25 | except OSError: | CODE |
| HIGH | rust/apps/cli/tests/cli/account_prompt.py | 58 | except ProcessLookupError: | CODE |
| HIGH | rust/apps/cli/tests/cli/account_prompt.py | 50 | except OSError: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | …pp/src/main/kotlin/io/ente/photos/WallpaperActivity.kt | 6 | class WallpaperActivity : io.ente.photos.platform.flutter.WallpaperActivity() { | CODE |
| CRITICAL | …d/apps/ensu/app/src/main/java/io/ente/ensu/HomeView.kt | 126 | androidx.activity.result.contract.ActivityResultContracts.CreateDocument( | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | infra/ml/test/comparator/compare.py | 1 | CODE | |
| LOW | infra/ml/test/tools/parity_shell_helpers.py | 3 | CODE | |
| LOW | infra/ml/test/tools/_report_common.py | 2 | CODE | |
| LOW | infra/ml/test/tools/_paths.py | 1 | CODE | |
| LOW | infra/ml/test/tools/compare_parity_outputs.py | 2 | CODE | |
| LOW | infra/ml/test/tools/compare_parity_outputs.py | 10 | CODE | |
| LOW | infra/ml/test/tools/visualize_ground_truth_decodes.py | 2 | CODE | |
| LOW | infra/ml/test/tools/render_face_detection_overlays.py | 2 | CODE | |
| LOW | infra/ml/test/tools/generate_goldens.py | 2 | CODE | |
| LOW | infra/ml/test/tools/generate_ml_indexing_golden.py | 2 | CODE | |
| LOW | infra/ml/test/tools/render_parity_html_report.py | 2 | CODE | |
| LOW | infra/ml/test/ground_truth/_runtime.py | 1 | CODE | |
| LOW | infra/ml/test/ground_truth/face_detection.py | 1 | CODE | |
| LOW | infra/ml/test/ground_truth/pipeline.py | 1 | CODE | |
| LOW | infra/ml/test/ground_truth/face_alignment.py | 1 | CODE | |
| LOW | infra/ml/test/ground_truth/face_embedding.py | 1 | CODE | |
| LOW | infra/ml/test/ground_truth/clip.py | 1 | CODE | |
| LOW | infra/ml/test/ground_truth/schema.py | 1 | CODE | |
| LOW | infra/ml/playground/optimizations/optimize_models.py | 2 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | infra/ml/test/comparator/compare.py | 413 | CODE | |
| LOW | infra/ml/test/tools/parity_shell_helpers.py | 63 | CODE | |
| LOW | infra/ml/test/tools/parity_shell_helpers.py | 279 | CODE | |
| LOW | infra/ml/test/tools/parity_shell_helpers.py | 489 | CODE | |
| LOW | infra/ml/test/tools/render_parity_html_report.py | 23 | CODE | |
| LOW | infra/ml/test/ground_truth/_runtime.py | 59 | CODE | |
| LOW | infra/ml/test/ground_truth/_runtime.py | 212 | CODE | |
| LOW | …fra/ml/playground/optimizations/optimize_ocr_models.py | 27 | CODE | |
| LOW | …fra/ml/playground/optimizations/optimize_ocr_models.py | 358 | CODE | |
| LOW | …fra/ml/playground/optimizations/optimize_ocr_models.py | 713 | CODE | |
| LOW | rust/apps/cli/tests/cli/account_prompt.py | 18 | CODE | |
| LOW | android/checks/gradle-order/check.py | 25 | CODE | |
| LOW | android/checks/gradle-order/check.py | 45 | CODE | |
| LOW | android/checks/gradle-order/check.py | 120 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | infra/ml/test/tools/parity_shell_helpers.py | 70 | except Exception: | CODE |
| LOW | infra/ml/test/tools/parity_shell_helpers.py | 234 | except Exception: | CODE |
| LOW | infra/ml/test/tools/parity_shell_helpers.py | 292 | except Exception: | CODE |
| LOW⚡ | infra/ml/test/tools/parity_shell_helpers.py | 319 | except Exception: | CODE |
| LOW⚡ | infra/ml/test/tools/parity_shell_helpers.py | 339 | except Exception: | CODE |
| LOW | infra/ml/test/tools/parity_shell_helpers.py | 362 | except Exception: | CODE |
| LOW | infra/ml/test/tools/parity_shell_helpers.py | 387 | except Exception: | CODE |
| LOW | infra/ml/test/tools/render_face_detection_overlays.py | 338 | except Exception as exc: # noqa: BLE001 | CODE |
| LOW | infra/ml/test/ground_truth/_runtime.py | 22 | except Exception: | CODE |
| LOW | infra/ml/test/ground_truth/_runtime.py | 272 | except Exception: | CODE |
| LOW | infra/ml/test/ground_truth/_runtime.py | 364 | except Exception as pillow_error: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | server/quickstart.sh | 112 | # Set this to your custom museum URL, if any. | COMMENT |
| LOW | server/quickstart.sh | 175 | # Set this to false for external buckets or buckets using SSL. | COMMENT |
| LOW | server/quickstart.sh | 177 | # Set this to false for subdomain-style URLs. Keep it true for MinIO with SSL. | COMMENT |
| LOW | server/configurations/local.yaml | 81 | # Set this to the URL where your accounts web app is running. It is used | COMMENT |
| LOW | server/configurations/local.yaml | 97 | # Set this to the URL where your space web app is running. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | docs/docs/photos/faq/search-and-discovery.md | 424 | ### Can I search for photos using the descriptions I've added? {#search-descriptions} | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | mobile/apps/photos/pubspec.yaml | 219 | # ------------------------------ | COMMENT |
| MEDIUM | mobile/apps/photos/pubspec.yaml | 221 | # ------------------------------ | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | rust/tools/codegen/src/main.rs | 109 | // TODO: Android cast bindings scaffold | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | cli/docker-compose.yml | 13 | # While adding account for export, you can use /data as the export directory. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | infra/ml/playground/optimizations/optimize_models.py | 327 | def set_batch_one(model: onnx.ModelProto) -> None: | CODE |