Chrome extension to return youtube dislikes
This report summarizes scanner evidence for Anarios/return-youtube-dislike, a JavaScript project with 13,799 GitHub stars. SynthScan examined 103,584 lines of code across 405 source files, recording 520 pattern matches distributed across 3 syntactic categories. The legacy adjusted pattern signal is 5.6 (Moderate 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.
Can maintainers explain intent, assumptions, and trade-offs? 514 finding(s).
Are imports declared and package/API names verified? 6 finding(s).
Are wrappers, guards, and repeated structures necessary? 513 finding(s).
Which changes need focused human review? 520 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 520 distinct pattern matches across 3 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 | extension-build-receipt.js | 51 | function collectExtensionBuildInputs(repositoryRoot) { | CODE |
| LOW | extension-build-receipt.js | 80 | function createExtensionBuildReceipt(repositoryRoot, mode) { | CODE |
| LOW | userscript-build-receipt.js | 56 | function collectUserscriptBuildInputs(repositoryRoot) { | CODE |
| LOW | userscript-build-receipt.js | 89 | function createUserscriptBuildReceipt(repositoryRoot, { artifactPath, buildId = "", liveTestBuild, mode }) { | CODE |
| LOW | userscript-build-receipt.js | 111 | function writeUserscriptBuildReceipt(receiptPath, artifactPath, receipt) { | CODE |
| LOW | userscript-build-receipt.js | 118 | function verifyUserscriptBuildReceipt({ | CODE |
| LOW⚡ | Extensions/UserScript/Return Youtube Dislike.user.js | 1036 | function hasConflictingControlOwnership(container, videoId) { | CODE |
| LOW⚡ | Extensions/UserScript/Return Youtube Dislike.user.js | 1040 | function clearPendingWatchControlObservers() { | CODE |
| LOW⚡ | Extensions/UserScript/Return Youtube Dislike.user.js | 1047 | function clearPendingWatchNavigationBoundary() { | CODE |
| LOW⚡ | Extensions/UserScript/Return Youtube Dislike.user.js | 1052 | function activationTargetHasVideoIdentity(target, videoId, buttons) { | CODE |
| LOW⚡ | Extensions/UserScript/Return Youtube Dislike.user.js | 1074 | function originalWatchTargetsAreReady(resetState, buttons, videoId) { | CODE |
| LOW⚡ | Extensions/UserScript/Return Youtube Dislike.user.js | 1080 | function currentWatchTargetIsReady(target, targetState, buttons, videoId) { | CODE |
| LOW⚡ | Extensions/UserScript/Return Youtube Dislike.user.js | 1090 | function elementIsOwnedDisplayMutation(element, targetState) { | CODE |
| LOW⚡ | Extensions/UserScript/Return Youtube Dislike.user.js | 1321 | function getShortsControlSurfaceSignature(buttons) { | CODE |
| LOW⚡ | Extensions/UserScript/Return Youtube Dislike.user.js | 1329 | function getVisibleDesktopShortsControlSurfaceCount() { | CODE |
| LOW⚡ | Extensions/UserScript/Return Youtube Dislike.user.js | 1335 | function shortsControlSurfaceIsReadyForMutation( | CODE |
| LOW⚡ | Extensions/UserScript/Return Youtube Dislike.user.js | 1691 | function setSyntheticShortsPressed(pressed, dislikeButton = getDislikeButton()) { | CODE |
| LOW⚡ | Extensions/UserScript/Return Youtube Dislike.user.js | 1700 | function persistSyntheticShortsState(videoId, disliked) { | CODE |
| LOW⚡ | Extensions/UserScript/Return Youtube Dislike.user.js | 1704 | async function readSyntheticShortsDisliked(videoId) { | CODE |
| LOW⚡ | Extensions/UserScript/Return Youtube Dislike.user.js | 1713 | async function restoreSyntheticShortsState( | CODE |
| LOW | Extensions/UserScript/Return Youtube Dislike.user.js | 68 | function applyVoteTransitionCounts(likes, dislikes, transition) { | CODE |
| LOW | Extensions/UserScript/Return Youtube Dislike.user.js | 451 | function defaultGetActivationTarget(control) { | CODE |
| LOW | Extensions/UserScript/Return Youtube Dislike.user.js | 487 | function resolveDelegatedVoteActivation({ | CODE |
| LOW | Extensions/UserScript/Return Youtube Dislike.user.js | 532 | function getShortsIdentityLinkVideoIds(root, baseUrl = "https://www.youtube.com/") { | CODE |
| LOW | Extensions/UserScript/Return Youtube Dislike.user.js | 560 | function getShortsControlSurfaceStabilityMs(isHydrated) { | CODE |
| LOW | Extensions/UserScript/Return Youtube Dislike.user.js | 564 | function isShortsControlSurfaceReadyForMutation({ | CODE |
| LOW | Extensions/UserScript/Return Youtube Dislike.user.js | 609 | function captureShortsNativeControlInventory( | CODE |
| LOW | Extensions/UserScript/Return Youtube Dislike.user.js | 640 | function shortsNativeControlInventoryMatches(left, right) { | CODE |
| LOW | Extensions/UserScript/Return Youtube Dislike.user.js | 654 | function shortsNativeControlInventoryIsReadyForFallback( | CODE |
| LOW | Extensions/UserScript/Return Youtube Dislike.user.js | 825 | function createGmSyntheticDislikeStore() { | CODE |
| LOW | Extensions/UserScript/Return Youtube Dislike.user.js | 902 | function getShortVideoIdFromPathname(pathname) { | CODE |
| LOW | Extensions/UserScript/Return Youtube Dislike.user.js | 966 | function hasMeaningfulViewportPresence(element) { | CODE |
| LOW | Extensions/UserScript/Return Youtube Dislike.user.js | 1015 | function getControlOwnershipVideoIds(container) { | CODE |
| LOW | Extensions/UserScript/Return Youtube Dislike.user.js | 1101 | function mutationIsMeaningfulWatchRefresh(mutation, targetState, videoId, buttons) { | CODE |
| LOW | Extensions/UserScript/Return Youtube Dislike.user.js | 1130 | function captureMeaningfulWatchRefreshes(resetState, mutations, videoId, buttons) { | CODE |
| LOW | Extensions/UserScript/Return Youtube Dislike.user.js | 1141 | function captureWatchNavigationBoundaryRefreshes(boundary, mutations) { | CODE |
| LOW | Extensions/UserScript/Return Youtube Dislike.user.js | 1152 | function seedWatchTargetFromNavigationBoundary(targetState, boundaryTargetState, buttons, videoId) { | CODE |
| LOW | Extensions/UserScript/Return Youtube Dislike.user.js | 1165 | function seedWatchResetFromNavigationBoundary(resetState, buttons, videoId) { | CODE |
| LOW | Extensions/UserScript/Return Youtube Dislike.user.js | 1181 | function suppressStaleTargetRefresh(target) { | CODE |
| LOW | Extensions/UserScript/Return Youtube Dislike.user.js | 1186 | function watchControlsAreReadyForVideo(buttons, likeButton, dislikeButton, videoId) { | CODE |
| LOW | Extensions/UserScript/Return Youtube Dislike.user.js | 1285 | function getActiveDesktopShortsActionBar() { | CODE |
| LOW | Extensions/UserScript/Return Youtube Dislike.user.js | 1362 | function getActiveMobileShortsButtons() { | CODE |
| LOW | Extensions/UserScript/Return Youtube Dislike.user.js | 1383 | function getExactShortLinkVideoIds(element) { | CODE |
| LOW | Extensions/UserScript/Return Youtube Dislike.user.js | 1419 | function getDesktopWatchButtonCandidates() { | CODE |
| LOW | Extensions/UserScript/Return Youtube Dislike.user.js | 1433 | function selectCurrentWatchButtons(candidates) { | CODE |
| LOW | Extensions/UserScript/Return Youtube Dislike.user.js | 1504 | function removeSyntheticShortsDislike(syntheticDislike) { | CODE |
| LOW | Extensions/UserScript/Return Youtube Dislike.user.js | 1516 | function ensureSyntheticShortsDislikeButton( | CODE |
| LOW | Extensions/UserScript/Return Youtube Dislike.user.js | 2121 | function elementTouchesWatchRateBar(element) { | CODE |
| LOW | Extensions/UserScript/Return Youtube Dislike.user.js | 2134 | function mutationTouchesWatchRateBar(mutation) { | CODE |
| LOW | Extensions/UserScript/Return Youtube Dislike.user.js | 2187 | function removeWatchRateBarArtifacts(buttons) { | CODE |
| LOW | Extensions/UserScript/Return Youtube Dislike.user.js | 2213 | function clearStaleWatchPresentation(buttons, dislikeButton, videoId) { | CODE |
| LOW | Extensions/UserScript/Return Youtube Dislike.user.js | 2256 | function scheduleWatchRateBarRepair() { | CODE |
| LOW | Extensions/UserScript/Return Youtube Dislike.user.js | 2266 | function disconnectWatchRateBarObserver() { | CODE |
| LOW | Extensions/UserScript/Return Youtube Dislike.user.js | 2450 | function applyHydratingVoteTransition(hydration, transition, syntheticShortsDislike) { | CODE |
| LOW | Extensions/UserScript/Return Youtube Dislike.user.js | 2460 | function reconcileHydratingVoteTransition(hydration, transition, syntheticShortsDislike) { | CODE |
| LOW | Extensions/UserScript/Return Youtube Dislike.user.js | 2484 | function clearNativeLikeForSyntheticDislike(action, stateBeforeActivation, syntheticShortsDislike) { | CODE |
| LOW | Extensions/UserScript/Return Youtube Dislike.user.js | 2518 | function captureHydratingShortsActivation(event, action) { | CODE |
| LOW | Extensions/UserScript/Return Youtube Dislike.user.js | 2613 | function refreshDislikesForBoundControl(event) { | CODE |
| LOW | Extensions/UserScript/Return Youtube Dislike.user.js | 2769 | function elementTouchesCurrentShortRenderer(element) { | CODE |
| LOW | Extensions/UserScript/Return Youtube Dislike.user.js | 2777 | function mutationTouchesShortsControls(mutation) { | CODE |
| 453 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | Extensions/UserScript/live/live-scenarios.spec.js | 933 | expect(harness.recorder.waitForHandshake.mock.calls.map(([value]) => value)).toEqual(expectedValues); | CODE |
| CRITICAL | Extensions/UserScript/live/live-scenarios.spec.js | 980 | expect(harness.recorder.waitForHandshake.mock.calls.map(([value]) => value)).toEqual([-1, 0]); | CODE |
| CRITICAL | Extensions/UserScript/live/live-scenarios.spec.js | 1420 | expect(harness.recorder.waitForHandshake.mock.calls.slice(-2)).toEqual([ | CODE |
| CRITICAL | Extensions/combined/ryd.background.spec.js | 205 | expect(chrome.tabs.sendMessage.mock.calls.every(([, message]) => message.authenticated === false)).toBe(true); | CODE |
| CRITICAL | Extensions/combined/ryd.background-changelog.spec.js | 167 | const shownWrites = chrome.storage.local.set.mock.calls.filter(([values]) => | CODE |
| CRITICAL | Extensions/combined/src/buttons.js | 426 | const semanticSelectors = extConfig.selectors.buttons.dislikeButton.notSegmented.filter( | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | Extensions/UserScript/Return Youtube Dislike.user.js | 1 | // ==UserScript== | COMMENT |