I am working with the global navigation for my home site. I have a repeating issue in which when i update the navigation (be it global or local site navigation) the user will for the first time need to click "edit" turn off then on audience targeting to see the navigation sync up to date.
Once they do this once it works fine but this is a problem for global navigation as not all users have edit access to that and once we publish our sharepoint company wide we can not give edit access to every user across the company.
Has anyone had this issue before?
(The users role does not effect this issue it has happened to admins, editors, and visitors.)
I have faced the similar issue in past. So, after weeks of trying different approaches, I was finally able to achieve this with some custom piece of code.
The problem here is that SharePoint Online stores the Hub navigation in browser cache. A database called ODSP_DB is holding the navigation nodes. Users cannot see the navigation updates unless they clear browser cache (which eventually refreshes the database) or logout and login to the system.
To overcome this issue, you have to clean the DB with custom JS Code and unregister a service worker from the browser, which actually forces the browser to rebuild the ODSP_DB and the navigation nodes.
I have placed the sample code on my blog. May be it will help someone until a proper way is announced by Microsoft.