@sapui5/sap.ushell 1.120.8 → 1.120.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (221) hide show
  1. package/package.json +1 -1
  2. package/src/main/js/sap/ushell/.library +1 -1
  3. package/src/main/js/sap/ushell/Fiori20Adapter.js +1 -1
  4. package/src/main/js/sap/ushell/Fiori20AdapterTest.js +1 -1
  5. package/src/main/js/sap/ushell/NWBCInterface.js +1 -1
  6. package/src/main/js/sap/ushell/SessionHandler.js +13 -8
  7. package/src/main/js/sap/ushell/TechnicalParameters.js +1 -1
  8. package/src/main/js/sap/ushell/URLTemplateProcessor.js +1 -1
  9. package/src/main/js/sap/ushell/Ui5NativeServiceFactory.js +1 -1
  10. package/src/main/js/sap/ushell/Ui5ServiceFactory.js +1 -1
  11. package/src/main/js/sap/ushell/_URLTemplateProcessor/DefinitionParameterSetBuilder.js +1 -1
  12. package/src/main/js/sap/ushell/_URLTemplateProcessor/DependencyGraph.js +1 -1
  13. package/src/main/js/sap/ushell/_URLTemplateProcessor/Functions.js +1 -1
  14. package/src/main/js/sap/ushell/_URLTemplateProcessor/Resolvers.js +1 -1
  15. package/src/main/js/sap/ushell/_URLTemplateProcessor/TemplateParameterParser.js +1 -1
  16. package/src/main/js/sap/ushell/_URLTemplateProcessor/utils.js +1 -1
  17. package/src/main/js/sap/ushell/adapters/cdm/ClientSideTargetResolutionAdapter.js +1 -1
  18. package/src/main/js/sap/ushell/adapters/cdm/CommonDataModelAdapter.js +1 -1
  19. package/src/main/js/sap/ushell/adapters/cdm/ConfigurationDefaultsAdapter.js +1 -1
  20. package/src/main/js/sap/ushell/adapters/cdm/ContainerAdapter.js +1 -1
  21. package/src/main/js/sap/ushell/adapters/cdm/LaunchPageAdapter.js +1 -1
  22. package/src/main/js/sap/ushell/adapters/cdm/PagesCommonDataModelAdapter.js +1 -1
  23. package/src/main/js/sap/ushell/adapters/cdm/PersonalizationAdapter.js +1 -1
  24. package/src/main/js/sap/ushell/adapters/cdm/PersonalizationV2Adapter.js +1 -1
  25. package/src/main/js/sap/ushell/adapters/cdm/Ui5ComponentLoaderAdapter.js +1 -1
  26. package/src/main/js/sap/ushell/adapters/cdm/_LaunchPage/modifyHome.js +1 -1
  27. package/src/main/js/sap/ushell/adapters/cdm/_LaunchPage/readCatalogs.js +1 -1
  28. package/src/main/js/sap/ushell/adapters/cdm/_LaunchPage/readHome.js +1 -1
  29. package/src/main/js/sap/ushell/adapters/cdm/_LaunchPage/uri.transform.js +1 -1
  30. package/src/main/js/sap/ushell/adapters/cdm/util/AppForInbound.js +1 -1
  31. package/src/main/js/sap/ushell/adapters/cdm/util/cdmSiteUtils.js +1 -1
  32. package/src/main/js/sap/ushell/adapters/cdm/v3/AdapterBase.js +1 -1
  33. package/src/main/js/sap/ushell/adapters/cdm/v3/LaunchPageAdapter.js +1 -1
  34. package/src/main/js/sap/ushell/adapters/cdm/v3/StaticGroupsAdapter.js +1 -1
  35. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readApplications.js +1 -1
  36. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readCatalogs.js +1 -1
  37. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readHome.js +1 -1
  38. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readPages.js +1 -1
  39. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readUtils.js +1 -1
  40. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readVisualizations.js +1 -1
  41. package/src/main/js/sap/ushell/adapters/cep/NavTargetResolutionAdapter.js +1 -1
  42. package/src/main/js/sap/ushell/adapters/cep/SearchCEPAdapter.js +1 -1
  43. package/src/main/js/sap/ushell/adapters/cflp/UserDefaultParameterPersistenceAdapter.js +1 -1
  44. package/src/main/js/sap/ushell/adapters/local/AdapterContainer.js +1 -1
  45. package/src/main/js/sap/ushell/adapters/local/AppStateAdapter.js +1 -1
  46. package/src/main/js/sap/ushell/adapters/local/ClientSideTargetResolutionAdapter.js +1 -1
  47. package/src/main/js/sap/ushell/adapters/local/ContainerAdapter.js +1 -1
  48. package/src/main/js/sap/ushell/adapters/local/LaunchPageAdapter.js +1 -1
  49. package/src/main/js/sap/ushell/adapters/local/NavTargetResolutionAdapter.js +1 -1
  50. package/src/main/js/sap/ushell/adapters/local/PageBuildingAdapter.js +1 -1
  51. package/src/main/js/sap/ushell/adapters/local/PagePersistenceAdapter.js +1 -1
  52. package/src/main/js/sap/ushell/adapters/local/PersonalizationAdapter.js +1 -1
  53. package/src/main/js/sap/ushell/adapters/local/PersonalizationV2Adapter.js +1 -1
  54. package/src/main/js/sap/ushell/adapters/local/SearchAdapter.js +1 -1
  55. package/src/main/js/sap/ushell/adapters/local/SearchCEPAdapter.js +1 -1
  56. package/src/main/js/sap/ushell/adapters/local/SupportTicketAdapter.js +1 -1
  57. package/src/main/js/sap/ushell/adapters/local/Ui5ComponentLoaderAdapter.js +1 -1
  58. package/src/main/js/sap/ushell/adapters/local/UserDefaultParameterPersistenceAdapter.js +1 -1
  59. package/src/main/js/sap/ushell/adapters/local/UserInfoAdapter.js +1 -1
  60. package/src/main/js/sap/ushell/appRuntime/ui5/plugins/rtaAgent/Component.js +5 -5
  61. package/src/main/js/sap/ushell/appRuntime/ui5/services/adapters/Ui5ComponentLoaderAdapter.js +1 -1
  62. package/src/main/js/sap/ushell/bootstrap/_SchedulingAgent/logger.js +1 -1
  63. package/src/main/js/sap/ushell/bootstrap/_SchedulingAgent/state.js +1 -1
  64. package/src/main/js/sap/ushell/bootstrap/common/common.configure.ui5datetimeformat.js +1 -1
  65. package/src/main/js/sap/ushell/bootstrap/common/common.create.configcontract.core.js +2 -1
  66. package/src/main/js/sap/ushell/bootstrap/sandbox2.js +1 -1
  67. package/src/main/js/sap/ushell/components/CatalogsManager.js +2 -2
  68. package/src/main/js/sap/ushell/components/appfinder/manifest.json +1 -1
  69. package/src/main/js/sap/ushell/components/applicationIntegration/AppLifeCycle.js +1 -1
  70. package/src/main/js/sap/ushell/components/applicationIntegration/application/Application.js +1 -1
  71. package/src/main/js/sap/ushell/components/applicationIntegration/application/BlueBoxHandler.js +1 -1
  72. package/src/main/js/sap/ushell/components/applicationIntegration/application/PostMessageAPI.js +1 -1
  73. package/src/main/js/sap/ushell/components/applicationIntegration/configuration/AppMeta.js +1 -1
  74. package/src/main/js/sap/ushell/components/applicationIntegration/elements/model.js +1 -1
  75. package/src/main/js/sap/ushell/components/applicationIntegration/relatedServices/RelatedServices.js +1 -1
  76. package/src/main/js/sap/ushell/components/applicationIntegration/relatedShellElements/RelatedShellElements.js +1 -1
  77. package/src/main/js/sap/ushell/components/container/ApplicationContainer.js +1 -1
  78. package/src/main/js/sap/ushell/components/contentFinder/Component.js +1 -1
  79. package/src/main/js/sap/ushell/components/contentFinder/controller/AppSearch.controller.js +1 -1
  80. package/src/main/js/sap/ushell/components/contentFinder/controller/ContentFinderDialog.controller.js +1 -1
  81. package/src/main/js/sap/ushell/components/contentFinder/controller/WidgetGallery.controller.js +1 -1
  82. package/src/main/js/sap/ushell/components/contentFinder/manifest.json +1 -1
  83. package/src/main/js/sap/ushell/components/factsheet/Component.js +1 -1
  84. package/src/main/js/sap/ushell/components/homepage/ActionMode.js +1 -1
  85. package/src/main/js/sap/ushell/components/homepage/DashboardContent.view.js +1 -1
  86. package/src/main/js/sap/ushell/components/homepage/DashboardGroupsBox.js +1 -1
  87. package/src/main/js/sap/ushell/components/homepage/DashboardUIActions.js +1 -1
  88. package/src/main/js/sap/ushell/components/homepage/manifest.json +1 -1
  89. package/src/main/js/sap/ushell/components/pages/ActionMode.js +1 -1
  90. package/src/main/js/sap/ushell/components/pages/Component.js +1 -1
  91. package/src/main/js/sap/ushell/components/pages/MyHomeImport.js +1 -1
  92. package/src/main/js/sap/ushell/components/pages/controller/PageRuntime.controller.js +1 -1
  93. package/src/main/js/sap/ushell/components/pages/manifest.json +1 -1
  94. package/src/main/js/sap/ushell/components/runtimeSwitcher/controller/RuntimeSwitcher.controller.js +1 -1
  95. package/src/main/js/sap/ushell/components/runtimeSwitcher/manifest.json +1 -1
  96. package/src/main/js/sap/ushell/components/shell/MenuBar/manifest.json +1 -1
  97. package/src/main/js/sap/ushell/components/shell/NavigationBarMenu/controller/NavigationBarMenu.controller.js +1 -1
  98. package/src/main/js/sap/ushell/components/shell/NavigationBarMenu/manifest.json +1 -1
  99. package/src/main/js/sap/ushell/components/shell/Notifications/Component.js +1 -1
  100. package/src/main/js/sap/ushell/components/shell/ProductSwitch/Component.js +1 -1
  101. package/src/main/js/sap/ushell/components/shell/Search/manifest.json +1 -1
  102. package/src/main/js/sap/ushell/components/shell/SearchCEP/Component.js +1 -1
  103. package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchProviders/FrequentActivityProvider.js +1 -1
  104. package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchProviders/RecentSearchProvider.js +1 -1
  105. package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchProviders/SearchProvider.js +1 -1
  106. package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchProviders/SearchServiceProvider.js +1 -1
  107. package/src/main/js/sap/ushell/components/shell/Settings/Component.js +1 -1
  108. package/src/main/js/sap/ushell/components/shell/UserActionsMenu/Component.js +1 -1
  109. package/src/main/js/sap/ushell/components/shell/UserImage/Component.js +1 -1
  110. package/src/main/js/sap/ushell/components/visualizationOrganizer/Component.js +1 -1
  111. package/src/main/js/sap/ushell/components/workPageBuilder/Component.js +1 -1
  112. package/src/main/js/sap/ushell/components/workPageBuilder/controller/WorkPageBuilder.accessibility.js +1 -1
  113. package/src/main/js/sap/ushell/components/workPageBuilder/controller/WorkPageBuilder.controller.js +1 -1
  114. package/src/main/js/sap/ushell/components/workPageBuilder/controller/WorkPageHost.js +1 -1
  115. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPage.js +1 -1
  116. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageButton.js +1 -1
  117. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageCell.js +1 -1
  118. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageColumn.js +1 -1
  119. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageColumnResizer.js +1 -1
  120. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageRow.js +1 -1
  121. package/src/main/js/sap/ushell/components/workPageBuilder/manifest.json +1 -1
  122. package/src/main/js/sap/ushell/components/workPageRuntime/Component.js +1 -1
  123. package/src/main/js/sap/ushell/components/workPageRuntime/controller/WorkPageRuntime.controller.js +1 -1
  124. package/src/main/js/sap/ushell/components/workPageRuntime/manifest.json +1 -1
  125. package/src/main/js/sap/ushell/components/workPageRuntime/services/NavigationResolver.js +1 -1
  126. package/src/main/js/sap/ushell/components/workPageRuntime/services/WorkPage.js +1 -1
  127. package/src/main/js/sap/ushell/designtime/ApplicationContainer.designtime.js +1 -1
  128. package/src/main/js/sap/ushell/library.js +1 -1
  129. package/src/main/js/sap/ushell/navigationMode.js +1 -1
  130. package/src/main/js/sap/ushell/performance/ShellAnalytics.js +1 -1
  131. package/src/main/js/sap/ushell/performance/StatisticalRecord.js +1 -1
  132. package/src/main/js/sap/ushell/plugins/appwarmup/Component.js +1 -1
  133. package/src/main/js/sap/ushell/renderer/Renderer.js +2 -2
  134. package/src/main/js/sap/ushell/renderer/Shell.controller.js +1 -1
  135. package/src/main/js/sap/ushell/renderer/allMyApps/AllMyApps.view.xml +3 -2
  136. package/src/main/js/sap/ushell/renderer/search/searchComponent/manifest.json +1 -1
  137. package/src/main/js/sap/ushell/services/AppLifeCycle.js +1 -1
  138. package/src/main/js/sap/ushell/services/AppState.js +1 -1
  139. package/src/main/js/sap/ushell/services/Bookmark.js +1 -1
  140. package/src/main/js/sap/ushell/services/BookmarkV2.js +1 -1
  141. package/src/main/js/sap/ushell/services/ClientSideTargetResolution.js +1 -1
  142. package/src/main/js/sap/ushell/services/CommonDataModel.js +1 -1
  143. package/src/main/js/sap/ushell/services/Configuration.js +1 -1
  144. package/src/main/js/sap/ushell/services/ConfigurationDefaults.js +1 -1
  145. package/src/main/js/sap/ushell/services/ContentExtensionAdapterFactory.js +1 -1
  146. package/src/main/js/sap/ushell/services/CrossApplicationNavigation.js +1 -1
  147. package/src/main/js/sap/ushell/services/DarkModeSupport.js +1 -1
  148. package/src/main/js/sap/ushell/services/Extension/FloatingContainer.js +1 -1
  149. package/src/main/js/sap/ushell/services/Extension/Footer.js +1 -1
  150. package/src/main/js/sap/ushell/services/Extension/Header.js +1 -1
  151. package/src/main/js/sap/ushell/services/Extension/Item.js +1 -1
  152. package/src/main/js/sap/ushell/services/Extension/SidePane.js +1 -1
  153. package/src/main/js/sap/ushell/services/Extension/ToolArea.js +1 -1
  154. package/src/main/js/sap/ushell/services/Extension.js +1 -1
  155. package/src/main/js/sap/ushell/services/LaunchPage.js +1 -1
  156. package/src/main/js/sap/ushell/services/Menu.js +1 -1
  157. package/src/main/js/sap/ushell/services/Message.js +1 -1
  158. package/src/main/js/sap/ushell/services/MessageBroker.js +1 -1
  159. package/src/main/js/sap/ushell/services/Navigation/utils.js +1 -1
  160. package/src/main/js/sap/ushell/services/Navigation.js +1 -1
  161. package/src/main/js/sap/ushell/services/NavigationDataProvider.js +1 -1
  162. package/src/main/js/sap/ushell/services/NotificationsV2.js +79 -17
  163. package/src/main/js/sap/ushell/services/PageBuilding.js +1 -1
  164. package/src/main/js/sap/ushell/services/PagePersistence.js +1 -1
  165. package/src/main/js/sap/ushell/services/PageReferencing.js +1 -1
  166. package/src/main/js/sap/ushell/services/Pages.js +1 -1
  167. package/src/main/js/sap/ushell/services/Personalization.js +1 -1
  168. package/src/main/js/sap/ushell/services/PersonalizationV2.js +1 -1
  169. package/src/main/js/sap/ushell/services/PluginManager.js +1 -1
  170. package/src/main/js/sap/ushell/services/ReferenceResolver.js +1 -1
  171. package/src/main/js/sap/ushell/services/Search.js +1 -1
  172. package/src/main/js/sap/ushell/services/SearchCEP.js +1 -1
  173. package/src/main/js/sap/ushell/services/SearchableContent.js +1 -1
  174. package/src/main/js/sap/ushell/services/SmartNavigation.js +1 -1
  175. package/src/main/js/sap/ushell/services/SpaceContent.js +1 -1
  176. package/src/main/js/sap/ushell/services/UITracer.js +1 -1
  177. package/src/main/js/sap/ushell/services/URLShortening.js +1 -1
  178. package/src/main/js/sap/ushell/services/URLTemplate.js +1 -1
  179. package/src/main/js/sap/ushell/services/Ui5ComponentLoader.js +1 -1
  180. package/src/main/js/sap/ushell/services/UserDefaultParameterPersistence.js +1 -1
  181. package/src/main/js/sap/ushell/services/UserDefaultParameters.js +1 -1
  182. package/src/main/js/sap/ushell/services/UserInfo.js +1 -1
  183. package/src/main/js/sap/ushell/services/UserRecents.js +1 -1
  184. package/src/main/js/sap/ushell/services/VisualizationDataProvider.js +1 -1
  185. package/src/main/js/sap/ushell/services/VisualizationInstantiation.js +1 -1
  186. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/Formatter.js +1 -1
  187. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/InboundIndex.js +1 -1
  188. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/InboundProvider.js +1 -1
  189. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/PrelaunchOperations.js +1 -1
  190. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/Search.js +1 -1
  191. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/StagedLogger.js +1 -1
  192. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/SystemContext.js +1 -1
  193. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/Utils.js +1 -1
  194. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/VirtualInbounds.js +1 -1
  195. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/XAppStateProcessing.js +1 -1
  196. package/src/main/js/sap/ushell/services/_CommonDataModel/SiteConverter.js +1 -1
  197. package/src/main/js/sap/ushell/services/_ContentExtensionAdapterFactory/ContentExtensionAdapterConfig.js +1 -1
  198. package/src/main/js/sap/ushell/services/_ContentExtensionAdapterFactory/FeaturedGroupConfig.js +1 -1
  199. package/src/main/js/sap/ushell/services/_CrossApplicationNavigation/utils.js +1 -1
  200. package/src/main/js/sap/ushell/services/_MessageBroker/MessageBrokerEngine.js +1 -1
  201. package/src/main/js/sap/ushell/services/_PageReferencing/PageReferencer.js +1 -1
  202. package/src/main/js/sap/ushell/services/_PluginManager/Extensions.js +1 -1
  203. package/src/main/js/sap/ushell/services/_PluginManager/HeaderExtensions.js +1 -1
  204. package/src/main/js/sap/ushell/services/_PluginManager/MenuExtensions.js +1 -1
  205. package/src/main/js/sap/ushell/services/_Ui5ComponentLoader/utils.js +1 -1
  206. package/src/main/js/sap/ushell/services/_VisualizationInstantiation/VizInstanceLink.js +1 -1
  207. package/src/main/js/sap/ushell/support/plugins/flpConfig/FlpConfigurationPlugin.js +1 -1
  208. package/src/main/js/sap/ushell/themes/base/ShellAppTitle.less +1 -1
  209. package/src/main/js/sap/ushell/ui/cards/RecentActivitiesExtension.js +1 -1
  210. package/src/main/js/sap/ushell/ui/launchpad/ExtendedChangeDetection.js +1 -1
  211. package/src/main/js/sap/ushell/ui/launchpad/Page.js +1 -1
  212. package/src/main/js/sap/ushell/ui/launchpad/Section.js +2 -2
  213. package/src/main/js/sap/ushell/ui/launchpad/section/CompactArea.js +1 -1
  214. package/src/main/js/sap/ushell/ui/shell/ShellHeadItem.js +1 -1
  215. package/src/main/js/sap/ushell/ui/shell/SysInfoBar.js +1 -1
  216. package/src/main/js/sap/ushell/ui/shell/ToolAreaItem.js +1 -1
  217. package/src/main/js/sap/ushell/ui/utils.js +1 -1
  218. package/src/main/js/sap/ushell/ui5service/ShellUIService.js +1 -1
  219. package/src/main/js/sap/ushell/ui5service/UserStatus.js +1 -1
  220. package/src/main/js/sap/ushell/utils/UrlShortening.js +1 -1
  221. package/src/test/js/sap/ushell/bootstrap/sandbox.js +1 -1
@@ -133,6 +133,7 @@ sap.ui.define([
133
133
  let bInvalidCsrfTokenRecoveryMode = false;
134
134
  let bCsrfDataSet = false;
135
135
  let aDismissNotifications = [];
136
+ let oInitialRequestPromise;
136
137
 
137
138
  // *************************************************************************************************
138
139
  // ************************************* Service API - Begin ***************************************
@@ -178,6 +179,7 @@ sap.ui.define([
178
179
  this.init = function () {
179
180
  if (!bInitialized && this.isEnabled()) {
180
181
  Core.getEventBus().subscribe("launchpad", "sessionTimeout", this.destroy, this);
182
+ oInitialRequestPromise = this.fireInitialRequest();
181
183
  this.lastNotificationDate = new Date();
182
184
  this._setWorkingMode();
183
185
  bInitialized = true;
@@ -189,6 +191,66 @@ sap.ui.define([
189
191
  Core.getEventBus().subscribe("launchpad", "setConnectionToServer", this._onSetConnectionToServer, this);
190
192
  };
191
193
 
194
+ /**
195
+ * Fires an ODataRequest to prevent multiple CSRF tokens getting fetched in parallel.
196
+ * @private
197
+ */
198
+ this.fireInitialRequest = async function () {
199
+ return new Promise((resolve) => {
200
+ const oRequestObject = {
201
+ requestUri: oServiceConfig.serviceUrl + "/GetBadgeNumber()",
202
+ headers: {
203
+ "X-CSRF-Token": sHeaderXcsrfToken
204
+ }
205
+ };
206
+ OData.request(
207
+ oRequestObject,
208
+ (oResult) => {
209
+ if (oResult.response) {
210
+ this._updateCSRF(oResult.response);
211
+ }
212
+ resolve();
213
+ },
214
+ (oResult) => {
215
+ if (oResult.response) {
216
+ this._updateCSRF(oResult.response);
217
+ }
218
+ resolve();
219
+ }
220
+ );
221
+ });
222
+ };
223
+
224
+ /**
225
+ * Fires an ODataRequest, after making sure that a pervious initial request has been done.
226
+ * This is done to prevent multiple CSRF tokens getting fetched in parallel.
227
+ *
228
+ * @param {object} oRequestObject contains all the read request information.
229
+ * @private
230
+ */
231
+ this.fireODataRequest = async function (oRequestObject) {
232
+ await oInitialRequestPromise;
233
+ if (oRequestObject.headers && oRequestObject.headers["X-CSRF-Token"]) {
234
+ oRequestObject.headers["X-CSRF-Token"] = sHeaderXcsrfToken;
235
+ }
236
+ OData.request.apply(this, arguments);
237
+ };
238
+
239
+ /**
240
+ * Fires an ODataRead, after making sure that a pervious initial request has been done.
241
+ * This is done to prevent multiple CSRF tokens getting fetched in parallel.
242
+ *
243
+ * @param {object} oRequestObject contains all the request information.
244
+ * @private
245
+ */
246
+ this.fireODataRead = async function (oRequestObject) {
247
+ await oInitialRequestPromise;
248
+ if (oRequestObject.headers && oRequestObject.headers["X-CSRF-Token"]) {
249
+ oRequestObject.headers["X-CSRF-Token"] = sHeaderXcsrfToken;
250
+ }
251
+ OData.read.apply(this, arguments);
252
+ };
253
+
192
254
  /**
193
255
  * This event handler enables or disables the connection to the server
194
256
  *
@@ -252,7 +314,7 @@ sap.ui.define([
252
314
  const oRequest = this._createRequest(this._getRequestURI(oOperationEnum.NOTIFICATIONS_BY_TYPE));
253
315
 
254
316
  return new Promise((resolve, reject) => {
255
- OData.request(oRequest, resolve, (oMessage) => {
317
+ this.fireODataRequest(oRequest, resolve, (oMessage) => {
256
318
  if (oMessage.response && oMessage.response.statusCode === 200 && oMessage.response.body) {
257
319
  resolve(oMessage.response.body);
258
320
  } else {
@@ -274,7 +336,7 @@ sap.ui.define([
274
336
  const oRequest = this._createRequest(this._getRequestURI(oOperationEnum.NOTIFICATIONS_GROUP_HEADERS));
275
337
 
276
338
  return new Promise((resolve, reject) => {
277
- OData.request(oRequest, resolve, (oMessage) => {
339
+ this.fireODataRequest(oRequest, resolve, (oMessage) => {
278
340
  if (oMessage.response && oMessage.response.statusCode === 200 && oMessage.response.body) {
279
341
  resolve(oMessage.response.body);
280
342
  } else {
@@ -308,7 +370,7 @@ sap.ui.define([
308
370
  const oRequest = this._createRequest(this._getRequestURI(oOperationEnum.NOTIFICATIONS_IN_GROUP, oArgs));
309
371
 
310
372
  return new Promise((resolve, reject) => {
311
- OData.request(oRequest,
373
+ this.fireODataRequest(oRequest,
312
374
  (oResult) => {
313
375
  oNotificationsService._updateCSRF(oResult.response);
314
376
  resolve(oResult.value);
@@ -343,7 +405,7 @@ sap.ui.define([
343
405
  const oRequestObject = this._createRequest(this._getRequestURI(sSortingType, oArgs));
344
406
 
345
407
  return new Promise((resolve, reject) => {
346
- OData.request(oRequestObject,
408
+ this.fireODataRequest(oRequestObject,
347
409
  (oResult) => {
348
410
  oNotificationsService._updateCSRF(oResult.response);
349
411
  resolve(oResult.value);
@@ -438,7 +500,7 @@ sap.ui.define([
438
500
  }
439
501
  };
440
502
  return new Promise((resolve, reject) => {
441
- OData.request(
503
+ this.fireODataRequest(
442
504
  oRequestObject,
443
505
  (oResult) => {
444
506
  const responseAck = { isSucessfull: true, message: "" };
@@ -484,7 +546,7 @@ sap.ui.define([
484
546
  };
485
547
 
486
548
  return new Promise((resolve, reject) => {
487
- OData.request(
549
+ this.fireODataRequest(
488
550
  oRequestObject,
489
551
  (oResult) => {
490
552
  let responseAck;
@@ -526,7 +588,7 @@ sap.ui.define([
526
588
  };
527
589
 
528
590
  return new Promise((resolve, reject) => {
529
- OData.request(oRequestObject, () => resolve(), (oResult) => {
591
+ this.fireODataRequest(oRequestObject, () => resolve(), (oResult) => {
530
592
  if (oResult.response && oResult.response.statusCode === 200) {
531
593
  resolve();
532
594
  } else if (oNotificationsService._csrfTokenInvalid(oResult) && (bInvalidCsrfTokenRecoveryMode === false)) {
@@ -566,7 +628,7 @@ sap.ui.define([
566
628
  };
567
629
 
568
630
  return new Promise((resolve, reject) => {
569
- OData.request(oRequestObject, () => resolve(), (oMessage) => {
631
+ this.fireODataRequest(oRequestObject, () => resolve(), (oMessage) => {
570
632
  if (oNotificationsService._csrfTokenInvalid(oMessage) && (bInvalidCsrfTokenRecoveryMode === false)) {
571
633
  oNotificationsService._invalidCsrfTokenRecovery(resolve, reject, oNotificationsService.markRead, [sNotificationId]);
572
634
  } else {
@@ -602,7 +664,7 @@ sap.ui.define([
602
664
  };
603
665
 
604
666
  return new Promise((resolve, reject) => {
605
- OData.request(
667
+ this.fireODataRequest(
606
668
  oRequestObject,
607
669
  () => {
608
670
  oNotificationsService._addDismissNotifications(sNotificationId);
@@ -762,7 +824,7 @@ sap.ui.define([
762
824
  const oRequestObject = this._createRequest(this._getRequestURI(oOperationEnum.GET_BADGE_NUMBER));
763
825
 
764
826
  return new Promise((resolve, reject) => {
765
- OData.read(
827
+ this.fireODataRead(
766
828
  oRequestObject,
767
829
  (oResult, oResponseData) => {
768
830
  oModel.setProperty("/UnseenCount", oResponseData.data.GetBadgeNumber.Number);
@@ -791,7 +853,7 @@ sap.ui.define([
791
853
  this.readNotificationsCount = function () {
792
854
  const oRequestObject = this._createRequest(this._getRequestURI(oOperationEnum.GET_NOTIFICATIONS_COUNT));
793
855
  return new Promise((resolve, reject) => {
794
- OData.read(
856
+ this.fireODataRead(
795
857
  oRequestObject,
796
858
  (oResult, oResponseData) => resolve(oResponseData.data),
797
859
  (oMessage) => {
@@ -841,7 +903,7 @@ sap.ui.define([
841
903
  }
842
904
 
843
905
  return new Promise((resolve, reject) => {
844
- OData.request(
906
+ this.fireODataRequest(
845
907
  oRequestObject,
846
908
  resolve,
847
909
  function (oMessage) {
@@ -1057,7 +1119,7 @@ sap.ui.define([
1057
1119
  const oRequestObject = this._createRequest(this._getRequestURI(oOperationEnum.GET_SETTINGS));
1058
1120
 
1059
1121
  return new Promise((resolve, reject) => {
1060
- OData.request(
1122
+ this.fireODataRequest(
1061
1123
  oRequestObject,
1062
1124
  (oResult) => resolve(oResult.results),
1063
1125
  (oMessage) => {
@@ -1098,7 +1160,7 @@ sap.ui.define([
1098
1160
  let sUpdatedResponseString;
1099
1161
 
1100
1162
  return new Promise((resolve) => {
1101
- OData.request(
1163
+ this.fireODataRequest(
1102
1164
  oRequestObject,
1103
1165
  (oResult) => {
1104
1166
  if (typeof (oResult.results) === "string") {
@@ -1136,7 +1198,7 @@ sap.ui.define([
1136
1198
  this._checkWebSocketActivity = function () {
1137
1199
  const oRequestObject = this._createRequest(this._getRequestURI(oOperationEnum.VALIDATE_WEBSOCKET_CHANNEL));
1138
1200
  return new Promise((resolve) => {
1139
- OData.request(
1201
+ this.fireODataRequest(
1140
1202
  oRequestObject,
1141
1203
  (oResult) => {
1142
1204
  if (typeof (oResult.results) === "string") {
@@ -1182,7 +1244,7 @@ sap.ui.define([
1182
1244
  oRequestObject.data["@odata.context"] = "$metadata#NotificationTypePersonalizationSet/$entity";
1183
1245
 
1184
1246
  return new Promise((resolve, reject) => {
1185
- OData.request(
1247
+ this.fireODataRequest(
1186
1248
  oRequestObject,
1187
1249
  resolve,
1188
1250
  (oMessage) => {
@@ -1760,7 +1822,7 @@ sap.ui.define([
1760
1822
  return;
1761
1823
  }
1762
1824
  if (this._getHeaderXcsrfToken() === "fetch") {
1763
- sHeaderXcsrfToken = oResponseData.headers["x-csrf-token"] || oResponseData.headers["X-CSRF-Token"] || oResponseData.headers["X-Csrf-Token"];
1825
+ sHeaderXcsrfToken = oResponseData.headers["x-csrf-token"] || oResponseData.headers["X-CSRF-Token"] || oResponseData.headers["X-Csrf-Token"] || "fetch";
1764
1826
  }
1765
1827
  if (!this._getDataServiceVersion()) {
1766
1828
  sDataServiceVersion = oResponseData.headers.DataServiceVersion || oResponseData.headers["odata-version"];
@@ -3,7 +3,7 @@
3
3
  /**
4
4
  * @fileOverview The Unified Shell's page building service.
5
5
  *
6
- * @version 1.120.8
6
+ * @version 1.120.10
7
7
  */
8
8
  sap.ui.define([
9
9
  "sap/ui/thirdparty/jquery"
@@ -6,7 +6,7 @@
6
6
  * It provides the layout and tile data of pages in the pages runtime.
7
7
  * Only used on the ABAP platform and on local for testing.
8
8
  *
9
- * @version 1.120.8
9
+ * @version 1.120.10
10
10
  */
11
11
  sap.ui.define([], function () {
12
12
  "use strict";
@@ -2,7 +2,7 @@
2
2
 
3
3
  /**
4
4
  * @fileOverview This module deals with page related referencing and dereferencing.
5
- * @version 1.120.8
5
+ * @version 1.120.10
6
6
  */
7
7
  sap.ui.define([
8
8
  "sap/ushell/services/_PageReferencing/PageReferencer"
@@ -2,7 +2,7 @@
2
2
 
3
3
  /**
4
4
  * @fileOverview This module exposes a model containing the pages hierarchy to its clients.
5
- * @version 1.120.8
5
+ * @version 1.120.10
6
6
  */
7
7
  sap.ui.define([
8
8
  "sap/base/Log",
@@ -4,7 +4,7 @@
4
4
  * @fileOverview The Unified Shell's personalization service, which provides generic read and write access to the currently logged on user's
5
5
  * personalization settings for the app currently executed in the shell.
6
6
  *
7
- * @version 1.120.8
7
+ * @version 1.120.10
8
8
  * @deprecated since 1.120 Please use {@link sap.ushell.services.PersonalizationV2} instead
9
9
  */
10
10
  sap.ui.define([
@@ -4,7 +4,7 @@
4
4
  * @fileOverview The Unified Shell's personalization service, which provides generic read and write access to the currently logged on user's
5
5
  * personalization settings for the app currently executed in the shell.
6
6
  *
7
- * @version 1.120.8
7
+ * @version 1.120.10
8
8
  */
9
9
  sap.ui.define([
10
10
  "sap/base/Log",
@@ -2,7 +2,7 @@
2
2
 
3
3
  /**
4
4
  * @fileOverview The Unified Shell's PluginManager service. Allows handling the loading of Fiori Launchpad plugins.
5
- * @version 1.120.8
5
+ * @version 1.120.10
6
6
  */
7
7
  sap.ui.define([
8
8
  "sap/base/Log",
@@ -2,7 +2,7 @@
2
2
 
3
3
  /**
4
4
  * @fileOverview resolves references
5
- * @version 1.120.8
5
+ * @version 1.120.10
6
6
  */
7
7
  sap.ui.define([
8
8
  "sap/base/Log",
@@ -2,7 +2,7 @@
2
2
 
3
3
  /**
4
4
  * @fileOverview The Unified Shell's search service which provides Enterprise Search via SINA.
5
- * @version 1.120.8
5
+ * @version 1.120.10
6
6
  */
7
7
  sap.ui.define([], function () {
8
8
  "use strict";
@@ -3,7 +3,7 @@
3
3
  /**
4
4
  * @fileOverview The Unified Shell's Search for myHome.
5
5
  *
6
- * @version 1.120.8
6
+ * @version 1.120.10
7
7
  */
8
8
  sap.ui.define([
9
9
  "sap/base/Log",
@@ -2,7 +2,7 @@
2
2
 
3
3
  /**
4
4
  * @fileOverview This module exposes the searchable content.
5
- * @version 1.120.8
5
+ * @version 1.120.10
6
6
  */
7
7
  sap.ui.define([
8
8
  "sap/ushell/Config",
@@ -12,7 +12,7 @@
12
12
  * it is pertinent that the API user employs this service's version of <code>toExternal()</code> for cross application
13
13
  * navigation (instead) of using the one provided by CrossApplicationNavigation service.</p>
14
14
  *
15
- * @version 1.120.8
15
+ * @version 1.120.10
16
16
  */
17
17
  sap.ui.define([
18
18
  "sap/ui/thirdparty/jquery",
@@ -2,7 +2,7 @@
2
2
 
3
3
  /**
4
4
  * @fileOverview APIs for the S/4 MyHome
5
- * @version 1.120.8
5
+ * @version 1.120.10
6
6
  */
7
7
  sap.ui.define([
8
8
  "sap/ushell/Config",
@@ -3,7 +3,7 @@
3
3
  /**
4
4
  * @fileOverview The Unified Shell's UI tracing service.
5
5
  *
6
- * @version 1.120.8
6
+ * @version 1.120.10
7
7
  */
8
8
  sap.ui.define([
9
9
  "sap/ushell/EventHub",
@@ -6,7 +6,7 @@
6
6
  * Service wrapper for the sap/ushell/utils/UrlShortening module.
7
7
  * @deprecated since 1.118. Please use the UrlShortening module directly.
8
8
  *
9
- * @version 1.120.8
9
+ * @version 1.120.10
10
10
  */
11
11
  sap.ui.define(["sap/ushell/utils/UrlShortening"], function (UrlShortening) {
12
12
  "use strict";
@@ -1,7 +1,7 @@
1
1
  // Copyright (c) 2009-2023 SAP SE, All Rights Reserved
2
2
  /**
3
3
  * @fileOverview The URLTemplate service provides utilities when working with URL templates
4
- * @version 1.120.8
4
+ * @version 1.120.10
5
5
  */
6
6
  sap.ui.define([
7
7
  "sap/ushell/utils",
@@ -4,7 +4,7 @@
4
4
  * @fileOverview The Unified Shell's UI5 component loader service.
5
5
  * This is a shell-internal service and no public or application facing API!
6
6
  *
7
- * @version 1.120.8
7
+ * @version 1.120.10
8
8
  */
9
9
  sap.ui.define([
10
10
  "sap/ushell/Config",
@@ -14,7 +14,7 @@
14
14
  *
15
15
  * This is *not* an application facing service, but for Shell Internal usage.
16
16
  *
17
- * @version 1.120.8
17
+ * @version 1.120.10
18
18
  */
19
19
  sap.ui.define([
20
20
  "sap/base/Log",
@@ -7,7 +7,7 @@
7
7
  * This service should be accessed by the application
8
8
  * via the CrossApplicationNavigation service.
9
9
  *
10
- * @version 1.120.8
10
+ * @version 1.120.10
11
11
  */
12
12
  sap.ui.define([
13
13
  "sap/base/Log",
@@ -3,7 +3,7 @@
3
3
  /**
4
4
  * @fileOverview The Unified Shell's user information service. Allows retrieving information about the logged-in user.
5
5
  *
6
- * @version 1.120.8
6
+ * @version 1.120.10
7
7
  */
8
8
  sap.ui.define([
9
9
  "sap/base/Log",
@@ -2,7 +2,7 @@
2
2
 
3
3
  /**
4
4
  * @fileOverview The Unified Shell's user activity service.
5
- * @version 1.120.8
5
+ * @version 1.120.10
6
6
  */
7
7
  sap.ui.define([
8
8
  "sap/ushell/utils",
@@ -7,7 +7,7 @@
7
7
  *
8
8
  * Configured with the LaunchPageAdapter.
9
9
  *
10
- * @version 1.120.8
10
+ * @version 1.120.10
11
11
  */
12
12
  sap.ui.define([
13
13
  "sap/ushell/resources",
@@ -2,7 +2,7 @@
2
2
 
3
3
  /**
4
4
  * @fileOverview This module deals with the instantiation of visualizations in a platform independent way.
5
- * @version 1.120.8
5
+ * @version 1.120.10
6
6
  */
7
7
  sap.ui.define([
8
8
  "sap/ushell/services/_VisualizationInstantiation/VizInstance",
@@ -13,7 +13,7 @@
13
13
  * <p>This is a dependency of ClientSideTargetResolution. Interfaces exposed
14
14
  * by this module may change at any time without notice.</p>
15
15
  *
16
- * @version 1.120.8
16
+ * @version 1.120.10
17
17
  */
18
18
  sap.ui.define([
19
19
  ], function () {
@@ -27,7 +27,7 @@
27
27
  *
28
28
  * @private
29
29
  *
30
- * @version 1.120.8
30
+ * @version 1.120.10
31
31
  */
32
32
  sap.ui.define([
33
33
  "sap/base/util/ObjectPath",
@@ -34,7 +34,7 @@
34
34
  * <p>This is a dependency of ClientSideTargetResolution. Interfaces exposed
35
35
  * by this module may change at any time without notice.</p>
36
36
  *
37
- * @version 1.120.8
37
+ * @version 1.120.10
38
38
  */
39
39
  sap.ui.define([
40
40
  "sap/ushell/services/_ClientSideTargetResolution/VirtualInbounds",
@@ -4,7 +4,7 @@
4
4
  * @file PrelaunchOperations are executed just before launching the application (post parameter mapping and app state merging) if the
5
5
  * <code>sap-prelaunch-operations</code> parameter is specified as a technical parameter.
6
6
  *
7
- * @version 1.120.8
7
+ * @version 1.120.10
8
8
  */
9
9
  sap.ui.define([
10
10
  "sap/base/Log",
@@ -8,7 +8,7 @@
8
8
  * <p>This is a dependency of ClientSideTargetResolution. Interfaces exposed
9
9
  * by this module may change at any time without notice.</p>
10
10
  *
11
- * @version 1.120.8
11
+ * @version 1.120.10
12
12
  */
13
13
  sap.ui.define([
14
14
  "sap/ushell/utils",
@@ -39,7 +39,7 @@
39
39
  *
40
40
  * This is a dependency of ClientSideTargetResolution. Interfaces exposed by this module may change at any time without notice.
41
41
  *
42
- * @version 1.120.8
42
+ * @version 1.120.10
43
43
  */
44
44
  sap.ui.define([
45
45
  "sap/base/Log",
@@ -8,7 +8,7 @@
8
8
  * <p>This is a dependency of ClientSideTargetResolution. Interfaces exposed
9
9
  * by this module may change at any time without notice.</p>
10
10
  *
11
- * @version 1.120.8
11
+ * @version 1.120.10
12
12
  */
13
13
  sap.ui.define([
14
14
  "sap/base/util/ObjectPath",
@@ -6,7 +6,7 @@
6
6
  * This is a dependency of ClientSideTargetResolution.
7
7
  * Interfaces exposed by this module may change at any time without notice.
8
8
  *
9
- * @version 1.120.8
9
+ * @version 1.120.10
10
10
  */
11
11
  sap.ui.define([
12
12
  "sap/base/util/deepExtend"
@@ -12,7 +12,7 @@
12
12
  * <p>This is a dependency of ClientSideTargetResolution. Interfaces
13
13
  * exposed by this module may change at any time without notice.</p>
14
14
  *
15
- * @version 1.120.8
15
+ * @version 1.120.10
16
16
  */
17
17
  sap.ui.define([], function () {
18
18
  "use strict";
@@ -6,7 +6,7 @@
6
6
  * Operations in this module are assumed to be executed after the target mapping has been identified (post search).
7
7
  *
8
8
  * @private
9
- * @version 1.120.8
9
+ * @version 1.120.10
10
10
  */
11
11
  sap.ui.define([
12
12
  "sap/ushell/services/_ClientSideTargetResolution/Utils",
@@ -3,7 +3,7 @@
3
3
  /**
4
4
  * @fileOverview Because the personalization processor only works with a CDM 3.0 site, this converter is used to transform a dedicated
5
5
  * CDM 3.1 site object into a CDM 3.0 site and backwards.
6
- * @version 1.120.8
6
+ * @version 1.120.10
7
7
  */
8
8
  sap.ui.define([
9
9
  "sap/base/Log"
@@ -7,7 +7,7 @@
7
7
  * config handler which is called by the factory to generate an explicit
8
8
  * Adapter configuration
9
9
  *
10
- * @version 1.120.8
10
+ * @version 1.120.10
11
11
  * @private
12
12
  */
13
13
  sap.ui.define([
@@ -3,7 +3,7 @@
3
3
  /**
4
4
  * @fileOverview Provide mock feature group data
5
5
  *
6
- * @version 1.120.8
6
+ * @version 1.120.10
7
7
  * @private
8
8
  */
9
9
  sap.ui.define([
@@ -2,7 +2,7 @@
2
2
  /**
3
3
  * @fileOverview Cross Application Navigation utility functions
4
4
  *
5
- * @version 1.120.8
5
+ * @version 1.120.10
6
6
  * @deprecated since 1.120.0
7
7
  */
8
8
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  /**
4
4
  * @fileOverview This module contains the implementation of the message broker
5
- * @version 1.120.8
5
+ * @version 1.120.10
6
6
  */
7
7
  sap.ui.define([
8
8
  "sap/base/Log",
@@ -4,7 +4,7 @@
4
4
  * @file This module is responsible to create reference pages,
5
5
  * which are shareable JSON representations of layout and navigation targets in the specific format.
6
6
  *
7
- * @version 1.120.8
7
+ * @version 1.120.10
8
8
  * @private
9
9
  */
10
10
  sap.ui.define([
@@ -2,7 +2,7 @@
2
2
  /**
3
3
  * @fileOverview The extensions which plugins can use to customise the launchpad
4
4
  *
5
- * @version 1.120.8
5
+ * @version 1.120.10
6
6
  * @private
7
7
  */
8
8
  sap.ui.define([
@@ -2,7 +2,7 @@
2
2
 
3
3
  /**
4
4
  * @fileOverview The extensions for the ShellHeader
5
- * @version 1.120.8
5
+ * @version 1.120.10
6
6
  */
7
7
  sap.ui.define([
8
8
  "sap/ushell/EventHub"