🌻 The collaborative editing software that runs Wikipedia. Mirror from https://gerrit.wikimedia.org/g/mediawiki/core. See https://mediawiki.org/wiki/Developer_access for contributing.
This report presents the forensic synthetic code analysis of wikimedia/mediawiki, a PHP project with 5,113 GitHub stars. SynthScan v2.0 examined 2,758,707 lines of code across 11023 source files, recording 6472 pattern matches distributed across 19 syntactic categories. The overall adjusted score of 3.2 places this repository in the Likely human-written band.
The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).
Longitudinal tracking requires multiple scan runs. Once this repository is re-scanned after new commits land, this chart will visualise how the synthetic code signal evolves over time — enabling you to detect whether AI authorship is growing, stabilising, or being actively corrected by human engineers.
Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.
This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.
The scanner identified 6472 distinct pattern matches across 19 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. 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 diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | resources/lib/vue-test-utils/vue-test-utils.browser.js | 1358 | function getOriginalComponentFromStub(stub) { | CODE |
| LOW⚡ | resources/lib/vue-test-utils/vue-test-utils.browser.js | 1395 | function isLegacyExtendedComponent(component) { | CODE |
| LOW⚡ | resources/lib/vue-test-utils/vue-test-utils.browser.js | 1402 | function unwrapLegacyVueExtendComponent(selector) { | CODE |
| LOW⚡ | resources/lib/vue-test-utils/vue-test-utils.browser.js | 1405 | function isLegacyFunctionalComponent(component) { | CODE |
| LOW | resources/lib/vue-test-utils/vue-test-utils.browser.js | 2963 | function requireTemplatablepattern () { | CODE |
| LOW | resources/lib/vue-test-utils/vue-test-utils.browser.js | 7518 | function captureDevtoolsVueComponentEmitEvent(eventType, payload) { | CODE |
| LOW | resources/lib/vue-test-utils/vue-test-utils.browser.js | 7960 | function createStubComponentsTransformer(_a) { | CODE |
| LOW | resources/lib/vue-test-utils/vue-test-utils.browser.js | 8037 | function createStubDirectivesTransformer(_a) { | CODE |
| LOW | resources/lib/vue-compiler-dom/compiler-dom.global.js | 462 | function createConditionalExpression(test, consequent, alternate, newline = true) { | CODE |
| LOW | resources/lib/vue-compiler-dom/compiler-dom.global.js | 506 | function createAssignmentExpression(left, right) { | CODE |
| LOW | resources/lib/vue-compiler-dom/compiler-dom.global.js | 1620 | function isInDestructureAssignment(parent, parentStack) { | CODE |
| LOW | resources/lib/vue-compiler-dom/compiler-dom.global.js | 1845 | function advancePositionWithMutation(pos, source, numberOfCharacters = source.length) { | CODE |
| LOW | resources/lib/vue-compiler-dom/compiler-dom.global.js | 3030 | function getConstantTypeOfHelperCall(value, context) { | CODE |
| LOW | resources/lib/vue-compiler-dom/compiler-dom.global.js | 3041 | function getGeneratedPropsConstantType(node, context) { | CODE |
| LOW | resources/lib/vue-compiler-dom/compiler-dom.global.js | 3354 | function createStructuralDirectiveTransform(name, fn) { | CODE |
| LOW | resources/lib/vue-compiler-dom/compiler-dom.global.js | 3738 | function genExpressionAsPropertyKey(node, context) { | CODE |
| LOW | resources/lib/vue-compiler-dom/compiler-dom.global.js | 3964 | function validateBrowserExpression(node, context, asParams = false, asRawStatements = false) { | CODE |
| LOW | resources/lib/vue-compiler-dom/compiler-dom.global.js | 4158 | function createCodegenNodeForBranch(branch, keyIndex, context) { | CODE |
| LOW | resources/lib/vue-compiler-dom/compiler-dom.global.js | 4174 | function createChildrenCodegenNode(branch, keyIndex, context) { | CODE |
| LOW | resources/lib/vue-compiler-dom/compiler-dom.global.js | 5337 | function stringifyDynamicPropNames(props) { | CODE |
| LOW | resources/lib/qunitjs/qunit.js | 831 | function readFlatPreconfigStringOrBoolean(val, dest) { | CODE |
| LOW | resources/lib/qunitjs/qunit.js | 836 | function readFlatPreconfigStringArray(val, dest) { | CODE |
| LOW | resources/lib/qunitjs/qunit.js | 1951 | function validateExpectedExceptionArgs(expected, message, assertionMethod) { | CODE |
| LOW | resources/lib/qunitjs/qunit.js | 3552 | function lastTestWithinModuleExecuted(module) { | CODE |
| LOW | resources/lib/qunitjs/qunit.js | 6382 | prepareNextBeginningIndexes: function prepareNextBeginningIndexes(target) { | CODE |
| LOW | resources/lib/qunitjs/qunit.js | 6720 | function toolbarUrlConfigContainer() { | CODE |
| LOW | resources/lib/moment/moment.js | 537 | function replaceLongDateFormatTokens(input) { | CODE |
| LOW | resources/lib/moment/moment.js | 2811 | function configFromStringAndFormat(config) { | CODE |
| LOW | resources/lib/moment/moment.js | 3484 | function isDaylightSavingTimeShifted() { | CODE |
| LOW | resources/lib/moment/moment.js | 3610 | function positiveMomentsDifference(base, other) { | CODE |
| LOW | resources/lib/moment/moment.js | 5454 | function getSetRelativeTimeRounding(roundingFunction) { | CODE |
| LOW | resources/lib/moment/moment.js | 5466 | function getSetRelativeTimeThreshold(threshold, limit) { | CODE |
| LOW | resources/lib/moment/locale/lb.js | 46 | function eifelerRegelAppliesToNumber(number) { | CODE |
| LOW | resources/lib/ooui/oojs-ui-widgets.js | 32 | OO.ui.mixin.DraggableElement = function OoUiMixinDraggableElement( config ) { | CODE |
| LOW | resources/lib/ooui/oojs-ui-widgets.js | 262 | OO.ui.mixin.DraggableGroupElement = function OoUiMixinDraggableGroupElement( config ) { | CODE |
| LOW | resources/lib/ooui/oojs-ui-widgets.js | 3234 | OO.ui.OutlineControlsWidget = function OoUiOutlineControlsWidget( outline, config ) { | CODE |
| LOW | resources/lib/ooui/oojs-ui-widgets.js | 3881 | OO.ui.ButtonMenuSelectWidget = function OoUiButtonMenuSelectWidget( config ) { | CODE |
| LOW | resources/lib/ooui/oojs-ui-widgets.js | 5193 | OO.ui.PopupTagMultiselectWidget = function OoUiPopupTagMultiselectWidget( config ) { | CODE |
| LOW | resources/lib/ooui/oojs-ui-widgets.js | 5353 | OO.ui.MenuTagMultiselectWidget = function OoUiMenuTagMultiselectWidget( config ) { | CODE |
| LOW⚡ | resources/lib/ooui/oojs-ui-widgets.js.map.json | 1 | {"version":3,"sources":["../src/intro.js.txt","../src/mixins/DraggableElement.js","../src/mixins/DraggableGroupElement.j | CODE |
| LOW | resources/lib/ooui/oojs-ui-core.js | 2060 | OO.ui.mixin.TabIndexedElement = function OoUiMixinTabIndexedElement( config ) { | CODE |
| LOW | resources/lib/ooui/oojs-ui-core.js | 3276 | OO.ui.mixin.IndicatorElement = function OoUiMixinIndicatorElement( config ) { | CODE |
| LOW | resources/lib/ooui/oojs-ui-core.js | 3773 | OO.ui.mixin.AccessKeyedElement = function OoUiMixinAccessKeyedElement( config ) { | CODE |
| LOW | resources/lib/ooui/oojs-ui-core.js | 5118 | OO.ui.mixin.FloatableElement = function OoUiMixinFloatableElement( config ) { | CODE |
| LOW | resources/lib/ooui/oojs-ui-core.js | 5552 | OO.ui.mixin.ClippableElement = function OoUiMixinClippableElement( config ) { | CODE |
| LOW | resources/lib/ooui/oojs-ui-core.js | 8336 | OO.ui.DecoratedOptionWidget = function OoUiDecoratedOptionWidget( config ) { | CODE |
| LOW | resources/lib/ooui/oojs-ui-core.js | 8436 | OO.ui.MenuSectionOptionWidget = function OoUiMenuSectionOptionWidget( config ) { | CODE |
| LOW | resources/lib/ooui/oojs-ui-core.js | 9619 | OO.ui.CheckboxMultioptionWidget = function OoUiCheckboxMultioptionWidget( config ) { | CODE |
| LOW | resources/lib/ooui/oojs-ui-core.js | 9742 | OO.ui.CheckboxMultiselectWidget = function OoUiCheckboxMultiselectWidget( config ) { | CODE |
| LOW | resources/lib/ooui/oojs-ui-core.js | 11151 | OO.ui.RadioSelectInputWidget = function OoUiRadioSelectInputWidget( config ) { | CODE |
| LOW | resources/lib/ooui/oojs-ui-core.js | 11330 | OO.ui.CheckboxMultiselectInputWidget = function OoUiCheckboxMultiselectInputWidget( config ) { | CODE |
| LOW | resources/lib/ooui/oojs-ui-core.js | 12331 | OO.ui.MultilineTextInputWidget = function OoUiMultilineTextInputWidget( config ) { | CODE |
| LOW | resources/lib/ooui/oojs-ui-core.js | 14223 | OO.ui.SelectFileInputWidget = function OoUiSelectFileInputWidget( config ) { | CODE |
| LOW | resources/lib/vue/vue.global.js | 1597 | function createInstrumentationGetter(isReadonly2, shallow) { | CODE |
| LOW | resources/lib/vue/vue.global.js | 2415 | function callWithAsyncErrorHandling(fn, instance, type, args) { | CODE |
| LOW | resources/lib/vue/vue.global.js | 2844 | function createDevtoolsComponentHook(hook) { | CODE |
| LOW | resources/lib/vue/vue.global.js | 2857 | function createDevtoolsPerformanceHook(hook) { | CODE |
| LOW | resources/lib/vue/vue.global.js | 2874 | function setCurrentRenderingInstance(instance) { | CODE |
| LOW | resources/lib/vue/vue.global.js | 4479 | function elementIsVisibleInViewport(el) { | CODE |
| LOW | resources/lib/vue/vue.global.js | 5421 | function exposePropsOnRenderContext(instance) { | CODE |
| 5481 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | resources/lib/oojs/oojs.js | 1645 | OO.Factory.super.prototype.register.call( this, key, constructor ); | CODE |
| CRITICAL | resources/lib/oojs/oojs.js | 1663 | OO.Factory.super.prototype.unregister.call( this, key ); | CODE |
| CRITICAL | resources/lib/ooui/oojs-ui-wikimediaui.js | 46 | classes = OO.ui.WikimediaUITheme.super.prototype.getElementClasses.call( this, element ); | CODE |
| CRITICAL | resources/lib/ooui/oojs-ui-widgets.js | 971 | OO.ui.TextInputWidget.prototype.setReadOnly.call( this, readOnly ); | CODE |
| CRITICAL | resources/lib/ooui/oojs-ui-widgets.js | 1463 | OO.ui.mixin.GroupElement.prototype.addItems.call( this, items, index ); | CODE |
| CRITICAL | resources/lib/ooui/oojs-ui-widgets.js | 1495 | OO.ui.mixin.GroupElement.prototype.removeItems.call( this, itemsToRemove ); | CODE |
| CRITICAL | resources/lib/ooui/oojs-ui-widgets.js | 1520 | OO.ui.mixin.GroupElement.prototype.clearItems.call( this ); | CODE |
| CRITICAL | resources/lib/ooui/oojs-ui-widgets.js | 1558 | return OO.ui.StackLayout.super.prototype.resetScroll.call( this ); | CODE |
| CRITICAL | resources/lib/ooui/oojs-ui-widgets.js | 2437 | OO.ui.BookletLayout.super.prototype.resetScroll.call( this ); | CODE |
| CRITICAL | resources/lib/ooui/oojs-ui-widgets.js | 3200 | OO.ui.ToggleButtonWidget.super.prototype.setValue.call( this, value ); | CODE |
| CRITICAL | resources/lib/ooui/oojs-ui-widgets.js | 3212 | OO.ui.mixin.ButtonElement.prototype.setButtonElement.call( this, $button ); | CODE |
| CRITICAL | resources/lib/ooui/oojs-ui-widgets.js | 3616 | OO.ui.ButtonOptionWidget.super.prototype.setSelected.call( this, state ); | CODE |
| CRITICAL | resources/lib/ooui/oojs-ui-widgets.js | 3742 | return OO.ui.TabOptionWidget.super.prototype.scrollElementIntoView.call( this ); | CODE |
| CRITICAL | resources/lib/ooui/oojs-ui-widgets.js | 3748 | return OO.ui.TabOptionWidget.super.prototype.scrollElementIntoView.call( this, Object.assign( | CODE |
| CRITICAL | resources/lib/ooui/oojs-ui-widgets.js | 4726 | OO.ui.TagMultiselectWidget.super.prototype.setDisabled.call( this, isDisabled ); | CODE |
| CRITICAL | resources/lib/ooui/oojs-ui-widgets.js | 5308 | OO.ui.PopupTagMultiselectWidget.super.prototype.onTagSelect.call( this, item ); | CODE |
| CRITICAL | resources/lib/ooui/oojs-ui-widgets.js | 5454 | OO.ui.MenuTagMultiselectWidget.super.prototype.onInputFocus.call( this ); | CODE |
| CRITICAL | resources/lib/ooui/oojs-ui-widgets.js | 5532 | OO.ui.MenuTagMultiselectWidget.super.prototype.onTagSelect.call( this, tagItem ); | CODE |
| CRITICAL | resources/lib/ooui/oojs-ui-widgets.js | 5541 | OO.ui.MenuTagMultiselectWidget.super.prototype.removeItems.call( this, items ); | CODE |
| CRITICAL | resources/lib/ooui/oojs-ui-widgets.js | 5596 | OO.ui.MenuTagMultiselectWidget.super.prototype.onChangeTags.call( this ); | CODE |
| CRITICAL | resources/lib/ooui/oojs-ui-widgets.js | 5608 | OO.ui.MenuTagMultiselectWidget.super.prototype.setDisabled.call( this, isDisabled ); | CODE |
| CRITICAL⚡ | resources/lib/ooui/oojs-ui-widgets.js.map.json | 1 | {"version":3,"sources":["../src/intro.js.txt","../src/mixins/DraggableElement.js","../src/mixins/DraggableGroupElement.j | CODE |
| CRITICAL | resources/lib/ooui/oojs-ui-wikimediaui.js.map.json | 1 | {"version":3,"sources":["../src/intro.js.txt","../src/themes/wikimediaui/WikimediaUITheme.js","../src/outro.js.txt"],"na | CODE |
| CRITICAL | resources/lib/ooui/oojs-ui-windows.js.map.json | 1 | {"version":3,"sources":["../src/intro.js.txt","../src/widgets/ActionWidget.js","../src/ActionSet.js","../src/Error.js"," | CODE |
| CRITICAL | resources/lib/ooui/oojs-ui-toolbars.js.map.json | 1 | {"version":3,"sources":["../src/intro.js.txt","../src/Toolbar.js","../src/Tool.js","../src/ToolGroup.js","../src/ToolFac | CODE |
| CRITICAL | resources/lib/ooui/oojs-ui-core.js | 4930 | OO.ui.ToggleSwitchWidget.super.prototype.setValue.call( this, value ); | CODE |
| CRITICAL | resources/lib/ooui/oojs-ui-core.js | 6334 | OO.ui.PopupWidget.super.prototype.toggle.call( this, show ); | CODE |
| CRITICAL | resources/lib/ooui/oojs-ui-core.js | 6555 | const parentPosition = OO.ui.mixin.FloatableElement.prototype.computePosition.call( this ); | CODE |
| CRITICAL | resources/lib/ooui/oojs-ui-core.js | 6892 | OO.ui.Widget.prototype.setDisabled.call( this, disabled ); | CODE |
| CRITICAL | resources/lib/ooui/oojs-ui-core.js | 6946 | OO.ui.Element.prototype.setElementGroup.call( this, group ); | CODE |
| CRITICAL | resources/lib/ooui/oojs-ui-core.js | 8233 | OO.ui.mixin.GroupWidget.prototype.addItems.call( this, items, index ); | CODE |
| CRITICAL | resources/lib/ooui/oojs-ui-core.js | 8258 | OO.ui.mixin.GroupWidget.prototype.removeItems.call( this, items ); | CODE |
| CRITICAL | resources/lib/ooui/oojs-ui-core.js | 8278 | OO.ui.mixin.GroupWidget.prototype.clearItems.call( this ); | CODE |
| CRITICAL | resources/lib/ooui/oojs-ui-core.js | 8634 | OO.ui.MenuSelectWidget.super.prototype.onDocumentKeyDown.call( this, e ); | CODE |
| CRITICAL | resources/lib/ooui/oojs-ui-core.js | 8654 | OO.ui.MenuSelectWidget.super.prototype.onDocumentKeyDown.call( this, e ); | CODE |
| CRITICAL | resources/lib/ooui/oojs-ui-core.js | 8667 | return OO.ui.MenuSelectWidget.super.prototype.onDocumentKeyDown.call( this, e ); | CODE |
| CRITICAL | resources/lib/ooui/oojs-ui-core.js | 8753 | OO.ui.MenuSelectWidget.super.prototype.bindDocumentKeyDownListener.call( this ); | CODE |
| CRITICAL | resources/lib/ooui/oojs-ui-core.js | 8764 | OO.ui.MenuSelectWidget.super.prototype.unbindDocumentKeyDownListener.call( this ); | CODE |
| CRITICAL | resources/lib/ooui/oojs-ui-core.js | 8785 | OO.ui.MenuSelectWidget.super.prototype.bindDocumentKeyPressListener.call( this ); | CODE |
| CRITICAL | resources/lib/ooui/oojs-ui-core.js | 8802 | OO.ui.MenuSelectWidget.super.prototype.unbindDocumentKeyPressListener.call( this ); | CODE |
| CRITICAL | resources/lib/ooui/oojs-ui-core.js | 8821 | OO.ui.MenuSelectWidget.super.prototype.chooseItem.call( this, item ); | CODE |
| CRITICAL | resources/lib/ooui/oojs-ui-core.js | 8837 | OO.ui.MenuSelectWidget.super.prototype.addItems.call( this, items, index ); | CODE |
| CRITICAL | resources/lib/ooui/oojs-ui-core.js | 8849 | OO.ui.MenuSelectWidget.super.prototype.removeItems.call( this, items ); | CODE |
| CRITICAL | resources/lib/ooui/oojs-ui-core.js | 8861 | OO.ui.MenuSelectWidget.super.prototype.clearItems.call( this ); | CODE |
| CRITICAL | resources/lib/ooui/oojs-ui-core.js | 8917 | OO.ui.MenuSelectWidget.super.prototype.toggle.call( this, visible ); | CODE |
| CRITICAL | resources/lib/ooui/oojs-ui-core.js | 9321 | OO.ui.RadioOptionWidget.super.prototype.setSelected.call( this, state ); | CODE |
| CRITICAL | resources/lib/ooui/oojs-ui-core.js | 9335 | OO.ui.RadioOptionWidget.super.prototype.setDisabled.call( this, disabled ); | CODE |
| CRITICAL | resources/lib/ooui/oojs-ui-core.js | 9666 | OO.ui.CheckboxMultioptionWidget.super.prototype.setSelected.call( this, state ); | CODE |
| CRITICAL | resources/lib/ooui/oojs-ui-core.js | 9675 | OO.ui.CheckboxMultioptionWidget.super.prototype.setDisabled.call( this, disabled ); | CODE |
| CRITICAL | resources/lib/ooui/oojs-ui-core.js | 10071 | config = OO.ui.InputWidget.super.static.reusePreInfuseDOM( node, config ); | CODE |
| CRITICAL | resources/lib/ooui/oojs-ui-core.js | 10083 | const state = OO.ui.InputWidget.super.static.gatherPreInfuseState( node, config ); | CODE |
| CRITICAL | resources/lib/ooui/oojs-ui-core.js | 10216 | OO.ui.InputWidget.super.prototype.setDisabled.call( this, state ); | CODE |
| CRITICAL | resources/lib/ooui/oojs-ui-core.js | 10239 | OO.ui.InputWidget.super.prototype.restorePreInfuseState.call( this, state ); | CODE |
| CRITICAL | resources/lib/ooui/oojs-ui-core.js | 10410 | return OO.ui.mixin.LabelElement.prototype.setLabel.call( this, label ); | CODE |
| CRITICAL | resources/lib/ooui/oojs-ui-core.js | 10425 | OO.ui.ButtonInputWidget.super.prototype.setValue.call( this, value ); | CODE |
| CRITICAL | resources/lib/ooui/oojs-ui-core.js | 10539 | const state = OO.ui.CheckboxInputWidget.super.static.gatherPreInfuseState( node, config ); | CODE |
| CRITICAL | resources/lib/ooui/oojs-ui-core.js | 10662 | OO.ui.CheckboxInputWidget.super.prototype.restorePreInfuseState.call( this, state ); | CODE |
| CRITICAL | resources/lib/ooui/oojs-ui-core.js | 10788 | OO.ui.DropdownInputWidget.super.prototype.setValue.call( this, value ); | CODE |
| CRITICAL | resources/lib/ooui/oojs-ui-core.js | 10802 | OO.ui.DropdownInputWidget.super.prototype.setDisabled.call( this, state ); | CODE |
| CRITICAL | resources/lib/ooui/oojs-ui-core.js | 11050 | const state = OO.ui.RadioInputWidget.super.static.gatherPreInfuseState( node, config ); | CODE |
| 136 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | languages/i18n/ps.json | 0 | <code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:file.ogg]]</nowiki></code> | STRING |
| HIGH | languages/i18n/prg.json | 0 | <code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:file.ogg]]</nowiki></code> | STRING |
| HIGH | languages/i18n/hif-latn.json | 0 | <code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:file.ogg]]</nowiki></code> | STRING |
| HIGH | languages/i18n/bgn.json | 0 | <code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:file.ogg]]</nowiki></code> | STRING |
| HIGH | languages/i18n/crh-latn.json | 0 | <code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:file.ogg]]</nowiki></code> | STRING |
| HIGH | languages/i18n/bpy.json | 0 | <code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:file.ogg]]</nowiki></code> | STRING |
| HIGH | languages/i18n/grc.json | 0 | <code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:file.ogg]]</nowiki></code> | STRING |
| HIGH | languages/i18n/vec.json | 0 | <code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:file.ogg]]</nowiki></code> | STRING |
| HIGH | languages/i18n/ce.json | 0 | <code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:file.ogg]]</nowiki></code> | STRING |
| HIGH | languages/i18n/lus.json | 0 | <code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:file.ogg]]</nowiki></code> | STRING |
| HIGH | languages/i18n/nap.json | 0 | <code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:file.ogg]]</nowiki></code> | STRING |
| HIGH | languages/i18n/gsw.json | 0 | <code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:file.ogg]]</nowiki></code> | STRING |
| HIGH | languages/i18n/ky.json | 0 | <code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:file.ogg]]</nowiki></code> | STRING |
| HIGH | languages/i18n/lij.json | 0 | <code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:file.ogg]]</nowiki></code> | STRING |
| HIGH | languages/i18n/ur.json | 0 | <code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:file.ogg]]</nowiki></code> | STRING |
| HIGH | languages/i18n/ckb.json | 0 | <code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:file.ogg]]</nowiki></code> | STRING |
| HIGH | languages/i18n/az.json | 0 | <code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:file.ogg]]</nowiki></code> | STRING |
| HIGH | languages/i18n/sgs.json | 0 | <code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:file.ogg]]</nowiki></code> | STRING |
| HIGH | languages/i18n/yi.json | 0 | <code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:file.ogg]]</nowiki></code> | STRING |
| HIGH | languages/i18n/xmf.json | 0 | <code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:file.ogg]]</nowiki></code> | STRING |
| HIGH | languages/i18n/it.json | 0 | <code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:file.ogg]]</nowiki></code> | STRING |
| HIGH | languages/i18n/crh-cyrl.json | 0 | <code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:file.ogg]]</nowiki></code> | STRING |
| HIGH | languages/i18n/tl.json | 0 | <code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:file.ogg]]</nowiki></code> | STRING |
| HIGH | languages/i18n/roa-tara.json | 0 | <code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:file.ogg]]</nowiki></code> | STRING |
| HIGH | languages/i18n/gan-hans.json | 0 | <code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:file.ogg]]</nowiki></code> | STRING |
| HIGH | languages/i18n/mzn.json | 0 | <code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:file.ogg]]</nowiki></code> | STRING |
| HIGH | languages/i18n/ne.json | 0 | <code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:file.ogg]]</nowiki></code> | STRING |
| HIGH | languages/i18n/gu.json | 0 | <code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:file.ogg]]</nowiki></code> | STRING |
| HIGH | languages/i18n/si.json | 0 | <code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:file.ogg]]</nowiki></code> | STRING |
| HIGH | languages/i18n/lki.json | 0 | <code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:file.ogg]]</nowiki></code> | STRING |
| HIGH | languages/i18n/eu.json | 0 | <code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:file.ogg]]</nowiki></code> | STRING |
| HIGH | languages/i18n/te.json | 0 | <code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:file.ogg]]</nowiki></code> | STRING |
| HIGH | languages/i18n/as.json | 0 | <code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:file.ogg]]</nowiki></code> | STRING |
| HIGH | languages/i18n/nds.json | 0 | <code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:file.ogg]]</nowiki></code> | STRING |
| HIGH | languages/i18n/th.json | 0 | <code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:file.ogg]]</nowiki></code> | STRING |
| HIGH | languages/i18n/bcl.json | 0 | <code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:file.ogg]]</nowiki></code> | STRING |
| HIGH | languages/i18n/lrc.json | 0 | <code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:file.ogg]]</nowiki></code> | STRING |
| HIGH | languages/i18n/ie.json | 0 | <code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:file.ogg]]</nowiki></code> | STRING |
| HIGH | languages/i18n/sc.json | 0 | <code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:file.ogg]]</nowiki></code> | STRING |
| HIGH | languages/i18n/ba.json | 0 | <code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:file.ogg]]</nowiki></code> | STRING |
| HIGH | languages/i18n/kk-arab.json | 0 | <code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:file.ogg]]</nowiki></code> | STRING |
| HIGH | languages/i18n/prg.json | 0 | <code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:file.jpg]]</nowiki></code> | STRING |
| HIGH | languages/i18n/hif-latn.json | 0 | <code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:file.jpg]]</nowiki></code> | STRING |
| HIGH | languages/i18n/bgn.json | 0 | <code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:file.jpg]]</nowiki></code> | STRING |
| HIGH | languages/i18n/crh-latn.json | 0 | <code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:file.jpg]]</nowiki></code> | STRING |
| HIGH | languages/i18n/bpy.json | 0 | <code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:file.jpg]]</nowiki></code> | STRING |
| HIGH | languages/i18n/grc.json | 0 | <code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:file.jpg]]</nowiki></code> | STRING |
| HIGH | languages/i18n/vec.json | 0 | <code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:file.jpg]]</nowiki></code> | STRING |
| HIGH | languages/i18n/ce.json | 0 | <code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:file.jpg]]</nowiki></code> | STRING |
| HIGH | languages/i18n/lus.json | 0 | <code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:file.jpg]]</nowiki></code> | STRING |
| HIGH | languages/i18n/nap.json | 0 | <code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:file.jpg]]</nowiki></code> | STRING |
| HIGH | languages/i18n/ky.json | 0 | <code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:file.jpg]]</nowiki></code> | STRING |
| HIGH | languages/i18n/lij.json | 0 | <code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:file.jpg]]</nowiki></code> | STRING |
| HIGH | languages/i18n/ckb.json | 0 | <code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:file.jpg]]</nowiki></code> | STRING |
| HIGH | languages/i18n/az.json | 0 | <code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:file.jpg]]</nowiki></code> | STRING |
| HIGH | languages/i18n/sgs.json | 0 | <code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:file.jpg]]</nowiki></code> | STRING |
| HIGH | languages/i18n/yi.json | 0 | <code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:file.jpg]]</nowiki></code> | STRING |
| HIGH | languages/i18n/xmf.json | 0 | <code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:file.jpg]]</nowiki></code> | STRING |
| HIGH | languages/i18n/it.json | 0 | <code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:file.jpg]]</nowiki></code> | STRING |
| HIGH | languages/i18n/crh-cyrl.json | 0 | <code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:file.jpg]]</nowiki></code> | STRING |
| 65 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …sources/lib/swagger-ui/swagger-ui-standalone-preset.js | 2 | !function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.am | CODE |
| LOW | resources/lib/ooui/History.md | 3936 | * OutlineOptionWidget: Don't apply italics to "placeholder" status (James D. Forrester) | COMMENT |
| LOW | resources/lib/ooui/oojs-ui-widgets.js | 4367 | this.inputPlaceholder = this.input.$input.attr( 'placeholder' ); | CODE |
| LOW | resources/lib/ooui/oojs-ui-widgets.js | 4703 | this.input.$input.attr( 'placeholder', isUnderLimit ? this.inputPlaceholder : '' ); | CODE |
| LOW | resources/lib/ooui/oojs-ui-widgets.js | 5056 | const placeholder = this.input.$input.attr( 'placeholder' ); | CODE |
| LOW⚡ | resources/lib/ooui/oojs-ui-widgets.js.map.json | 1 | {"version":3,"sources":["../src/intro.js.txt","../src/mixins/DraggableElement.js","../src/mixins/DraggableGroupElement.j | CODE |
| LOW | resources/lib/ooui/oojs-ui-core.js | 11654 | this.$input.attr( 'placeholder', config.placeholder ); | CODE |
| LOW | resources/lib/codex/CHANGELOG.md | 2660 | - docs, Thumbnail: Update "placeholder" language (Anne Tomasevich) | CODE |
| LOW | …/src/mediawiki.special.block/components/PagesField.vue | 14 | :placeholder="placeholder" | CODE |
| LOW⚡ | resources/src/mediawiki.base/mediawiki.base.js | 34 | * obj = mw.message( 'hello-user', 'John Doe' ); | COMMENT |
| LOW⚡ | resources/src/mediawiki.base/mediawiki.base.js | 38 | * obj = mw.message( 'welcome-user', 'John Doe', 'Wikipedia', '2 hours ago' ); | COMMENT |
| LOW⚡ | resources/src/mediawiki.base/mediawiki.base.js | 43 | * str = mw.msg( 'hello-user', 'John Doe' ); | COMMENT |
| LOW | …es/src/mediawiki.languageselector/LanguageSelector.vue | 14 | :placeholder="placeholder" | CODE |
| LOW | resources/src/mediawiki.util/util.js | 860 | * mw.util.validateEmail( "me@example.org" ) === true; | COMMENT |
| LOW⚡ | tests/api-testing/REST/Update.js | 178 | const firstRev = await mindy.edit( title, { text: 'first line\nlorem ipsum\nsecond line' } ); | CODE |
| LOW⚡ | tests/api-testing/REST/Update.js | 179 | await mindy.edit( title, { text: 'FIRST LINE\nlorem ipsum\nsecond line' } ); | CODE |
| LOW⚡ | tests/api-testing/REST/Update.js | 183 | source: 'first line\nlorem ipsum\nSECOND LINE', | CODE |
| LOW | tests/api-testing/REST/Update.js | 194 | const expectedText = 'FIRST LINE\nlorem ipsum\nSECOND LINE'; | CODE |
| LOW⚡ | tests/parser/parserTests.txt | 861 | <nowiki>Lorem ipsum dolor | CODE |
| LOW⚡ | tests/parser/parserTests.txt | 869 | <p>Lorem ipsum dolor | CODE |
| LOW⚡ | tests/parser/parserTests.txt | 878 | <p><span typeof="mw:Nowiki">Lorem ipsum dolor | CODE |
| LOW | …unit/unit/includes/Widget/LanguageSelectWidgetTest.php | 82 | 'placeholder' => 'test-placeholder', | CODE |
| LOW⚡ | tests/phpunit/unit/includes/Mail/UserMailerTest.php | 156 | 'single recipient' => [ [ 'alice@example.org' ], 'example.org' ], | CODE |
| LOW⚡ | tests/phpunit/unit/includes/Mail/UserMailerTest.php | 158 | [ 'alice@example.org', 'bob@gmail.com' ], | CODE |
| LOW⚡ | tests/phpunit/unit/includes/Mail/UserMailerTest.php | 162 | [ 'alice@example.org', 'carol@example.org' ], | CODE |
| LOW⚡ | tests/phpunit/unit/includes/Mail/UserMailerTest.php | 191 | [ 'alice@example.org' ], | CODE |
| LOW⚡ | tests/phpunit/unit/includes/Mail/UserMailerTest.php | 194 | 'to' => 'alice@example.org', | CODE |
| LOW⚡ | tests/phpunit/unit/includes/Mail/UserMailerTest.php | 201 | [ 'alice@example.org', 'bob@gmail.com' ], | CODE |
| LOW⚡ | tests/phpunit/unit/includes/Mail/UserMailerTest.php | 204 | 'to' => 'alice@example.org', | CODE |
| LOW | …il/ConfirmEmail/EmailConfirmationBannerHandlerTest.php | 32 | string $email = 'user@example.com', | CODE |
| LOW⚡ | …il/ConfirmEmail/EmailConfirmationBannerHandlerTest.php | 49 | yield 'banner config disabled' => [ false, true, true, 'user@example.com', false, false, false ]; | CODE |
| LOW⚡ | …il/ConfirmEmail/EmailConfirmationBannerHandlerTest.php | 50 | yield 'email auth disabled' => [ true, false, true, 'user@example.com', false, false, false ]; | CODE |
| LOW⚡ | …il/ConfirmEmail/EmailConfirmationBannerHandlerTest.php | 51 | yield 'non-named user' => [ true, true, false, 'user@example.com', false, false, false ]; | CODE |
| LOW⚡ | …il/ConfirmEmail/EmailConfirmationBannerHandlerTest.php | 53 | yield 'email already confirmed' => [ true, true, true, 'user@example.com', true, false, false ]; | CODE |
| LOW⚡ | …il/ConfirmEmail/EmailConfirmationBannerHandlerTest.php | 54 | yield 'on ConfirmEmail page' => [ true, true, true, 'user@example.com', false, true, false ]; | CODE |
| LOW⚡ | …il/ConfirmEmail/EmailConfirmationBannerHandlerTest.php | 55 | yield 'all conditions met' => [ true, true, true, 'user@example.com', false, false, true ]; | CODE |
| LOW⚡ | tests/phpunit/unit/includes/Utils/UrlUtilsProviders.php | 459 | 'mailto:id@example.org', | CODE |
| LOW⚡ | tests/phpunit/unit/includes/Utils/UrlUtilsProviders.php | 464 | 'path' => 'id@example.org', | CODE |
| LOW⚡ | tests/phpunit/unit/includes/Utils/UrlUtilsProviders.php | 473 | 'path' => 'id@example.org', | CODE |
| LOW | tests/phpunit/unit/includes/libs/StringUtilsTest.php | 149 | $result = preg_replace( '/(placeholder)/', $escaped, 'placeholder' ); | CODE |
| LOW | …nit/unit/includes/Exception/MWExceptionHandlerTest.php | 121 | new NormalizedException( '{placeholder}', [ 'placeholder' => 'message' ] ) | CODE |
| LOW | …nit/unit/includes/Revision/RevisionStoreRecordTest.php | 39 | $main = SlotRecord::newUnsaved( SlotRecord::MAIN, new DummyContentForTesting( 'Lorem Ipsum' ) ); | CODE |
| LOW | …nit/includes/Revision/RevisionStoreCacheRecordTest.php | 36 | $main = SlotRecord::newUnsaved( SlotRecord::MAIN, new DummyContentForTesting( 'Lorem Ipsum' ) ); | CODE |
| LOW | …t/unit/includes/Revision/MutableRevisionRecordTest.php | 65 | $record->setContent( SlotRecord::MAIN, new DummyContentForTesting( 'Lorem Ipsum' ) ); | CODE |
| LOW | …t/unit/includes/Revision/RevisionArchiveRecordTest.php | 42 | $main = SlotRecord::newUnsaved( SlotRecord::MAIN, new DummyContentForTesting( 'Lorem Ipsum' ) ); | CODE |
| LOW | tests/phpunit/unit/includes/Revision/SlotRecordTest.php | 159 | yield [ 'Lorem ipsum', 'hcr5u40uxr81d3nx89nvwzclfz6r9c5' ]; | CODE |
| LOW | …sts/phpunit/unit/includes/Rest/Handler/HandlerTest.php | 864 | 'source' => 'Lorem Ipsum', | CODE |
| LOW | …sts/phpunit/unit/includes/Rest/Handler/HandlerTest.php | 881 | 'source' => 'Lorem Ipsum', | CODE |
| LOW | …punit/unit/includes/Rest/Handler/SearchHandlerTest.php | 154 | string $textSnippet = 'Lorem Ipsum', | CODE |
| LOW | …punit/unit/includes/Rest/Handler/SearchHandlerTest.php | 582 | $mockRedirectLinkTarget->method( 'getFragment' )->willReturn( 'Lorem Ipsum' ); | CODE |
| LOW | …punit/unit/includes/Rest/Handler/SearchHandlerTest.php | 606 | $this->assertSame( 'Lorem Ipsum', $data['pages'][0]['anchor'] ); | CODE |
| LOW | …t/integration/includes/Linker/UserLinkRendererTest.php | 331 | 'Jane Doe', | CODE |
| LOW⚡ | …nit/integration/includes/User/UserConfirmEmailTest.php | 16 | $user->setEmail( 'test@example.org' ); | CODE |
| LOW⚡ | …nit/integration/includes/User/UserConfirmEmailTest.php | 31 | $user->setEmail( 'test@example.org' ); | CODE |
| LOW | …nit/integration/includes/User/UserConfirmEmailTest.php | 58 | $user->setEmail( 'test@example.org' ); | CODE |
| LOW | …gration/includes/Parser/SanitizerValidateEmailTest.php | 15 | yield 'normal #1' => [ 'user@example.com' ]; | CODE |
| LOW | …gration/includes/Parser/SanitizerValidateEmailTest.php | 27 | yield 'with hythen #1' => [ "user-foo@example.org" ]; | CODE |
| LOW | …gration/includes/Parser/SanitizerValidateEmailTest.php | 55 | yield 'invalid comma #1' => [ "user,foo@example.org" ]; | CODE |
| LOW | …includes/Parser/Parsoid/HtmlToContentTransformTest.php | 191 | $text = 'Lorem Ipsum'; | CODE |
| LOW | …includes/Parser/Parsoid/HtmlToContentTransformTest.php | 203 | $text = 'Lorem Ipsum'; | CODE |
| 224 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | resources/lib/foreign-resources.yaml | 1 | # ## Format of this file | COMMENT |
| LOW | resources/lib/foreign-resources.yaml | 21 | # already formatted in YAML, ready for copying to this file. | COMMENT |
| LOW | resources/lib/foreign-resources.yaml | 41 | # | COMMENT |
| LOW | resources/lib/foreign-resources.yaml | 61 | # integrity: sha384-Je+NE+saisQuoi | COMMENT |
| LOW | resources/lib/foreign-resources.yaml | 81 | # | COMMENT |
| LOW | resources/lib/foreign-resources.yaml | 101 | # package/dist/style/*.css: themes | COMMENT |
| LOW | resources/lib/pako/pako_deflate.js | 1 | COMMENT | |
| LOW | resources/lib/pako/pako_deflate.js | 1201 | // | COMMENT |
| LOW | resources/lib/pako/pako_deflate.js | 1241 | COMMENT | |
| LOW | resources/lib/pako/pako_deflate.js | 1301 | var crc32_1 = crc32; | COMMENT |
| LOW | resources/lib/pako/pako_deflate.js | 1341 | // Permission is granted to anyone to use this software for any purpose, | COMMENT |
| LOW | resources/lib/pako/pako_deflate.js | 1401 | // (C) 1995-2013 Jean-loup Gailly and Mark Adler | COMMENT |
| LOW | resources/lib/pako/pako_deflate.js | 1841 | */ | COMMENT |
| LOW | resources/lib/vue-test-utils/vue-test-utils.browser.js | 1341 | COMMENT | |
| LOW | resources/lib/vue-test-utils/vue-test-utils.browser.js | 4261 | // (c || d)); | COMMENT |
| LOW | resources/lib/vue-test-utils/vue-test-utils.browser.js | 7921 | return function () { | COMMENT |
| LOW | resources/lib/vue-test-utils/vue-test-utils.browser.js | 8221 | // this must be done after `createApp`: https://github.com/vuejs/test-utils/issues/436 | COMMENT |
| LOW | resources/lib/qunitjs/qunit.js | 101 | } | COMMENT |
| LOW | resources/lib/qunitjs/qunit.js | 541 | // Define maps a and b to be equivalent if for each key-value pair (aKey, aVal) | COMMENT |
| LOW | resources/lib/qunitjs/qunit.js | 701 | // HTML Reporter: collapse every test except the first failing test | COMMENT |
| LOW | resources/lib/qunitjs/qunit.js | 721 | moduleId: undefined, | COMMENT |
| LOW | resources/lib/qunitjs/qunit.js | 741 | // TODO: Move here from /src/core.js in QUnit 3. | COMMENT |
| LOW | resources/lib/qunitjs/qunit.js | 761 | // with internal expectations of test.js, but they will be empty. | COMMENT |
| LOW | resources/lib/qunitjs/qunit.js | 1421 | return; | COMMENT |
| LOW | resources/lib/qunitjs/qunit.js | 1441 | // and shorten it to show up until the end of the user's bar.test.js code. | COMMENT |
| LOW | resources/lib/qunitjs/qunit.js | 2561 | // If a module is skipped, all its tests and the tests of the child suites | COMMENT |
| LOW | resources/lib/qunitjs/qunit.js | 3361 | // eslint-disable-next-line no-control-regex | COMMENT |
| LOW | resources/lib/qunitjs/qunit.js | 3661 | // TODO: Consider using globalThis instead of window, so that the reporter | COMMENT |
| LOW | resources/lib/moment/moment.js | 3361 | } | COMMENT |
| LOW | resources/lib/ooui/wikimedia-ui-base.less | 301 | // DEPRECATED TOKENS | COMMENT |
| LOW | resources/lib/jquery/jquery.js | 881 | COMMENT | |
| LOW | resources/lib/jquery/jquery.js | 1021 | */ | COMMENT |
| LOW | resources/lib/jquery/jquery.js | 1161 | // Support: IE 9 only | COMMENT |
| LOW | resources/lib/jquery/jquery.js | 1301 | // Support: Chrome <=105+, Firefox <=104+, Safari <=15.4+ | COMMENT |
| LOW | resources/lib/jquery/jquery.js | 2461 | COMMENT | |
| LOW | resources/lib/jquery/jquery.js | 4041 | // 1. No key was specified | COMMENT |
| LOW | resources/lib/jquery/jquery.js | 5381 | // If this is a native event triggered above, everything is now in order | COMMENT |
| LOW | resources/lib/jquery/jquery.js | 5641 | delegateType: delegateType | COMMENT |
| LOW | resources/lib/jquery/jquery.js | 6421 | // Support: Firefox 51+ | COMMENT |
| LOW | resources/lib/jquery/jquery.js | 6441 | // disconnected elements. However, in IE even disconnected elements | COMMENT |
| LOW | resources/lib/jquery/jquery.js | 10661 | COMMENT | |
| LOW | resources/lib/codex/codex.js | 5961 | Object.assign(elements.floating.style, { | COMMENT |
| LOW | resources/lib/codex/mixins/css-icon.less | 1 | @import ( reference ) '@wikimedia/codex-icons/codex-icon-paths.less'; | COMMENT |
| LOW | resources/lib/codex/mixins/css-icon.less | 121 | // For browsers that support mask-image, this mixin will apply the background image as a mask, so | COMMENT |
| LOW | resources/lib/codex/mixins/css-icon.less | 161 | /* stylelint-disable-next-line plugin/no-unsupported-browser-features */ | COMMENT |
| LOW | resources/lib/codex/mixins/css-icon.less | 181 | // 3. Exceptions to the flip rule ('false' or a selector string that will rule out languages) | COMMENT |
| LOW | resources/lib/codex/mixins/link.less | 1 | // Link Styles | COMMENT |
| LOW | resources/lib/codex/mixins/link.less | 21 | // &.custom-underlined-class { | COMMENT |
| LOW | resources/lib/codex/mixins/button-layout-flush.less | 1 | // | COMMENT |
| LOW | resources/lib/codex/mixins/wip/grid.less | 1 | // Grid Layout System | COMMENT |
| LOW | resources/lib/codex/mixins/wip/grid.less | 21 | // } | COMMENT |
| LOW | resources/lib/codex/mixins/wip/grid.less | 101 | } | COMMENT |
| LOW | resources/lib/codex/mixins/wip/grid.less | 121 | // // On desktop: columns 1-6 (spans first 6 columns) | COMMENT |
| LOW | resources/lib/url/URL.js | 61 | } | COMMENT |
| LOW | resources/lib/url/URL.js | 81 | // You don't have to decode first. There are only a handful of valid prefixes and | COMMENT |
| LOW | resources/src/jquery.lengthLimit.js | 101 | COMMENT | |
| LOW | resources/src/jquery.lengthLimit.js | 121 | $el.attr( 'maxlength', elLimit ); | COMMENT |
| LOW | resources/src/mediawiki.user.js | 101 | // We first attempt to generate a set of random values using the WebCrypto API's | COMMENT |
| LOW | resources/src/skip-web2017-polyfills.js | 1 | return 'IntersectionObserver' in window && | COMMENT |
| LOW | resources/src/mediawiki.confirmCloseWindow.js | 61 | // anyway. | COMMENT |
| 133 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | tests/parser/wtEscaping.txt | 40 | #### ---------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/parser/wtEscaping.txt | 50 | #### ---------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/parser/wtEscaping.txt | 61 | #### ---------------------------------------- | COMMENT |
| MEDIUM | tests/parser/wtEscaping.txt | 370 | #### ---------------------------------------- | COMMENT |
| MEDIUM | tests/parser/wtEscaping.txt | 569 | #### ----------------------------------- | COMMENT |
| MEDIUM | tests/parser/wtEscaping.txt | 602 | #### -------------------------------------- | COMMENT |
| MEDIUM | tests/parser/wtEscaping.txt | 1036 | #### -------------------------------------- | COMMENT |
| MEDIUM | tests/parser/wtEscaping.txt | 1435 | #### -------------------------------------- | COMMENT |
| MEDIUM | tests/parser/wtEscaping.txt | 1552 | #### -------------------------------------- | COMMENT |
| MEDIUM | tests/parser/wtEscaping.txt | 1822 | #### ----------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/parser/parserTests.txt | 16965 | # ----------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/parser/parserTests.txt | 16968 | # ----------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/parser/parserTests.txt | 16970 | # ----------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/parser/parserTests.txt | 16976 | # ---------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/parser/parserTests.txt | 1305 | #-------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/parser/parserTests.txt | 1308 | #-------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/parser/parserTests.txt | 1547 | #-------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/parser/parserTests.txt | 1549 | #-------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/parser/parserTests.txt | 4028 | # ------------------------------------------------------------------------ | COMMENT |
| MEDIUM | tests/parser/parserTests.txt | 4031 | # ------------------------------------------------------------------------ | COMMENT |
| MEDIUM | tests/parser/parserTests.txt | 13776 | #### ----------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/parser/parserTests.txt | 13778 | #### ----------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/parser/parserTests.txt | 13791 | #### ---------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/parser/parserTests.txt | 13795 | #### ---------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/parser/parserTests.txt | 14689 | # ----------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/parser/parserTests.txt | 14694 | # ---------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/parser/parserTests.txt | 15232 | #----------------------- | COMMENT |
| MEDIUM | tests/parser/parserTests.txt | 15234 | #----------------------- | COMMENT |
| MEDIUM | tests/parser/parserTests.txt | 15539 | #------------------------------ | COMMENT |
| MEDIUM | tests/parser/parserTests.txt | 15541 | #------------------------------ | COMMENT |
| MEDIUM | tests/parser/parserTests.txt | 16161 | # -------------------------------------------- | COMMENT |
| MEDIUM | tests/parser/parserTests.txt | 16163 | # -------------------------------------------- | COMMENT |
| MEDIUM | tests/parser/parserTests.txt | 16882 | # --------------------------------------------------- | COMMENT |
| MEDIUM | tests/parser/parserTests.txt | 16884 | # --------------------------------------------------- | COMMENT |
| MEDIUM | tests/phpunit/includes/Page/WikiPageDbTest.php | 307 | # ------------------------ | COMMENT |
| MEDIUM | tests/phpunit/includes/Page/WikiPageDbTest.php | 318 | # ------------------------ | COMMENT |
| MEDIUM | tests/phpunit/includes/Page/WikiPageDbTest.php | 324 | # ------------------------ | COMMENT |
| MEDIUM | tests/phpunit/includes/Page/WikiPageDbTest.php | 338 | # ------------------------ | COMMENT |
| MEDIUM | tests/phpunit/includes/Page/WikiPageDbTest.php | 365 | # ------------------------ | COMMENT |
| MEDIUM | tests/phpunit/includes/Page/WikiPageDbTest.php | 373 | # ------------------------ | COMMENT |
| MEDIUM | tests/phpunit/includes/Page/WikiPageDbTest.php | 487 | # ------------------------ | COMMENT |
| MEDIUM | languages/messages/MessagesKk_arab.php | 374 | # ------------------------------------------------------------------- | COMMENT |
| MEDIUM | languages/messages/MessagesKk_arab.php | 376 | # ------------------------------------------------------------------- | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | resources/lib/qunitjs/qunit.js | 3387 | // This also has the benefit of being stable and robust against e.g. | COMMENT |
| MEDIUM | resources/lib/ooui/oojs-ui-widgets.js | 5516 | // but in our case, we want to utilize the menu selection behavior, and | COMMENT |
| MEDIUM⚡ | resources/lib/ooui/oojs-ui-widgets.js.map.json | 1 | {"version":3,"sources":["../src/intro.js.txt","../src/mixins/DraggableElement.js","../src/mixins/DraggableGroupElement.j | CODE |
| MEDIUM⚡ | resources/lib/ooui/oojs-ui-widgets.js.map.json | 1 | {"version":3,"sources":["../src/intro.js.txt","../src/mixins/DraggableElement.js","../src/mixins/DraggableGroupElement.j | CODE |
| MEDIUM | resources/lib/jquery/jquery.js | 10665 | // understands anonymous AMD modules. A named AMD is safest and most robust | COMMENT |
| MEDIUM | resources/lib/vuex/vuex.global.js | 157 | // use computed to leverage its lazy-caching mechanism | COMMENT |
| LOW | resources/src/mediawiki.String.js | 60 | // String#slice will simply return a shorter (or empty) substring. | COMMENT |
| MEDIUM | includes/Page/ImagePage.php | 188 | # Yet we return metadata about the target. Definitely an issue in the FileRepo | COMMENT |
| LOW | includes/Category/CategoryViewer.php | 475 | # and have already been retrieved. We can just use $rescnt in that | COMMENT |
| LOW | includes/Language/LanguageNameUtils.php | 228 | # - For other names just add if not added through the hook | COMMENT |
| LOW | includes/Parser/Parser.php | 5733 | # Strip bad stuff out of the title (tooltip). We can't just use | COMMENT |
| LOW | includes/Parser/Parser.php | 6169 | # so just use the current user's name | COMMENT |
| LOW | includes/Parser/Parser.php | 6193 | # so just use the parser input size, because the own substitution | COMMENT |
| MEDIUM | includes/Installer/i18n/pt.json | 314 | "config-install-success": "O MediaWiki foi instalado. Já pode visitar <$1$2> para ver a sua wiki.\nSe tiver dúvidas, ve | CODE |
| MEDIUM | includes/Installer/i18n/pt-br.json | 320 | "config-install-success": "O MediaWiki foi instalado. Já pode visitar <$1$2> para ver a sua wiki.\nSe tiver dúvidas, ve | CODE |
| MEDIUM | includes/JobQueue/Jobs/AssembleUploadChunksJob.php | 194 | // To be extra robust. | COMMENT |
| MEDIUM | includes/Media/FormatMetadata.php | 629 | // Essentially like iimCategory. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | resources/lib/jquery.ui/jquery.ui.datepicker.js | 1192 | // Format a name, short or long as requested | COMMENT |
| HIGH | tests/qunit/resources/mediawiki.jqueryMsg.test.js | 667 | // Tests that {{-transformation vs. general parsing are done as requested | COMMENT |
| HIGH | …/MediaSearch/mediawiki.widgets.APIResultsQueue.test.js | 131 | // * The queue returned 10 results as requested | COMMENT |
| HIGH | includes/Specials/SpecialWatchlistLabels.php | 373 | // Sort by count by default, and others as requested. | COMMENT |
| HIGH | includes/Api/ApiOpenSearchFormatJson.php | 29 | // Ignore warnings or treat as errors, as requested | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | includes/Linker/Linker.php | 425 | # Create a resized image, without the additional thumbnail features | COMMENT |
| MEDIUM | includes/Specials/SpecialFileDuplicateSearch.php | 95 | # Create the input form | COMMENT |
| MEDIUM | includes/Specials/SpecialLog.php | 333 | # Create a LogPager item to get the results and a LogEventsList item to format them... | COMMENT |
| MEDIUM | includes/Parser/Parser.php | 4440 | # Create the anchor for linking from the TOC to the section | COMMENT |
| MEDIUM | includes/Installer/Task/SqliteCreateDatabaseTask.php | 54 | # Create the l10n cache DB | COMMENT |
| MEDIUM | includes/Installer/Task/SqliteCreateDatabaseTask.php | 75 | # Create the job queue DB | COMMENT |
| MEDIUM | includes/RecentChanges/RecentChangeNotifier.php | 161 | # The following code is only run, if several conditions are met: | COMMENT |
| MEDIUM | docs/config-schema.yaml | 1 | # This file is automatically generated using maintenance/generateConfigSchema.php. | COMMENT |
| MEDIUM | maintenance/generateConfigSchema.php | 313 | $header = "# This file is automatically generated using maintenance/generateConfigSchema.php.\n"; | CODE |
| MEDIUM | maintenance/mergeMessageFileList.php | 193 | "## This file is generated by mergeMessageFileList.php. Do not edit it directly.\n\n" . | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …sources/src/mediawiki.rcfilters/dm/FiltersViewModel.js | 149 | // In our case, we need to check if the entire group conflicts with | COMMENT |
| LOW | …/src/mediawiki.special.block/components/UserLookup.vue | 251 | // Valid IP, we need to check if there's a valid range | COMMENT |
| LOW | includes/Auth/AuthManager.php | 499 | // Step 1: Choose a primary authentication provider, and call it until it succeeds. | COMMENT |
| LOW | includes/Auth/AuthManager.php | 724 | // Step 2: Primary authentication succeeded, create the User object | COMMENT |
| LOW | includes/Auth/AuthManager.php | 779 | // Step 3: Iterate over all the secondary authentication providers. | COMMENT |
| LOW | includes/Auth/AuthManager.php | 834 | // Step 4: Authentication complete! Give hook handlers a chance to interrupt, then | COMMENT |
| LOW | includes/Auth/AuthManager.php | 1523 | // Step 0: Prepare and validate the input | COMMENT |
| LOW | includes/Auth/AuthManager.php | 1693 | // Step 1: Choose a primary authentication provider and call it until it succeeds. | COMMENT |
| LOW | includes/Auth/AuthManager.php | 1814 | // Step 2: Primary authentication succeeded. Give hook handlers a chance to interrupt, | COMMENT |
| LOW | includes/Auth/AuthManager.php | 1880 | // Step 3: Iterate over all the secondary authentication providers. | COMMENT |
| LOW | includes/Auth/AuthManager.php | 2493 | // Step 0: Prepare and validate the input | COMMENT |
| LOW | includes/Auth/AuthManager.php | 2546 | // Step 1: Call the primary again until it succeeds | COMMENT |
| LOW | maintenance/includes/TextPassDumper.php | 543 | // Step 1: Get some text (or reuse from previous iteratuon if checking | COMMENT |
| LOW | maintenance/includes/TextPassDumper.php | 596 | // Step 2: Checking for plausibility and return the text if it is | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | includes/Auth/AuthManager.php | 499 | // Step 1: Choose a primary authentication provider, and call it until it succeeds. | COMMENT |
| LOW | includes/Auth/AuthManager.php | 724 | // Step 2: Primary authentication succeeded, create the User object | COMMENT |
| LOW | includes/Auth/AuthManager.php | 779 | // Step 3: Iterate over all the secondary authentication providers. | COMMENT |
| LOW | includes/Auth/AuthManager.php | 834 | // Step 4: Authentication complete! Give hook handlers a chance to interrupt, then | COMMENT |
| LOW | includes/Auth/AuthManager.php | 1523 | // Step 0: Prepare and validate the input | COMMENT |
| LOW | includes/Auth/AuthManager.php | 1693 | // Step 1: Choose a primary authentication provider and call it until it succeeds. | COMMENT |
| LOW | includes/Auth/AuthManager.php | 1814 | // Step 2: Primary authentication succeeded. Give hook handlers a chance to interrupt, | COMMENT |
| LOW | includes/Auth/AuthManager.php | 1880 | // Step 3: Iterate over all the secondary authentication providers. | COMMENT |
| LOW | includes/Auth/AuthManager.php | 2493 | // Step 0: Prepare and validate the input | COMMENT |
| LOW | includes/Auth/AuthManager.php | 2546 | // Step 1: Call the primary again until it succeeds | COMMENT |
| LOW | maintenance/includes/TextPassDumper.php | 543 | // Step 1: Get some text (or reuse from previous iteratuon if checking | COMMENT |
| LOW | maintenance/includes/TextPassDumper.php | 596 | // Step 2: Checking for plausibility and return the text if it is | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | resources/lib/vue-test-utils/vue-test-utils.browser.js | 1908 | // but still return True as though you had | COMMENT |
| HIGH | resources/src/mediawiki.base/log.js | 19 | * @return {boolean|undefined} return.return True if the caller was not seen before. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …sources/src/mediawiki.page.gallery.styles/gallery.less | 6 | /* Don't forget to update gallery.print.css */ | COMMENT |
| MEDIUM | …sts/phpunit/unit/includes/Api/ApiModuleManagerTest.php | 34 | // actually used is a UserFactory, for demonstration purposes | COMMENT |
| LOW | includes/ServiceWiring.php | 368 | // NOTE: When adding a service here, don't forget to add a getter function | COMMENT |
| LOW | includes/Installer/LocalSettingsGenerator.php | 326 | * and their default values, but don't forget to make changes in _this_ | COMMENT |
| MEDIUM | includes/Installer/LocalSettingsGenerator.php | 438 | {$groupRights}{$noFollow}## Default skin: you can change the default skin. Use the internal symbolic | CODE |
| LOW | includes/HTMLForm/HTMLFormField.php | 461 | * field input. Don't forget to call parent::validate() to ensure | COMMENT |
| LOW | includes/Logging/LogEventsList.php | 1041 | // Don't forget to also update the method documentation | COMMENT |
| LOW | includes/Pager/IndexPager.php | 61 | * getQueryInfo() and getIndexField(). Don't forget to call the parent | COMMENT |
| LOW | docs/export-demo.xml | 69 | <!-- * Don't forget to decode character entities! --> | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | includes/Specials/SpecialRecentChanges.php | 305 | # Check if the page has been updated since the last visit | COMMENT |
| LOW | includes/Diff/DifferenceEngine.php | 792 | # Check if one of the revisions is deleted/suppressed | COMMENT |
| LOW | includes/Language/Language.php | 1569 | # Check if the year is a leap year | COMMENT |
| LOW | includes/Language/Language.php | 1623 | # Check if leap year | COMMENT |
| LOW | includes/Language/Language.php | 3850 | # Check if there is no need to truncate | COMMENT |
| LOW | includes/Language/Language.php | 3937 | # Check if there is clearly no need to truncate | COMMENT |
| LOW | includes/Parser/Preprocessor_Hash.php | 627 | # Add it to the stack | COMMENT |
| LOW | includes/Parser/Parser.php | 5444 | # Check if the options text is of the form "options|alt text" | COMMENT |
| LOW | includes/Parser/LinkHolderArray.php | 165 | # Check if it's a static known link, e.g. interwiki | COMMENT |
| LOW | includes/Import/WikiRevision.php | 665 | # Check if it exists already | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | resources/lib/ooui/oojs-ui-windows.js.map.json | 1 | {"version":3,"sources":["../src/intro.js.txt","../src/widgets/ActionWidget.js","../src/ActionSet.js","../src/Error.js"," | CODE |
| HIGH | …/mediawiki.skinning.typeaheadSearch/instrumentation.js | 90 | // In this implementation of the mediawiki.searchSuggestion protocol, we don't want to | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | resources/lib/codex/mixins/link.less | 16 | // Example usage: | COMMENT |
| LOW | resources/lib/codex/mixins/wip/grid.less | 12 | // Example usage: | COMMENT |
| LOW | resources/lib/codex/mixins/wip/grid.less | 118 | // Example usage: | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | includes/Rest/Handler/ModuleSpecHandler.php | 56 | // TODO: implement caching, get cache key from Router. | COMMENT |
| LOW | includes/Pager/ContributionsPager.php | 1075 | // TODO: Handle exceptions in the catch block above. Do any extensions rely on | COMMENT |
| LOW | includes/FileRepo/File/OldLocalFile.php | 350 | // TODO: implement this and make it possible to hit it from refreshImageMetadata.php | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | maintenance/language/zhtable/Makefile.py | 83 | CODE | |
| LOW | maintenance/language/zhtable/Makefile.py | 131 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | resources/lib/jquery/jquery.js | 4139 | function getData( data ) { | CODE |