The JavaScript and API powered WordPress.com
This report summarizes scanner evidence for Automattic/wp-calypso, a TypeScript project with 12,649 GitHub stars. SynthScan examined 2,369,707 lines of code across 22918 source files, recording 3519 pattern matches distributed across 19 syntactic categories. The legacy adjusted pattern signal is 1.6 (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? 3260 finding(s).
Are imports declared and package/API names verified? 217 finding(s).
Are wrappers, guards, and repeated structures necessary? 3042 finding(s).
Which changes need focused human review? 3519 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 3519 distinct pattern matches across 19 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 | test/e2e/specs/plans/plans__gift-checkout-back.spec.ts | 19 | async function redirectProductionCheckoutToCalypso( page: Page ): Promise< void > { | CODE |
| LOW | test/e2e/specs/shared/api-create-free-site.ts | 44 | export async function apiCreateUnlaunchedFreeSiteForUser( | CODE |
| LOW | …t/e2e/specs/shared/api-wait-for-account-propagation.ts | 82 | export async function apiWaitForBearerTokenAcceptance( | CODE |
| LOW | …t/e2e/specs/shared/api-wait-for-account-propagation.ts | 105 | export async function apiWaitForEmailVerification( | CODE |
| LOW | …e2e/specs/checkout/checkout__blackbox-userless.spec.ts | 229 | async function startCheckoutThroughPaymentDetails( { | CODE |
| LOW | test/e2e/specs/jetpack/social__editor-features.spec.ts | 28 | async function dismissPodcastPostPublishPromo( editorPage: EditorPage ): Promise< void > { | CODE |
| LOW | …hentication/authentication__dashboard-two-step.spec.ts | 138 | async function assertTwoStepEnabledAndLoggedIn( page: Page, totpSecret: string ): Promise< void > { | CODE |
| LOW | …ion/authentication__blackbox-login-unavailable.spec.ts | 20 | async function expectPasswordLoginSucceedsWithoutSessionId( | CODE |
| LOW | …specs/flows/use-my-domain__transfer-or-connect.spec.ts | 27 | async function assertLandsOnTransferOrConnect( | CODE |
| LOW | test/e2e/specs/color-scheme/dark-mode-surfaces.spec.ts | 36 | function clearPersistedCalypsoState() { | CODE |
| LOW | test/e2e/specs/color-scheme/dark-mode-surfaces.spec.ts | 181 | async function waitForThemesDarkModeReady( page: Page ) { | CODE |
| LOW | test/e2e/specs/color-scheme/dark-mode-surfaces.spec.ts | 353 | async function expectNoObviousLightSurface( locator: Locator ) { | CODE |
| LOW | test/e2e/specs/color-scheme/dark-mode-surfaces.spec.ts | 387 | async function expectSelectedDarkModeControl( page: Page ) { | CODE |
| LOW | test/e2e/lib/pw-base.ts | 872 | export function skipIfMailosaurLimitReached(): void { | CODE |
| LOW | test/e2e/lib/pw-base.ts | 911 | export function skipIfNotJetpackDeployment(): void { | CODE |
| LOW | test/e2e/lib/dashboard-helpers.ts | 15 | export async function snoozeAccountRecoveryInterstitial( client: RestAPIClient ): Promise< void > { | CODE |
| LOW | test/e2e/lib/blackbox-test-key.ts | 100 | export async function useBlackboxTestKeyForCollect( | CODE |
| LOW | bin/audit-svg-colors.js | 320 | function getReplacementPrefixSuffix( replacementObject ) { | CODE |
| LOW | bin/feature-search.js | 42 | function getFormattedFeatureString( set ) { | CODE |
| LOW | bin/build-metadata.js | 189 | function deepRemoveUndefinedKeysFromObject( obj ) { | CODE |
| LOW | bin/build-metadata.js | 202 | function generateDeepRemoveEmptyArraysFromObject( allowedKeys ) { | CODE |
| LOW | bin/build-metadata.js | 203 | return function deepRemoveEmptyArraysFromObject( obj ) { | CODE |
| LOW | bin/build-metadata.js | 225 | function removeRegionCodeAndCountryDialCodeIfSameWithCountryDialCode( countryData ) { | CODE |
| LOW | bin/build-metadata.js | 244 | function processLibPhoneNumberMetadata( libPhoneNumberData ) { | CODE |
| LOW | bin/check-css-byte-equivalence.js | 311 | function prepareDiffOutputDirectory( directory ) { | CODE |
| LOW | …/reader-protocol-pr-review/references/common-smells.md | 51 | function cancelQueriesForConnection( queryClient, connectionId ) { | CODE |
| LOW | …/skills/calypso-react-query-migration/redux-cleanup.md | 96 | function MyClassComponentWithQuery( props ) { | CODE |
| LOW | desktop/app/window-handlers/notifications/index.js | 140 | function stripLeadingSlashFromPath( path ) { | CODE |
| LOW | …int-plugin-wpcalypso/lib/rules/no-return-text-nodes.js | 39 | function findAndReportReturnStatements( node ) { | CODE |
| LOW | …ges/eslint-plugin-wpcalypso/lib/rules/i18n-ellipsis.js | 23 | function replaceThreeDotsWithEllipsis( string ) { | CODE |
| LOW | …-plugin-wpcalypso/lib/rules/i18n-named-placeholders.js | 23 | function hasUnqualifiedPlaceholders( string ) { | CODE |
| LOW | …o/lib/rules/no-conditional-text-nodes-with-siblings.js | 55 | function isChildOfJSXExpressionContainer( node ) { | CODE |
| LOW | …o/lib/rules/no-conditional-text-nodes-with-siblings.js | 87 | function conditionalSiblingsPrecedeNode( node ) { | CODE |
| LOW | packages/calypso-analytics/src/train-tracks.ts | 64 | export function recordTrainTracksInteract( { railcarId, action }: TrainTracksInteractProps ) { | CODE |
| LOW | packages/calypso-analytics/src/tracks.ts | 193 | export function signalUserFromAnotherProduct( userId: string, userIdType: string ): any { | CODE |
| LOW | packages/calypso-analytics/src/tracks.ts | 340 | export function recordTracksPageViewWithPageParams( urlPath: string, params?: any ) { | CODE |
| LOW | packages/calypso-analytics/src/tracks.ts | 345 | export function getGenericSuperPropsGetter( config: ( key: string ) => string ) { | CODE |
| LOW | packages/survicate/src/visitor-traits.ts | 33 | export function setSurvicateVisitorTraits( traits: Record< string, string | number > ): () => void { | CODE |
| LOW | packages/i18n-calypso/src/i18n.js | 47 | function normalizeTranslateArguments( args ) { | CODE |
| LOW | packages/viewport/src/index.ts | 163 | export function subscribeIsWithinBreakpoint( | CODE |
| LOW | packages/viewport/src/index.ts | 243 | export function resolveDeviceTypeByViewPort(): string { | CODE |
| LOW | packages/calypso-url/test/get-calypso-url.js | 54 | function getCalypsoConfigHostnames() { | CODE |
| LOW | packages/calypso-url/test/get-calypso-url.js | 67 | function mockCaplysoOriginQueryArg( origin ) { | CODE |
| LOW | packages/babel-plugin-preserve-i18n/src/index.js | 7 | function collectAllImportsAndAliasThem( path ) { | CODE |
| LOW | …ages/help-center/src/components/help-center-notice.tsx | 79 | export function HelpCenterOwnershipNotice( { ownershipResult }: Props ) { | CODE |
| LOW | …ages/help-center/src/components/help-center-notice.tsx | 100 | export function HelpCenterActiveTicketNotice( { | CODE |
| LOW | …lp-center/src/hooks/use-should-render-email-option.tsx | 3 | export function useShouldRenderEmailOption() { | CODE |
| LOW | …/help-center/src/hooks/use-help-center-tracks-event.ts | 15 | export function getHelpCenterTracksProperties( | CODE |
| LOW | …/help-center/src/hooks/use-help-center-tracks-event.ts | 30 | export function recordHelpCenterTracksEvent( | CODE |
| LOW | …-center/src/hooks/use-context-based-search-mapping.tsx | 15 | export function useContextBasedSearchMapping( currentRoute: string | undefined ) { | CODE |
| LOW | …-center/src/hooks/use-products-with-premium-support.ts | 20 | export function useProductsWithPremiumSupport( | CODE |
| LOW | packages/explat-client/src/create-explat-client.ts | 379 | export function createSsrSafeDummyExPlatClient( config: Config ): ExPlatClient { | CODE |
| LOW | packages/explat-client/src/test/create-explat-client.ts | 26 | function mockFetchExperimentAssignmentToMatchExperimentAssignment( | CODE |
| LOW | …lat-client/src/internal/experiment-assignment-store.ts | 21 | export function storeExperimentAssignment( experimentAssignment: ExperimentAssignment ): void { | CODE |
| LOW | …lat-client/src/internal/experiment-assignment-store.ts | 46 | export function retrieveExperimentAssignment( | CODE |
| LOW⚡ | …lat-client/src/internal/experiment-assignment-store.ts | 71 | export function isLocalStorageExperimentAssignmentKey( key: string ): boolean { | CODE |
| LOW⚡ | …lat-client/src/internal/experiment-assignment-store.ts | 78 | export function experimentNameFromLocalStorageExperimentAssignmentKey( key: string ): string { | CODE |
| LOW⚡ | …lat-client/src/internal/experiment-assignment-store.ts | 85 | export function removeExpiredExperimentAssignments(): void { | CODE |
| LOW | packages/explat-client/src/internal/requests.ts | 16 | export function isFetchExperimentAssignmentResponse( | CODE |
| LOW | packages/explat-client/src/internal/requests.ts | 27 | function validateFetchExperimentAssignmentResponse( | CODE |
| 2940 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | packages/survicate/README.md | 26 | setSurvicateVisitorTraits( { email: 'user@example.com' } ); | CODE |
| LOW⚡ | packages/i18n-calypso-cli/test/multiline.js | 5 | const literal = '"Lorem ipsum dolor sit amet"'; | CODE |
| LOW⚡ | packages/i18n-calypso-cli/test/multiline.js | 5 | const literal = '"Lorem ipsum dolor sit amet"'; | CODE |
| LOW⚡ | packages/i18n-calypso-cli/test/multiline.js | 6 | expect( multiline( literal ) ).toBe( '"Lorem ipsum dolor sit amet"' ); | CODE |
| LOW⚡ | packages/i18n-calypso-cli/test/multiline.js | 6 | expect( multiline( literal ) ).toBe( '"Lorem ipsum dolor sit amet"' ); | CODE |
| LOW⚡ | packages/i18n-calypso-cli/test/multiline.js | 12 | '"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna | CODE |
| LOW⚡ | packages/i18n-calypso-cli/test/multiline.js | 12 | '"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna | CODE |
| LOW⚡ | packages/i18n-calypso-cli/test/multiline.js | 16 | '"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod "', | CODE |
| LOW⚡ | packages/i18n-calypso-cli/test/multiline.js | 16 | '"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod "', | CODE |
| LOW⚡ | packages/i18n-calypso-cli/test/multiline.js | 25 | '"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod temporincididuntutlaboreetdoloremagnaaliqua | CODE |
| LOW⚡ | packages/i18n-calypso-cli/test/multiline.js | 25 | '"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod temporincididuntutlaboreetdoloremagnaaliqua | CODE |
| LOW⚡ | packages/i18n-calypso-cli/test/multiline.js | 29 | '"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod "', | CODE |
| LOW⚡ | packages/i18n-calypso-cli/test/multiline.js | 29 | '"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod "', | CODE |
| LOW⚡ | packages/i18n-calypso-cli/test/multiline.js | 125 | '"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod temporincididuntutlaboreetdoloremagnaaliqua | CODE |
| LOW⚡ | packages/i18n-calypso-cli/test/multiline.js | 125 | '"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod temporincididuntutlaboreetdoloremagnaaliqua | CODE |
| LOW⚡ | packages/i18n-calypso-cli/test/multiline.js | 129 | '"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod "', | CODE |
| LOW⚡ | packages/i18n-calypso-cli/test/multiline.js | 129 | '"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod "', | CODE |
| LOW⚡ | packages/i18n-calypso-cli/formatters/multiline.js | 7 | * input: '"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolor | COMMENT |
| LOW⚡ | packages/i18n-calypso-cli/formatters/multiline.js | 7 | * input: '"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolor | COMMENT |
| LOW⚡ | packages/i18n-calypso-cli/formatters/multiline.js | 10 | * "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod " | COMMENT |
| LOW⚡ | packages/i18n-calypso-cli/formatters/multiline.js | 10 | * "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod " | COMMENT |
| LOW | …es/agenttic-ui/src/components/chat/Message.stories.tsx | 177 | text: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolor | CODE |
| LOW | …es/agenttic-ui/src/components/chat/Message.stories.tsx | 177 | text: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolor | CODE |
| LOW | …alypso-e2e/src/test/rest-api-client.createPost.test.ts | 41 | username: 'fake_user', | CODE |
| LOW | packages/calypso-e2e/src/test/email-client.test.ts | 15 | apiKey: 'fake_key', | CODE |
| LOW | …so-e2e/src/test/rest-api-client.getBearerToken.test.ts | 78 | username: 'fake_user', | CODE |
| LOW | …s/calypso-e2e/src/test/rest-api-client.invites.test.ts | 43 | username: 'fake_user', | CODE |
| LOW | …s/calypso-e2e/src/test/rest-api-client.invites.test.ts | 88 | username: 'fake_user', | CODE |
| LOW | …alypso-e2e/src/test/rest-api-client.deleteSite.test.ts | 39 | username: 'fake_user', | CODE |
| LOW | …calypso-e2e/src/test/rest-api-client.purchases.test.ts | 24 | username: 'fake_user', | CODE |
| LOW | packages/calypso-e2e/src/test/rest-api-client.test.ts | 47 | username: 'fake_user', | CODE |
| LOW | packages/calypso-e2e/src/test/rest-api-client.test.ts | 93 | username: 'fake_user', | CODE |
| LOW | packages/calypso-e2e/src/test/rest-api-client.test.ts | 136 | username: 'fake_user', | CODE |
| LOW | …s/calypso-e2e/src/test/rest-api-client.widgets.test.ts | 21 | username: 'fake_user', | CODE |
| LOW | …ypso-e2e/src/test/rest-api-client.shoppingCart.test.ts | 55 | username: 'fake_user', | CODE |
| LOW | packages/odie-client/src/types.ts | 155 | | 'placeholder' | CODE |
| LOW | packages/wpcom-checkout/test/introductory-offer.ts | 25 | reason: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.', | CODE |
| LOW | packages/wpcom-checkout/test/introductory-offer.ts | 25 | reason: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.', | CODE |
| LOW | packages/components/src/gravatar/README.md | 21 | - `user`: a User object. Not passing a user puts the component in "placeholder" mode. | CODE |
| LOW⚡ | …omain-search/src/components/search-form/test/index.tsx | 20 | expect( screen.getByRole( 'searchbox' ) ).toHaveAttribute( 'placeholder', '' ); | CODE |
| LOW⚡ | …omain-search/src/components/search-form/test/index.tsx | 24 | while ( screen.getByRole( 'searchbox' ).getAttribute( 'placeholder' ) !== phrase ) { | CODE |
| LOW⚡ | …omain-search/src/components/search-form/test/index.tsx | 30 | 'placeholder', | CODE |
| LOW | …ts-manager/src/interactive-ui/__tests__/tracks.test.ts | 161 | context: { email: 'user@example.com' }, | CODE |
| LOW | packages/posthog/README.md | 12 | email: 'user@example.com', | CODE |
| LOW | …/src/do-not-sell-dialog/do-not-sell-dialog.stories.tsx | 34 | condimentum semper. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque | CODE |
| LOW | …/src/do-not-sell-dialog/do-not-sell-dialog.stories.tsx | 34 | condimentum semper. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque | CODE |
| LOW | packages/zendesk-client/src/types.ts | 144 | | 'placeholder' | CODE |
| LOW | packages/onboarding/src/utils/test/email-validation.ts | 5 | expect( getEmailAddressError( 'user@example.com' ) ).toBeNull(); | CODE |
| LOW | packages/onboarding/src/utils/test/email-validation.ts | 43 | expect( isValidEmailAddress( 'user@example.com' ) ).toBe( true ); | CODE |
| LOW | apps/survicate/__tests__/survicate.test.js | 24 | email: 'user@example.com', | CODE |
| LOW | …tions/src/app/templates/test/action-placement.test.tsx | 16 | subject: [ { text: 'Jane Doe', ranges: [] } ], | CODE |
| LOW | apps/happy-blocks/block-library/search-card/index.php | 26 | $placeholder = isset( $args['placeholder'] ) ? $args['placeholder'] : ''; | CODE |
| LOW | …ard/downtime-monitoring/contact-editor/test/remove.tsx | 38 | email: 'test@test.com', | CODE |
| LOW | …ard/downtime-monitoring/contact-editor/test/remove.tsx | 55 | expect( screen.getByText( 'test@test.com' ) ).toBeInTheDocument(); | CODE |
| LOW | …wntime-monitoring/contact-editor/test/verify-email.tsx | 153 | email: 'test@test.com', | CODE |
| LOW | …wntime-monitoring/contact-editor/test/verify-email.tsx | 168 | target: { value: 'test@test.com' }, | CODE |
| LOW | …wntime-monitoring/contact-editor/test/verify-email.tsx | 188 | target: { value: 'test@test.com' }, | CODE |
| LOW | …wntime-monitoring/contact-editor/test/verify-email.tsx | 207 | { email: 'test@test.com', name: 'test' }, | CODE |
| LOW | …wntime-monitoring/contact-editor/test/verify-email.tsx | 226 | target: { value: 'test@test.com' }, | CODE |
| LOW | …wntime-monitoring/contact-editor/test/verify-email.tsx | 246 | { email: 'test@test.com', name: 'test', verificationCode: '123456' }, | CODE |
| 132 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | .yarnrc.yml | 1 | ### Basic Yarn settings. ### | COMMENT |
| LOW | .yarnrc.yml | 21 | # 4. Match only violations coming from within @wordpress packages. | COMMENT |
| LOW | test/e2e/specs/blocks/blocks__media.spec.ts | 121 | await fileBlock.upload( testFiles.audio.fullpath ); | COMMENT |
| LOW | …tracking/editor-tracking__block-inserted-event.spec.ts | 141 | await fullSiteEditorPage.deleteTemplateParts( [ templatePartName ] ); | COMMENT |
| LOW | …tracking/editor-tracking__global-styles-events.spec.ts | 21 | // container / "Close Styles" control, so opening and closing the panel works | COMMENT |
| LOW | …ditor-tracking/editor-tracking__toolbar-events.spec.ts | 21 | // "wpcom_block_editor_list_view_toggle" event fires, so the first assertion | COMMENT |
| LOW | …e/specs/flows/setup-domain-and-plan__skip-plan.spec.ts | 1 | import { expect, skipIfNotTrunk, tags, test } from '../../lib/pw-base'; | COMMENT |
| LOW | test/e2e/setup/throttle-check.setup.ts | 21 | COMMENT | |
| LOW | bin/build-packages-web.sh | 1 | #!/bin/bash | COMMENT |
| LOW | bin/build-packages-unit-tests.sh | 1 | #!/bin/bash | COMMENT |
| LOW | bin/build-packages-apps.sh | 1 | #!/bin/bash | COMMENT |
| LOW | bin/cancel-superseded-builds.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | bin/e2e-grep-flag.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | bin/e2e-grep-flag.sh | 21 | # scheduled job. If every changed non-spec file is P2-only code (see P2_PATH_RE), run | COMMENT |
| LOW | .claude/skills/fix-e2e-tests/baseline-failures.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | desktop/bin/after_sign_hook.js | 1 | #!/usr/bin/env node | COMMENT |
| LOW | desktop/bin/github/release-version-core.js | 1 | // | COMMENT |
| LOW | packages/ui/src/stepper/style.module.scss | 161 | } | COMMENT |
| LOW | packages/viewport/src/index.ts | 1 | // Determine whether a user is viewing calypso from a device within a | COMMENT |
| LOW | packages/viewport/src/index.ts | 21 | // - '>960px' | COMMENT |
| LOW | packages/calypso-url/src/url-type.ts | 1 | // For complete definitions of these classifications, see: | COMMENT |
| LOW | …center/src/test/__mocks__/automattic-zendesk-client.js | 1 | // Minimal stub for @automattic/zendesk-client. | COMMENT |
| LOW | packages/js-utils/src/merge-internal.ts | 41 | }; | COMMENT |
| LOW | …ages/calypso-e2e/src/lib/flows/cancel-purchase-flow.ts | 101 | // Submitting the final step fires the cancel-and-refund request. Start | COMMENT |
| LOW | …ages/calypso-e2e/src/lib/flows/cancel-purchase-flow.ts | 121 | // previous `page.waitForNavigation()` therefore never resolved and hung | COMMENT |
| LOW | packages/api-core/src/reader-atmosphere/validation.ts | 1 | // Bluesky hashtag canonical form: Unicode letters/numbers/marks/underscore, | COMMENT |
| LOW | packages/api-core/src/reader-atmosphere/types.ts | 381 | export interface DeleteRepostParams { | COMMENT |
| LOW | packages/api-core/src/reader-mastodon/types.ts | 141 | // only the fields we render plus `raw` for forward-compat (matches the | COMMENT |
| LOW | packages/api-core/src/reader-mastodon/types.ts | 201 | // across protocols. Mastodon's wire shape is two booleans on the same | COMMENT |
| LOW | packages/sites/src/use-sites-list-sorting.tsx | 221 | COMMENT | |
| LOW | packages/wpcom-checkout/src/product-url-encoding.ts | 1 | // Some product slugs or meta contain slashes which will break the URL, so we | COMMENT |
| LOW | packages/components/src/root-child/index.tsx | 1 | import { useLayoutEffect, useState } from 'react'; | COMMENT |
| LOW | packages/domain-search/src/page/style.scss | 121 | // mobile, the persistent fixed overlay below replaces both, so we hide these | COMMENT |
| LOW | packages/calypso-jest/src/setup.js | 1 | // This is used by @wordpress/components in https://github.com/WordPress/gutenberg/blob/trunk/packages/components/src/ui | COMMENT |
| LOW | packages/api-queries/src/read-shelves.ts | 41 | // languages, so a language change that leaves it cached would keep showing the | COMMENT |
| LOW | packages/api-queries/src/read-shelves.ts | 81 | queryFn: () => fetchReadShelf( shelfId ), | COMMENT |
| LOW | packages/api-queries/src/reader-fediverse.ts | 641 | } ); | COMMENT |
| LOW | packages/api-queries/src/reader-atmosphere.ts | 1341 | // Restore parent-counts patch first. For pages that also contained | COMMENT |
| LOW | packages/api-queries/src/reader-atmosphere.ts | 1401 | } | COMMENT |
| LOW | packages/api-queries/src/reader-atmosphere.ts | 1441 | // Module-level counter producing collision-free pending URIs. Suffix is | COMMENT |
| LOW | packages/api-queries/src/read-feed.ts | 61 | // scroll; mirror that here so the infinite query stops paginating at the same | COMMENT |
| LOW | packages/agenttic-client/src/client/index.ts | 581 | // arguments, ahead of the `input-required` handoff that actually asks | COMMENT |
| LOW | packages/agenttic-client/src/client/index.ts | 761 | state: 'working', | COMMENT |
| LOW | packages/agenttic-client/src/react/agentManager.ts | 741 | // A stream can run out without a word about the turn: an SSE reader | COMMENT |
| LOW | …/agents-manager/src/utils/wp-admin-navigation-state.ts | 1 | import { generateUUID } from './generate-uuid'; | COMMENT |
| LOW | packages/agents-manager/src/utils/canvas-binding.ts | 81 | getCurrentPostType?: () => string | undefined; | COMMENT |
| LOW | …agents-manager/src/utils/legacy-style-variation-css.ts | 1 | import { isRecord } from './is-record'; | COMMENT |
| LOW | …/agents-manager/src/utils/canvas-capture/rasterizer.ts | 41 | // How many separate pictures one capture may return. | COMMENT |
| LOW | …/agents-manager/src/utils/canvas-capture/rasterizer.ts | 61 | const IMAGE_MIME = 'image/webp'; | COMMENT |
| LOW | …/agents-manager/src/utils/canvas-capture/rasterizer.ts | 81 | // Longest to wait for the canvas to stop moving before capturing it anyway. | COMMENT |
| LOW | …/agents-manager/src/utils/canvas-capture/rasterizer.ts | 101 | // turn captures that work today into refusals. It is paid once per session, the | COMMENT |
| LOW | …/agents-manager/src/utils/canvas-capture/rasterizer.ts | 1241 | styleText: string, | COMMENT |
| LOW | …/agents-manager/src/utils/canvas-capture/rasterizer.ts | 1821 | // main thread; and the page is still moving, so a block measures at a box it | COMMENT |
| LOW | …ts-manager/src/abilities/apply-block-edits/callback.ts | 421 | clientIds: [ ...changedClientIds, ...referenceClientIds ], | COMMENT |
| LOW | packages/agents-manager/src/hooks/use-chat-composer.ts | 161 | } | COMMENT |
| LOW | …ckages/verbum-block-editor/src/load-text-formatting.ts | 1 | // Importing the package auto-registers all 15 built-in formats | COMMENT |
| LOW | packages/domains-table/jest.setup.js | 1 | const { configure } = require( '@testing-library/react' ); | COMMENT |
| LOW | packages/image-studio/src/types/index.ts | 401 | // Re-export WordPress type declarations (these are ambient, so we don't re-export them) | COMMENT |
| LOW | packages/wpcom-xhr-request/src/index.js | 121 | // $stream response, but always enveloped as if we were in ?_envelope=1. The other JSON records | COMMENT |
| LOW | packages/wpcom-xhr-request/src/index.js | 141 | // Find response chunks that end in a newline (possibly preceded by a carriage return), then | COMMENT |
| 117 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | packages/image-studio/src/types/guards.test.ts | 26 | // ── Shared null/primitive rejection cases ─────────────────────────── | COMMENT |
| MEDIUM | packages/image-studio/src/types/guards.test.ts | 30 | // ── Fixtures ──────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/image-studio/src/types/guards.test.ts | 95 | // ── isMediaAttachment ─────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/image-studio/src/types/guards.test.ts | 143 | // ── isAttachmentRecord ────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/image-studio/src/types/guards.test.ts | 174 | // ── isWPBlock ─────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/image-studio/src/types/guards.test.ts | 204 | // ── isBlockEditProps ──────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/image-studio/src/types/guards.test.ts | 241 | // ── isCoreDataDispatch ────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/image-studio/src/types/guards.test.ts | 296 | // ── isBlockEditorDispatch ─────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/image-studio/src/types/guards.test.ts | 316 | // ── isSupportedImageFile ──────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/image-studio/src/types/guards.test.ts | 337 | // ── isBlob / isFile ───────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/image-studio/src/types/guards.test.ts | 370 | // ── isErrorPayload ────────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/image-studio/src/types/guards.test.ts | 407 | // ── isGenerationSuccess ───────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/image-studio/src/types/guards.test.ts | 448 | // ── isGenerationError ─────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/image-studio/src/types/guards.test.ts | 472 | // ── isGenerationResult ────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/image-studio/src/types/guards.test.ts | 489 | // ── isImageGenerationRequest ──────────────────────────────────────── | COMMENT |
| MEDIUM | packages/image-studio/src/types/guards.test.ts | 527 | // ── isImageEditRequest ────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/image-studio/src/types/guards.test.ts | 552 | // ── isGenerationRequest ───────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/image-studio/src/types/guards.test.ts | 572 | // ── isJobState ────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/image-studio/src/types/guards.test.ts | 615 | // ── OperationState guards ─────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/image-studio/src/types/guards.test.ts | 723 | // ── isOperationState (union) ──────────────────────────────────────── | COMMENT |
| MEDIUM | …der/onboarding-rsm/interests-modal/test/index.test.tsx | 46 | // ── External data hooks ────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …der/onboarding-rsm/interests-modal/test/index.test.tsx | 56 | // ── Internal helpers / child components ───────────────────────────────────── | COMMENT |
| MEDIUM | …der/onboarding-rsm/interests-modal/test/index.test.tsx | 95 | // ── State hooks ────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …der/onboarding-rsm/interests-modal/test/index.test.tsx | 113 | // ── Analytics / i18n ──────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …der/onboarding-rsm/interests-modal/test/index.test.tsx | 141 | // ── TanStack / mutations ───────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …der/onboarding-rsm/interests-modal/test/index.test.tsx | 153 | // ── Shared step indicator (not under test here) ────────────────────────────── | COMMENT |
| MEDIUM | …der/onboarding-rsm/interests-modal/test/index.test.tsx | 159 | // ── Tests ──────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | client/reader/onboarding-rsm/test/index.test.tsx | 21 | // ── Router ──────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | client/reader/onboarding-rsm/test/index.test.tsx | 28 | // ── Heavy UI ────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | client/reader/onboarding-rsm/test/index.test.tsx | 91 | // ── Child modals (not under test here) ─────────────────────────────────────── | COMMENT |
| MEDIUM | client/reader/onboarding-rsm/test/index.test.tsx | 129 | // ── Redux / selectors ───────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | client/reader/onboarding-rsm/test/index.test.tsx | 163 | // ── Data hooks ──────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | client/reader/onboarding-rsm/test/index.test.tsx | 180 | // ── Utilities ───────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | client/reader/onboarding-rsm/test/index.test.tsx | 200 | // ── Tests ───────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …oarding-rsm/test/use-refresh-following-streams.test.ts | 22 | // ── Helpers ─────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …oarding-rsm/test/use-refresh-following-streams.test.ts | 44 | // ── Tests ───────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …der/onboarding-rsm/subscribe-modal/test/index.test.tsx | 14 | // ── Recommendations hook ───────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …der/onboarding-rsm/subscribe-modal/test/index.test.tsx | 35 | // ── Heavy UI dependencies ──────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | …der/onboarding-rsm/subscribe-modal/test/index.test.tsx | 99 | // ── Give the nudge a stable test-id so tests can assert on its presence ────── | COMMENT |
| MEDIUM⚡ | …der/onboarding-rsm/subscribe-modal/test/index.test.tsx | 106 | // ── Analytics ──────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | …der/onboarding-rsm/subscribe-modal/test/index.test.tsx | 112 | // ── Shared step indicator (not under test here) ────────────────────────────── | COMMENT |
| MEDIUM⚡ | …der/onboarding-rsm/subscribe-modal/test/index.test.tsx | 118 | // ── Tests ──────────────────────────────────────────────────────────────────── | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | client/state/selectors/test/site-has-feature.js | 5 | test( 'should return False when no site id', () => { | CODE |
| HIGH | client/state/selectors/test/site-has-feature.js | 23 | test( 'should return False when site does not exist', () => { | CODE |
| HIGH | client/state/selectors/test/site-has-feature.js | 42 | test( 'should return False when feature param is not defined', () => { | CODE |
| HIGH | client/state/selectors/test/site-has-feature.js | 61 | test( 'should return False when feature is not defined in the active array', () => { | CODE |
| HIGH | client/state/selectors/test/site-has-feature.js | 80 | test( 'should return True when feature is defined in the active array', () => { | CODE |
| HIGH | …nt/state/selectors/test/is-requesting-site-features.js | 5 | test( 'should return True if we are fetching features', () => { | CODE |
| HIGH | …nt/state/selectors/test/is-requesting-site-features.js | 29 | test( 'should return False if we are not fetching features', () => { | CODE |
| HIGH | …nt/state/selectors/test/is-requesting-site-features.js | 53 | test( 'should return False when site has not been synced', () => { | CODE |
| HIGH | …nt/state/selectors/test/is-requesting-site-features.js | 77 | test( 'should return False when no site id', () => { | CODE |
| HIGH | …ent/state/selectors/test/has-available-site-feature.js | 5 | test( 'should return False when no site id', () => { | CODE |
| HIGH | …ent/state/selectors/test/has-available-site-feature.js | 28 | test( 'should return False when site does not exist', () => { | CODE |
| HIGH | …ent/state/selectors/test/has-available-site-feature.js | 51 | test( 'should return False when feature is not populated', () => { | CODE |
| HIGH | …ent/state/selectors/test/has-available-site-feature.js | 60 | test( 'should return False when available feature is not populated', () => { | CODE |
| HIGH | …ent/state/selectors/test/has-available-site-feature.js | 75 | test( 'should return False when feature id is not defined', () => { | CODE |
| HIGH | …ent/state/selectors/test/has-available-site-feature.js | 98 | test( 'should return False when feature is not defined in the available object', () => { | CODE |
| HIGH | client/state/selectors/test/site-has-wordads.js | 25 | test( "should return False when site's features does not include wordads", () => { | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | desktop/app/lib/session/index.js | 49 | this.window.webContents.session.cookies.on( | CODE |
| CRITICAL | …shboard/sites/monitoring-http-responses-card/index.tsx | 223 | const dateStr = tooltipProps.tooltipData.nearestDatum.datum.date.toLocaleDateString( | CODE |
| CRITICAL | …shboard/sites/monitoring-http-responses-card/index.tsx | 232 | const timeStr = tooltipProps.tooltipData.nearestDatum.datum.date.toLocaleTimeString( | CODE |
| CRITICAL | …/dashboard/sites/monitoring-performance-card/index.tsx | 167 | const dateStr = tooltipProps.tooltipData.nearestDatum.datum.date.toLocaleDateString( | CODE |
| CRITICAL | …/dashboard/sites/monitoring-performance-card/index.tsx | 176 | const timeStr = tooltipProps.tooltipData.nearestDatum.datum.date.toLocaleTimeString( | CODE |
| CRITICAL | client/sites/marketing/sharing/preview-buttons.jsx | 128 | this.previewIframeRef.current.iframeRef.current.contentWindow.postMessage( 'more-show', '*' ); | CODE |
| CRITICAL | client/components/email-verification/test/index.jsx | 33 | context.store.dispatch.mock.calls.filter( ( [ action ] ) => action?.type === 'NOTICE_CREATE' ); | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | desktop/app/lib/window-manager/index.js | 12 | // is a temporary workaround that will enable us to utilize the latest version of | COMMENT |
| MEDIUM | packages/tree-select/src/index.ts | 47 | // doesn't utilize args. | COMMENT |
| MEDIUM | packages/api-core/src/reader-mastodon/errors.ts | 50 | // robust across endpoints regardless of which prefix lands on the wire. | COMMENT |
| MEDIUM | packages/i18n-utils/src/localize-url.tsx | 234 | // Essentially a trailingslashit. | COMMENT |
| MEDIUM | packages/api-queries/src/read-shelves.ts | 145 | // so redirecting to it after the save is seamless. | COMMENT |
| MEDIUM | …ckages/api-queries/src/__tests__/read-shelves.test.tsx | 237 | // The new slug is seeded (seamless redirect target)... | COMMENT |
| MEDIUM | …ages/image-studio/src/components/edit-layout/index.tsx | 86 | // For annotated images, never show loading so that the transition from blob -> uploaded annotation is seamless | COMMENT |
| MEDIUM | packages/language-picker/src/language-picker.tsx | 19 | // TODO: Definitely typed is out of date with the latest wp components, so we need | COMMENT |
| MEDIUM | .github/workflows/is-pull-request.yml | 9 | # protection rules. We only utilize the "Require status checks to pass before | COMMENT |
| MEDIUM | .teamcity/_self/projects/WebApp.kt | 374 | // Essentially, UPDATE_BASE_IMAGE_CACHE will remain false by default, but | STRING |
| LOW | apps/notifications/bin/normalize-artifact.sh | 6 | # this will just return the "foobar123" portion of the file. This | COMMENT |
| MEDIUM | client/jetpack-cloud/sections/landing/controller.tsx | 35 | // To make the UI feel seamless transition, we want to have the sidebar appear on the interstitial page | COMMENT |
| MEDIUM | client/reader/onboarding-rsm/index.tsx | 43 | // them feel seamless (no close/open animation between steps). The active | COMMENT |
| MEDIUM | …/dashboard/components/purchase-expiry-status/index.tsx | 311 | // envelope. We should add this information so we can utilize useTaxName | COMMENT |
| MEDIUM | …nt/my-sites/checkout/src/payment-methods/paypal-js.tsx | 240 | // utilize a series of Promises to jump back and forth between the button | COMMENT |
| MEDIUM | client/my-sites/stats/hooks/use-stats-purchases.tsx | 130 | // Make the paywall check more robust by checking the purchase. | COMMENT |
| MEDIUM | client/reauth-required/component.jsx | 27 | // A more robust check might be needed depending on security requirements. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | .claude/skills/fix-e2e-tests/SKILL.md | 15 | ## Step 1: Verify GitHub CLI access | COMMENT |
| LOW | .claude/skills/fix-e2e-tests/SKILL.md | 49 | ## Step 2: Verify TeamCity access | COMMENT |
| LOW | .claude/skills/fix-e2e-tests/SKILL.md | 127 | ## Step 3: Resolve the PR | COMMENT |
| LOW | .claude/skills/fix-e2e-tests/SKILL.md | 154 | ## Step 4: Identify the failing E2E test(s) | COMMENT |
| LOW | .claude/skills/fix-e2e-tests/SKILL.md | 235 | ## Step 5: Generate a fix and open a draft PR | COMMENT |
| LOW | .claude/skills/dashboard-create-screen/SKILL.md | 11 | ## Step 1: Discover Available Routes | COMMENT |
| LOW | .claude/skills/dashboard-create-screen/SKILL.md | 56 | ## Step 2: Discover Navigation Menus (After Route Selection) | COMMENT |
| LOW | .claude/skills/dashboard-create-screen/SKILL.md | 112 | ## Step 3: Gather User Input | COMMENT |
| LOW | .claude/skills/dashboard-create-screen/SKILL.md | 123 | ## Step 4: Determine File Locations | COMMENT |
| LOW | .claude/skills/dashboard-create-screen/SKILL.md | 133 | ## Step 5: Create Component File | COMMENT |
| LOW | .claude/skills/dashboard-create-screen/SKILL.md | 160 | ## Step 6: Register the Route | COMMENT |
| LOW | .claude/skills/dashboard-create-screen/SKILL.md | 206 | ## Step 7: Add Navigation Menu Entry (Optional) | COMMENT |
| LOW | .claude/skills/calypso-react-query-migration/SKILL.md | 74 | ## Step 1: Audit before writing | COMMENT |
| LOW | .claude/skills/calypso-react-query-migration/SKILL.md | 120 | ## Step 2: Bridge decision | COMMENT |
| LOW | .claude/skills/calypso-react-query-migration/SKILL.md | 139 | ## Step 3: Build the migration | COMMENT |
| LOW | .claude/skills/calypso-react-query-migration/SKILL.md | 274 | ## Step 4: Clean up Redux | COMMENT |
| LOW | …/skills/calypso-react-query-migration/redux-cleanup.md | 22 | ### Step 1: Find all consumers | COMMENT |
| LOW | …/skills/calypso-react-query-migration/redux-cleanup.md | 28 | ### Step 2: Replace Redux request state with React Query state | COMMENT |
| LOW⚡ | apps/notifications/src/panel/indices-to-html/index.js | 292 | // Step 1: Create the empty array of positions | COMMENT |
| LOW⚡ | apps/notifications/src/panel/indices-to-html/index.js | 301 | // Step 2: in order of largest to smallest, add the information | COMMENT |
| LOW⚡ | …domains/domain-connection-setup/utils/match-records.ts | 50 | // Step 1: Create a Set of target values for efficient O(1) lookup | COMMENT |
| LOW⚡ | …domains/domain-connection-setup/utils/match-records.ts | 53 | // Step 2: Separate current values into matched and unmatched arrays | COMMENT |
| LOW | …domains/domain-connection-setup/utils/match-records.ts | 65 | // Step 3: Create records by pairing each target with appropriate current value | COMMENT |
| LOW | …domains/domain-connection-setup/utils/match-records.ts | 87 | // Step 4: Add any remaining unmatched current values with '-' as updateTo | COMMENT |
| LOW | …rchases/cancel-purchase/cancel-purchase-form/index.tsx | 286 | // Step 3: Offer | COMMENT |
| LOW | …ponents/marketing-survey/cancel-jetpack-form/index.tsx | 459 | // Step 1: what will be lost by removing the subscription | COMMENT |
| LOW | …ponents/marketing-survey/cancel-jetpack-form/index.tsx | 472 | // Step 2: Survey Question | COMMENT |
| LOW | …ponents/marketing-survey/cancel-jetpack-form/index.tsx | 486 | // Step 3: Offer | COMMENT |
| LOW | …ponents/marketing-survey/cancel-jetpack-form/index.tsx | 502 | // Step 4: Offer Accepted | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | apps/notifications/src/panel/indices-to-html/index.js | 292 | // Step 1: Create the empty array of positions | COMMENT |
| LOW⚡ | apps/notifications/src/panel/indices-to-html/index.js | 301 | // Step 2: in order of largest to smallest, add the information | COMMENT |
| LOW⚡ | …domains/domain-connection-setup/utils/match-records.ts | 50 | // Step 1: Create a Set of target values for efficient O(1) lookup | COMMENT |
| LOW⚡ | …domains/domain-connection-setup/utils/match-records.ts | 53 | // Step 2: Separate current values into matched and unmatched arrays | COMMENT |
| LOW | …domains/domain-connection-setup/utils/match-records.ts | 65 | // Step 3: Create records by pairing each target with appropriate current value | COMMENT |
| LOW | …domains/domain-connection-setup/utils/match-records.ts | 87 | // Step 4: Add any remaining unmatched current values with '-' as updateTo | COMMENT |
| LOW | …osting-feature-activation-modal/error-content-info.tsx | 141 | In this scenario we need to check if it's an Atomic ste (TRANSFER_ALREADY_EXISTS) on a plan below Business (NO_BUSINESS | CODE |
| LOW | …rchases/cancel-purchase/cancel-purchase-form/index.tsx | 286 | // Step 3: Offer | COMMENT |
| LOW | client/my-sites/jetpack-search/main.tsx | 33 | // On Jetpack sites, we need to check if the search module is active, rather than checking settings. | COMMENT |
| LOW | client/my-sites/jetpack-search/controller.jsx | 37 | // On Jetpack sites, we need to check if the search module is active, on WPCom sites we | COMMENT |
| LOW | client/components/localized-moment/provider.jsx | 40 | // we need to check if the props haven't changed in the meantime. | COMMENT |
| LOW | …ponents/marketing-survey/cancel-jetpack-form/index.tsx | 459 | // Step 1: what will be lost by removing the subscription | COMMENT |
| LOW | …ponents/marketing-survey/cancel-jetpack-form/index.tsx | 472 | // Step 2: Survey Question | COMMENT |
| LOW | …ponents/marketing-survey/cancel-jetpack-form/index.tsx | 486 | // Step 3: Offer | COMMENT |
| LOW | …ponents/marketing-survey/cancel-jetpack-form/index.tsx | 502 | // Step 4: Offer Accepted | COMMENT |
| LOW | client/a8c-for-agencies/controller.tsx | 47 | // If multi-user support is enabled, we need to check if the user has access to the current path | COMMENT |
| LOW | client/a8c-for-agencies/hooks/use-help-center.ts | 45 | // When the hash changes, we need to check if it contains a support form hash fragment. | COMMENT |
| LOW | client/login/wp-login/index.jsx | 582 | // So we need to check if the current route is not the signup route to avoid flickering | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | packages/image-studio/src/components/index.tsx | 551 | // Show feedback buttons only for AI-generated/edited images — never for the | COMMENT |
| HIGH | …tepper/declarative-flow/flows/onboarding/onboarding.ts | 736 | // AI-generated theme can be installed, then hand off to the build-wow | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | packages/posthog/README.md | 10 | init( 'your-api-key', { | CODE |
| HIGH | packages/posthog/README.md | 26 | init( 'your-api-key', { ID: 12345 }, { | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | .teamcity/_self/projects/WPComTests.kt | 375 | // Uncomment the following to route it to the test channel, don't forget to change the reference in the exec() calls b | STRING |
| LOW | …migration-credentials/components/backup-file-field.tsx | 41 | "Upload your file to a service like Dropbox or Google Drive. Don't forget to make sure that anyone with the link ca | CODE |
| MEDIUM | client/state/data-layer/wpcom/read/feed/types.ts | 1 | // Feel free to adjust the type, if you find out a discrepancy between what the `/read/feed/${ encodeURIComponent( actio | COMMENT |
| LOW | …customer-home/cards/tasks/site-setup-list/get-task.jsx | 321 | "Get your thoughts together because it is time to start writing. After publishing, don't forget to share your first | CODE |
| LOW | …mer-home/cards/notices/celebrate-site-launch/index.jsx | 41 | "Don't forget to share your hard work with everyone. Keep up the momentum with some guidance on what to do next." | CODE |
| LOW | …mer-home/cards/notices/celebrate-site-launch/index.jsx | 44 | "Don't forget to share your hard work with everyone. Then keep working through your site setup list." | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | client/signup/style.scss | 129 | // Notice the :not(.dops) selector. I've added this to try and | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …s-repository/site-migration-ssh-share-access/index.tsx | 191 | // TODO: Handle error | COMMENT |
| LOW | …ashboard/me/security-account-recovery/recovery-sms.tsx | 183 | // TODO: Add validation via isValid.custom. | COMMENT |
| LOW | client/dashboard/me/security-ssh-key/ssh-key-form.tsx | 116 | // TODO: Add validation via isValid.custom. | COMMENT |
| LOW | …d/me/security-two-step-auth-sms/setup-phone-number.tsx | 146 | // TODO: Add validation via isValid.custom. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …k-ai-sidebar/src/components/image-alt-text-picker.scss | 9 | // The agentic `.Message-module_message ol, ul` selector (0,1,1) outranks a | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | packages/agenttic-ui/scripts/extract-i18n.js | 70 | # This file is distributed under the GPL2. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | .teamcity/_self/CalypsoE2ETestsBuildTemplate.kt | 89 | # Check if both DOCKER_IMAGE_BUILD_NUMBER and CALYPSO_BASE_URL are set | COMMENT |
| LOW | .teamcity/_self/CalypsoE2ETestsBuildTemplate.kt | 134 | # Check if both DOCKER_IMAGE_BUILD_NUMBER and DASHBOARD_BASE_URL are set | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | .claude/skills/fix-e2e-tests/baseline-failures.sh | 6 | # Usage: | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | packages/launchpad/static/mockServiceWorker.js | 117 | async function handleRequest( event, requestId ) { | CODE |