{"record":{"id":"bd2df52bdcb0dc9d","repo":"Semantic-Org/Semantic-UI","slug":"history-requires-asual-s-address-library-https","errorCode":null,"errorMessage":"History requires Asual's Address library <https://github.com/asual/jquery-address>","messagePattern":"History requires Asual's Address library <https://github\\.com/asual/jquery-address>","errorType":"console","errorClass":null,"httpStatus":null,"severity":"error","filePath":"src/definitions/modules/tab.js","lineNumber":931,"sourceCode":"  onFirstLoad : function(tabPath, parameterArray, historyEvent) {}, // called first time loaded\n  onLoad      : function(tabPath, parameterArray, historyEvent) {}, // called on every load\n  onVisible   : function(tabPath, parameterArray, historyEvent) {}, // called every time tab visible\n  onRequest   : function(tabPath, parameterArray, historyEvent) {}, // called ever time a tab beings loading remote content\n\n  templates : {\n    determineTitle: function(tabArray) {} // returns page title for path\n  },\n\n  error: {\n    api        : 'You attempted to load content without API module',\n    method     : 'The method you called is not defined',\n    missingTab : 'Activated tab cannot be found. Tabs are case-sensitive.',\n    noContent  : 'The tab you specified is missing a content url.',\n    path       : 'History enabled, but no path was specified',\n    recursion  : 'Max recursive depth reached',\n    legacyInit : 'onTabInit has been renamed to onFirstLoad in 2.0, please adjust your code.',\n    legacyLoad : 'onTabLoad has been renamed to onLoad in 2.0. Please adjust your code',\n    state      : 'History requires Asual\\'s Address library <https://github.com/asual/jquery-address>'\n  },\n\n  metadata : {\n    tab    : 'tab',\n    loaded : 'loaded',\n    promise: 'promise'\n  },\n\n  className   : {\n    loading : 'loading',\n    active  : 'active'\n  },\n\n  selector    : {\n    tabs : '.ui.tab',\n    ui   : '.ui'\n  }\n","sourceCodeStart":913,"sourceCodeEnd":949,"githubUrl":"https://github.com/Semantic-Org/Semantic-UI/blob/597843ab84d565cccfd8fd7719416350ae73e734/src/definitions/modules/tab.js#L913-L949","documentation":"Semantic UI Tab error logged at tab.js:182 when history support is enabled but $.address (Asual's jQuery Address library) is not loaded. Tab's history feature depends on that external library; without it the feature cannot function.","triggerScenarios":"Initializing $('.menu .item').tab({ history: true }) on a page that has not loaded jquery.address.js (or the equivalent Asual library).","commonSituations":"Custom bundles missing the address library; switching from CDN to self-hosted and forgetting one script; legacy sites that used hash history but the address script got dropped.","solutions":["Include Asual's jQuery Address library before the tab module: <script src=\"jquery.address.js\"></script>.","Disable history if you don't need it: { history: false }.","Migrate to a modern router (HTML5 history + your framework) and stop relying on $.address."],"exampleFix":"// before\n<script src=\"semantic-tab.js\"></script>\n// after\n<script src=\"jquery.address.js\"></script>\n<script src=\"semantic-tab.js\"></script>","handlingStrategy":"type-guard","validationCode":"if (typeof $.address === 'undefined') {\n  console.warn('Disabling tab history: jquery.address is not loaded');\n  tabConfig.history = false;\n}\n$('.menu .item').tab(tabConfig);","typeGuard":"function isAddressLibraryLoaded() { return typeof $.address !== 'undefined'; }","tryCatchPattern":null,"preventionTips":["Bundle jquery.address.js whenever tab history is enabled.","Feature-detect $.address before initializing tab history.","Consider migrating to native history APIs."],"tags":["semantic-ui","tab","missing-dependency","history"],"backgroundTag":null,"analyzedSha":"597843ab84d565cccfd8fd7719416350ae73e734","analyzedAt":"2026-08-13T01:44:23.827Z","schemaVersion":2},"datasetVersion":"2026-08-13T04:17:16.726Z"}