react-native-audio-browser 0.2.0-next.17 → 0.2.0-next.19

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 (81) hide show
  1. package/android/build.gradle +2 -1
  2. package/android/src/main/java/com/audiobrowser/AudioBrowser.kt +160 -106
  3. package/android/src/main/java/com/audiobrowser/browser/BrowserManager.kt +11 -29
  4. package/android/src/main/java/com/audiobrowser/player/CrossOriginHeaderStripper.kt +77 -0
  5. package/android/src/main/java/com/audiobrowser/player/MediaFactory.kt +28 -10
  6. package/android/src/main/java/com/audiobrowser/player/MediaSessionCallback.kt +377 -110
  7. package/android/src/main/java/com/audiobrowser/util/BrowserPathHelper.kt +13 -1
  8. package/android/src/main/res/values/strings.xml +6 -21
  9. package/android/src/test/java/com/audiobrowser/player/BrowseTilesTest.kt +385 -0
  10. package/android/src/test/java/com/audiobrowser/player/CrossOriginHeaderStripperTest.kt +94 -0
  11. package/lib/commonjs/features/browser.js +8 -0
  12. package/lib/commonjs/features/browser.js.map +1 -1
  13. package/lib/commonjs/web/NativeAudioBrowser.js +163 -50
  14. package/lib/commonjs/web/NativeAudioBrowser.js.map +1 -1
  15. package/lib/commonjs/web/TrackPlayer/LoadAttempt.js +37 -0
  16. package/lib/commonjs/web/TrackPlayer/LoadAttempt.js.map +1 -0
  17. package/lib/commonjs/web/TrackPlayer/PlaybackStateMachine.js +18 -2
  18. package/lib/commonjs/web/TrackPlayer/PlaybackStateMachine.js.map +1 -1
  19. package/lib/commonjs/web/TrackPlayer/Player.js +232 -39
  20. package/lib/commonjs/web/TrackPlayer/Player.js.map +1 -1
  21. package/lib/commonjs/web/TrackPlayer/QueuePlayer.js +33 -12
  22. package/lib/commonjs/web/TrackPlayer/QueuePlayer.js.map +1 -1
  23. package/lib/commonjs/web/browser/BrowserManager.js +30 -12
  24. package/lib/commonjs/web/browser/BrowserManager.js.map +1 -1
  25. package/lib/commonjs/web/browser/SearchManager.js +16 -19
  26. package/lib/commonjs/web/browser/SearchManager.js.map +1 -1
  27. package/lib/commonjs/web/http/RequestConfigBuilder.js +110 -27
  28. package/lib/commonjs/web/http/RequestConfigBuilder.js.map +1 -1
  29. package/lib/commonjs/web/http/followMediaRedirect.js +219 -0
  30. package/lib/commonjs/web/http/followMediaRedirect.js.map +1 -0
  31. package/lib/module/features/browser.js +8 -0
  32. package/lib/module/features/browser.js.map +1 -1
  33. package/lib/module/web/NativeAudioBrowser.js +163 -50
  34. package/lib/module/web/NativeAudioBrowser.js.map +1 -1
  35. package/lib/module/web/TrackPlayer/LoadAttempt.js +32 -0
  36. package/lib/module/web/TrackPlayer/LoadAttempt.js.map +1 -0
  37. package/lib/module/web/TrackPlayer/PlaybackStateMachine.js +18 -2
  38. package/lib/module/web/TrackPlayer/PlaybackStateMachine.js.map +1 -1
  39. package/lib/module/web/TrackPlayer/Player.js +232 -39
  40. package/lib/module/web/TrackPlayer/Player.js.map +1 -1
  41. package/lib/module/web/TrackPlayer/QueuePlayer.js +33 -12
  42. package/lib/module/web/TrackPlayer/QueuePlayer.js.map +1 -1
  43. package/lib/module/web/browser/BrowserManager.js +30 -12
  44. package/lib/module/web/browser/BrowserManager.js.map +1 -1
  45. package/lib/module/web/browser/SearchManager.js +16 -19
  46. package/lib/module/web/browser/SearchManager.js.map +1 -1
  47. package/lib/module/web/http/RequestConfigBuilder.js +110 -27
  48. package/lib/module/web/http/RequestConfigBuilder.js.map +1 -1
  49. package/lib/module/web/http/followMediaRedirect.js +215 -0
  50. package/lib/module/web/http/followMediaRedirect.js.map +1 -0
  51. package/lib/typescript/src/features/browser.d.ts +8 -0
  52. package/lib/typescript/src/features/browser.d.ts.map +1 -1
  53. package/lib/typescript/src/types/browser.d.ts +13 -4
  54. package/lib/typescript/src/types/browser.d.ts.map +1 -1
  55. package/package.json +1 -1
  56. package/src/features/browser.ts +8 -0
  57. package/src/types/browser.ts +13 -4
  58. package/src/web/NativeAudioBrowser.playWhenReady.test.ts +232 -2
  59. package/src/web/NativeAudioBrowser.ts +193 -60
  60. package/src/web/TrackPlayer/LoadAttempt.ts +29 -0
  61. package/src/web/TrackPlayer/PlaybackStateMachine.test.ts +60 -13
  62. package/src/web/TrackPlayer/PlaybackStateMachine.ts +22 -6
  63. package/src/web/TrackPlayer/Player.dispatch.test.ts +5 -3
  64. package/src/web/TrackPlayer/Player.load.test.ts +137 -1
  65. package/src/web/TrackPlayer/Player.ts +256 -37
  66. package/src/web/TrackPlayer/QueuePlayer.ts +33 -14
  67. package/src/web/__tests__/lifecycle.test.ts +345 -0
  68. package/src/web/__tests__/lifecycleHarness.ts +351 -0
  69. package/src/web/__tests__/loadEdgeCases.test.ts +195 -0
  70. package/src/web/__tests__/loadSupersession.test.ts +175 -0
  71. package/src/web/__tests__/retry.test.ts +169 -0
  72. package/src/web/browser/BrowserManager.ts +32 -15
  73. package/src/web/browser/SearchManager.test.ts +75 -0
  74. package/src/web/browser/SearchManager.ts +23 -26
  75. package/src/web/browser/__tests__/artwork-resolution.test.ts +117 -0
  76. package/src/web/browser/__tests__/layer-resolver.test.ts +35 -0
  77. package/src/web/browser/__tests__/search-navigation.test.ts +76 -0
  78. package/src/web/http/RequestConfigBuilder.test.ts +241 -1
  79. package/src/web/http/RequestConfigBuilder.ts +140 -33
  80. package/src/web/http/followMediaRedirect.test.ts +289 -0
  81. package/src/web/http/followMediaRedirect.ts +253 -0
@@ -1 +1 @@
1
- {"version":3,"names":["_getTrackIdentity","require","_validation","_RequestConfigBuilder","_SimpleRouter","_BrowserPathHelper","_assertBrowsePageShape","_parseSearchResponse","_sections","BrowserManager","_configuration","router","SimpleRouter","_layerGeneration","_resolvedLayerGeneration","currentNavigationId","onPathChanged","onContentChanged","onTabsChanged","constructor","httpClient","favoriteManager","navigationErrorManager","handleNavigationError","error","path","message","navError","setNavigationError","code","statusCode","_path","value","hasValidConfiguration","clearNavigationError","pathToNavigate","getDefaultPath","navigate","tabs","_tabs","content","_content","configuration","queueSourcePath","_queueSourcePath","setFormatCallback","formatNavigationError","initialPath","tabsRoute","routes","find","r","staticTabs","browseStatic","flattenedChildren","navigatePath","navigateTrack","track","console","warn","notifyContentChanged","invalidateAllContent","navigationId","undefined","isSearchPath","startsWith","BrowserPathHelper","SEARCH_PATH_PREFIX","resolveSearchContent","resolveContent","sections","addContextualPaths","hydrateChildren","transformArtworkForContent","queryTabs","index","map","section","children","flatIndex","identity","getTrackIdentity","src","build","searchPath","queryMatch","match","query","decodeURIComponent","searchRoute","searchResults","searchCallback","reference","searchConfig","fetchSearchResults","q","normalizePage","title","artworkConfig","artwork","ensureLayersResolved","requestConfig","_resolvedRequest","parentArtworkSource","RequestConfigBuilder","resolveArtworkSourceAsync","transformTrack","artworkSource","transformedSections","Promise","all","resolveRouteContent","route","routeParams","errorContext","browseCallback","result","browseConfig","resolveFromConfig","browse","_layerResolution","generation","promise","cfg","resolvedRequest","requestResolver","request","resolvedBrowse","browseResolver","_resolvedBrowse","catch","err","kindConfig","routeConfig","params","merged","applyLayers","response","executeRequest","assertBrowsePageShape","queryParams","parseSearchResponse","length","routePatterns","findBestMatch","matchedPattern","routeMatch","matchedRoute","defaultRoute","flattenSections","expandQueueFromContextualPath","contextualPath","trackId","extractTrackId","parentPath","stripTrackId","parentResolvedTrack","rawSections","every","s","tappedIndex","extractIndex","scoped","sectionContaining","isQueueable","disabled","playableTracks","tracks","filter","selectedIndex","tappedOffset","tapped","slice","findIndex","singleTrack","assertedNotNullish","resolveMediaItemsForPlayback","startIndex","startPositionMs","searchQuery","trackPath","createSearchPath","searchTracks","t","selectedIdx","isContextual","expanded","firstTab","exports"],"sourceRoot":"../../../../src","sources":["web/browser/BrowserManager.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_getTrackIdentity","require","_validation","_RequestConfigBuilder","_SimpleRouter","_BrowserPathHelper","_assertBrowsePageShape","_parseSearchResponse","_sections","BrowserManager","_configuration","router","SimpleRouter","_layerGeneration","_resolvedLayerGeneration","currentNavigationId","onPathChanged","onContentChanged","onTabsChanged","constructor","httpClient","favoriteManager","navigationErrorManager","handleNavigationError","error","path","message","navError","setNavigationError","code","statusCode","_path","value","hasValidConfiguration","clearNavigationError","pathToNavigate","getDefaultPath","navigate","tabs","_tabs","content","_content","configuration","queueSourcePath","_queueSourcePath","setFormatCallback","formatNavigationError","initialPath","tabsRoute","routes","find","r","staticTabs","browseStatic","flattenedChildren","navigatePath","navigateTrack","track","console","warn","notifyContentChanged","invalidateAllContent","navigationId","undefined","isSearchPath","startsWith","BrowserPathHelper","SEARCH_PATH_PREFIX","resolveSearchContent","resolveContent","sections","addContextualPaths","hydrateChildren","transformArtworkForContent","queryTabs","index","map","section","children","flatIndex","identity","getTrackIdentity","src","build","searchPath","queryMatch","match","query","decodeURIComponent","searchRoute","searchResults","searchCallback","reference","searchConfig","fetchSearchResults","q","normalizePage","title","artworkConfig","artwork","ensureLayersResolved","requestConfig","_resolvedRequest","parentArtworkSource","RequestConfigBuilder","resolveArtworkSourceAsync","transformTrack","artworkSource","transformedSections","Promise","all","resolveRouteContent","route","routeParams","errorContext","browseCallback","result","browseConfig","resolveFromConfig","browse","resolvedRequestConfig","_layerResolution","generation","promise","cfg","resolvedRequest","requestResolver","request","resolvedBrowse","browseResolver","_resolvedBrowse","catch","err","kindConfig","routeConfig","params","merged","applyLayers","response","executeRequest","assertBrowsePageShape","queryParams","parseSearchResponse","length","routePatterns","findBestMatch","matchedPattern","routeMatch","matchedRoute","defaultRoute","flattenSections","expandQueueFromContextualPath","contextualPath","trackId","extractTrackId","parentPath","stripTrackId","parentResolvedTrack","rawSections","every","s","tappedIndex","extractIndex","scoped","sectionContaining","isQueueable","disabled","playableTracks","tracks","filter","selectedIndex","tappedOffset","tapped","slice","findIndex","singleTrack","assertedNotNullish","resolveMediaItemsForPlayback","startIndex","startPositionMs","searchQuery","trackPath","createSearchPath","searchTracks","t","selectedIdx","isContextual","expanded","firstTab","exports"],"sourceRoot":"../../../../src","sources":["web/browser/BrowserManager.ts"],"mappings":"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","ignoreList":[]}
@@ -20,7 +20,9 @@ class SearchManager {
20
20
  * Matches Android's BrowserManager.search(params: SearchParams) behavior.
21
21
  *
22
22
  * @param params Search parameters (query is required, other fields optional)
23
- * @returns Array of matching tracks
23
+ * @returns Array of matching tracks — empty only when the source found none
24
+ * @throws The failure itself: an `Error` carrying a `NavigationErrorType`
25
+ * `code` from `HttpClient`, or whatever a `searchCallback` rejected with
24
26
  */
25
27
  async search(params) {
26
28
  // Find __search__ route entry
@@ -50,31 +52,26 @@ class SearchManager {
50
52
 
51
53
  // Delegate to the shared layered fetch (request → search) on BrowserManager
52
54
  // so the ladder lives in one place.
53
- try {
54
- results = await this.browserManager.fetchSearchResults(searchRoute.searchConfig, searchQueryParams);
55
- } catch (error) {
56
- console.error('Search failed:', error);
57
- return [];
58
- }
55
+ results = await this.browserManager.fetchSearchResults(searchRoute.searchConfig, searchQueryParams);
59
56
  }
60
57
 
61
58
  // Transform artwork URLs on search results using async method with full Track access
59
+ // Gated per track inside the resolver, as on Android — a result carrying a
60
+ // plain `artwork` URL resolves even with no `artwork` config.
62
61
  const {
63
62
  request: requestConfig,
64
63
  artwork: artworkConfig
65
64
  } = this.browserManager.configuration;
66
- if (artworkConfig) {
67
- results = await Promise.all(results.map(async track => {
68
- const artworkSource = await _RequestConfigBuilder.RequestConfigBuilder.resolveArtworkSourceAsync(track, requestConfig, artworkConfig);
69
- if (artworkSource && !track.artworkSource) {
70
- return {
71
- ...track,
72
- artworkSource
73
- };
74
- }
75
- return track;
76
- }));
77
- }
65
+ results = await Promise.all(results.map(async track => {
66
+ const artworkSource = await _RequestConfigBuilder.RequestConfigBuilder.resolveArtworkSourceAsync(track, requestConfig, artworkConfig);
67
+ if (artworkSource && !track.artworkSource) {
68
+ return {
69
+ ...track,
70
+ artworkSource
71
+ };
72
+ }
73
+ return track;
74
+ }));
78
75
  return results;
79
76
  }
80
77
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_RequestConfigBuilder","require","SearchManager","constructor","browserManager","search","params","searchRoute","configuration","routes","find","r","path","results","searchCallback","searchConfig","searchQueryParams","q","query","mode","reference","genre","artist","album","title","playlist","fetchSearchResults","error","console","request","requestConfig","artwork","artworkConfig","Promise","all","map","track","artworkSource","RequestConfigBuilder","resolveArtworkSourceAsync","exports"],"sourceRoot":"../../../../src","sources":["web/browser/SearchManager.ts"],"mappings":";;;;;;AAEA,IAAAA,qBAAA,GAAAC,OAAA;AAEA;AACA;AACA;AACA;AACA;AACO,MAAMC,aAAa,CAAC;EACzBC,WAAWA,CAASC,cAA8B,EAAE;IAAA,KAAhCA,cAA8B,GAA9BA,cAA8B;EAAG;;EAErD;AACF;AACA;AACA;AACA;AACA;AACA;EACE,MAAMC,MAAMA,CAACC,MAAoB,EAAoB;IACnD;IACA,MAAMC,WAAW,GAAG,IAAI,CAACH,cAAc,CAACI,aAAa,CAACC,MAAM,EAAEC,IAAI,CAC/DC,CAAC,IAAKA,CAAC,CAACC,IAAI,KAAK,YACpB,CAAC;IACD,IAAI,CAACL,WAAW,EAAE;MAChB,OAAO,EAAE;IACX;IAEA,IAAIM,OAAgB,GAAG,EAAE;;IAEzB;IACA,IAAIN,WAAW,CAACO,cAAc,EAAE;MAC9BD,OAAO,GAAG,MAAMN,WAAW,CAACO,cAAc,CAACR,MAAM,CAAC;IACpD;IACA;IAAA,KACK,IAAIC,WAAW,CAACQ,YAAY,EAAE;MACjC;MACA,MAAMC,iBAAyC,GAAG;QAChDC,CAAC,EAAEX,MAAM,CAACY;MACZ,CAAC;MACD,IAAIZ,MAAM,CAACa,IAAI,EAAEH,iBAAiB,CAACG,IAAI,GAAGb,MAAM,CAACa,IAAI;MACrD,IAAIb,MAAM,CAACc,SAAS,KAAK,IAAI,EAAEJ,iBAAiB,CAACI,SAAS,GAAG,IAAI;MACjE,IAAId,MAAM,CAACe,KAAK,EAAEL,iBAAiB,CAACK,KAAK,GAAGf,MAAM,CAACe,KAAK;MACxD,IAAIf,MAAM,CAACgB,MAAM,EAAEN,iBAAiB,CAACM,MAAM,GAAGhB,MAAM,CAACgB,MAAM;MAC3D,IAAIhB,MAAM,CAACiB,KAAK,EAAEP,iBAAiB,CAACO,KAAK,GAAGjB,MAAM,CAACiB,KAAK;MACxD,IAAIjB,MAAM,CAACkB,KAAK,EAAER,iBAAiB,CAACQ,KAAK,GAAGlB,MAAM,CAACkB,KAAK;MACxD,IAAIlB,MAAM,CAACmB,QAAQ,EAAET,iBAAiB,CAACS,QAAQ,GAAGnB,MAAM,CAACmB,QAAQ;;MAEjE;MACA;MACA,IAAI;QACFZ,OAAO,GAAG,MAAM,IAAI,CAACT,cAAc,CAACsB,kBAAkB,CACpDnB,WAAW,CAACQ,YAAY,EACxBC,iBACF,CAAC;MACH,CAAC,CAAC,OAAOW,KAAK,EAAE;QACdC,OAAO,CAACD,KAAK,CAAC,gBAAgB,EAAEA,KAAK,CAAC;QACtC,OAAO,EAAE;MACX;IACF;;IAEA;IACA,MAAM;MAAEE,OAAO,EAAEC,aAAa;MAAEC,OAAO,EAAEC;IAAc,CAAC,GACtD,IAAI,CAAC5B,cAAc,CAACI,aAAa;IACnC,IAAIwB,aAAa,EAAE;MACjBnB,OAAO,GAAG,MAAMoB,OAAO,CAACC,GAAG,CACzBrB,OAAO,CAACsB,GAAG,CAAC,MAAOC,KAAK,IAAK;QAC3B,MAAMC,aAAa,GACjB,MAAMC,0CAAoB,CAACC,yBAAyB,CAClDH,KAAK,EACLN,aAAa,EACbE,aACF,CAAC;QACH,IAAIK,aAAa,IAAI,CAACD,KAAK,CAACC,aAAa,EAAE;UACzC,OAAO;YAAE,GAAGD,KAAK;YAAEC;UAAc,CAAC;QACpC;QACA,OAAOD,KAAK;MACd,CAAC,CACH,CAAC;IACH;IAEA,OAAOvB,OAAO;EAChB;AACF;AAAC2B,OAAA,CAAAtC,aAAA,GAAAA,aAAA","ignoreList":[]}
1
+ {"version":3,"names":["_RequestConfigBuilder","require","SearchManager","constructor","browserManager","search","params","searchRoute","configuration","routes","find","r","path","results","searchCallback","searchConfig","searchQueryParams","q","query","mode","reference","genre","artist","album","title","playlist","fetchSearchResults","request","requestConfig","artwork","artworkConfig","Promise","all","map","track","artworkSource","RequestConfigBuilder","resolveArtworkSourceAsync","exports"],"sourceRoot":"../../../../src","sources":["web/browser/SearchManager.ts"],"mappings":";;;;;;AAEA,IAAAA,qBAAA,GAAAC,OAAA;AAEA;AACA;AACA;AACA;AACA;AACO,MAAMC,aAAa,CAAC;EACzBC,WAAWA,CAASC,cAA8B,EAAE;IAAA,KAAhCA,cAA8B,GAA9BA,cAA8B;EAAG;;EAErD;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACE,MAAMC,MAAMA,CAACC,MAAoB,EAAoB;IACnD;IACA,MAAMC,WAAW,GAAG,IAAI,CAACH,cAAc,CAACI,aAAa,CAACC,MAAM,EAAEC,IAAI,CAC/DC,CAAC,IAAKA,CAAC,CAACC,IAAI,KAAK,YACpB,CAAC;IACD,IAAI,CAACL,WAAW,EAAE;MAChB,OAAO,EAAE;IACX;IAEA,IAAIM,OAAgB,GAAG,EAAE;;IAEzB;IACA,IAAIN,WAAW,CAACO,cAAc,EAAE;MAC9BD,OAAO,GAAG,MAAMN,WAAW,CAACO,cAAc,CAACR,MAAM,CAAC;IACpD;IACA;IAAA,KACK,IAAIC,WAAW,CAACQ,YAAY,EAAE;MACjC;MACA,MAAMC,iBAAyC,GAAG;QAChDC,CAAC,EAAEX,MAAM,CAACY;MACZ,CAAC;MACD,IAAIZ,MAAM,CAACa,IAAI,EAAEH,iBAAiB,CAACG,IAAI,GAAGb,MAAM,CAACa,IAAI;MACrD,IAAIb,MAAM,CAACc,SAAS,KAAK,IAAI,EAAEJ,iBAAiB,CAACI,SAAS,GAAG,IAAI;MACjE,IAAId,MAAM,CAACe,KAAK,EAAEL,iBAAiB,CAACK,KAAK,GAAGf,MAAM,CAACe,KAAK;MACxD,IAAIf,MAAM,CAACgB,MAAM,EAAEN,iBAAiB,CAACM,MAAM,GAAGhB,MAAM,CAACgB,MAAM;MAC3D,IAAIhB,MAAM,CAACiB,KAAK,EAAEP,iBAAiB,CAACO,KAAK,GAAGjB,MAAM,CAACiB,KAAK;MACxD,IAAIjB,MAAM,CAACkB,KAAK,EAAER,iBAAiB,CAACQ,KAAK,GAAGlB,MAAM,CAACkB,KAAK;MACxD,IAAIlB,MAAM,CAACmB,QAAQ,EAAET,iBAAiB,CAACS,QAAQ,GAAGnB,MAAM,CAACmB,QAAQ;;MAEjE;MACA;MACAZ,OAAO,GAAG,MAAM,IAAI,CAACT,cAAc,CAACsB,kBAAkB,CACpDnB,WAAW,CAACQ,YAAY,EACxBC,iBACF,CAAC;IACH;;IAEA;IACA;IACA;IACA,MAAM;MAAEW,OAAO,EAAEC,aAAa;MAAEC,OAAO,EAAEC;IAAc,CAAC,GACtD,IAAI,CAAC1B,cAAc,CAACI,aAAa;IACnCK,OAAO,GAAG,MAAMkB,OAAO,CAACC,GAAG,CACzBnB,OAAO,CAACoB,GAAG,CAAC,MAAOC,KAAK,IAAK;MAC3B,MAAMC,aAAa,GACjB,MAAMC,0CAAoB,CAACC,yBAAyB,CAClDH,KAAK,EACLN,aAAa,EACbE,aACF,CAAC;MACH,IAAIK,aAAa,IAAI,CAACD,KAAK,CAACC,aAAa,EAAE;QACzC,OAAO;UAAE,GAAGD,KAAK;UAAEC;QAAc,CAAC;MACpC;MACA,OAAOD,KAAK;IACd,CAAC,CACH,CAAC;IAED,OAAOrB,OAAO;EAChB;AACF;AAACyB,OAAA,CAAApC,aAAA,GAAAA,aAAA","ignoreList":[]}
@@ -44,6 +44,11 @@ function applyImageQueryParams(config, imgParams, context) {
44
44
  };
45
45
  }
46
46
 
47
+ /** Whether `after` carries a header `before` had not already set identically. */
48
+ function addsHeaders(before, after) {
49
+ if (!after) return false;
50
+ return Object.entries(after).some(([key, value]) => before?.[key] !== value);
51
+ }
47
52
  /**
48
53
  * Builds and merges request configurations.
49
54
  * Mirrors Android's RequestConfigBuilder.kt
@@ -84,7 +89,9 @@ const RequestConfigBuilder = exports.RequestConfigBuilder = {
84
89
  * A layer with a transform wins completely — it receives the base (plus route
85
90
  * params) and its result replaces the base; the layer's own static fields are
86
91
  * ignored. A layer without a transform merges its static fields over the base.
87
- * `path` is carried from the base — only a transform may change it.
92
+ * `path` is carried from the base — only a transform may change it. A
93
+ * throwing transform falls back to the base, so the layer is skipped and the
94
+ * ladder continues.
88
95
  *
89
96
  * Mirrors native's BrowserManager.applyLayer so web resolves the shared
90
97
  * `request` → `<kind>` → route chain identically across platforms.
@@ -95,10 +102,21 @@ const RequestConfigBuilder = exports.RequestConfigBuilder = {
95
102
  // its result replaces it. When both are set they run as a pipeline — async
96
103
  // first, then sync (mirrors native applyLayer).
97
104
  if (layer.transform || layer.transformSync) {
98
- let cfg = base;
99
- if (layer.transform) cfg = await layer.transform(cfg, params);
100
- if (layer.transformSync) cfg = layer.transformSync(cfg, params);
101
- return cfg;
105
+ try {
106
+ let cfg = base;
107
+ if (layer.transform) cfg = await layer.transform(cfg, params);
108
+ if (layer.transformSync) cfg = layer.transformSync(cfg, params);
109
+ return cfg;
110
+ } catch (e) {
111
+ // A throwing transform costs its own layer, not the ladder: the layers
112
+ // under it stand, so a relative path still gets the shared `baseUrl`
113
+ // and a media request keeps the shared credential. One catch around
114
+ // the pair, as native has it, so a sync stage that throws after a
115
+ // successful async one also falls back to the layer's input rather
116
+ // than to a half-applied config.
117
+ console.error('Failed to apply transform function, using base config', e);
118
+ return base;
119
+ }
102
120
  }
103
121
  return {
104
122
  method: layer.method ?? base.method,
@@ -141,31 +159,103 @@ const RequestConfigBuilder = exports.RequestConfigBuilder = {
141
159
  };
142
160
  },
143
161
  /**
144
- * Resolves a media URL using the media configuration.
145
- * Creates a RequestConfig with the track's src as the path, then builds the URL.
146
- * Supports the transform callback for URL manipulation.
162
+ * Resolves a media request from the layered configuration, returning the
163
+ * whole request rather than just its URL.
164
+ *
165
+ * The layers resolve headers (and a user agent) alongside the URL, and the
166
+ * media request needs all of them: native applies them to the AVURLAsset /
167
+ * ExoPlayer DataSpec, so web has to apply them to Shaka's requests or the
168
+ * same configuration authenticates on iOS and Android but 401s here.
147
169
  *
148
- * The shared `request` layer is applied first (its transform runs for media
149
- * too, per the documented contract — e.g. a dynamic baseUrl), then the media
150
- * transform / static fields on top. Mirrors native's resolveMediaUrl,
151
- * including its best-effort behaviour: if a transform throws, fall back to the
152
- * original `src` rather than failing the load.
170
+ * The resolved URL is returned in `path`, with `baseUrl` already folded into
171
+ * it. Best-effort throughout, but at two levels: a throwing transform or
172
+ * resolver costs only its own layer (see {@link applyLayer}), and the catch
173
+ * here is the backstop for anything left — a malformed `baseUrl` reaching
174
+ * `buildUrl`, say — which falls back to the bare `src`.
175
+ *
176
+ * The chain is `request` → `media` → `media.resolve(track)`, matching
177
+ * native's. See {@link applyMediaResolve} for why the per-track resolver goes
178
+ * last.
153
179
  *
154
180
  * @param src The track's src value (may be relative or absolute)
155
181
  * @param requestConfig The shared request configuration (applied first)
156
182
  * @param mediaConfig The media request configuration
157
- * @returns The resolved absolute URL
183
+ * @param track The track being loaded, for `media.resolve`; without it the
184
+ * per-track layer is skipped and the static layers stand
185
+ * @returns The resolved request, its URL in `path`
158
186
  */
159
- async resolveMediaUrl(src, requestConfig, mediaConfig) {
187
+ async resolveMediaRequest(src, requestConfig, mediaConfig, track) {
160
188
  try {
161
- const config = await this.applyLayers({
189
+ // The layers are applied one at a time rather than through `applyLayers`
190
+ // so the media layer's own header contribution stays visible; each
191
+ // transform still runs exactly once.
192
+ const shared = await this.applyLayer({
162
193
  path: src
163
- }, [requestConfig, mediaConfig]);
164
- return _BrowserPathHelper.BrowserPathHelper.buildUrl(config.baseUrl, config.path ?? src);
194
+ }, requestConfig);
195
+ const layered = await this.applyLayer(shared, mediaConfig);
196
+ const config = await this.applyMediaResolve(layered, mediaConfig, track);
197
+ // buildUrl folds in baseUrl *and* appends `query`; both are cleared on
198
+ // the way out so the resolved url can't be rebuilt and double-applied.
199
+ return {
200
+ ...config,
201
+ baseUrl: undefined,
202
+ query: undefined,
203
+ path: this.buildUrl({
204
+ ...config,
205
+ path: config.path ?? src
206
+ }),
207
+ mediaLayerHeaders: addsHeaders(shared.headers, config.headers)
208
+ };
165
209
  } catch (e) {
166
210
  console.error('Failed to resolve media URL, using original src', e);
167
- return _BrowserPathHelper.BrowserPathHelper.buildUrl(undefined, src);
211
+ return {
212
+ path: _BrowserPathHelper.BrowserPathHelper.buildUrl(undefined, src),
213
+ mediaLayerHeaders: false
214
+ };
215
+ }
216
+ },
217
+ /**
218
+ * Applies `media.resolve(track)` / `media.resolveSync(track)` as the final,
219
+ * most-specific layer over an already request+media-layered config. A no-op
220
+ * without a track or a resolver, so the layers stand on their own.
221
+ *
222
+ * Last, not first: native runs the media layer's transform and then lets the
223
+ * per-track resolver win over the result (Android `applyMediaResolve`, iOS
224
+ * `applyMediaResolveLayer`), so a resolver minting a signed URL is not
225
+ * overwritten by the static layer that shaped the unsigned one. Override-wins
226
+ * on every field, `path` included — replacing the URL outright is the point.
227
+ *
228
+ * A throwing resolver falls back to the layered config, as native does: the
229
+ * per-track shaping is lost, the layers under it are not.
230
+ */
231
+ async applyMediaResolve(layered, mediaConfig, track) {
232
+ if (!track || !mediaConfig) return layered;
233
+ if (!mediaConfig.resolve && !mediaConfig.resolveSync) return layered;
234
+ try {
235
+ const resolved = await this.composeResolved(mediaConfig, track);
236
+ return resolved ? this.mergeConfig(layered, resolved) : layered;
237
+ } catch (e) {
238
+ console.error('Failed to apply media.resolve, using layered config', e);
239
+ return layered;
240
+ }
241
+ },
242
+ /**
243
+ * Runs a config's per-track resolvers and composes their output: async
244
+ * `resolve` first, then `resolveSync` merged over it, sync winning.
245
+ * `undefined` when neither is set or neither produced a config.
246
+ *
247
+ * Media and artwork share the pairing, so it lives here rather than in both
248
+ * — the same reason native has `composeResolved`. Errors are the callers' to
249
+ * handle: the two paths differ on what a throwing resolver costs.
250
+ */
251
+ async composeResolved(config, track) {
252
+ let resolved;
253
+ if (config.resolve) resolved = await config.resolve(track);
254
+ if (config.resolveSync) {
255
+ const sync = config.resolveSync(track);
256
+ resolved = resolved ? this.mergeConfig(resolved, sync) : sync;
168
257
  }
258
+ return resolved;
169
259
  },
170
260
  /**
171
261
  * Resolves an artwork URL and creates an ImageSource.
@@ -249,14 +339,7 @@ const RequestConfigBuilder = exports.RequestConfigBuilder = {
249
339
 
250
340
  // Step 1: Per-track resolution — async `resolve` first, then `resolveSync`
251
341
  // merged over it (mirrors native).
252
- let resolvedConfig;
253
- if (artworkConfig.resolve) {
254
- resolvedConfig = await artworkConfig.resolve(track);
255
- }
256
- if (artworkConfig.resolveSync) {
257
- const r = artworkConfig.resolveSync(track);
258
- resolvedConfig = resolvedConfig ? this.mergeConfig(resolvedConfig, r) : r;
259
- }
342
+ const resolvedConfig = await this.composeResolved(artworkConfig, track);
260
343
  // If a resolver ran but produced nothing and there's no artwork URL, no artwork
261
344
  if ((artworkConfig.resolve || artworkConfig.resolveSync) && !resolvedConfig && artworkUrl === undefined) {
262
345
  return undefined;
@@ -1 +1 @@
1
- {"version":3,"names":["_artwork","require","_BrowserPathHelper","appendQueryParams","url","query","Object","keys","length","params","URLSearchParams","key","value","entries","undefined","append","String","queryString","toString","separator","includes","applyImageQueryParams","config","imgParams","context","width","height","RequestConfigBuilder","exports","buildUrl","path","baseUrl","BrowserPathHelper","mergeConfig","base","override","method","headers","mergeHeaders","mergeQuery","body","contentType","userAgent","applyLayer","layer","transform","transformSync","cfg","applyLayers","layers","merged","toRequestConfig","resolveMediaUrl","src","requestConfig","mediaConfig","e","console","error","resolveArtworkSource","artworkUrl","artworkConfig","resolvedUri","uri","resolveArtworkSourceAsync","track","imageContext","resolveArtworkUrl","artwork","baseConfig","resolvedConfig","resolve","resolveSync","r","mergedConfig","imageQueryParams","request","finalUri","transformTrackArtwork","artworkSource"],"sourceRoot":"../../../../src","sources":["web/http/RequestConfigBuilder.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_artwork","require","_BrowserPathHelper","appendQueryParams","url","query","Object","keys","length","params","URLSearchParams","key","value","entries","undefined","append","String","queryString","toString","separator","includes","applyImageQueryParams","config","imgParams","context","width","height","addsHeaders","before","after","some","RequestConfigBuilder","exports","buildUrl","path","baseUrl","BrowserPathHelper","mergeConfig","base","override","method","headers","mergeHeaders","mergeQuery","body","contentType","userAgent","applyLayer","layer","transform","transformSync","cfg","e","console","error","applyLayers","layers","merged","toRequestConfig","resolveMediaRequest","src","requestConfig","mediaConfig","track","shared","layered","applyMediaResolve","mediaLayerHeaders","resolve","resolveSync","resolved","composeResolved","sync","resolveArtworkSource","artworkUrl","artworkConfig","resolvedUri","uri","resolveArtworkSourceAsync","imageContext","resolveArtworkUrl","artwork","baseConfig","resolvedConfig","mergedConfig","imageQueryParams","request","finalUri","transformTrackArtwork","artworkSource"],"sourceRoot":"../../../../src","sources":["web/http/RequestConfigBuilder.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,219 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.followMediaRedirect = followMediaRedirect;
7
+ /**
8
+ * Resolves a media URL that is authenticated by a header.
9
+ *
10
+ * Shaka only routes manifest requests through its networking engine, where a
11
+ * request filter can attach headers. A progressive file is played by assigning
12
+ * `mediaElement.src`, and a media element cannot send custom headers — so such
13
+ * a URL is unplayable that way. Following the redirect here yields the signed,
14
+ * public URL these endpoints hand back, which needs no auth of its own.
15
+ *
16
+ * Best effort and bounded: anything that fails — including taking too long, see
17
+ * {@link PROBE_TIMEOUT_MS} — falls back to the original URL, so the load fails
18
+ * or succeeds on its own terms rather than ours. It must never be the reason a
19
+ * load hangs: `load()` awaits this before Shaka sees the URL at all.
20
+ *
21
+ * Gated, because the probe is not free: a HEAD at a third-party stream host
22
+ * costs a CORS preflight, and most will refuse it, so an app that never
23
+ * authenticates its media would pay a round trip on every play for a result it
24
+ * always discards. It runs only for headers that look like media credentials
25
+ * ({@link isMediaAuth}), on media a media element actually has to play
26
+ * ({@link isManifestUrl}), and never on a URL the browser resolves locally.
27
+ */
28
+
29
+ /** URLs the browser resolves locally; there is no redirect to follow. */
30
+ const isLocalUrl = url => /^(file|blob|data|mediasource):/i.test(url);
31
+
32
+ /**
33
+ * Extensions Shaka types as a manifest, from its own `EXTENSIONS_TO_MIME_TYPES_`
34
+ * map: HLS, DASH and Smooth Streaming.
35
+ */
36
+ const MANIFEST_EXTENSIONS = new Set(['m3u8', 'mpd', 'ism']);
37
+
38
+ /**
39
+ * Whether Shaka will parse this as a manifest rather than hand it to the media
40
+ * element — in which case the probe has nothing to offer and something to cost.
41
+ *
42
+ * A manifest goes through Shaka's networking engine, where the request filter
43
+ * attaches the headers to the manifest, its segments and any key requests. The
44
+ * probe cannot improve on that, and it actively breaks it: on a cross-origin
45
+ * redirect the probe clears the headers, so the segments that Android still
46
+ * authenticates would go out bare and 401. So this is a correctness fix as much
47
+ * as it is one fewer round trip.
48
+ *
49
+ * Extension-based, and therefore partial — Shaka guesses the same way
50
+ * (`NetworkingUtils.getExtension`), but plenty of HLS endpoints have no
51
+ * extension at all. Those still get probed, which is the status quo rather than
52
+ * a regression. Nothing on `Track` carries a MIME type to do better with.
53
+ */
54
+ const isManifestUrl = url => {
55
+ const path = url.split(/[?#]/)[0] ?? '';
56
+ const filename = path.slice(path.lastIndexOf('/') + 1);
57
+ const pieces = filename.split('.');
58
+ return pieces.length > 1 && MANIFEST_EXTENSIONS.has(pieces[pieces.length - 1].toLowerCase());
59
+ };
60
+ /**
61
+ * How long the probe may take before the original URL is played instead.
62
+ *
63
+ * The same 8s the Android media client allows a connect or a read
64
+ * (`MediaFactory.mediaHttpClient`), which is generous for a HEAD but errs the
65
+ * safe way: a slow-but-working auth endpoint should not be abandoned, since
66
+ * giving up means playing a URL that will 401.
67
+ */
68
+ const PROBE_TIMEOUT_MS = 8_000;
69
+
70
+ /**
71
+ * `AbortSignal.timeout` where it exists (Safari 16+, Chrome 103+, Node 17.3+),
72
+ * else a hand-rolled equivalent, else nothing — an environment with neither
73
+ * still gets the deadline below, just without cancelling the request.
74
+ */
75
+ const timeoutSignal = ms => {
76
+ if (typeof AbortSignal === 'undefined') return undefined;
77
+ if (typeof AbortSignal.timeout === 'function') return AbortSignal.timeout(ms);
78
+ if (typeof AbortController === 'undefined') return undefined;
79
+ const controller = new AbortController();
80
+ setTimeout(() => controller.abort(), ms);
81
+ return controller.signal;
82
+ };
83
+
84
+ /**
85
+ * The probe, with a deadline. `load()` awaits this before Shaka is asked to
86
+ * play anything, so an unreachable host would otherwise stall the load
87
+ * indefinitely — no audio, and no error to show for it.
88
+ *
89
+ * Two mechanisms, each with its own job: the signal cancels the request, so a
90
+ * dead host does not hold a connection open behind us, and the race bounds *us*
91
+ * even where the fetch implementation ignores the signal. Whichever fires, the
92
+ * caller treats it as any other probe failure and plays the original URL.
93
+ */
94
+ const fetchWithDeadline = async (doFetch, url, headers, timeoutMs) => {
95
+ let timer;
96
+ try {
97
+ return await Promise.race([doFetch(url, {
98
+ method: 'HEAD',
99
+ headers,
100
+ redirect: 'follow',
101
+ signal: timeoutSignal(timeoutMs)
102
+ }), new Promise((_resolve, reject) => {
103
+ timer = setTimeout(() => reject(new Error(`Media redirect probe timed out (${timeoutMs}ms)`)), timeoutMs);
104
+ })]);
105
+ } finally {
106
+ if (timer !== undefined) clearTimeout(timer);
107
+ }
108
+ };
109
+
110
+ /**
111
+ * Whether these headers look like a media credential — the only thing the
112
+ * probe can fix, and the only thing worth a preflight.
113
+ *
114
+ * A header the `media` layer set is media-specific by construction. Otherwise
115
+ * only `Authorization` counts: an app authenticating one API for browse and
116
+ * media alike puts it on the shared `request` layer, and that is the common
117
+ * shape. Shared plumbing that also rides browse requests — an `X-Client-Version`
118
+ * — is not a credential and must not trigger the probe.
119
+ *
120
+ * The residual case is a shared layer carrying a custom auth header, say
121
+ * `X-Api-Key`, for media that needs it: move it to the `media` layer and the
122
+ * probe runs.
123
+ */
124
+ const isMediaAuth = (headers, mediaLayerHeaders) => mediaLayerHeaders || Object.keys(headers).some(key => key.toLowerCase() === 'authorization');
125
+ /**
126
+ * Origin of an http(s) URL, or undefined when it cannot be determined.
127
+ *
128
+ * Relative URLs are resolved against the document, because that is what the
129
+ * probe's own `fetch` does — a `src` of `/api/authed/7` is a request to the
130
+ * page's origin, so the credential went there. Without this a relative `src`
131
+ * has no origin, never matches the absolute URL the response reports, and the
132
+ * headers are dropped from every load that uses one.
133
+ *
134
+ * Parsed rather than pattern-matched so the comparison normalizes the way
135
+ * Android's `CrossOriginHeaderStripper.sameOrigin` does: `URL.host` omits a
136
+ * default port, so `https://a.com` and `https://a.com:443` are one origin, and
137
+ * it excludes userinfo, so `https://user@a.com` is not a third.
138
+ */
139
+ const originOf = url => {
140
+ try {
141
+ const base = typeof location === 'undefined' ? undefined : location.href;
142
+ const {
143
+ protocol,
144
+ host
145
+ } = new URL(url, base);
146
+ if (protocol !== 'http:' && protocol !== 'https:') return undefined;
147
+ return `${protocol}//${host}`;
148
+ } catch {
149
+ return undefined;
150
+ }
151
+ };
152
+
153
+ /**
154
+ * Whether the redirect left the origin the credential was addressed to.
155
+ *
156
+ * Only when both origins are known and differ. An origin we could not work out
157
+ * — a relative URL with no document base, outside a browser — is not evidence
158
+ * of a hop, and treating it as one is how the headers went missing before.
159
+ */
160
+ const leftTheOrigin = (from, to) => {
161
+ const origin = originOf(from);
162
+ return origin !== undefined && originOf(to) !== origin;
163
+ };
164
+ async function followMediaRedirect(url, headers, {
165
+ fetchImpl,
166
+ mediaLayerHeaders = false,
167
+ timeoutMs = PROBE_TIMEOUT_MS
168
+ } = {}) {
169
+ if (!headers || Object.keys(headers).length === 0) return {
170
+ src: url,
171
+ headers
172
+ };
173
+ if (!isMediaAuth(headers, mediaLayerHeaders)) return {
174
+ src: url,
175
+ headers
176
+ };
177
+ if (isManifestUrl(url)) return {
178
+ src: url,
179
+ headers
180
+ };
181
+ if (isLocalUrl(url)) return {
182
+ src: url,
183
+ headers
184
+ };
185
+ const doFetch = fetchImpl ?? globalThis.fetch;
186
+ if (typeof doFetch !== 'function') return {
187
+ src: url,
188
+ headers
189
+ };
190
+ try {
191
+ // HEAD walks the chain without tripping download counting, which keys off
192
+ // ranged GETs. Deadlined, because the load waits on it.
193
+ const response = await fetchWithDeadline(doFetch, url, headers, timeoutMs);
194
+ const src = response.url || url;
195
+
196
+ // The status belongs to the *last* hop, so it only speaks for the
197
+ // authenticating endpoint when there was no redirect. Once one has
198
+ // happened, hop one authenticated and handed us its target, and a refusal
199
+ // past that is routinely about the method rather than the credential:
200
+ // presigned S3 and GCS URLs sign it — SigV4's canonical request opens with
201
+ // HTTPMethod, GCS V4's with HTTP_VERB — so a URL signed for GET answers a
202
+ // HEAD with 403. Keep the signed URL, which is the whole point of the walk,
203
+ // and let a real error surface through the player.
204
+ if (!response.ok && src === url) return {
205
+ src: url,
206
+ headers
207
+ };
208
+ return {
209
+ src,
210
+ headers: leftTheOrigin(url, src) ? undefined : headers
211
+ };
212
+ } catch {
213
+ return {
214
+ src: url,
215
+ headers
216
+ };
217
+ }
218
+ }
219
+ //# sourceMappingURL=followMediaRedirect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["isLocalUrl","url","test","MANIFEST_EXTENSIONS","Set","isManifestUrl","path","split","filename","slice","lastIndexOf","pieces","length","has","toLowerCase","PROBE_TIMEOUT_MS","timeoutSignal","ms","AbortSignal","undefined","timeout","AbortController","controller","setTimeout","abort","signal","fetchWithDeadline","doFetch","headers","timeoutMs","timer","Promise","race","method","redirect","_resolve","reject","Error","clearTimeout","isMediaAuth","mediaLayerHeaders","Object","keys","some","key","originOf","base","location","href","protocol","host","URL","leftTheOrigin","from","to","origin","followMediaRedirect","fetchImpl","src","globalThis","fetch","response","ok"],"sourceRoot":"../../../../src","sources":["web/http/followMediaRedirect.ts"],"mappings":"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","ignoreList":[]}