AI Slop Code Risk Monitor

zotero/zotero

SlopCodeMonitor badge for zotero/zotero Adjusted legacy signal; badge bands: 25 / 50 / 75 (different from dashboard bands).

Zotero is a free, easy-to-use tool to help you collect, organize, annotate, cite, and share your research sources.

2.5 Low pattern signal View on GitHub

Open-Source Code Quality, Security and Technical Debt Review

This report summarizes scanner evidence for zotero/zotero, a JavaScript project with 15,819 GitHub stars. SynthScan examined 395,711 lines of code across 1023 source files, recording 317 pattern matches distributed across 15 syntactic categories. The legacy adjusted pattern signal is 2.5 (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.

2.5
Adjusted Signal
2.5
Raw Pattern Score
100%
Time Factor
2026-10-31
Last Push
15.8K
Stars
JavaScript
Language
395.7K
Lines of Code
1.0K
Files
317
Pattern Hits
2026-10-31
Scan Date
0.07
HC Hit Rate

Risk Review · Payload v1

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.

Cognitive Ownership Risk 2.5/100 · LOW

Can maintainers explain intent, assumptions, and trade-offs? 195 finding(s).

Hallucinated Dependency & Supply Chain Risk 9.2/100 · LOW

Are imports declared and package/API names verified? 113 finding(s).

Agent Over-Engineering Ratio 1.0/100 · LOW

Are wrappers, guards, and repeated structures necessary? 57 finding(s).

PR Review Velocity Impact 11.9/100 · LOW

Which changes need focused human review? 317 finding(s).

What These Metrics Mean

Adjusted Signal
Legacy pattern score normalized per 1,000 scanned lines and multiplied by the repository-level time factor. It is not an estimate of AI authorship.
Raw Pattern Score
Sum of severity- and context-weighted pattern findings before applying the time factor.
Time Factor
A coarse multiplier based on repository last-push metadata. It does not identify when individual code was written.
Pattern Hits
Count of configured pattern findings. Review each location and surrounding code before acting.
HC Hit Rate
High- and critical-severity findings per scanned file. Severity is a configured detector weight, not proof of a vulnerability or authorship.
Lines / Files
Scan coverage denominators used by the legacy normalized score.

Pattern-Signal History

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.

Severity Breakdown

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.

CRITICAL 71HIGH 2MEDIUM 20LOW 224

Directory Score Breakdown

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.

Pattern Findings

The scanner identified 317 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.

Hallucination Indicators71 hits · 715 pts
SeverityFileLineSnippetContext
CRITICALtest/tests/recognizeDocumentTest.js47 && Zotero.Translate.Search.prototype.translate.restore();CODE
CRITICALtest/tests/itemPaneTest.js1090 = preview._reader._internalReader._annotationManager._annotations.find(CODE
CRITICALtest/tests/itemPaneTest.js1106 = preview._reader._internalReader._annotationManager._annotations.find(CODE
CRITICALtest/tests/itemPaneTest.js1212 = preview._reader._internalReader._annotationManager._annotations.find(CODE
CRITICALtest/tests/itemPaneTest.js1239 = preview._reader._internalReader._annotationManager._annotations.find(CODE
CRITICALtest/tests/itemPaneTest.js1267 = preview._reader._internalReader._annotationManager._annotations.find(CODE
CRITICALtest/tests/itemPaneTest.js2302 return Zotero.Prefs.get('sidenav.order') || ZoteroPane.itemPane._itemDetails.sidenav._builtInPanes.join(',');CODE
CRITICALtest/tests/integrationTest.js405 Zotero.Integration.Progress.prototype.show.restore();CODE
CRITICALtest/tests/zfsTest.js1016 Zotero.Sync.Storage.Local.storageRemainingForLibrary.delete(items[0].libraryID);CODE
CRITICALtest/tests/zfsTest.js1036 Zotero.Sync.Storage.Local.storageRemainingForLibrary.set(items[0].libraryID, 0);CODE
CRITICALtest/tests/zfsTest.js1044 Zotero.Sync.Storage.Local.storageRemainingForLibrary.delete(items[0].libraryID);CODE
CRITICALchrome/content/zotero/zoteroPane.js5235 var text = event.currentTarget.ownerDocument.popupNode.ownerDocument.defaultView.getSelection().toString();CODE
CRITICALchrome/content/zotero/xpcom/citeproc.js13253 //this.state.registry.registry[this.Item.id].disambig.givens = this.state.tmp.disambig_settings.givens.slice();COMMENT
CRITICALchrome/content/zotero/xpcom/citeproc.js10551 done_vars: state.tmp.group_context.tip.done_vars.slice()CODE
CRITICALchrome/content/zotero/xpcom/citeproc.js12240 this.state.tmp.name_node.top.blobs.pop();CODE
CRITICALchrome/content/zotero/xpcom/citeproc.js12241 this.state.tmp.name_node.top.blobs.push(blob);CODE
CRITICALchrome/content/zotero/xpcom/citeproc.js12339 myqueue = this.state.tmp.name_node.top.blobs.slice(-1)[0].blobs;CODE
CRITICALchrome/content/zotero/xpcom/citeproc.js12352 myqueue = this.state.tmp.name_node.top.blobs.slice(-1)[0].blobs;CODE
CRITICALchrome/content/zotero/xpcom/citeproc.js12360 this.state.tmp.name_node.top.blobs.pop();CODE
CRITICALchrome/content/zotero/xpcom/citeproc.js12377 this.state.tmp.name_node.top.blobs.pop();CODE
CRITICALchrome/content/zotero/xpcom/citeproc.js13555 this.state.tmp.name_node.children.push(blob);CODE
CRITICALchrome/content/zotero/xpcom/citeproc.js13986 this.state.tmp.name_node.children.push(blob);CODE
CRITICALchrome/content/zotero/xpcom/citeproc.js15260 state.tmp.group_context.tip.done_vars.push(this.variables_real[0]);CODE
CRITICALchrome/content/zotero/xpcom/citeproc.js15459 state.tmp.group_context.tip.done_vars.push("citation-number");CODE
CRITICALchrome/content/zotero/xpcom/citeproc.js24553 this.state.registry.registry[Item.id].disambig.givens = this.state.tmp.disambig_settings.givens.slice();CODE
CRITICALchrome/content/zotero/xpcom/integration.js3450 serializeCitationItem.itemData = Zotero.Integration.currentSession.style.sys.retrieveItem(citationItem.id);CODE
CRITICAL…/content/zotero/xpcom/translation/translate_firefox.js758Zotero.Translate.IO.Read.prototype.__defineGetter__("contentLength",CODE
CRITICALchrome/content/zotero/xpcom/storage/storageRequest.js108Zotero.Sync.Storage.Request.prototype.__defineGetter__('percentage', function () {CODE
CRITICALchrome/content/zotero/xpcom/storage/storageRequest.js140Zotero.Sync.Storage.Request.prototype.__defineGetter__('remaining', function () {CODE
CRITICALchrome/content/zotero/xpcom/storage/storageEngine.js139 if (!this.background && Zotero.Sync.Storage.Local.storageRemainingForLibrary.has(libraryID)) {CODE
CRITICALchrome/content/zotero/xpcom/storage/storageEngine.js141 Zotero.Sync.Storage.Local.storageRemainingForLibrary.delete(libraryID)CODE
CRITICALchrome/content/zotero/xpcom/storage/zfs.js233 var remaining = Zotero.Sync.Storage.Local.storageRemainingForLibrary.get(item.libraryID);CODE
CRITICALchrome/content/zotero/xpcom/storage/zfs.js278 let remaining = Zotero.Sync.Storage.Local.storageRemainingForLibrary.get(item.libraryID);CODE
CRITICALchrome/content/zotero/xpcom/storage/zfs.js603 Zotero.Sync.Storage.Local.storageRemainingForLibrary.set(item.libraryID, quota - usage);CODE
CRITICALchrome/content/zotero/xpcom/sync/syncEventListeners.js338 Zotero.Sync.Storage.Local.uploadCheckFiles.push({CODE
CRITICALchrome/content/zotero/xpcom/data/feed.js119 value: Object.freeze(Zotero.Feed._super.prototype.libraryTypes.concat(['feed']))CODE
CRITICALchrome/content/zotero/xpcom/data/feed.js168 || Zotero.Feed._super.prototype._isValidProp.call(this, prop);CODE
CRITICALchrome/content/zotero/xpcom/data/feed.js217 return Zotero.Feed._super.prototype._set.call(this, prop, val);CODE
CRITICALchrome/content/zotero/xpcom/data/feed.js221 Zotero.Feed._super.prototype._loadDataFromRow.call(this, row);CODE
CRITICALchrome/content/zotero/xpcom/data/feed.js245 let proceed = await Zotero.Feed._super.prototype._initSave.call(this, env);CODE
CRITICALchrome/content/zotero/xpcom/data/feed.js265 await Zotero.Feed._super.prototype._saveData.apply(this, arguments);CODE
CRITICALchrome/content/zotero/xpcom/data/feed.js313 await Zotero.Feed._super.prototype._finalizeSave.apply(this, arguments);CODE
CRITICALchrome/content/zotero/xpcom/data/feed.js349 return Zotero.Feed._super.prototype._finalizeErase.apply(this, arguments);CODE
CRITICALchrome/content/zotero/xpcom/data/feed.js356 await Zotero.Feed._super.prototype.erase.call(this, options);CODE
CRITICALchrome/content/zotero/xpcom/data/feedItem.js95 await Zotero.FeedItem._super.prototype.loadPrimaryData.apply(this, arguments);CODE
CRITICALchrome/content/zotero/xpcom/data/feedItem.js106 return Zotero.FeedItem._super.prototype.setField.apply(this, arguments);CODE
CRITICALchrome/content/zotero/xpcom/data/feedItem.js133 Zotero.FeedItem._super.prototype.fromJSON.apply(this, arguments);CODE
CRITICALchrome/content/zotero/xpcom/data/feedItem.js141 let proceed = await Zotero.FeedItem._super.prototype._initSave.apply(this, arguments);CODE
CRITICALchrome/content/zotero/xpcom/data/feedItem.js164 await Zotero.FeedItem._super.prototype._saveData.apply(this, arguments);CODE
CRITICALchrome/content/zotero/xpcom/data/feedItem.js186 return Zotero.FeedItem._super.prototype._finalizeErase.apply(this, arguments);CODE
CRITICALchrome/content/zotero/xpcom/data/item.js104Zotero.Item.prototype._dataTypes = Zotero.Item._super.prototype._dataTypes.concat([CODE
CRITICALchrome/content/zotero/xpcom/data/item.js214 Zotero.Item._super.prototype._setParentKey.apply(this, arguments);CODE
CRITICALchrome/content/zotero/xpcom/data/item.js1574 var editable = Zotero.Item._super.prototype.isEditable.call(this, op);CODE
CRITICALchrome/content/zotero/xpcom/data/item.js1613 return Zotero.Item._super.prototype._initSave.apply(this, arguments);CODE
CRITICALchrome/content/zotero/xpcom/data/item.js6155 var json = this.constructor._super.prototype.toResponseJSON.call(this, options);CODE
CRITICALchrome/content/zotero/xpcom/data/search.js45Zotero.Search.prototype._dataTypes = Zotero.Search._super.prototype._dataTypes.concat([CODE
CRITICALchrome/content/zotero/xpcom/data/search.js172 return Zotero.Search._super.prototype._initSave.apply(this, arguments);CODE
CRITICALchrome/content/zotero/xpcom/data/search.js294 await Zotero.Search._super.prototype._finalizeErase.call(this, env);CODE
CRITICALchrome/content/zotero/xpcom/data/collection.js40Zotero.Collection.prototype._dataTypes = Zotero.Collection._super.prototype._dataTypes.concat([CODE
CRITICALchrome/content/zotero/xpcom/data/collection.js260 var proceed = await Zotero.Collection._super.prototype._initSave.apply(this, arguments);CODE
11 more matches not shown…
Over-Commented Block121 hits · 100 pts
SeverityFileLineSnippetContext
LOWtypes/gecko/index.d.ts1/* This Source Code Form is subject to the terms of the Mozilla PublicCOMMENT
LOWapp/build.sh1#!/bin/bash -eCOMMENT
LOWapp/build.sh1001 # Copy app filesCOMMENT
LOWapp/win/installer/7zstub/src/Common/MyWindows.h1// MyWindows.hCOMMENT
LOWapp/win/installer/7zstub/src/Common/MyWindows.h81#define E_ABORT ((HRESULT)0x80004004L)COMMENT
LOWapp/win/installer/7zstub/src/Common/MyUnknown.h1// MyUnknown.hCOMMENT
LOWapp/win/installer/7zstub/src/Common/MyUnknown.h21#include "MyWindows.h"COMMENT
LOWapp/win/installer/7zstub/src/Common/Alloc.cpp1// Common/Alloc.cppCOMMENT
LOWapp/win/installer/7zstub/src/Common/ComTry.h1// ComTry.hCOMMENT
LOWapp/win/installer/7zstub/src/Common/Alloc.h21COMMENT
LOWapp/win/installer/7zstub/src/7zip/MyVersion.h1#define MY_VER_MAJOR 4COMMENT
LOW…in/installer/7zstub/src/7zip/UI/Common/OpenArchive.cpp1// OpenArchive.cppCOMMENT
LOW…in/installer/7zstub/src/7zip/UI/Common/OpenArchive.cpp21#endifCOMMENT
LOW…n/installer/7zstub/src/7zip/UI/Common/ArchiverInfo.cpp1// ArchiverInfo.cppCOMMENT
LOW…/win/installer/7zstub/src/7zip/UI/Common/OpenArchive.h1// OpenArchive.hCOMMENT
LOW…taller/7zstub/src/7zip/UI/Common/ArchiveOpenCallback.h1// ArchiveOpenCallback.hCOMMENT
LOW…staller/7zstub/src/7zip/Archive/Common/CoderMixer2MT.h1// CoderMixer2MT.hCOMMENT
LOW…staller/7zstub/src/7zip/Archive/Common/CoderMixer2MT.h41};COMMENT
LOW…win/installer/7zstub/src/7zip/Archive/7z/7zExtract.cpp1// 7zExtract.cppCOMMENT
LOW…win/installer/7zstub/src/7zip/Archive/7z/7zHandler.cpp1// 7zHandler.cppCOMMENT
LOW…p/win/installer/7zstub/src/7zip/Archive/7z/7zHandler.h1// 7z/Handler.hCOMMENT
LOW…p/win/installer/7zstub/src/7zip/Archive/7z/7zHandler.h61#ifndef __7Z_SET_PROPERTIESCOMMENT
LOWapp/win/installer/7zstub/src/7zip/Archive/7z/7zDecode.h1// 7zDecode.hCOMMENT
LOW…/win/installer/7zstub/src/7zip/Archive/7z/7zDecode.cpp1// 7zDecode.cppCOMMENT
LOW…/win/installer/7zstub/src/7zip/Archive/7z/7zDecode.cpp21#ifdef COMPRESS_PPMDCOMMENT
LOW…/win/installer/7zstub/src/7zip/Archive/7z/7zDecode.cpp41COMMENT
LOWapp/win/installer/7zstub/src/7zip/Common/StdAfx.h1// StdAfx.hCOMMENT
LOW…p/win/installer/7zstub/src/7zip/Common/FileStreams.cpp1// FileStreams.cppCOMMENT
LOW…/src/7zip/FileManager/Resource/ProgressDialog/StdAfx.h1// stdafx.hCOMMENT
LOW…nstaller/7zstub/src/7zip/Bundles/SFXSetup-moz/StdAfx.h1// StdAfx.hCOMMENT
LOW…stub/src/7zip/Bundles/SFXSetup-moz/ExtractCallback.cpp1// ExtractCallback.hCOMMENT
LOW…taller/7zstub/src/7zip/Bundles/SFXSetup-moz/resource.h1#define IDI_ICON3 159COMMENT
LOW…7zstub/src/7zip/Bundles/SFXSetup-moz/ExtractCallback.h1// ExtractCallback.hCOMMENT
LOW…nstaller/7zstub/src/7zip/Bundles/SFXSetup-moz/Main.cpp1// Main.cppCOMMENT
LOW…7zstub/src/7zip/Bundles/SFXSetup-moz/ExtractEngine.cpp1// ExtractEngine.cppCOMMENT
LOWapp/win/installer/7zstub/src/Windows/COM.h41 #define GUIDToString GUIDToStringWCOMMENT
LOWapp/win/installer/7zstub/src/Windows/FileDir.cpp1// Windows/FileDir.cppCOMMENT
LOW…win/installer/7zstub/src/Windows/Control/ProgressBar.h41#endifCOMMENT
LOWapp/win/installer/7zstub/src/Windows/Control/Dialog.h141#endifCOMMENT
LOWapp/update-packaging/common.sh1#!/bin/bashCOMMENT
LOWapp/update-packaging/common.sh241# Building updates repeats the same expensive work: the same file contents getCOMMENT
LOWapp/scripts/optimizejars.py1# ***** BEGIN LICENSE BLOCK *****COMMENT
LOWapp/scripts/optimizejars.py21# Contributor(s):COMMENT
LOWapp/assets/prefs.js61COMMENT
LOWapp/assets/prefs.js121// supplied in the "An update is available" page of the update wizard.COMMENT
LOWapp/assets/win/skin/preferences/preferences.css1/*COMMENT
LOWapp/assets/win/skin/preferences/preferences.css21# the Initial Developer. All Rights Reserved.COMMENT
LOWapp/assets/mac/chrome/skin/preferences/preferences.css1/*COMMENT
LOWapp/assets/mac/chrome/skin/preferences/preferences.css21# the Initial Developer. All Rights Reserved.COMMENT
LOWapp/assets/unix/skin/preferences/preferences.css1%if 0COMMENT
LOWapp/assets/unix/skin/preferences/preferences.css21# Portions created by the Initial Developer are Copyright (C) 2005COMMENT
LOWtest/tests/supportTest.js121 });COMMENT
LOWtest/resource/pako_inflate.js641 if (op > whave) {COMMENT
LOWtest/resource/pako_inflate.js2081 strm.msg = 'invalid distance too far back';COMMENT
LOWscss/elements/_zoteroSearch.scss41 // A nested group has no box of its own. Each nesting level sets an indent that theCOMMENT
LOWscss/elements/_quickSearchTextbox.scss21 // window and crops just enough on a narrow one, keeping the buttons to its right (collapse/COMMENT
LOWscss/abstracts/_placeholders.scss1//COMMENT
LOWchrome/content/zotero/collectionTree.jsx1721 COMMENT
LOWchrome/content/zotero/libraryTree.js301COMMENT
LOWchrome/content/zotero/customElements.js121 // in newCollection dialog on macOS won't go away when you click away,COMMENT
61 more matches not shown…
Hyper-Verbose Identifiers48 hits · 50 pts
SeverityFileLineSnippetContext
LOWtest/tests/schemaTest.js384 function createResponseWithMessage(message) {CODE
LOWtest/tests/translateTest.js11function saveItemsThroughTranslator(translatorType, items, translateOptions = {}) {CODE
LOWtest/tests/dbTest.js383 async function createDatabaseWithCorruptTable() {CODE
LOWtest/tests/zoteroPaneTest.js2331 async function selectMultipleCollections(collections) {CODE
LOWtest/tests/integrationTest.js320 function setDefaultIntegrationDocPrefs() {CODE
LOWtest/tests/retractionsTest.js66 async function createRetractedItemWithExtraDOI(options = {}) {CODE
LOWtest/tests/collectionViewItemTreeTest.js3050 async function selectMultipleCollections(collections) {CODE
LOWtest/tests/sdtTest.js375 function stubStructuredDocumentTextWorker() {CODE
LOW⚡test/tests/sdtTest.js389 function getStaleProcessorVersionSDTPackBytes() {CODE
LOW⚡test/tests/sdtTest.js393 function getWrongProcessorTypeSDTPackBytes() {CODE
LOW⚡test/tests/sdtTest.js397 function getIncompatibleSchemaMajorSDTPackBytes() {CODE
LOWtest/tests/undoHistoryTest.js1255 function setNoRemoteChangesResponses(lastLibraryVersion) {CODE
LOWtest/content/support.js679async function executeTransactionWithForcedRollback(fn, options) {CODE
LOWtest/content/support.js904function generateAllTypesAndFieldsData() {CODE
LOWtest/content/support.js1039var generateCiteProcJSExportData = async function generateCiteProcJSExportData(currentData) {CODE
LOWtest/content/support.js1060var generateTranslatorExportData = async function generateTranslatorExportData(legacy, currentData) {CODE
LOWchrome/content/zotero/locateManager.jsx148async function restoreDefaultLocateEngines() {CODE
LOWchrome/content/zotero/itemTreeColumns.jsx410function getColumnDefinitionsByDataKey(dataKeys) {CODE
LOWchrome/content/zotero/zoteroPane.js5057 function attachmentsWithExtractableAnnotations(item) {CODE
LOWchrome/content/zotero/zoteroPane.js5064 function isAttachmentWithExtractableAnnotations(item) {CODE
LOWchrome/content/zotero/editMenuOverlay.js11function goUpdateGlobalEditMenuItems(force) {CODE
LOWchrome/content/zotero/editMenuOverlay.js32function goUpdateUndoEditMenuItems() {CODE
LOWchrome/content/zotero/xpcom/cite.js161 "getBibliographyFormatParameters":function getBibliographyFormatParameters(bib) {CODE
LOWchrome/content/zotero/xpcom/cite.js254 "makeFormattedBibliography":function makeFormattedBibliography(cslEngine, format) {CODE
LOWchrome/content/zotero/xpcom/plugins.js665 function rebuildUnifiedPluginSource(zoteroLocales) {CODE
LOWchrome/content/zotero/xpcom/intl.js236 function setOrClearIntlPref(name, type) {CODE
LOWchrome/content/zotero/xpcom/citeproc.js5961 function blobHasDescendantMergingPunctuation(parentChar,blob) {CODE
LOWchrome/content/zotero/xpcom/http.js589 function wrapNotificationCallbacks(callbacks) {CODE
LOW…/content/zotero/xpcom/translation/translate_firefox.js163 function ExposedPropsWaiverHandler() {CODE
LOWchrome/content/zotero/xpcom/server/server_localAPI.js1840function buildSearchFromSearchSyntax(parentSearch, searchStrings, condition) {CODE
LOWchrome/content/zotero/xpcom/data/itemFields.js278 function getFieldIDFromTypeAndBase(itemType, baseField) {CODE
LOWchrome/content/zotero/xpcom/data/itemFields.js311 function getBaseIDFromTypeAndField(itemType, typeField) {CODE
LOWchrome/content/zotero/integration/citationDialog.js198function cleanupBeforeDialogClosing() {CODE
LOWchrome/content/scaffold/scaffold.js2293 function eslintOutputToModelMarkers(output, modelVersionId) {CODE
LOWscripts/migrate-fx140/bluebird-to-async.js95function isStaticPromiseMethodCall(path, methodFilter) {CODE
LOWscripts/migrate-fx140/static-import.js41function tryReplacingWithStaticImport(CODE
LOWscripts/migrate-fx140/static-import.js107function replaceImportESModuleCall(CODE
LOWscripts/migrate-fx140/use-import-export-declarations.js69function collectAndRemoveExportedSymbols(inputFile, root) {CODE
LOWscripts/migrate-fx140/import-to-import_esmodule.js105function isMemberExpressionMatchingPatterns(node, patterns) {CODE
LOWscripts/migrate-fx140/import-to-import_esmodule.js153function findDefineESModuleGettersStmt(path, expectedIDs) {CODE
LOWscripts/migrate-fx140/import-to-import_esmodule.js421function tryReplaceActorDefinition(inputFile, path, name) {CODE
LOWscripts/migrate-fx140/utils.js84function memberExpressionsToIdentifiers(memberExpr) {CODE
LOWscripts/migrate-fx140/utils.js114function isMemberExpressionWithIdentifiers(node, expectedIDs) {CODE
LOWscripts/migrate-fx140/utils.js132function rewriteMemberExpressionWithIdentifiers(node, toIDs) {CODE
LOWscripts/migrate-fx140/utils.js140function createMemberExpressionWithIdentifiers(jscodeshift, ids) {CODE
LOWscripts/migrate-fx140/migrate.py507def asyncify_rewrite_bluebird_methods(jss, summary):CODE
LOWscripts/migrate-fx140/migrate.py631def try_rename_components_conf(command_context, path, jsm_name, esm_name):CODE
LOWjs-build/utils.js60async function recursivelyRemoveEmptyDirsUp(dirsSeen, invalidDirsCount = 0, removedDirsCount = 0) {CODE
Fake / Example Data38 hits · 38 pts
SeverityFileLineSnippetContext
LOWtest/tests/fileTest.js550 const text1KB = Array.from({ length: 64 }, _ => "lorem ipsum foo\n").join('');CODE
LOWtest/tests/httpTest.js758 let username = "user@example.com";CODE
LOWtest/tests/itemPaneTest.js1933 let item = await createDataObject('item', { title: 'Lorem Ipsum' });CODE
LOWtest/tests/itemPaneTest.js1938 fileBaseName: "Lorem Ipsum", // Simulate auto-renaming, normally code would call getRenamedFileBaseNameIfAllowedTypeCODE
LOWtest/tests/itemPaneTest.js1955 assert.equal(label.value, "Lorem Ipsum.pdf");CODE
LOWtest/tests/itemPaneTest.js1962 let item = await createDataObject('item', { title: 'Lorem Ipsum' });CODE
LOWtest/tests/itemPaneTest.js1984 assert.equal(label.value, "Lorem Ipsum.txt");CODE
LOWtest/tests/itemPaneTest.js2015 let item = await createDataObject('item', { title: 'Lorem Ipsum' });CODE
LOWtest/tests/itemPaneTest.js2020 fileBaseName: "Lorem Ipsum",CODE
LOWtest/tests/rtfScanTest.js20 testItem2.setField('title', 'Lorem Ipsum');CODE
LOWtest/tests/attachmentsTest.js1789 item = createUnsavedDataObject('item', { title: 'Lorem Ipsum', itemType: 'journalArticle', libraryID: 1 });CODE
LOWtest/tests/attachmentsTest.js1859 'Barius and Pixelus - 1975 - Lorem Ipsum'CODE
LOWtest/tests/attachmentsTest.js1895 ' Lorem Ipsum 'CODE
LOWtest/tests/attachmentsTest.js2161 'Lorem Ipsum-1975'CODE
LOWtest/tests/attachmentsTest.js2203 'Barius and Pixelus - 1975 - Lorem Ipsum'CODE
LOWtest/tests/attachmentsTest.js2297 'Lorem Ipsum'CODE
LOWtest/tests/undoHistoryTest.js720 lastName: 'John Doe',CODE
LOWtest/tests/undoHistoryTest.js725 assert.equal(item.getCreator(0).lastName, 'John Doe');CODE
LOWtest/tests/mendeleyImportTest.js547 /^<h1>TEST<\/h1>\n<p><span class="highlight" data-annotation="((?:(?:%[0-9A-F]{2}|[^<>'" %])+))">“Highlight text”<\/CODE
LOWtest/tests/mendeleyImportTest.js591 /^<h1>TEST<\/h1>\n<p><span class="highlight" data-annotation="((?:(?:%[0-9A-F]{2}|[^<>'" %])+))">“A purely peer-to-pCODE
LOWtest/tests/data/mendeleyMock/items-updated.json17 "source": "lorem ipsum",CODE
LOWtest/tests/data/mendeleyMock/items-updated.json35 "source": "lorem ipsum",CODE
LOWtest/tests/data/mendeleyMock/items-simple.json14 "source": "lorem ipsum",CODE
LOWtest/tests/data/mendeleyMock/items-simple.json77 "abstract": "Lorem Ipsum. Nostrud elit ullamco laborum cillum.",CODE
LOWtest/tests/data/mendeleyMock/notebook.json72 "text": "Lorem Ipsum"CODE
LOW…ests/data/mendeleyMock/items-simple-no-desktop-id.json13 "source": "lorem ipsum",CODE
LOW…ests/data/mendeleyMock/items-simple-no-desktop-id.json74 "abstract": "Lorem Ipsum. Nostrud elit ullamco laborum cillum.",CODE
LOWchrome/content/zotero/components/form/input.jsx182 'maxLength', 'min', 'minLength', 'name', 'placeholder', 'type', 'spellCheck',CODE
LOWchrome/content/zotero/components/editable/content.jsx67 'placeholder': !this.hasValueCODE
LOWchrome/content/zotero/elements/abstractBox.js41 <editable-text multiline="true" data-l10n-id="abstract-field" data-l10n-attrs="placeholder" />CODE
LOWchrome/content/zotero/elements/notesContext.js34 <search-textbox data-l10n-id="context-notes-search" data-l10n-attrs="placeholder"CODE
LOWchrome/content/zotero/elements/styleConfigurator.js39 <div class="placeholder">CODE
LOWchrome/content/zotero/elements/editableText.js49 'placeholder',CODE
LOWchrome/content/zotero/elements/editableText.js134 return this.getAttribute('placeholder') || '';CODE
LOWchrome/content/zotero/elements/editableText.js138 this.setAttribute('placeholder', placeholder || '');CODE
LOWchrome/content/zotero/elements/searchTextbox.js34 "placeholder",CODE
LOW⚡resource/tinymce/tinymce.min.js2!function(H){"use strict";var o=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t]},j=function(n,r){reCODE
LOWresource/tinymce/themes/modern/theme.min.js1!function(_){"use strict";var e,t,n,i,r,o=tinymce.util.Tools.resolve("tinymce.ThemeManager"),h=tinymce.util.Tools.resolvCODE
Decorative Section Separators8 hits · 24 pts
SeverityFileLineSnippetContext
MEDIUMapp/update-packaging/common.sh11# -----------------------------------------------------------------------------COMMENT
MEDIUMapp/update-packaging/common.sh45# -----------------------------------------------------------------------------COMMENT
MEDIUMapp/update-packaging/common.sh238# -----------------------------------------------------------------------------COMMENT
MEDIUMapp/update-packaging/common.sh264# -----------------------------------------------------------------------------COMMENT
MEDIUMapp/update-packaging/make_incremental_update.sh22# -----------------------------------------------------------------------------COMMENT
MEDIUMapp/update-packaging/make_incremental_update.sh106# -----------------------------------------------------------------------------COMMENT
MEDIUMapp/update-packaging/make_full_update.sh22# -----------------------------------------------------------------------------COMMENT
MEDIUMapp/update-packaging/make_full_update.sh51# -----------------------------------------------------------------------------COMMENT
Modern AI Meta-Vocabulary8 hits · 18 pts
SeverityFileLineSnippetContext
MEDIUMscss/scaffold.scss36#scaffold, #zotero-select-item-dialog {COMMENT
MEDIUMscss/scaffold.scss41#scaffold {COMMENT
MEDIUMchrome/content/zotero/standalone/standalone.js1148 'chrome://scaffold/content/scaffold.xhtml',CODE
MEDIUMchrome/content/scaffold/scaffold.js33var { ZoteroWebTranslationEnvironment } = ChromeUtils.importESModule('chrome://scaffold/content/zoteroWebTranslationEnviCODE
MEDIUMchrome/content/scaffold/scaffold.js93 window.messageManager.loadFrameScript('chrome://scaffold/content/content.js', true);CODE
MEDIUMchrome/content/scaffold/scaffold.js735 window.openDialog("chrome://scaffold/content/load.xhtml",CODE
MEDIUMchrome/content/scaffold/scaffold.js1080 let value = Zotero.File.getContentsFromURL(`chrome://scaffold/content/templates/${template}.js`);CODE
MEDIUMchrome/content/scaffold/scaffold.js1322 window.openDialog("chrome://scaffold/content/select.xhtml",CODE
AI Slop Vocabulary4 hits · 12 pts
SeverityFileLineSnippetContext
MEDIUMchrome/content/zotero/zoteroPane.js5124 // but it is not as robust as XUL. Unfortunately we cannot use the original XULCOMMENT
MEDIUMchrome/content/zotero/xpcom/citeproc.js13889 // XXX Needs a more robust solution than thisCOMMENT
MEDIUM⚡resource/tinymce/tinymce.min.js2!function(H){"use strict";var o=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t]},j=function(n,r){reCODE
MEDIUM⚡resource/tinymce/tinymce.min.js2!function(H){"use strict";var o=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t]},j=function(n,r){reCODE
TODO Padding7 hits · 10 pts
SeverityFileLineSnippetContext
LOWchrome/content/zotero/xpcom/editorInstance.js421 // TODO: implement navigating to note editor locationCOMMENT
LOWchrome/content/zotero/xpcom/collectionTreeRow.js549 // TODO: implement?COMMENT
LOWchrome/content/zotero/xpcom/reader.js2405 // TODO: implement these inside reader after redesign is done thereCOMMENT
LOWchrome/content/zotero/xpcom/sync/syncLocal.js1519 // TODO: Fix tests so this doesn't happenCOMMENT
LOWchrome/content/zotero/xpcom/data/notes.js109 // TODO: implement thisCOMMENT
LOWchrome/content/zotero/elements/noteEditor.js319 // TODO: implement thisCOMMENT
LOWchrome/content/scaffold/templates/newWeb.js68 // TODO: implement or add a scrape function templateCOMMENT
Empty Error Handlers1 hit · 5 pts
SeverityFileLineSnippetContext
HIGHapp/scripts/optimizejars.py118except:CODE
Cross-Language Confusion (JS/TS)1 hit · 5 pts
SeverityFileLineSnippetContext
HIGHchrome/content/zotero/xpcom/citeproc.js6300 print(JSON.stringify(parent, function(key, val) {CODE
Unused Imports3 hits · 3 pts
SeverityFileLineSnippetContext
LOWapp/scripts/optimizejars.py38CODE
LOWscripts/generate-isbn-ranges.py3CODE
LOWscripts/migrate-fx140/migrate.py13CODE
Redundant / Tautological Comments2 hits · 3 pts
SeverityFileLineSnippetContext
LOWapp/scripts/createprecomplete.py62 # Open the file so it exists before building the list of files and open itCOMMENT
LOWtest/runtests.sh184# Check if build watch process is runningCOMMENT
Verbosity Indicators2 hits · 3 pts
SeverityFileLineSnippetContext
LOWchrome/content/zotero/xpcom/storage/zfs.js86 // Step 1: Request file metadata from the APICOMMENT
LOWchrome/content/zotero/xpcom/storage/zfs.js164 // Step 2: Download the file from storageCOMMENT
Structural Annotation Overuse2 hits · 3 pts
SeverityFileLineSnippetContext
LOWchrome/content/zotero/xpcom/storage/zfs.js86 // Step 1: Request file metadata from the APICOMMENT
LOWchrome/content/zotero/xpcom/storage/zfs.js164 // Step 2: Download the file from storageCOMMENT
Deep Nesting1 hit · 1 pts
SeverityFileLineSnippetContext
LOWapp/scripts/optimizejars.py188CODE