{"record":{"id":"b8d3445f347ef35b","repo":"OrchardCMS/OrchardCore","slug":"msg-b8d344","errorCode":null,"errorMessage":"msg","messagePattern":"msg","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"src/OrchardCore.Modules/OrchardCore.Resources/wwwroot/Vendor/jquery-3.6.0/jquery.js","lineNumber":338,"sourceCode":"\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// Return the modified object\n\treturn target;\n};\n\njQuery.extend( {\n\n\t// Unique for each copy of jQuery on the page\n\texpando: \"jQuery\" + ( version + Math.random() ).replace( /\\D/g, \"\" ),\n\n\t// Assume jQuery is ready without the ready module\n\tisReady: true,\n\n\terror: function( msg ) {\n\t\tthrow new Error( msg );\n\t},\n\n\tnoop: function() {},\n\n\tisPlainObject: function( obj ) {\n\t\tvar proto, Ctor;\n\n\t\t// Detect obvious negatives\n\t\t// Use toString instead of jQuery.type to catch host objects\n\t\tif ( !obj || toString.call( obj ) !== \"[object Object]\" ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tproto = getProto( obj );\n\n\t\t// Objects with no prototype (e.g., `Object.create( null )`) are plain\n\t\tif ( !proto ) {\n\t\t\treturn true;","sourceCodeStart":320,"sourceCodeEnd":356,"githubUrl":"https://github.com/OrchardCMS/OrchardCore/blob/4306c0717fe573f6fca1b4955909ddab6a192807/src/OrchardCore.Modules/OrchardCore.Resources/wwwroot/Vendor/jquery-3.6.0/jquery.js#L320-L356","documentation":"jQuery 3.6.0's $.error helper throws a new Error with whatever message is passed — the same generic throw site as 3.5.1 (line shifted to 338 in this build). It is not a distinct failure mode; it reports errors on behalf of other jQuery code paths.","triggerScenarios":"Internal jQuery 3.6.0 paths calling $.error(message) upon invalid input — e.g. bad markup in html(), invalid method arguments, or failures surfaced through deferred chains.","commonSituations":"Stack traces whose top frame is this helper after upgrading to 3.6.0; the real cause is in e.message and the caller frames below.","solutions":["Inspect e.message and the next stack frames to identify the jQuery API call that invoked $.error, and fix its inputs.","Wrap the implicated call in try/catch to capture and report the error context.","Check the 3.6.0 upgrade guide / breaking changes if the same call worked on 3.5.1, and adjust usage or pin the previous version temporarily."],"exampleFix":"// before\n$('#target').append(userHtml); // failure reported via $.error\n// after\ntry {\n  $('#target').append(userHtml);\n} catch (e) {\n  console.error('jQuery 3.6 call failed:', e.message);\n}","handlingStrategy":"try-catch","validationCode":"if (!isNonEmptyString(arg)) throw new Error('Refusing jQuery call with empty input');\nfunction isNonEmptyString(v) { return typeof v === 'string' && v.length > 0; }","typeGuard":"function isSafeHtmlString(v) { return typeof v === 'string' && !/\\<\\s*script/i.test(v); }","tryCatchPattern":"try { $('#el').call(input); } catch (e) { captureError(e, { context: 'jquery-3.6.0 $.error', message: e.message }); }","preventionTips":["Always capture e.message and full stack; $.error only formats the message.","After a 3.6.0 upgrade, compare e.message against 3.5.1 behavior for changed validation.","Sanitize inputs before HTML/selector APIs.","Keep error reporting configured to store complete Error objects."],"tags":["jquery","error-helper","runtime","upgrade"],"backgroundTag":"invalid-argument-value","analyzedSha":"4306c0717fe573f6fca1b4955909ddab6a192807","analyzedAt":"2026-09-13T17:41:05.024Z","contentChangedAt":"2026-09-13T17:41:05.024Z","schemaVersion":2},"datasetVersion":"2026-09-16T04:17:20.429Z"}