UI rendering duplicate Application Menu in search

rohanthoke
Tera Contributor

Hi everyone,

I am running into a strange UI bug in the Unified Navigation/Filter Navigator. When searching for the IT Service Management application, it renders twice in the results.

9b443fd1-e37f-42a5-8da3-25b8ccddd15b.png

Here is the big clue: If I edit one of them (for example, adding a 'Hint' to the application menu), the update immediately applies to both of them. This means they are the exact same record (sys_app_application) being rendered twice by the UI, not an actual duplicate record in the database.

What I have already tried:

  • Checked sys_app_application and sys_app_module - confirmed only one record exists.

  • Ran cache.do to flush the system cache.

  • Cleared my local browser cache, logged out, and tested in an Incognito window.

  • Checked sys_translated and sys_translated_text for duplicate translation strings causing double-rendering.

Has anyone seen the Next Experience navigator duplicate a single application node like this? Is there a specific search index, user preference, or system property I can clear/reset to fix this UI glitch?

Thank you!

3 REPLIES 3

Naveen20
ServiceNow Employee

Try these both

Check sys_ux_app_menu for duplicates. The Next Experience navigator doesn't read directly from sys_app_application at render time — it reads from sys_ux_app_menu, which acts as a mapping/wrapper layer. Navigate to sys_ux_app_menu.LIST and filter by the ITSM application's title or sys_id. If you see two records pointing to the same sys_app_application, that's your culprit. You can safely delete the duplicate (keep the one that has the correct module tree beneath it, or either one if they're identical).

Rebuild the Navigation Search Index. Even after fixing the underlying data, the navigator caches its own search index. Go to sys_properties.LIST and search for glide.ux.navigator.search.index.rebuild — set it to true. Alternatively, navigate to System Diagnostics > Search Index Rebuild (or use nav_index_rebuild.do if available on your version). This forces the framework to re-crawl and deduplicate the navigation tree. The property auto-resets to false after the rebuild completes.

Hello Naveen, thanks for the response. However, when I tried sys_ux_app_menu, it simply showed "not found." I confirmed this by searching the sys_db_object table, where this table also doesn't appear. The same issue occurred with nav_index_rebuild.do
for the context our instance is on "Yokohama" version 
Can you suggest something that could work for usimage.pngimage.png

 

Naveen20
ServiceNow Employee

Try these 2
var gr = new GlideRecord('sys_metadata');
gr.addQuery('sys_name', 'CONTAINS', 'IT Service Management');
gr.addQuery('sys_class_name', 'sys_app_application');
gr.query();
gs.info('Metadata entries: ' + gr.getRowCount());
while (gr.next()) {
gs.info(gr.getUniqueValue() + ' | ' + gr.getValue('sys_name') +
' | scope: ' + gr.getValue('sys_scope') +
' | package: ' + gr.getValue('sys_package'));
}

If you see more than one metadata entry for the same application, the extra entry is likely driving the duplicate rendering.

2. user-level nav preferences. Run this in a background script to clear your own navigator state and force a fresh pull:

javascript
var gr = new GlideRecord('sys_user_preference');
gr.addQuery('user', gs.getUserID());
gr.addQuery('name', 'CONTAINS', 'ux.navigator');
gr.query();
while (gr.next()) {
    gs.info('Deleting preference: ' + gr.getValue('name'));
    gr.deleteRecord();
}