{"record":{"id":"1a556f2b3eb86d4e","repo":"Semantic-Org/Semantic-UI","slug":"had-to-move-sidebar-for-optimal-performance-make","errorCode":null,"errorMessage":"Had to move sidebar. For optimal performance make sure sidebar and pusher are direct children of your body tag","messagePattern":"Had to move sidebar\\. For optimal performance make sure sidebar and pusher are direct children of your body tag","errorType":"console","errorClass":null,"httpStatus":null,"severity":"info","filePath":"src/definitions/modules/sidebar.js","lineNumber":1025,"sourceCode":"  },\n\n  selector: {\n    fixed   : '.fixed',\n    omitted : 'script, link, style, .ui.modal, .ui.dimmer, .ui.nag, .ui.fixed',\n    pusher  : '.pusher',\n    sidebar : '.ui.sidebar'\n  },\n\n  regExp: {\n    ios          : /(iPad|iPhone|iPod)/g,\n    mobileChrome : /(CriOS)/g,\n    mobile       : /Mobile|iP(hone|od|ad)|Android|BlackBerry|IEMobile|Kindle|NetFront|Silk-Accelerated|(hpw|web)OS|Fennec|Minimo|Opera M(obi|ini)|Blazer|Dolfin|Dolphin|Skyfire|Zune/g\n  },\n\n  error   : {\n    method       : 'The method you called is not defined.',\n    pusher       : 'Had to add pusher element. For optimal performance make sure body content is inside a pusher element',\n    movedSidebar : 'Had to move sidebar. For optimal performance make sure sidebar and pusher are direct children of your body tag',\n    overlay      : 'The overlay setting is no longer supported, use animation: overlay',\n    notFound     : 'There were no elements that matched the specified selector'\n  }\n\n};\n\n\n})( jQuery, window, document );\n","sourceCodeStart":1007,"sourceCodeEnd":1034,"githubUrl":"https://github.com/Semantic-Org/Semantic-UI/blob/597843ab84d565cccfd8fd7719416350ae73e734/src/definitions/modules/sidebar.js#L1007-L1034","documentation":"Emitted by Sidebar's setup.layout() (sidebar.js:334-336) when the sidebar is not a direct previous sibling of the pusher ($module.nextAll(selector.pusher) does not match the pusher). Sidebar self-heals: it detaches itself and prepends to the context to fix ordering, refreshes, then logs this advisory. It is a console.error (sidebar.js:818), not thrown.","triggerScenarios":"The sidebar is nested inside the pusher or placed elsewhere in the DOM rather than as a direct child of body sitting just before the pusher (sidebar.js:334).","commonSituations":"Sidebar rendered inside a content/template container, templating framework reordering DOM, sidebar placed inside .pusher by mistake.","solutions":["Make the sidebar a direct child of the same context as the pusher, positioned before it.","Do not nest the sidebar inside .pusher."],"exampleFix":"<!-- before: sidebar nested inside pusher -->\n<body>\n  <div class=\"pusher\">\n    <div class=\"ui sidebar\"></div>\n    <div>content</div>\n  </div>\n</body>\n<!-- after: siblings -->\n<body>\n  <div class=\"ui sidebar\"></div>\n  <div class=\"pusher\"><div>content</div></div>\n</body>","handlingStrategy":"validation","validationCode":"// Structure sidebar and pusher as direct siblings of the context.\nfunction assertSidebarStructure($ctx){\n  var $sb = $ctx.children('.ui.sidebar');\n  var $pusher = $ctx.children('.pusher');\n  if ($sb.length === 0 || $pusher.length === 0) {\n    throw new Error('Sidebar and pusher must be direct children of the same context.');\n  }\n}","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Make the sidebar a direct child of body, immediately before the .pusher.","Do not nest the sidebar inside .pusher or other wrappers.","Like error 77, this is self-healing (sidebar.js:337) and advisory."],"tags":["sidebar","layout","markup"],"backgroundTag":null,"analyzedSha":"597843ab84d565cccfd8fd7719416350ae73e734","analyzedAt":"2026-08-13T01:44:23.827Z","schemaVersion":2},"datasetVersion":"2026-08-13T04:17:16.726Z"}