react-native-audio-browser 0.2.0-next.11 → 0.2.0-next.12

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 (333) hide show
  1. package/README.md +4 -4
  2. package/android/src/main/java/com/audiobrowser/AudioBrowser.kt +110 -25
  3. package/android/src/main/java/com/audiobrowser/browser/BrowserManager.kt +254 -188
  4. package/android/src/main/java/com/audiobrowser/browser/BrowserUrlResolution.kt +23 -3
  5. package/android/src/main/java/com/audiobrowser/browser/JsonModels.kt +77 -58
  6. package/android/src/main/java/com/audiobrowser/browser/SectionScope.kt +68 -26
  7. package/android/src/main/java/com/audiobrowser/browser/StyleResolver.kt +49 -0
  8. package/android/src/main/java/com/audiobrowser/extension/ResolvedTrackExt.kt +9 -7
  9. package/android/src/main/java/com/audiobrowser/extension/TappedTrack.kt +20 -0
  10. package/android/src/main/java/com/audiobrowser/extension/TrackIdentity.kt +15 -0
  11. package/android/src/main/java/com/audiobrowser/player/MediaSessionCallback.kt +120 -67
  12. package/android/src/main/java/com/audiobrowser/player/NowPlayingUpdater.kt +21 -24
  13. package/android/src/main/java/com/audiobrowser/player/PlaybackStateStore.kt +93 -73
  14. package/android/src/main/java/com/audiobrowser/player/Player.kt +48 -30
  15. package/android/src/main/java/com/audiobrowser/player/PlayerCapabilitiesExt.kt +2 -15
  16. package/android/src/main/java/com/audiobrowser/util/BrowserPathHelper.kt +44 -40
  17. package/android/src/main/java/com/audiobrowser/util/MediaExtrasBuilder.kt +28 -23
  18. package/android/src/main/java/com/audiobrowser/util/StyleWire.kt +35 -0
  19. package/android/src/main/java/com/audiobrowser/util/TrackFactory.kt +45 -53
  20. package/android/src/test/java/com/audiobrowser/TestFixtures.kt +26 -39
  21. package/android/src/test/java/com/audiobrowser/browser/BrowserManagerFavoritesTest.kt +153 -0
  22. package/android/src/test/java/com/audiobrowser/browser/BrowserManagerTest.kt +228 -50
  23. package/android/src/test/java/com/audiobrowser/browser/BrowserUrlResolutionTest.kt +38 -0
  24. package/android/src/test/java/com/audiobrowser/browser/JsonArtworkTest.kt +1 -1
  25. package/android/src/test/java/com/audiobrowser/browser/JsonStyleTest.kt +91 -0
  26. package/android/src/test/java/com/audiobrowser/browser/SectionScopeTest.kt +128 -53
  27. package/android/src/test/java/com/audiobrowser/browser/StyleResolverTest.kt +87 -0
  28. package/android/src/test/java/com/audiobrowser/extension/TappedTrackTest.kt +43 -0
  29. package/android/src/test/java/com/audiobrowser/extension/TrackIdentityTest.kt +41 -0
  30. package/android/src/test/java/com/audiobrowser/player/CapabilityControlsTest.kt +1 -2
  31. package/android/src/test/java/com/audiobrowser/player/NowPlayingUpdaterTest.kt +42 -2
  32. package/android/src/test/java/com/audiobrowser/player/PlaybackStateStoreTrackJsonTest.kt +55 -0
  33. package/android/src/test/java/com/audiobrowser/util/BrowserPathHelperTest.kt +41 -16
  34. package/android/src/test/java/com/audiobrowser/util/MediaExtrasBuilderTest.kt +161 -0
  35. package/android/src/test/java/com/audiobrowser/util/TrackFactoryMediaIdTest.kt +7 -7
  36. package/ios/Browser/BrowserConfig.swift +102 -5
  37. package/ios/Browser/BrowserManager+URLResolution.swift +18 -14
  38. package/ios/Browser/BrowserManager.swift +131 -143
  39. package/ios/Browser/BrowserPathHelper.swift +44 -44
  40. package/ios/Browser/JsonModels.swift +187 -106
  41. package/ios/Browser/SearchDrillIn.swift +6 -6
  42. package/ios/Browser/SectionPresentation.swift +34 -0
  43. package/ios/Browser/SectionScope.swift +58 -24
  44. package/ios/Browser/StyleResolver.swift +47 -0
  45. package/ios/Browser/TabBarEntries.swift +2 -2
  46. package/ios/Browser/TrackIdTemplate.swift +37 -0
  47. package/ios/CarPlay/CarPlayArtworkResolver.swift +8 -7
  48. package/ios/CarPlay/CarPlayController.swift +105 -67
  49. package/ios/CarPlay/CarPlayImageLoader.swift +38 -18
  50. package/ios/CarPlay/CarPlayListItemFactory.swift +217 -84
  51. package/ios/CarPlay/CarPlayNowPlayingManager.swift +15 -12
  52. package/ios/Extension/Capability+RemoteCommand.swift +1 -1
  53. package/ios/Extension/PlayerCapabilities+Favorite.swift +1 -15
  54. package/ios/Extension/ResolvedTrack+Copying.swift +11 -15
  55. package/ios/Extension/Section+Copying.swift +31 -0
  56. package/ios/Extension/Track+Copying.swift +6 -12
  57. package/ios/Extension/Track+Identity.swift +18 -0
  58. package/ios/HybridAudioBrowser.swift +113 -35
  59. package/ios/Model/NitroTypeStubs.swift +46 -21
  60. package/ios/Model/PlayerUpdateOptions.swift +7 -0
  61. package/ios/Player/NowPlayingUpdater.swift +1 -1
  62. package/ios/Player/PlaybackCoordinator.swift +2 -2
  63. package/ios/Player/RetryManager.swift +4 -3
  64. package/ios/Tests/BrowserPathHelperTests.swift +50 -20
  65. package/ios/Tests/CarPlayArtworkResolverTests.swift +24 -41
  66. package/ios/Tests/JsonModelsTests.swift +75 -1
  67. package/ios/Tests/PlaybackStateStoreTests.swift +4 -3
  68. package/ios/Tests/ResolvedTrackCopyingTests.swift +37 -35
  69. package/ios/Tests/SearchDrillInTests.swift +16 -16
  70. package/ios/Tests/SectionPresentationTests.swift +61 -0
  71. package/ios/Tests/SectionScopeTests.swift +87 -55
  72. package/ios/Tests/StyleResolverTests.swift +67 -0
  73. package/ios/Tests/TabBarEntriesTests.swift +18 -18
  74. package/ios/Tests/TrackIdTemplateTests.swift +67 -0
  75. package/ios/Tests/TrackIdentityTests.swift +20 -0
  76. package/ios/Tests/TrackSelectorTests.swift +168 -33
  77. package/ios/TrackSelector.swift +45 -30
  78. package/ios/Util/ArtworkImageFetcher.swift +16 -1
  79. package/lib/commonjs/AudioBrowser.js +11 -0
  80. package/lib/commonjs/AudioBrowser.js.map +1 -1
  81. package/lib/commonjs/features/browser-config.js +11 -8
  82. package/lib/commonjs/features/browser-config.js.map +1 -1
  83. package/lib/commonjs/features/browser.js +2 -2
  84. package/lib/commonjs/features/favorites.js +13 -10
  85. package/lib/commonjs/features/favorites.js.map +1 -1
  86. package/lib/commonjs/features/playback/controls.js +4 -2
  87. package/lib/commonjs/features/playback/controls.js.map +1 -1
  88. package/lib/commonjs/features/playback/state.js +2 -3
  89. package/lib/commonjs/features/playback/state.js.map +1 -1
  90. package/lib/commonjs/features/player/options.js.map +1 -1
  91. package/lib/commonjs/features/player/setup.js +3 -1
  92. package/lib/commonjs/features/player/setup.js.map +1 -1
  93. package/lib/commonjs/features/player/validateOptions.js +2 -0
  94. package/lib/commonjs/features/player/validateOptions.js.map +1 -1
  95. package/lib/commonjs/features/queue/activeTrack.js +14 -3
  96. package/lib/commonjs/features/queue/activeTrack.js.map +1 -1
  97. package/lib/commonjs/features/queue/queue.js +11 -4
  98. package/lib/commonjs/features/queue/queue.js.map +1 -1
  99. package/lib/commonjs/utils/LazyNativeEmitter.js +21 -10
  100. package/lib/commonjs/utils/LazyNativeEmitter.js.map +1 -1
  101. package/lib/commonjs/utils/NativeUpdatedValue.js +31 -13
  102. package/lib/commonjs/utils/NativeUpdatedValue.js.map +1 -1
  103. package/lib/commonjs/utils/getTrackIdentity.js +24 -0
  104. package/lib/commonjs/utils/getTrackIdentity.js.map +1 -0
  105. package/lib/commonjs/utils/useNativeValueRefreshedBy.js +33 -0
  106. package/lib/commonjs/utils/useNativeValueRefreshedBy.js.map +1 -0
  107. package/lib/commonjs/web/NativeAudioBrowser.js +32 -24
  108. package/lib/commonjs/web/NativeAudioBrowser.js.map +1 -1
  109. package/lib/commonjs/web/browser/BrowserManager.js +144 -87
  110. package/lib/commonjs/web/browser/BrowserManager.js.map +1 -1
  111. package/lib/commonjs/web/browser/FavoriteManager.js +30 -21
  112. package/lib/commonjs/web/browser/FavoriteManager.js.map +1 -1
  113. package/lib/commonjs/web/browser/assertBrowsePageShape.js +2 -2
  114. package/lib/commonjs/web/browser/assertBrowsePageShape.js.map +1 -1
  115. package/lib/commonjs/web/browser/classifyTrackNavigation.js +9 -9
  116. package/lib/commonjs/web/browser/classifyTrackNavigation.js.map +1 -1
  117. package/lib/commonjs/web/browser/sections.js +89 -0
  118. package/lib/commonjs/web/browser/sections.js.map +1 -0
  119. package/lib/commonjs/web/player/NowPlayingManager.js +4 -3
  120. package/lib/commonjs/web/player/NowPlayingManager.js.map +1 -1
  121. package/lib/commonjs/web/util/BrowserPathHelper.js +56 -11
  122. package/lib/commonjs/web/util/BrowserPathHelper.js.map +1 -1
  123. package/lib/module/AudioBrowser.js +1 -0
  124. package/lib/module/AudioBrowser.js.map +1 -1
  125. package/lib/module/features/browser-config.js +11 -8
  126. package/lib/module/features/browser-config.js.map +1 -1
  127. package/lib/module/features/browser.js +2 -2
  128. package/lib/module/features/favorites.js +13 -10
  129. package/lib/module/features/favorites.js.map +1 -1
  130. package/lib/module/features/playback/controls.js +4 -2
  131. package/lib/module/features/playback/controls.js.map +1 -1
  132. package/lib/module/features/playback/state.js +2 -3
  133. package/lib/module/features/playback/state.js.map +1 -1
  134. package/lib/module/features/player/options.js.map +1 -1
  135. package/lib/module/features/player/setup.js +3 -1
  136. package/lib/module/features/player/setup.js.map +1 -1
  137. package/lib/module/features/player/validateOptions.js +2 -0
  138. package/lib/module/features/player/validateOptions.js.map +1 -1
  139. package/lib/module/features/queue/activeTrack.js +14 -3
  140. package/lib/module/features/queue/activeTrack.js.map +1 -1
  141. package/lib/module/features/queue/queue.js +11 -4
  142. package/lib/module/features/queue/queue.js.map +1 -1
  143. package/lib/module/utils/LazyNativeEmitter.js +21 -10
  144. package/lib/module/utils/LazyNativeEmitter.js.map +1 -1
  145. package/lib/module/utils/NativeUpdatedValue.js +31 -13
  146. package/lib/module/utils/NativeUpdatedValue.js.map +1 -1
  147. package/lib/module/utils/getTrackIdentity.js +20 -0
  148. package/lib/module/utils/getTrackIdentity.js.map +1 -0
  149. package/lib/module/utils/useNativeValueRefreshedBy.js +29 -0
  150. package/lib/module/utils/useNativeValueRefreshedBy.js.map +1 -0
  151. package/lib/module/web/NativeAudioBrowser.js +32 -24
  152. package/lib/module/web/NativeAudioBrowser.js.map +1 -1
  153. package/lib/module/web/browser/BrowserManager.js +144 -87
  154. package/lib/module/web/browser/BrowserManager.js.map +1 -1
  155. package/lib/module/web/browser/FavoriteManager.js +31 -21
  156. package/lib/module/web/browser/FavoriteManager.js.map +1 -1
  157. package/lib/module/web/browser/assertBrowsePageShape.js +2 -2
  158. package/lib/module/web/browser/assertBrowsePageShape.js.map +1 -1
  159. package/lib/module/web/browser/classifyTrackNavigation.js +9 -9
  160. package/lib/module/web/browser/classifyTrackNavigation.js.map +1 -1
  161. package/lib/module/web/browser/sections.js +83 -0
  162. package/lib/module/web/browser/sections.js.map +1 -0
  163. package/lib/module/web/player/NowPlayingManager.js +4 -3
  164. package/lib/module/web/player/NowPlayingManager.js.map +1 -1
  165. package/lib/module/web/util/BrowserPathHelper.js +56 -11
  166. package/lib/module/web/util/BrowserPathHelper.js.map +1 -1
  167. package/lib/typescript/src/AudioBrowser.d.ts +1 -0
  168. package/lib/typescript/src/AudioBrowser.d.ts.map +1 -1
  169. package/lib/typescript/src/features/browser-config.d.ts.map +1 -1
  170. package/lib/typescript/src/features/browser.d.ts +2 -2
  171. package/lib/typescript/src/features/favorites.d.ts +13 -10
  172. package/lib/typescript/src/features/favorites.d.ts.map +1 -1
  173. package/lib/typescript/src/features/playback/controls.d.ts +4 -2
  174. package/lib/typescript/src/features/playback/controls.d.ts.map +1 -1
  175. package/lib/typescript/src/features/playback/state.d.ts +2 -3
  176. package/lib/typescript/src/features/playback/state.d.ts.map +1 -1
  177. package/lib/typescript/src/features/playback/trackPlaybackTime.d.ts +1 -1
  178. package/lib/typescript/src/features/playback/trackPlaybackTime.d.ts.map +1 -1
  179. package/lib/typescript/src/features/player/options.d.ts +21 -19
  180. package/lib/typescript/src/features/player/options.d.ts.map +1 -1
  181. package/lib/typescript/src/features/player/setup.d.ts.map +1 -1
  182. package/lib/typescript/src/features/player/validateOptions.d.ts +1 -8
  183. package/lib/typescript/src/features/player/validateOptions.d.ts.map +1 -1
  184. package/lib/typescript/src/features/queue/activeTrack.d.ts +8 -1
  185. package/lib/typescript/src/features/queue/activeTrack.d.ts.map +1 -1
  186. package/lib/typescript/src/features/queue/queue.d.ts +5 -2
  187. package/lib/typescript/src/features/queue/queue.d.ts.map +1 -1
  188. package/lib/typescript/src/types/browser-native.d.ts +2 -2
  189. package/lib/typescript/src/types/browser-native.d.ts.map +1 -1
  190. package/lib/typescript/src/types/browser-nodes.d.ts +260 -127
  191. package/lib/typescript/src/types/browser-nodes.d.ts.map +1 -1
  192. package/lib/typescript/src/types/browser.d.ts +33 -53
  193. package/lib/typescript/src/types/browser.d.ts.map +1 -1
  194. package/lib/typescript/src/utils/LazyNativeEmitter.d.ts +16 -17
  195. package/lib/typescript/src/utils/LazyNativeEmitter.d.ts.map +1 -1
  196. package/lib/typescript/src/utils/NativeUpdatedValue.d.ts +24 -19
  197. package/lib/typescript/src/utils/NativeUpdatedValue.d.ts.map +1 -1
  198. package/lib/typescript/src/utils/getTrackIdentity.d.ts +18 -0
  199. package/lib/typescript/src/utils/getTrackIdentity.d.ts.map +1 -0
  200. package/lib/typescript/src/utils/useNativeValueRefreshedBy.d.ts +21 -0
  201. package/lib/typescript/src/utils/useNativeValueRefreshedBy.d.ts.map +1 -0
  202. package/nitrogen/generated/android/AudioBrowser+autolinking.cmake +0 -1
  203. package/nitrogen/generated/android/c++/{JFavoritesMatchMode.hpp → JArtworkRendering.hpp} +15 -15
  204. package/nitrogen/generated/android/c++/JArtworkRequestConfig.hpp +4 -3
  205. package/nitrogen/generated/android/c++/JBrowseResult.hpp +10 -4
  206. package/nitrogen/generated/android/c++/JCarPlayPlayingIndicatorLocation.hpp +58 -0
  207. package/nitrogen/generated/android/c++/JFavoriteChangedEvent.hpp +4 -3
  208. package/nitrogen/generated/android/c++/JFormatNowPlayingParams.hpp +4 -3
  209. package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_RequestConfig___Track.hpp +4 -3
  210. package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_std__optional_NowPlayingUpdate____FormatNowPlayingParams.hpp +4 -3
  211. package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_std__optional_std__string____Track.hpp +4 -3
  212. package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_std__shared_ptr_Promise_RequestConfig_____Track.hpp +4 -3
  213. package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_std__shared_ptr_Promise_std__vector_Track______SearchParams.hpp +4 -2
  214. package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_std__shared_ptr_Promise_void_____TrackLoadEvent.hpp +4 -2
  215. package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError__std__shared_ptr_Promise_std__variant_ResolvedTrack__BrowseError_______BrowserSourceCallbackParam.hpp +10 -4
  216. package/nitrogen/generated/android/c++/JFunc_void_FavoriteChangedEvent.hpp +4 -3
  217. package/nitrogen/generated/android/c++/JFunc_void_Options.hpp +2 -5
  218. package/nitrogen/generated/android/c++/JFunc_void_PlaybackActiveTrackChangedEvent.hpp +4 -3
  219. package/nitrogen/generated/android/c++/JFunc_void_std__optional_ResolvedTrack_.hpp +9 -3
  220. package/nitrogen/generated/android/c++/JFunc_void_std__vector_Track_.hpp +4 -2
  221. package/nitrogen/generated/android/c++/JHybridAudioBrowserSpec.cpp +21 -14
  222. package/nitrogen/generated/android/c++/JIOSOptions.hpp +9 -3
  223. package/nitrogen/generated/android/c++/JMediaRequestConfig.hpp +4 -3
  224. package/nitrogen/generated/android/c++/JNativeBrowserConfiguration.hpp +16 -10
  225. package/nitrogen/generated/android/c++/JNativeRouteEntry.hpp +8 -2
  226. package/nitrogen/generated/android/c++/JNativeSetupPlayerOptions.hpp +6 -7
  227. package/nitrogen/generated/android/c++/JNativeUpdateOptions.hpp +2 -5
  228. package/nitrogen/generated/android/c++/JNitroIOSUpdateOptions.hpp +9 -3
  229. package/nitrogen/generated/android/c++/JOptions.hpp +2 -5
  230. package/nitrogen/generated/android/c++/JPlaybackActiveTrackChangedEvent.hpp +4 -3
  231. package/nitrogen/generated/android/c++/JPlayerCapabilities.hpp +5 -11
  232. package/nitrogen/generated/android/c++/JResolvedTrack.hpp +49 -51
  233. package/nitrogen/generated/android/c++/JSection.hpp +114 -0
  234. package/nitrogen/generated/android/c++/JSectionStyle.hpp +69 -0
  235. package/nitrogen/generated/android/c++/JStyleDisplay.hpp +58 -0
  236. package/nitrogen/generated/android/c++/JTrack.hpp +19 -48
  237. package/nitrogen/generated/android/c++/JTrackLoadEvent.hpp +4 -2
  238. package/nitrogen/generated/android/c++/JTrackStyle.hpp +25 -18
  239. package/nitrogen/generated/android/c++/JVariant_ResolvedTrack_BrowseError_Promise_BrowseResult_.hpp +10 -4
  240. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/{FavoritesMatchMode.kt → ArtworkRendering.kt} +5 -5
  241. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/CarPlayPlayingIndicatorLocation.kt +23 -0
  242. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/IOSOptions.kt +6 -3
  243. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/NativeBrowserConfiguration.kt +5 -5
  244. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/NitroIOSUpdateOptions.kt +6 -3
  245. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/PlayerCapabilities.kt +2 -2
  246. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/ResolvedTrack.kt +12 -18
  247. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Section.kt +50 -0
  248. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/{FavoriteConfig.kt → SectionStyle.kt} +12 -6
  249. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/StyleDisplay.kt +23 -0
  250. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Track.kt +6 -15
  251. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/TrackStyle.kt +23 -5
  252. package/nitrogen/generated/ios/AudioBrowser-Swift-Cxx-Bridge.hpp +104 -82
  253. package/nitrogen/generated/ios/AudioBrowser-Swift-Cxx-Umbrella.hpp +16 -10
  254. package/nitrogen/generated/ios/c++/HybridAudioBrowserSpecSwift.hpp +16 -10
  255. package/nitrogen/generated/ios/swift/ArtworkRendering.swift +40 -0
  256. package/nitrogen/generated/ios/swift/CarPlayPlayingIndicatorLocation.swift +40 -0
  257. package/nitrogen/generated/ios/swift/IOSOptions.swift +7 -2
  258. package/nitrogen/generated/ios/swift/NativeBrowserConfiguration.swift +5 -5
  259. package/nitrogen/generated/ios/swift/NitroIOSUpdateOptions.swift +12 -1
  260. package/nitrogen/generated/ios/swift/PlayerCapabilities.swift +8 -27
  261. package/nitrogen/generated/ios/swift/ResolvedTrack.swift +54 -83
  262. package/nitrogen/generated/ios/swift/Section.swift +100 -0
  263. package/nitrogen/generated/ios/swift/SectionStyle.swift +64 -0
  264. package/nitrogen/generated/ios/swift/StyleDisplay.swift +40 -0
  265. package/nitrogen/generated/ios/swift/Track.swift +20 -73
  266. package/nitrogen/generated/ios/swift/TrackStyle.swift +28 -22
  267. package/nitrogen/generated/shared/c++/{FavoritesMatchMode.hpp → ArtworkRendering.hpp} +17 -17
  268. package/nitrogen/generated/shared/c++/CarPlayPlayingIndicatorLocation.hpp +76 -0
  269. package/nitrogen/generated/shared/c++/IOSOptions.hpp +9 -2
  270. package/nitrogen/generated/shared/c++/NativeBrowserConfiguration.hpp +6 -6
  271. package/nitrogen/generated/shared/c++/NitroIOSUpdateOptions.hpp +9 -2
  272. package/nitrogen/generated/shared/c++/PlayerCapabilities.hpp +6 -9
  273. package/nitrogen/generated/shared/c++/ResolvedTrack.hpp +30 -38
  274. package/nitrogen/generated/shared/c++/Section.hpp +106 -0
  275. package/nitrogen/generated/shared/c++/SectionStyle.hpp +96 -0
  276. package/nitrogen/generated/shared/c++/StyleDisplay.hpp +76 -0
  277. package/nitrogen/generated/shared/c++/Track.hpp +15 -31
  278. package/nitrogen/generated/shared/c++/TrackStyle.hpp +50 -34
  279. package/package.json +1 -1
  280. package/src/AudioBrowser.ts +1 -0
  281. package/src/features/browser-config.test.ts +21 -6
  282. package/src/features/browser-config.ts +11 -8
  283. package/src/features/browser.test.ts +1 -1
  284. package/src/features/browser.ts +2 -2
  285. package/src/features/favorites.ts +13 -10
  286. package/src/features/hook-wiring.test.ts +63 -15
  287. package/src/features/playback/controls.ts +4 -2
  288. package/src/features/playback/state.ts +2 -3
  289. package/src/features/playback/trackPlaybackTime.ts +1 -1
  290. package/src/features/player/options.ts +27 -19
  291. package/src/features/player/setup.test.ts +12 -3
  292. package/src/features/player/setup.ts +3 -1
  293. package/src/features/player/validateOptions.ts +2 -0
  294. package/src/features/queue/activeTrack.ts +14 -3
  295. package/src/features/queue/queue.ts +11 -4
  296. package/src/nitro-stub-drift.test.ts +40 -0
  297. package/src/public-surface.test.ts +40 -0
  298. package/src/specs/audio-browser.nitro.ts +4 -3
  299. package/src/style-resolution.test.ts +139 -0
  300. package/src/types/browser-native.ts +2 -2
  301. package/src/types/browser-nodes.ts +268 -136
  302. package/src/types/browser.ts +34 -55
  303. package/src/utils/LazyNativeEmitter.ts +20 -10
  304. package/src/utils/NativeUpdatedValue.ts +29 -13
  305. package/src/utils/getTrackIdentity.ts +20 -0
  306. package/src/utils/useNativeValueRefreshedBy.ts +38 -0
  307. package/src/web/NativeAudioBrowser.ts +37 -22
  308. package/src/web/browser/BrowserManager.ts +176 -95
  309. package/src/web/browser/FavoriteManager.test.ts +84 -0
  310. package/src/web/browser/FavoriteManager.ts +28 -23
  311. package/src/web/browser/assertBrowsePageShape.test.ts +1 -1
  312. package/src/web/browser/assertBrowsePageShape.ts +5 -3
  313. package/src/web/browser/classifyTrackNavigation.test.ts +10 -8
  314. package/src/web/browser/classifyTrackNavigation.ts +9 -9
  315. package/src/web/browser/parseSearchResponse.test.ts +8 -2
  316. package/src/web/browser/sections.test.ts +91 -0
  317. package/src/web/browser/sections.ts +72 -0
  318. package/src/web/player/NowPlayingManager.ts +4 -3
  319. package/src/web/util/BrowserPathHelper.test.ts +52 -0
  320. package/src/web/util/BrowserPathHelper.ts +61 -13
  321. package/ios/CarPlay/ImageRowItem+CarPlay.swift +0 -19
  322. package/nitrogen/generated/android/c++/JFavoriteConfig.hpp +0 -58
  323. package/nitrogen/generated/android/c++/JImageRowItem.hpp +0 -105
  324. package/nitrogen/generated/android/c++/JVariant_Boolean_FavoriteConfig.cpp +0 -26
  325. package/nitrogen/generated/android/c++/JVariant_Boolean_FavoriteConfig.hpp +0 -71
  326. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/ImageRowItem.kt +0 -68
  327. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Variant_Boolean_FavoriteConfig.kt +0 -53
  328. package/nitrogen/generated/ios/swift/FavoriteConfig.swift +0 -29
  329. package/nitrogen/generated/ios/swift/FavoritesMatchMode.swift +0 -40
  330. package/nitrogen/generated/ios/swift/ImageRowItem.swift +0 -195
  331. package/nitrogen/generated/ios/swift/Variant_Bool_FavoriteConfig.swift +0 -18
  332. package/nitrogen/generated/shared/c++/FavoriteConfig.hpp +0 -84
  333. package/nitrogen/generated/shared/c++/ImageRowItem.hpp +0 -129
@@ -1 +1 @@
1
- {"version":3,"names":["_BrowserManager","require","_classifyTrackNavigation","_FavoriteManager","_NavigationErrorManager","_SearchManager","_HttpClient","_RequestConfigBuilder","_NowPlayingManager","_OptionsManager","_RemoteCommandController","_TrackPlayer","_PlaybackTimer","_PlayingStateFactory","NativeAudioBrowser","QueuePlayer","name","equals","dispose","clearUpdateEventInterval","setPlaybackIntervalEnabled","remoteCommands","window","onlineHandler","removeEventListener","offlineHandler","currentLoadId","progressTimer","PlaybackTimer","intervalTimer","_online","navigator","onLine","sleepFader","VolumeFader","getVolume","volume","setVolume","sleepTimer","SleepTimerManager","constructor","parent","onComplete","console","log","resolve","pause","onSleepTimerChanged","onFadeStart","durationSeconds","start","onFadeCancel","cancel","path","browserManager","value","tabs","_value","configuration","onPathChanged","onContentChanged","onTabsChanged","onNavigationError","onFormattedNavigationError","onChapterMetadata","onTrackMetadata","onTimedMetadata","onPlaybackActiveTrackChanged","onPlaybackError","onPlaybackPlayWhenReadyChanged","onPlaybackPlayingState","onPlaybackProgressUpdated","onPlaybackInterval","onPlaybackQueueEnded","onPlaybackQueueChanged","onPlaybackRepeatModeChanged","onPlaybackShuffleModeChanged","onPlaybackChanged","onRemoteJumpBackward","onRemoteJumpForward","onRemoteNext","onRemotePause","onRemotePlay","onRemotePlayId","onRemotePlaySearch","onRemotePrevious","onRemoteSeek","onRemoteSkip","onRemoteStop","onOptionsChanged","onFavoriteChanged","onNowPlayingChanged","onOnlineChanged","onEqualizerChanged","onBatteryWarningPendingChanged","onBatteryOptimizationStatusChanged","onSystemVolumeChanged","onOutputChanged","onGate","resolveGate","gated","onCarConnectedChanged","handleRemoteJumpBackward","undefined","handleRemoteJumpForward","handleRemoteNext","handleRemotePause","handleRemotePlay","handleRemotePlayId","handleRemotePlaySearch","handleRemotePrevious","handleRemoteSeek","handleRemoteSkip","handleRemoteStop","httpClient","HttpClient","favoriteManager","FavoriteManager","navigationErrorManager","NavigationErrorManager","optionsManager","OptionsManager","nowPlayingManager","NowPlayingManager","RemoteCommandController","BrowserManager","searchManager","SearchManager","content","data","error","options","metadata","publishNowPlaying","addEventListener","state","newState","oldState","didStateChange","didErrorChange","code","message","refreshPlayingState","syncPlaybackState","next","derivePlayingState","_playWhenReady","lastPlayingState","playing","buffering","setMetadata","setupProgressUpdates","interval","progress","getProgress","track","queue","currentIndex","updateProgress","stop","enabled","onQueueEnded","position","element","currentTime","navigatePath","navigateTrack","navigateTrackAsync","handleLoad","startIndex","defaultBehavior","handler","handleTrackLoad","event","trySkipToExistingQueueTrack","trackId","parentPath","queueSourcePath","getQueue","index","findIndex","t","src","skip","play","expandQueueAndPlay","result","resolveMediaItemsForPlayback","tracks","length","setQueue","nav","classifyTrackNavigation","kind","playSingleTrack","catch","Error","setNavigationError","load","search","query","reference","getContent","getNavigationError","getFormattedNavigationError","notifyContentChanged","invalidateAllContent","setFavorites","favorites","setupPlayer","updateOptions","repeatMode","setRepeatMode","playWhenReady","setPlayWhenReady","progressUpdateEventInterval","getOptions","resolveMediaUrl","request","media","RequestConfigBuilder","reloadCurrent","sourceTrack","getTrack","callback","requireElement","clearNowPlayingOverride","setTracks","emitQueueChanged","replaceTrack","lastTrack","current","lastPosition","lastIndex","_loadInProgress","_pendingSeek","loadId","doLoad","resolvedTrack","loadedTrack","nowPlaying","getNowPlaying","playbackError","togglePlayback","add","insertBeforeIndex","remove","indexes","move","fromIndex","toIndex","removeUpcomingTracks","reset","pwr","didChange","clearSleepTimerIfFading","getPlayWhenReady","getPlayback","getPlayingState","getRepeatMode","mode","getShuffleEnabled","setShuffleEnabled","getPlaybackError","getSleepTimer","time","sleepWhenPlayedToEnd","setSleepTimer","seconds","fadeDuration","sleepAfter","isActive","clearSleepTimer","setSleepTimerToEndOfTrack","setToEndOfTrack","wasRunning","clear","onTrackEnded","startPosition","artwork","map","hydratedTrack","hydrateFavorite","transformTrackArtwork","getActiveTrackIndex","requirePlayer","getActiveTrack","setActiveTrackFavorited","favorited","addFavorite","removeFavorite","updatedTrack","toggleActiveTrackFavorited","isFavorited","updateNowPlaying","update","duration","flashNowPlaying","durationMs","nowPlayingFlashRevert","clearTimeout","setTimeout","clearNowPlayingFlash","getOnline","getEqualizerSettings","setEqualizerEnabled","_enabled","setEqualizerPreset","_preset","setEqualizerLevels","_levels","getBatteryWarningPending","getBatteryOptimizationStatus","dismissBatteryWarning","openBatterySettings","getSystemVolume","setSystemVolume","_volume","setGate","_gate","_hasResolver","clearGate","isCarConnected","getOutput","openOutputPicker","supportsOutputSwitcher","exports"],"sourceRoot":"../../../src","sources":["web/NativeAudioBrowser.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_getTrackIdentity","require","_BrowserManager","_classifyTrackNavigation","_FavoriteManager","_NavigationErrorManager","_SearchManager","_HttpClient","_RequestConfigBuilder","_NowPlayingManager","_OptionsManager","_RemoteCommandController","_TrackPlayer","_PlaybackTimer","_PlayingStateFactory","_BrowserPathHelper","NativeAudioBrowser","QueuePlayer","name","equals","dispose","clearUpdateEventInterval","setPlaybackIntervalEnabled","remoteCommands","window","onlineHandler","removeEventListener","offlineHandler","currentLoadId","progressTimer","PlaybackTimer","intervalTimer","_online","navigator","onLine","sleepFader","VolumeFader","getVolume","volume","setVolume","sleepTimer","SleepTimerManager","constructor","parent","onComplete","console","log","resolve","pause","onSleepTimerChanged","onFadeStart","durationSeconds","start","onFadeCancel","cancel","path","browserManager","value","tabs","_value","configuration","onPathChanged","onContentChanged","onTabsChanged","onNavigationError","onFormattedNavigationError","onChapterMetadata","onTrackMetadata","onTimedMetadata","onPlaybackActiveTrackChanged","onPlaybackError","onPlaybackPlayWhenReadyChanged","onPlaybackPlayingState","onPlaybackProgressUpdated","onPlaybackInterval","onPlaybackQueueEnded","onPlaybackQueueChanged","onPlaybackRepeatModeChanged","onPlaybackShuffleModeChanged","onPlaybackChanged","onRemoteJumpBackward","onRemoteJumpForward","onRemoteNext","onRemotePause","onRemotePlay","onRemotePlayId","onRemotePlaySearch","onRemotePrevious","onRemoteSeek","onRemoteSkip","onRemoteStop","onOptionsChanged","onFavoriteChanged","onNowPlayingChanged","onOnlineChanged","onEqualizerChanged","onBatteryWarningPendingChanged","onBatteryOptimizationStatusChanged","onSystemVolumeChanged","onOutputChanged","onGate","resolveGate","gated","onCarConnectedChanged","handleRemoteJumpBackward","undefined","handleRemoteJumpForward","handleRemoteNext","handleRemotePause","handleRemotePlay","handleRemotePlayId","handleRemotePlaySearch","handleRemotePrevious","handleRemoteSeek","handleRemoteSkip","handleRemoteStop","httpClient","HttpClient","favoriteManager","FavoriteManager","navigationErrorManager","NavigationErrorManager","optionsManager","OptionsManager","nowPlayingManager","NowPlayingManager","RemoteCommandController","BrowserManager","searchManager","SearchManager","content","data","error","options","metadata","publishNowPlaying","addEventListener","state","newState","oldState","didStateChange","didErrorChange","code","message","refreshPlayingState","syncPlaybackState","next","derivePlayingState","_playWhenReady","lastPlayingState","playing","buffering","setMetadata","setupProgressUpdates","interval","progress","getProgress","track","queue","currentIndex","updateProgress","stop","enabled","onQueueEnded","position","element","currentTime","navigatePath","navigateTrack","navigateTrackAsync","handleLoad","startIndex","defaultBehavior","handler","handleTrackLoad","event","trySkipToExistingQueueTrack","trackId","parentPath","queueSourcePath","getQueue","index","findIndex","t","BrowserPathHelper","extractIndex","getTrackIdentity","skip","play","expandQueueAndPlay","result","resolveMediaItemsForPlayback","tracks","length","setQueue","disabled","nav","classifyTrackNavigation","kind","playSingleTrack","catch","Error","setNavigationError","load","search","query","reference","getContent","getNavigationError","getFormattedNavigationError","notifyContentChanged","invalidateAllContent","setFavorites","favorites","setupPlayer","updateOptions","repeatMode","setRepeatMode","playWhenReady","setPlayWhenReady","progressUpdateEventInterval","getOptions","resolveMediaUrl","src","request","media","RequestConfigBuilder","reloadCurrent","sourceTrack","getTrack","callback","requireElement","clearNowPlayingOverride","setTracks","emitQueueChanged","replaceTrack","lastTrack","current","lastPosition","lastIndex","_loadInProgress","_pendingSeek","loadId","doLoad","resolvedTrack","loadedTrack","nowPlaying","getNowPlaying","playbackError","togglePlayback","add","insertBeforeIndex","remove","indexes","move","fromIndex","toIndex","removeUpcomingTracks","reset","pwr","didChange","clearSleepTimerIfFading","getPlayWhenReady","getPlayback","getPlayingState","getRepeatMode","mode","getShuffleEnabled","setShuffleEnabled","getPlaybackError","getSleepTimer","time","sleepWhenPlayedToEnd","setSleepTimer","seconds","fadeDuration","sleepAfter","isActive","clearSleepTimer","setSleepTimerToEndOfTrack","setToEndOfTrack","wasRunning","clear","onTrackEnded","startPosition","artwork","map","hydratedTrack","hydrateFavorite","transformTrackArtwork","getActiveTrackIndex","requirePlayer","getActiveTrack","setActiveTrackFavorited","favorited","addFavorite","removeFavorite","updatedTrack","toggleActiveTrackFavorited","isFavorited","updateNowPlaying","update","duration","flashNowPlaying","durationMs","nowPlayingFlashRevert","clearTimeout","setTimeout","clearNowPlayingFlash","getOnline","getEqualizerSettings","setEqualizerEnabled","_enabled","setEqualizerPreset","_preset","setEqualizerLevels","_levels","getBatteryWarningPending","getBatteryOptimizationStatus","dismissBatteryWarning","openBatterySettings","getSystemVolume","setSystemVolume","_volume","setGate","_gate","_hasResolver","clearGate","isCarConnected","getOutput","openOutputPicker","supportsOutputSwitcher","exports"],"sourceRoot":"../../../src","sources":["web/NativeAudioBrowser.ts"],"mappings":"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","ignoreList":[]}
@@ -4,12 +4,14 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.BrowserManager = void 0;
7
+ var _getTrackIdentity = require("../../utils/getTrackIdentity");
7
8
  var _validation = require("../../utils/validation");
8
9
  var _RequestConfigBuilder = require("../http/RequestConfigBuilder");
9
10
  var _SimpleRouter = require("../SimpleRouter");
10
11
  var _BrowserPathHelper = require("../util/BrowserPathHelper");
11
12
  var _assertBrowsePageShape = require("./assertBrowsePageShape");
12
13
  var _parseSearchResponse = require("./parseSearchResponse");
14
+ var _sections = require("./sections");
13
15
  /**
14
16
  * Manages browser navigation, route resolution, and content loading.
15
17
  * Coordinates between HTTP client, favorite manager, and error manager.
@@ -126,14 +128,11 @@ class BrowserManager {
126
128
  // Determine initial path
127
129
  let initialPath = value.path;
128
130
 
129
- // If no path specified, try to get first tab URL
131
+ // If no path specified, try to get first tab path
130
132
  if (!initialPath) {
131
133
  const tabsRoute = value.routes?.find(r => r.path === '__tabs__');
132
- if (tabsRoute?.browseStatic?.children?.[0]?.url) {
133
- initialPath = tabsRoute.browseStatic.children[0].url;
134
- } else {
135
- initialPath = '/';
136
- }
134
+ const staticTabs = tabsRoute?.browseStatic ? (0, _sections.flattenedChildren)(tabsRoute.browseStatic) : [];
135
+ initialPath = staticTabs[0]?.path ?? '/';
137
136
  }
138
137
  if (initialPath) {
139
138
  void this.navigate(initialPath);
@@ -149,16 +148,16 @@ class BrowserManager {
149
148
  }
150
149
 
151
150
  /**
152
- * Navigates to a track's URL.
151
+ * Navigates to a track's path.
153
152
  */
154
153
  async navigateTrack(track) {
155
154
  this.navigationErrorManager.clearNavigationError();
156
- const url = track.url;
157
- if (!url) {
158
- console.warn('Track has no URL to navigate to');
155
+ const path = track.path;
156
+ if (!path) {
157
+ console.warn('Track has no path to navigate to');
159
158
  return;
160
159
  }
161
- await this.navigate(url);
160
+ await this.navigate(path);
162
161
  }
163
162
 
164
163
  /**
@@ -211,28 +210,15 @@ class BrowserManager {
211
210
  return;
212
211
  }
213
212
 
214
- // Add contextual URLs to non-search content (matches Android behavior where
215
- // search() bypasses the resolve() contextual URL logic).
216
- // Shallow copy to avoid mutating the original config object (e.g., browseStatic
217
- // from routes), which would break search that reads from the same source.
218
- if (content?.children && !isSearchPath) {
213
+ // Resolution returns canonical sectioned pages; add contextual paths
214
+ // to non-search content (matches Android behavior where search()
215
+ // bypasses the resolve() contextual-path logic). Copies avoid mutating
216
+ // the original config object (e.g., browseStatic from routes), which
217
+ // would break search that reads from the same source.
218
+ if (content?.sections && !isSearchPath) {
219
219
  content = {
220
220
  ...content,
221
- children: content.children.map(track => {
222
- // If track has src, always add/update contextual URL with current path context
223
- // This matches Android's BrowserManager.kt:436-441
224
- if (track.src) {
225
- const contextualUrl = `${path}?__trackId=${encodeURIComponent(track.src)}`;
226
- return {
227
- ...track,
228
- url: contextualUrl
229
- };
230
- }
231
- // Return a shallow copy in attempt to avoid mutating original config objects
232
- return {
233
- ...track
234
- };
235
- })
221
+ sections: this.addContextualPaths(path, content.sections)
236
222
  };
237
223
  }
238
224
 
@@ -277,13 +263,42 @@ class BrowserManager {
277
263
  }
278
264
  }
279
265
 
266
+ /**
267
+ * Stamps contextual paths onto a page's sections. A playable track gets a
268
+ * contextual path carrying its identity (id ?? src) so the queue can be
269
+ * re-expanded from it later, plus its flat page position (children
270
+ * concatenated in section order — ADR 0009/0010) as a duplicate-identity
271
+ * tie-breaker. Non-playable tracks are shallow-copied to avoid mutating
272
+ * original config objects (e.g., browseStatic from routes).
273
+ */
274
+ addContextualPaths(path, sections) {
275
+ let index = 0;
276
+ return sections.map(section => ({
277
+ ...section,
278
+ children: section.children.map(track => {
279
+ const flatIndex = index++;
280
+ const identity = (0, _getTrackIdentity.getTrackIdentity)(track);
281
+ if (track.src && identity) {
282
+ return {
283
+ ...track,
284
+ path: _BrowserPathHelper.BrowserPathHelper.build(path, identity, flatIndex)
285
+ };
286
+ }
287
+ return {
288
+ ...track
289
+ };
290
+ })
291
+ }));
292
+ }
293
+
280
294
  /**
281
295
  * Resolves search content from a search path.
282
- * Returns a ResolvedTrack with raw children (no contextual URLs).
296
+ * Returns a canonical sectioned page — one untitled section of raw search
297
+ * results (no contextual URLs), like the native `makeSearchResult`.
283
298
  * Matches Android's BrowserManager.search() which bypasses resolve() entirely.
284
299
  *
285
300
  * @param searchPath The search path (format: /__search?q=query)
286
- * @returns ResolvedTrack containing search results as children
301
+ * @returns ResolvedTrack containing search results as one untitled section
287
302
  */
288
303
  async resolveSearchContent(searchPath) {
289
304
  // Extract query from search path
@@ -321,13 +336,12 @@ class BrowserManager {
321
336
  }
322
337
  }
323
338
 
324
- // Create ResolvedTrack with raw children
325
- // Search callbacks should return fresh tracks without contextual URLs (like Android)
326
- return {
327
- url: searchPath,
339
+ // Search callbacks should return fresh tracks without contextual paths (like Android)
340
+ return (0, _sections.normalizePage)({
341
+ path: searchPath,
328
342
  title: `Search: ${query}`,
329
343
  children: searchResults
330
- };
344
+ });
331
345
  }
332
346
 
333
347
  /**
@@ -348,30 +362,35 @@ class BrowserManager {
348
362
  // Transform parent artwork
349
363
  const parentArtworkSource = await _RequestConfigBuilder.RequestConfigBuilder.resolveArtworkSourceAsync(content, requestConfig, artworkConfig);
350
364
 
351
- // Transform children artwork
352
- let transformedChildren;
353
- if (content.children) {
354
- transformedChildren = await Promise.all(content.children.map(async track => {
355
- const artworkSource = await _RequestConfigBuilder.RequestConfigBuilder.resolveArtworkSourceAsync(track, requestConfig, artworkConfig);
356
- if (artworkSource && !track.artworkSource) {
357
- return {
358
- ...track,
359
- artworkSource
360
- };
361
- }
362
- return track;
363
- }));
365
+ // Transform children artwork, section by section
366
+ const transformTrack = async track => {
367
+ const artworkSource = await _RequestConfigBuilder.RequestConfigBuilder.resolveArtworkSourceAsync(track, requestConfig, artworkConfig);
368
+ if (artworkSource && !track.artworkSource) {
369
+ return {
370
+ ...track,
371
+ artworkSource
372
+ };
373
+ }
374
+ return track;
375
+ };
376
+ let transformedSections;
377
+ if (content.sections) {
378
+ transformedSections = await Promise.all(content.sections.map(async section => ({
379
+ ...section,
380
+ children: await Promise.all(section.children.map(transformTrack))
381
+ })));
364
382
  }
365
383
  return {
366
384
  ...content,
367
385
  artworkSource: parentArtworkSource ?? content.artworkSource,
368
- children: transformedChildren ?? content.children
386
+ sections: transformedSections ?? content.sections
369
387
  };
370
388
  }
371
389
 
372
390
  /**
373
391
  * Resolves content from a route using browseCallback, browseStatic, or browseConfig.
374
- * Single source of truth for route resolution logic.
392
+ * Single source of truth for route resolution logic. Returns canonical
393
+ * sectioned pages (normalizePage) — consumers never see authored `children`.
375
394
  *
376
395
  * @param route The route configuration to resolve
377
396
  * @param path The path being navigated to
@@ -391,19 +410,20 @@ class BrowserManager {
391
410
  this.navigationErrorManager.setNavigationError('callback-error', result.error, path);
392
411
  return undefined;
393
412
  }
394
- return result;
413
+ return (0, _sections.normalizePage)(result);
395
414
  }
396
415
 
397
- // Handle static ResolvedTrack route
416
+ // Handle static ResolvedTrack route (normalizePage also copies, so the
417
+ // config object itself is never handed out)
398
418
  if (route.browseStatic) {
399
- return route.browseStatic;
419
+ return (0, _sections.normalizePage)(route.browseStatic);
400
420
  }
401
421
 
402
422
  // Handle request config-based route via the layered request → browse → route
403
423
  // chain (matches native's resolveRouteEntry → resolveFromConfig).
404
424
  if (route.browseConfig) {
405
425
  try {
406
- return await this.resolveFromConfig(this._configuration.browse, route.browseConfig, path, routeParams);
426
+ return (0, _sections.normalizePage)(await this.resolveFromConfig(this._configuration.browse, route.browseConfig, path, routeParams));
407
427
  } catch (error) {
408
428
  console.error(`Failed to resolve ${errorContext}:`, error);
409
429
  this.handleNavigationError(error, path);
@@ -492,6 +512,8 @@ class BrowserManager {
492
512
 
493
513
  /**
494
514
  * Resolves content for a specific path using configured routes.
515
+ * Like the native resolve pipelines, the returned page is canonical
516
+ * sectioned shape — `children` sugar is normalized away at this seam.
495
517
  */
496
518
  async resolveContent(path) {
497
519
  const routes = this._configuration.routes;
@@ -533,9 +555,9 @@ class BrowserManager {
533
555
  // there's no content.
534
556
  if (this._configuration.request || this._configuration.requestResolver || this._configuration.browse || this._configuration.browseResolver) {
535
557
  try {
536
- return await this.resolveFromConfig(this._configuration.browse, undefined, path, {
558
+ return (0, _sections.normalizePage)(await this.resolveFromConfig(this._configuration.browse, undefined, path, {
537
559
  path
538
- });
560
+ }));
539
561
  } catch (error) {
540
562
  console.error('Failed to resolve default browse content:', error);
541
563
  this.handleNavigationError(error, path);
@@ -554,7 +576,8 @@ class BrowserManager {
554
576
  return [];
555
577
  }
556
578
  const result = await this.resolveRouteContent(tabsRoute, '/', {}, 'Tabs');
557
- const tabs = result?.children ?? [];
579
+ // Tabs are a flat list, not a page — a sectioned tabs source flattens.
580
+ const tabs = result ? (0, _sections.flattenSections)(result.sections) : [];
558
581
 
559
582
  // Transform artwork URLs on tabs via the async resolver so the shared
560
583
  // request layer (incl. its transform) applies, matching content/search.
@@ -585,35 +608,65 @@ class BrowserManager {
585
608
  /**
586
609
  * Expands a queue from a contextual URL.
587
610
  * Resolves the parent container to get all siblings.
588
- * Matches Android's BrowserManager.expandQueueFromContextualUrl() behavior.
611
+ * Matches Android's BrowserManager.expandQueueFromContextualPath() behavior.
589
612
  *
590
- * @param contextualUrl The contextual URL (format: /path?__trackId=trackSrc)
613
+ * @param contextualPath The contextual path (format: /path?__trackId=trackSrc)
591
614
  * @returns Object with tracks and selectedIndex, or undefined if expansion fails
592
615
  */
593
- async expandQueueFromContextualUrl(contextualUrl) {
594
- const trackId = _BrowserPathHelper.BrowserPathHelper.extractTrackId(contextualUrl);
616
+ async expandQueueFromContextualPath(contextualPath) {
617
+ const trackId = _BrowserPathHelper.BrowserPathHelper.extractTrackId(contextualPath);
595
618
  if (!trackId) return undefined;
596
619
  try {
597
620
  // Resolve the parent container to get all siblings
598
- const parentPath = _BrowserPathHelper.BrowserPathHelper.stripTrackId(contextualUrl);
621
+ const parentPath = _BrowserPathHelper.BrowserPathHelper.stripTrackId(contextualPath);
599
622
  const parentResolvedTrack = await this.resolveContent(parentPath);
600
- const children = parentResolvedTrack?.children;
601
- if (!children || children.length === 0) {
623
+ const rawSections = parentResolvedTrack?.sections;
624
+ if (!rawSections || rawSections.every(s => s.children.length === 0)) {
602
625
  console.warn('Parent has no children, cannot expand queue');
603
626
  return undefined;
604
627
  }
605
628
 
606
- // Filter to only playable tracks (tracks with src)
607
- const playableTracks = children.filter(track => track.src != null);
629
+ // Stamp contextual paths so queued tracks carry their own queue context
630
+ // (navigate() stamps the displayed page the same way).
631
+ const sections = this.addContextualPaths(parentPath, rawSections);
632
+
633
+ // Queue scope is the tapped section, not the whole page (ADR 0006).
634
+ // The stamped flat index pins which section (and which copy) was
635
+ // tapped when the same identity appears more than once; a stale index
636
+ // falls back to the first identity match. An identity that no longer
637
+ // appears on the page aborts the expansion — the caller falls back to
638
+ // the single track.
639
+ const tappedIndex = _BrowserPathHelper.BrowserPathHelper.extractIndex(contextualPath);
640
+ const scoped = (0, _sections.sectionContaining)(sections, trackId, tappedIndex);
641
+ if (!scoped) {
642
+ console.warn(`Track with identity='${trackId}' not found on parent page`);
643
+ return undefined;
644
+ }
645
+
646
+ // Filter to only playable tracks (tracks with src). A disabled track is
647
+ // unavailable — queue expansion excludes it, so auto-advance never
648
+ // meets one (Track.disabled).
649
+ const isQueueable = track => track.src != null && track.disabled !== true;
650
+ const playableTracks = scoped.tracks.filter(isQueueable);
608
651
  if (playableTracks.length === 0) {
609
- console.warn('Parent has no playable tracks, cannot expand queue');
652
+ console.warn('Section has no playable tracks, cannot expand queue');
610
653
  return undefined;
611
654
  }
612
655
 
613
- // Find the index of the selected track in the playable tracks array
614
- const selectedIndex = playableTracks.findIndex(track => track.src === trackId);
656
+ // Selected position: the pinned copy when the stamp survived, else
657
+ // the first identity match.
658
+ let selectedIndex = -1;
659
+ if (scoped.tappedOffset !== undefined) {
660
+ const tapped = scoped.tracks[scoped.tappedOffset];
661
+ if (tapped != null && isQueueable(tapped)) {
662
+ selectedIndex = scoped.tracks.slice(0, scoped.tappedOffset + 1).filter(isQueueable).length - 1;
663
+ }
664
+ }
665
+ if (selectedIndex < 0) {
666
+ selectedIndex = playableTracks.findIndex(track => (0, _getTrackIdentity.getTrackIdentity)(track) === trackId);
667
+ }
615
668
  if (selectedIndex < 0) {
616
- console.warn(`Track with src='${trackId}' not found in playable children`);
669
+ console.warn(`Track with identity='${trackId}' not found in playable children`);
617
670
  return undefined;
618
671
  }
619
672
 
@@ -629,7 +682,7 @@ class BrowserManager {
629
682
  selectedIndex
630
683
  };
631
684
  } catch (error) {
632
- console.error(`Error expanding queue from contextual URL: ${contextualUrl}`, error);
685
+ console.error(`Error expanding queue from contextual path: ${contextualPath}`, error);
633
686
  return undefined;
634
687
  }
635
688
  }
@@ -646,19 +699,23 @@ class BrowserManager {
646
699
  * @returns Object with expanded tracks and starting index
647
700
  */
648
701
  async resolveMediaItemsForPlayback(tracks, startIndex, startPositionMs, searchQuery) {
649
- // Single track: check for search context or contextual URL
702
+ // Single track: check for search context or contextual path
650
703
  if (tracks.length === 1) {
651
704
  const track = (0, _validation.assertedNotNullish)(tracks[0]);
652
- const trackUrl = track.url;
705
+ const trackPath = track.path;
653
706
 
654
707
  // If search query present, expand search results
655
708
  if (searchQuery) {
656
- // Execute search (will hit cache if already performed)
709
+ // Execute search (will hit cache if already performed). Disabled
710
+ // tracks never play, so they never enter a search-built queue
711
+ // (Track.disabled — mirrors both native platforms).
657
712
  const searchResults = await this.resolveSearchContent(_BrowserPathHelper.BrowserPathHelper.createSearchPath(searchQuery));
658
- const searchTracks = searchResults?.children;
659
- if (searchTracks && searchTracks.length > 0) {
660
- // Find the selected track in search results
661
- const selectedIdx = searchTracks.findIndex(t => t.url === trackUrl || t.src === track.src);
713
+ const searchTracks = (0, _sections.flattenSections)(searchResults?.sections).filter(t => t.disabled !== true);
714
+ if (searchTracks.length > 0) {
715
+ // Find the selected track in search results by path or identity
716
+ // (matches Android's three-way mediaId match)
717
+ const identity = (0, _getTrackIdentity.getTrackIdentity)(track);
718
+ const selectedIdx = searchTracks.findIndex(t => t.path === trackPath || identity !== undefined && (0, _getTrackIdentity.getTrackIdentity)(t) === identity);
662
719
  if (selectedIdx >= 0) {
663
720
  return {
664
721
  tracks: searchTracks,
@@ -669,14 +726,14 @@ class BrowserManager {
669
726
  }
670
727
  }
671
728
 
672
- // Check if contextual URL - expand from parent
729
+ // Check if contextual path - expand from parent
673
730
  // Note: The queueSourcePath optimization is handled by the caller (NativeAudioBrowser.navigateTrackAsync)
674
731
  // which has access to the existing queue and can skip to the track directly.
675
732
  // This matches Android where MediaSessionCallback handles the optimization before calling
676
733
  // BrowserManager.resolveMediaItemsForPlayback.
677
- if (trackUrl && _BrowserPathHelper.BrowserPathHelper.isContextual(trackUrl)) {
678
- const parentPath = _BrowserPathHelper.BrowserPathHelper.stripTrackId(trackUrl);
679
- const expanded = await this.expandQueueFromContextualUrl(trackUrl);
734
+ if (trackPath && _BrowserPathHelper.BrowserPathHelper.isContextual(trackPath)) {
735
+ const parentPath = _BrowserPathHelper.BrowserPathHelper.stripTrackId(trackPath);
736
+ const expanded = await this.expandQueueFromContextualPath(trackPath);
680
737
  if (expanded) {
681
738
  // Store source path for optimization by caller on next invocation
682
739
  this._queueSourcePath = parentPath;
@@ -698,13 +755,13 @@ class BrowserManager {
698
755
  }
699
756
 
700
757
  /**
701
- * Gets the default navigation path (first tab URL or '/').
758
+ * Gets the default navigation path (first tab path or '/').
702
759
  */
703
760
  getDefaultPath() {
704
761
  // Try to get first tab as default path
705
762
  if (this._tabs && this._tabs.length > 0) {
706
763
  const firstTab = this._tabs[0];
707
- return firstTab?.url ?? '/';
764
+ return firstTab?.path ?? '/';
708
765
  }
709
766
  return '/';
710
767
  }