WordPress for iOS - Official repository
This report summarizes scanner evidence for wordpress-mobile/WordPress-iOS, a Swift project with 3,910 GitHub stars. SynthScan examined 580,376 lines of code across 5246 source files, recording 592 pattern matches distributed across 15 syntactic categories. The legacy adjusted pattern signal is 1.2 (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? 456 finding(s).
Are imports declared and package/API names verified? 123 finding(s).
Are wrappers, guards, and repeated structures necessary? 41 finding(s).
Which changes need focused human review? 592 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 592 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 | BuildTools/Empty.swift | 1 | // Here only to satisfy SwiftPM requirement. | COMMENT |
| LOW | …ess/Classes/Networking/MediaRequestAuthenticator.swift | 41 | authenticatedRequest(for: url, from: host) { request in | COMMENT |
| LOW | …ess/Classes/Networking/MediaRequestAuthenticator.swift | 241 | /// By recommendation of @zieladam we'll be using the Atomic Proxy endpoint for these until | COMMENT |
| LOW | WordPress/Classes/Networking/Pinghub.swift | 1 | import Foundation | COMMENT |
| LOW | WordPress/Classes/Networking/Pinghub.swift | 161 | #endif | COMMENT |
| LOW | WordPress/Classes/Stores/NoticeStore.swift | 141 | /// not ideal: | COMMENT |
| LOW | WordPress/Classes/Stores/NoticeStore.swift | 161 | // Show the missed notices. | COMMENT |
| LOW | WordPress/Classes/Models/ReaderPost+Swift.swift | 61 | return try context.fetch(request).first | COMMENT |
| LOW | …dPress/Classes/Models/WPAccount+DeduplicateBlogs.swift | 1 | import Foundation | COMMENT |
| LOW | WordPress/Classes/Models/JetpackSiteRef.swift | 1 | import WordPressData | COMMENT |
| LOW | WordPress/Classes/Models/Blog/Blog+Files.swift | 1 | import UniformTypeIdentifiers | COMMENT |
| LOW | …lasses/Models/Notifications/NotificationSettings.swift | 1 | import Foundation | COMMENT |
| LOW | …lasses/Models/Notifications/NotificationSettings.swift | 21 | /// with `context.existingObject(with: blogManagedObjectID)` to retrieve the corresponding managed object in a threa | COMMENT |
| LOW | …Classes/Extensions/NSAttributedString+StyledHTML.swift | 1 | import UIKit | COMMENT |
| LOW | WordPress/Classes/Extensions/Comment+Interface.swift | 1 | import Foundation | COMMENT |
| LOW | …Extensions/UITraitCollection+LargestDisplayScale.swift | 1 | import UIKit | COMMENT |
| LOW | …ss/Classes/Extensions/UIViewController+NoResults.swift | 21 | COMMENT | |
| LOW | …ss/Classes/Extensions/UIViewController+NoResults.swift | 61 | } | COMMENT |
| LOW | WordPress/Classes/System/WordPress-Bridging-Header.h | 1 | // WordPress Module | COMMENT |
| LOW | WordPress/Classes/System/WordPress-Bridging-Header.h | 21 | #import "NSObject+Helpers.h" | COMMENT |
| LOW | WordPress/Classes/System/WordPress-Bridging-Header.h | 41 | #import "ThemeService.h" | COMMENT |
| LOW | …iewRelated/Reader/Detail/ReaderDetailCoordinator.swift | 501 | WPAppAnalytics.track(.readerTagPreviewed, withProperties: properties) | COMMENT |
| LOW | …Related/Reader/Detail/ReaderDetailViewController.swift | 1421 | COMMENT | |
| LOW | …ses/ViewRelated/Reader/Controllers/ReaderHelpers.swift | 41 | public static let discoverSiteID = NSNumber(value: 53424024) | COMMENT |
| LOW | …ses/ViewRelated/Reader/Controllers/ReaderHelpers.swift | 61 | @objc open class func isTopicList(_ topic: ReaderAbstractTopic) -> Bool { | COMMENT |
| LOW | …ses/ViewRelated/Reader/Controllers/ReaderHelpers.swift | 101 | /// Check if the specified topic is a search topic | COMMENT |
| LOW | …ses/ViewRelated/Reader/Controllers/ReaderHelpers.swift | 141 | /// | COMMENT |
| LOW | …ed/Reader/Controllers/ReaderStreamViewController.swift | 21 | /// are cached via willDisplayCell. | COMMENT |
| LOW | …ed/Reader/Controllers/ReaderStreamViewController.swift | 261 | /// | COMMENT |
| LOW | …llers/ReaderPostActions/ReaderSavedPostsExporter.swift | 121 | } | COMMENT |
| LOW | …ess/Classes/ViewRelated/Comments/CommentsRouting.swift | 1 | import UIKit | COMMENT |
| LOW | …Classes/ViewRelated/Tools/SettingsTextViewController.h | 61 | /// Indicates whether an action button should be displayed at the bottom, or not. | COMMENT |
| LOW | …Classes/ViewRelated/Tools/SettingsTextViewController.h | 81 | @property (nonatomic, assign) SettingsTextModes mode; | COMMENT |
| LOW | …es/ViewRelated/Tools/SettingsMultiTextViewController.h | 21 | COMMENT | |
| LOW | …wRelated/NewGutenberg/NewGutenbergViewController.swift | 421 | let lightboxVC = LightboxViewController(sourceURL: fullSizeUrl, host: MediaHost(post)) | COMMENT |
| LOW | …wRelated/NewGutenberg/NewGutenbergViewController.swift | 441 | // .layoutGridBlock: false, | COMMENT |
| LOW | …wRelated/NewGutenberg/NewGutenbergViewController.swift | 461 | // .xposts: SiteSuggestionService.shared.shouldShowSuggestions(for: post.blog), | COMMENT |
| LOW | …/Post/Social/PostSocialSharingDraft+PostMetadata.swift | 1 | import Foundation | COMMENT |
| LOW | …ses/ViewRelated/Sharing/ShareAppContentPresenter.swift | 101 | // MARK: - Delegate Definition | COMMENT |
| LOW | …ed/Aztec/ViewControllers/AztecPostViewController.swift | 1501 | return sanitizedText | COMMENT |
| LOW | …ted/Gutenberg/GutenbergSuggestionsViewController.swift | 121 | COMMENT | |
| LOW | …es/ViewRelated/Blog/Sharing/WPStyleGuide+Sharing.swift | 1 | import Foundation | COMMENT |
| LOW | …Related/Blog/Blog Dashboard/Models/DashboardCard.swift | 161 | /// Whether the new Stats "Today" card is eligible for `blog`. | COMMENT |
| LOW | …es/ViewRelated/Blog/My Site/MySiteViewController.swift | 861 | COMMENT | |
| LOW | …on/Final Assembly/SiteCreationRequest+Validation.swift | 1 | import BuildSettingsKit | COMMENT |
| LOW | …ection/SiteDesignContentCollectionViewController.swift | 201 | contentSizeWillChange() | COMMENT |
| LOW | …iewRelated/CustomPostTypes/CustomPostTypeService.swift | 81 | .compactMap { entry -> PostTypeDetailsWithEditContext? in | COMMENT |
| LOW | …sses/ViewRelated/System/WPTabBarController+Swift.swift | 121 | } | COMMENT |
| LOW | …/ViewRelated/System/AdaptiveNavigationController.swift | 1 | import Foundation | COMMENT |
| LOW | …asses/ViewRelated/System/Notices/NoticePresenter.swift | 1 | import Foundation | COMMENT |
| LOW | …asses/ViewRelated/System/Notices/NoticePresenter.swift | 21 | /// | COMMENT |
| LOW | …ng/Coordinator/JetpackFeaturesRemovalCoordinator.swift | 141 | private static func shouldShowJetpackFeaturesBasedOnCurrentPhase() -> Bool { | COMMENT |
| LOW | …/Install/ViewModel/JetpackRemoteInstallViewModel.swift | 21 | /// The source tag to be used when the user opens the Support screen in case of installation errors. | COMMENT |
| LOW | …wRelated/People/Controllers/PersonViewController.swift | 441 | // Forgive Me: | COMMENT |
| LOW | …ses/ViewRelated/Suggestions/SuggestionsTableView.swift | 121 | /// Maps the row position to an index path. | COMMENT |
| LOW | …elated/Publicize/V2/BlogSocialOAuthAuthenticator.swift | 1 | import Foundation | COMMENT |
| LOW | …/Notifications/Tools/NotificationMediaDownloader.swift | 21 | /// Original Images Cache | COMMENT |
| LOW | …tificationsViewController/NotificationsListScope.swift | 1 | import Foundation | COMMENT |
| LOW | …ationsViewController/NotificationsViewController.swift | 21 | COMMENT | |
| LOW | …ationsViewController/NotificationsViewController.swift | 841 | /// Pushes the details for a given Notification Instance. | COMMENT |
| 320 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …ViewRelated/Reader/Cards/ReaderPostCellViewModel.swift | 80 | self.details = "Lorem ipsum dolor sit amet. Non omnis quia et natus voluptatum et eligendi voluptate vel iusto f | CODE |
| LOW | …ViewRelated/Reader/Cards/ReaderPostCellViewModel.swift | 80 | self.details = "Lorem ipsum dolor sit amet. Non omnis quia et natus voluptatum et eligendi voluptate vel iusto f | CODE |
| LOW | …/Activity/Details/ActivityLogDetailsView+Preview.swift | 52 | "name": "John Doe", | CODE |
| LOW⚡ | …wRelated/CustomPostTypes/CustomPostListViewModel.swift | 866 | title: "Lorem ipsum dolor sit amet", | CODE |
| LOW⚡ | …wRelated/CustomPostTypes/CustomPostListViewModel.swift | 866 | title: "Lorem ipsum dolor sit amet", | CODE |
| LOW⚡ | …wRelated/CustomPostTypes/CustomPostListViewModel.swift | 867 | content: "Lorem ipsum dolor sit amet consectetur adipiscing elit" | CODE |
| LOW⚡ | …wRelated/CustomPostTypes/CustomPostListViewModel.swift | 867 | content: "Lorem ipsum dolor sit amet consectetur adipiscing elit" | CODE |
| LOW | …ificationsList/NotificationsTableViewCellContent.swift | 280 | description: "Here is what I think of all this: Lorem ipsum dolor sit amet, consectetur adipiscing e | CODE |
| LOW | …ificationsList/NotificationsTableViewCellContent.swift | 280 | description: "Here is what I think of all this: Lorem ipsum dolor sit amet, consectetur adipiscing e | CODE |
| LOW | …tTests/Tests/CommentServiceRemoteREST+APIv2Tests.swift | 43 | XCTAssertEqual(firstComment.authorName, "John Doe") | CODE |
| LOW | …ssKitTests/Tests/PostServiceRemoteRESTLikesTests.swift | 44 | XCTAssertEqual(user.displayName, "John Doe") | CODE |
| LOW⚡ | …itTests/Tests/PostServiceRemoteRESTRevisionsTest.swift | 84 | XCTAssertEqual(revision.postTitle, "Lorem ipsum dolor sit amet") | CODE |
| LOW⚡ | …itTests/Tests/PostServiceRemoteRESTRevisionsTest.swift | 84 | XCTAssertEqual(revision.postTitle, "Lorem ipsum dolor sit amet") | CODE |
| LOW⚡ | …itTests/Tests/PostServiceRemoteRESTRevisionsTest.swift | 85 | XCTAssertEqual(revision.postContent, "Etiam in convallis orci. Dolor sit amet, conse | CODE |
| LOW⚡ | …itTests/Tests/PostServiceRemoteRESTRevisionsTest.swift | 94 | XCTAssertEqual(diff.values.titleDiffs.first?.value, "Lorem ipsum dolor sit amet") | CODE |
| LOW⚡ | …itTests/Tests/PostServiceRemoteRESTRevisionsTest.swift | 94 | XCTAssertEqual(diff.values.titleDiffs.first?.value, "Lorem ipsum dolor sit amet") | CODE |
| LOW⚡ | …itTests/Tests/PostServiceRemoteRESTRevisionsTest.swift | 97 | XCTAssertEqual(diff.values.contentDiffs[0].value, "Lorem ipsum d") | CODE |
| LOW | …ressKitTests/Tests/UsersServiceRemoteXMLRPCTests.swift | 41 | XCTAssertEqual(remoteProfile.email, "user@example.com", "Email should be equal.") | CODE |
| LOW | …WordPressKitTests/Tests/Models/RemotePersonTests.swift | 17 | let name = "test@test.com" | CODE |
| LOW | …WordPressKitTests/Tests/Models/RemotePersonTests.swift | 54 | let name = "test@test.com" | CODE |
| LOW | …tats/V2/Insights/MockData/stats-insight-last-post.json | 8 | "name": "Jane Doe", | CODE |
| LOW | …tats/V2/Insights/MockData/stats-insight-last-post.json | 163 | "credit": "Jane Doe", | CODE |
| LOW | …tats/V2/Insights/MockData/stats-insight-last-post.json | 167 | "copyright": "Jane Doe", | CODE |
| LOW | …tTests/Mock Data/comments-v2-view-context-success.json | 7 | "author_name": "John Doe", | CODE |
| LOW | … Data/site-email-followers-get-success-more-pages.json | 10 | "label": "test@test.com", | CODE |
| LOW | …tTests/Mock Data/site-email-followers-get-success.json | 10 | "label": "test@test.com", | CODE |
| LOW⚡ | …KitTests/Mock Data/post-revisions-mapping-success.json | 10 | "value": "Lorem ipsum dolor sit amet" | CODE |
| LOW⚡ | …KitTests/Mock Data/post-revisions-mapping-success.json | 10 | "value": "Lorem ipsum dolor sit amet" | CODE |
| LOW⚡ | …KitTests/Mock Data/post-revisions-mapping-success.json | 16 | "value": "Lorem ipsum d" | CODE |
| LOW⚡ | …KitTests/Mock Data/post-revisions-mapping-success.json | 52 | "post_content": "Etiam in convallis orci. Dolor sit amet, consectetur adipiscing elit. Cras eget consequat m | CODE |
| LOW⚡ | …KitTests/Mock Data/post-revisions-mapping-success.json | 54 | "post_title": "Lorem ipsum dolor sit amet" | CODE |
| LOW⚡ | …KitTests/Mock Data/post-revisions-mapping-success.json | 54 | "post_title": "Lorem ipsum dolor sit amet" | CODE |
| LOW | …PressKitTests/Mock Data/site-subscribers-response.json | 10 | "email_address": "user@example.com", | CODE |
| LOW⚡ | …ordPressKitTests/Mock Data/post-revisions-success.json | 10 | "value": "Lorem ipsum dolor sit amet" | CODE |
| LOW⚡ | …ordPressKitTests/Mock Data/post-revisions-success.json | 10 | "value": "Lorem ipsum dolor sit amet" | CODE |
| LOW⚡ | …ordPressKitTests/Mock Data/post-revisions-success.json | 16 | "value": "Etiam in convallis orci. Dolor sit amet, consectetur adipiscing elit. Cras eget conseq | CODE |
| LOW⚡ | …ordPressKitTests/Mock Data/post-revisions-success.json | 29 | "value": "Lorem ipsum dolor sit amet" | CODE |
| LOW⚡ | …ordPressKitTests/Mock Data/post-revisions-success.json | 29 | "value": "Lorem ipsum dolor sit amet" | CODE |
| LOW⚡ | …ordPressKitTests/Mock Data/post-revisions-success.json | 35 | "value": "Lorem ipsum d" | CODE |
| LOW | …ordPressKitTests/Mock Data/post-revisions-success.json | 71 | "value": "Lorem ipsum dolor sit amet" | CODE |
| LOW | …ordPressKitTests/Mock Data/post-revisions-success.json | 71 | "value": "Lorem ipsum dolor sit amet" | CODE |
| LOW | …ordPressKitTests/Mock Data/post-revisions-success.json | 85 | "value": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean et urna libero." | CODE |
| LOW | …ordPressKitTests/Mock Data/post-revisions-success.json | 85 | "value": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean et urna libero." | CODE |
| LOW⚡ | …ordPressKitTests/Mock Data/post-revisions-success.json | 105 | "post_content": "Etiam in convallis orci. Dolor sit amet, consectetur adipiscing elit. Cras eget consequat m | CODE |
| LOW⚡ | …ordPressKitTests/Mock Data/post-revisions-success.json | 107 | "post_title": "Lorem ipsum dolor sit amet" | CODE |
| LOW⚡ | …ordPressKitTests/Mock Data/post-revisions-success.json | 107 | "post_title": "Lorem ipsum dolor sit amet" | CODE |
| LOW⚡ | …ordPressKitTests/Mock Data/post-revisions-success.json | 114 | "post_content": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean et urna libero.", | CODE |
| LOW⚡ | …ordPressKitTests/Mock Data/post-revisions-success.json | 114 | "post_content": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean et urna libero.", | CODE |
| LOW⚡ | …ordPressKitTests/Mock Data/post-revisions-success.json | 116 | "post_title": "Lorem ipsum dolor sit amet" | CODE |
| LOW⚡ | …ordPressKitTests/Mock Data/post-revisions-success.json | 116 | "post_title": "Lorem ipsum dolor sit amet" | CODE |
| LOW⚡ | …ordPressKitTests/Mock Data/post-revisions-success.json | 123 | "post_content": "Etiam in convallis orci. Dolor sit amet, consectetur adipiscing elit. Cras eget consequat m | CODE |
| LOW⚡ | …ordPressKitTests/Mock Data/post-revisions-success.json | 125 | "post_title": "Lorem ipsum dolor sit amet" | CODE |
| LOW⚡ | …ordPressKitTests/Mock Data/post-revisions-success.json | 125 | "post_title": "Lorem ipsum dolor sit amet" | CODE |
| LOW | …tTests/Mock Data/comments-v2-edit-context-success.json | 7 | "author_name": "John Doe", | CODE |
| LOW | …ests/Mock Data/page-layout-blog-layouts-malformed.json | 6 | "content": "<!-- wp:spacer {\"height\":64} -->\n<div style=\"height:64px;\" aria-hidden=\"true\" class=\"wp- | CODE |
| LOW | …ests/Mock Data/page-layout-blog-layouts-malformed.json | 6 | "content": "<!-- wp:spacer {\"height\":64} -->\n<div style=\"height:64px;\" aria-hidden=\"true\" class=\"wp- | CODE |
| LOW⚡ | …tTests/Mock Data/page-layout-blog-layouts-success.json | 1 | {"layouts":[{"slug":"about-4","title":"About","content":"<!-- wp:spacer {\"height\":64} -->\n<div style=\"height:64px;\" | CODE |
| LOW⚡ | …tTests/Mock Data/page-layout-blog-layouts-success.json | 1 | {"layouts":[{"slug":"about-4","title":"About","content":"<!-- wp:spacer {\"height\":64} -->\n<div style=\"height:64px;\" | CODE |
| LOW | …ts/WordPressKitTests/Mock Data/stats-post-details.json | 5432 | "post_content": "<!-- wp:paragraph -->\n<p>This is a sample blog post content.</p>\n<!-- /wp:paragraph -->\n\n<! | CODE |
| LOW | …ts/WordPressKitTests/Mock Data/stats-post-details.json | 5432 | "post_content": "<!-- wp:paragraph -->\n<p>This is a sample blog post content.</p>\n<!-- /wp:paragraph -->\n\n<! | CODE |
| 62 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | .buildkite/commands/run-ai-e2e-tests.sh | 160 | # ── Label gate (Buildkite only) ───────────────────────────────────── | COMMENT |
| MEDIUM | .buildkite/commands/run-ai-e2e-tests.sh | 172 | # ── Required env vars ──────────────────────────────────────────────── | COMMENT |
| MEDIUM | .buildkite/commands/run-ai-e2e-tests.sh | 184 | # ── Defaults ───────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | .buildkite/commands/run-ai-e2e-tests.sh | 200 | # ── Artifact download (Buildkite only) ─────────────────────────────── | COMMENT |
| MEDIUM⚡ | .buildkite/commands/run-ai-e2e-tests.sh | 210 | # ── Install simulator-llm-pilot ────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | .buildkite/commands/run-ai-e2e-tests.sh | 215 | # ── Resolve simulator and install app (Buildkite only) ─────────────── | COMMENT |
| MEDIUM | .buildkite/commands/run-ai-e2e-tests.sh | 243 | # ── Build WebDriverAgent (if not present) ──────────────────────────── | COMMENT |
| MEDIUM | .buildkite/commands/run-ai-e2e-tests.sh | 247 | # ── Run tests ──────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | .buildkite/commands/run-ai-e2e-tests.sh | 263 | # ── Report results ─────────────────────────────────────────────────── | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | fastlane/lanes/plural_strings_helper.rb | 65 | def plural_keys_missing_other(catalog) | CODE |
| LOW | fastlane/lanes/plural_strings_helper.rb | 90 | def categories_by_locale_from_skeletons(xliff_paths) | CODE |
| LOW | fastlane/lanes/localization.rb | 127 | def apply_glotpress_translation_patch(parent_dir:) | CODE |
| LOW | fastlane/lanes/localization.rb | 517 | def download_localized_app_store_metadata(glotpress_project_url:, locales:, metadata_directory:, commit_message:) | CODE |
| LOW | fastlane/lanes/promote.rb | 233 | def promote_existing_build_to_groups(app:, app_version:, build_code:, changelog:) | CODE |
| LOW | fastlane/lanes/promote.rb | 274 | def marketing_version_for_build_code(build_code) | CODE |
| LOW | fastlane/lanes/promote.rb | 467 | def pull_request_number_from_message(message) | CODE |
| LOW | fastlane/lanes/promote.rb | 503 | def write_promotion_steps_file(candidates:) | CODE |
| LOW | fastlane/lanes/promote.rb | 658 | def promotion_outcome_summary(results, tier:, build_code:) | CODE |
| LOW | fastlane/lanes/promote.rb | 669 | def post_promotion_result_to_slack(build_code:, app_version:, results:, tier: 'public beta') | CODE |
| LOW | fastlane/lanes/codesign.rb | 124 | def update_code_signing_enterprise(readonly:, app_identifiers:) | CODE |
| LOW | fastlane/lanes/codesign.rb | 145 | def update_code_signing_app_store(readonly:, app_identifiers:) | CODE |
| LOW | fastlane/lanes/localization_plurals.rb | 117 | def write_plural_category_fixture(dir) | CODE |
| LOW | fastlane/lanes/localization_plurals.rb | 133 | def plural_translations_by_locale(dir) | CODE |
| LOW | fastlane/lanes/localization_catalog.rb | 231 | def enforce_immutable_source_keys(stringsdata_dir:) | CODE |
| LOW | fastlane/lanes/localization_catalog.rb | 292 | def download_catalog_translations(locales) | CODE |
| LOW | fastlane/lanes/localization_catalog.rb | 305 | def catalog_translations_by_locale(dir) | CODE |
| LOW | fastlane/lanes/release.rb | 484 | def trigger_buildkite_release_build(branch:, beta:) | CODE |
| LOW | fastlane/lanes/release.rb | 522 | def extracted_release_notes_file_path(app:) | CODE |
| LOW | fastlane/lanes/build.rb | 561 | def build_and_upload_prototype_build(scheme:, output_app_name:, firebase_app_config:, sentry_project_slug:, app_identi | CODE |
| LOW | fastlane/lanes/build.rb | 611 | def shared_testflight_marketing_version(app_identifiers:) | CODE |
| LOW | fastlane/lanes/build.rb | 639 | def testflight_marketing_version(app_identifier:) | CODE |
| LOW | fastlane/lanes/build.rb | 651 | def resolve_testflight_marketing_version(app_identifier:) | CODE |
| LOW | fastlane/lanes/build.rb | 682 | def increment_release_version(version_string) | CODE |
| LOW | fastlane/lanes/build.rb | 713 | def upload_build_to_testflight(ipa_path:, whats_new_path:, distribution_groups:, beta_app_description_path:) | CODE |
| LOW | fastlane/lanes/build.rb | 736 | def upload_app_to_testflight_internal(ipa_path:) | CODE |
| LOW | fastlane/lanes/build.rb | 770 | def upload_build_to_firebase_app_distribution(firebase_app_config:) | CODE |
| LOW | fastlane/lanes/build.rb | 801 | def upload_gutenberg_sourcemaps(sentry_project_slug:, release_version:, build_version:, app_identifier:) | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …rdPress/Classes/System/Root View/ReaderPresenter.swift | 47 | // TODO: (reader) update to allow seamless transitions between split view and tabs | COMMENT |
| MEDIUM⚡ | …tTests/Mock Data/page-layout-blog-layouts-success.json | 1 | {"layouts":[{"slug":"about-4","title":"About","content":"<!-- wp:spacer {\"height\":64} -->\n<div style=\"height:64px;\" | CODE |
| MEDIUM | …Tests/Tests/Services/AccountSettingsServiceTests.swift | 24 | // Since this approach bypasses the entire network stack, the hope is that it'll result in a more robust test. | COMMENT |
| MEDIUM | …Tests/Tests/Services/AccountSettingsServiceTests.swift | 46 | // Since this approach bypasses the entire network stack, the hope is that it'll result in a more robust test. | COMMENT |
| MEDIUM | fastlane/lanes/localization_catalog.rb | 148 | # vendored code, the unit-test harness, and AppLocalizedString.swift itself (its definition would otherwise | COMMENT |
| MEDIUM | …ules/Tests/WordPressSharedTests/NSDateHelperTest.swift | 98 | /// This was done to make the test robust against underlying changes in `DateFormatter`'s behavior. | COMMENT |
| MEDIUM | Modules/Sources/JetpackStats/Charts/BarChartView.swift | 99 | // Three parallel lines for seamless tiling | COMMENT |
| MEDIUM | …es/Sources/JetpackStats/Utilities/StatsDateRange.swift | 139 | /// the component of `reference`, so subrange navigation across range boundaries feels seamless. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | …tTests/Mock Data/page-layout-blog-layouts-success.json | 1 | {"layouts":[{"slug":"about-4","title":"About","content":"<!-- wp:spacer {\"height\":64} -->\n<div style=\"height:64px;\" | CODE |
| LOW | fastlane/lanes/localization.rb | 292 | UI.message("Aborting as requested. Don't forget to push the changes and create the integration PR manually.") | CODE |
| LOW | fastlane/lanes/release.rb | 88 | UI.message("Terminating as requested. Don't forget to run the remainder of this automation manually.") | CODE |
| LOW | fastlane/lanes/release.rb | 161 | UI.message("Terminating as requested. Don't forget to run the remainder of this automation manually.") | CODE |
| LOW | fastlane/lanes/release.rb | 215 | UI.message("Terminating as requested. Don't forget to run the remainder of this automation manually.") | CODE |
| LOW | fastlane/lanes/release.rb | 246 | UI.message("Aborting as requested. Don't forget to push the branch to the remote manually.") | CODE |
| LOW | fastlane/lanes/release.rb | 326 | UI.message("Terminating as requested. Don't forget to run the remainder of this automation manually.") | CODE |
| LOW | fastlane/lanes/release.rb | 346 | UI.user_error!("Terminating as requested. Don't forget to run the remainder of this automation manually.") | CODE |
| LOW | fastlane/lanes/release.rb | 391 | UI.user_error!("Terminating as requested. Don't forget to run the remainder of this automation manually.") | CODE |
| LOW | fastlane/lanes/release.rb | 442 | UI.user_error!("Terminating as requested. Don't forget to run the remainder of this automation manually.") | CODE |
| LOW | fastlane/lanes/release.rb | 535 | Don't forget to remove any item that doesn't apply to the respective app before editorialization. | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | .claude/skills/ios-sim-navigation/scripts/tap.rb | 4 | # Usage: | COMMENT |
| LOW | .claude/skills/ios-sim-navigation/scripts/type.rb | 4 | # Usage: | COMMENT |
| LOW | …laude/skills/ios-sim-navigation/scripts/wda-session.rb | 6 | # Usage: | COMMENT |
| LOW | .claude/skills/ios-sim-navigation/scripts/swipe.rb | 4 | # Usage: | COMMENT |
| LOW | Modules/Sources/WordPressKit/Secret.swift | 5 | /// Usage example | COMMENT |
| LOW | …ckStats/Utilities/Formatters/StatsValueFormatter.swift | 10 | /// Example usage: | COMMENT |
| LOW | …/JetpackStats/Services/Mocks/StatsDataAggregator.swift | 11 | /// Example usage: | COMMENT |
| LOW | …dPressIntelligence/UseCases/PostSummaryGenerator.swift | 9 | /// Example usage: | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …laude/skills/ios-sim-navigation/scripts/wda-session.rb | 2 | # Create a WDA session bound to an app, optionally launching it with caller- | COMMENT |
| MEDIUM | fastlane/lanes/localization.rb | 215 | # Create a temporary directory to clone Gutenberg into. | COMMENT |
| MEDIUM | fastlane/lanes/localization_catalog.rb | 217 | # Create the catalog as an empty shell if it doesn't exist yet; leave an existing one untouched so its | COMMENT |
| MEDIUM | fastlane/lanes/release.rb | 310 | # Create the hotfix branch | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | fastlane/lanes/promote.rb | 468 | message.to_s.lines.first.to_s.scan(/\(#(\d+)\)/).last&.first | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …Sources/ShareExtensionCore/ShareExtensionService.swift | 40 | print("Error while saving Share Extension OAuth bearer token: \(error)") | CODE |
| MEDIUM | …Sources/ShareExtensionCore/ShareExtensionService.swift | 56 | print("Error while saving Share Extension OAuth bearer token: \(error)") | CODE |
| MEDIUM | …Sources/ShareExtensionCore/ShareExtensionService.swift | 125 | print("Error while removing Share Extension OAuth2 bearer token: \(error)") | CODE |
| MEDIUM | …Sources/ShareExtensionCore/ShareExtensionService.swift | 135 | print("Error while removing Share Extension Username: \(error)") | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | Scripts/gutenbergkit-local.sh | 13 | # Check if already using local path | COMMENT |
| LOW | Scripts/gutenbergkit-remote.sh | 23 | # Check if already using remote URL | COMMENT |
| LOW | .buildkite/commands/should-skip-job.sh | 7 | # Check if any localization files have changed | COMMENT |
| LOW | .buildkite/commands/should-skip-job.sh | 39 | # Check if arguments are valid | COMMENT |
| LOW | .buildkite/commands/should-skip-job.sh | 68 | # Check if any localization files have changed | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …tility/Blogging Prompts/PromptRemindersScheduler.swift | 172 | // Step 1: Filter prompts based on the Schedule. | COMMENT |
| LOW | …tility/Blogging Prompts/PromptRemindersScheduler.swift | 186 | // Step 2: Schedule prompt reminders. | COMMENT |
| LOW | …tility/Blogging Prompts/PromptRemindersScheduler.swift | 198 | // Step 3: Schedule static notifications. | COMMENT |
| LOW | …tility/Blogging Prompts/PromptRemindersScheduler.swift | 219 | // Step 4: Store pending notification identifiers to local store. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …tility/Blogging Prompts/PromptRemindersScheduler.swift | 172 | // Step 1: Filter prompts based on the Schedule. | COMMENT |
| LOW | …tility/Blogging Prompts/PromptRemindersScheduler.swift | 186 | // Step 2: Schedule prompt reminders. | COMMENT |
| LOW | …tility/Blogging Prompts/PromptRemindersScheduler.swift | 198 | // Step 3: Schedule static notifications. | COMMENT |
| LOW | …tility/Blogging Prompts/PromptRemindersScheduler.swift | 219 | // Step 4: Store pending notification identifiers to local store. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …sts/Features/Dashboard/BlogDashboardServiceTests.swift | 494 | // TODO: Add test to check that local pages are considered if no pages are returned from the endpoint | COMMENT |
| LOW | …ests/Tests/Features/Dashboard/DashboardCardTests.swift | 205 | // TODO: Add test for showing the card if there's activity | COMMENT |
| LOW | …ests/Tests/Features/Dashboard/DashboardCardTests.swift | 206 | // TODO: Add test for not showing the card if there's no activity | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | fastlane/lanes/translation_validator.rb | 22 | # the validator hallucinate an argument in plain text and reject a perfectly good translation. | COMMENT |