prismcast 1.10.2 → 1.11.0

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 (693) hide show
  1. package/dist/app.d.ts +6 -3
  2. package/dist/app.d.ts.map +1 -0
  3. package/dist/app.js +140 -86
  4. package/dist/app.js.map +1 -1
  5. package/dist/browser/blockedPage.d.ts +80 -0
  6. package/dist/browser/blockedPage.d.ts.map +1 -0
  7. package/dist/browser/blockedPage.js +209 -0
  8. package/dist/browser/blockedPage.js.map +1 -0
  9. package/dist/browser/browserSupervisor.d.ts +80 -0
  10. package/dist/browser/browserSupervisor.d.ts.map +1 -0
  11. package/dist/browser/browserSupervisor.js +186 -0
  12. package/dist/browser/browserSupervisor.js.map +1 -0
  13. package/dist/browser/cdp.d.ts +1 -0
  14. package/dist/browser/cdp.d.ts.map +1 -0
  15. package/dist/browser/cdp.js +6 -5
  16. package/dist/browser/cdp.js.map +1 -1
  17. package/dist/browser/channelSelection.d.ts +45 -14
  18. package/dist/browser/channelSelection.d.ts.map +1 -0
  19. package/dist/browser/channelSelection.js +81 -18
  20. package/dist/browser/channelSelection.js.map +1 -1
  21. package/dist/browser/consent.d.ts +152 -0
  22. package/dist/browser/consent.d.ts.map +1 -0
  23. package/dist/browser/consent.js +418 -0
  24. package/dist/browser/consent.js.map +1 -0
  25. package/dist/browser/display.d.ts +1 -0
  26. package/dist/browser/display.d.ts.map +1 -0
  27. package/dist/browser/hlsPlaylistObserver.d.ts +55 -0
  28. package/dist/browser/hlsPlaylistObserver.d.ts.map +1 -0
  29. package/dist/browser/hlsPlaylistObserver.js +132 -0
  30. package/dist/browser/hlsPlaylistObserver.js.map +1 -0
  31. package/dist/browser/index.d.ts +67 -40
  32. package/dist/browser/index.d.ts.map +1 -0
  33. package/dist/browser/index.js +508 -300
  34. package/dist/browser/index.js.map +1 -1
  35. package/dist/browser/launchGovernor.d.ts +89 -0
  36. package/dist/browser/launchGovernor.d.ts.map +1 -0
  37. package/dist/browser/launchGovernor.js +96 -0
  38. package/dist/browser/launchGovernor.js.map +1 -0
  39. package/dist/browser/login.d.ts +10 -2
  40. package/dist/browser/login.d.ts.map +1 -0
  41. package/dist/browser/login.js +36 -5
  42. package/dist/browser/login.js.map +1 -1
  43. package/dist/browser/manifestInterceptor.d.ts +102 -49
  44. package/dist/browser/manifestInterceptor.d.ts.map +1 -0
  45. package/dist/browser/manifestInterceptor.js +219 -237
  46. package/dist/browser/manifestInterceptor.js.map +1 -1
  47. package/dist/browser/pageStaleness.d.ts +30 -0
  48. package/dist/browser/pageStaleness.d.ts.map +1 -0
  49. package/dist/browser/pageStaleness.js +76 -0
  50. package/dist/browser/pageStaleness.js.map +1 -0
  51. package/dist/browser/precaching.d.ts +95 -3
  52. package/dist/browser/precaching.d.ts.map +1 -0
  53. package/dist/browser/precaching.js +499 -65
  54. package/dist/browser/precaching.js.map +1 -1
  55. package/dist/browser/tabNetworkObserver.d.ts +49 -0
  56. package/dist/browser/tabNetworkObserver.d.ts.map +1 -0
  57. package/dist/browser/tabNetworkObserver.js +144 -0
  58. package/dist/browser/tabNetworkObserver.js.map +1 -0
  59. package/dist/browser/tuning/cache.d.ts +61 -0
  60. package/dist/browser/tuning/cache.d.ts.map +1 -0
  61. package/dist/browser/tuning/cache.js +62 -0
  62. package/dist/browser/tuning/cache.js.map +1 -0
  63. package/dist/browser/tuning/comcastPolymer.d.ts +3 -2
  64. package/dist/browser/tuning/comcastPolymer.d.ts.map +1 -0
  65. package/dist/browser/tuning/comcastPolymer.js +79 -102
  66. package/dist/browser/tuning/comcastPolymer.js.map +1 -1
  67. package/dist/browser/tuning/cox.d.ts +1 -0
  68. package/dist/browser/tuning/cox.d.ts.map +1 -0
  69. package/dist/browser/tuning/directv.d.ts +1 -0
  70. package/dist/browser/tuning/directv.d.ts.map +1 -0
  71. package/dist/browser/tuning/directv.js +52 -46
  72. package/dist/browser/tuning/directv.js.map +1 -1
  73. package/dist/browser/tuning/fox.d.ts +1 -0
  74. package/dist/browser/tuning/fox.d.ts.map +1 -0
  75. package/dist/browser/tuning/fox.js +13 -12
  76. package/dist/browser/tuning/fox.js.map +1 -1
  77. package/dist/browser/tuning/gridSearch.d.ts +68 -0
  78. package/dist/browser/tuning/gridSearch.d.ts.map +1 -0
  79. package/dist/browser/tuning/gridSearch.js +85 -0
  80. package/dist/browser/tuning/gridSearch.js.map +1 -0
  81. package/dist/browser/tuning/hbo.d.ts +1 -0
  82. package/dist/browser/tuning/hbo.d.ts.map +1 -0
  83. package/dist/browser/tuning/hbo.js +73 -45
  84. package/dist/browser/tuning/hbo.js.map +1 -1
  85. package/dist/browser/tuning/hulu.d.ts +1 -0
  86. package/dist/browser/tuning/hulu.d.ts.map +1 -0
  87. package/dist/browser/tuning/hulu.js +128 -173
  88. package/dist/browser/tuning/hulu.js.map +1 -1
  89. package/dist/browser/tuning/shared.d.ts +75 -5
  90. package/dist/browser/tuning/shared.d.ts.map +1 -0
  91. package/dist/browser/tuning/shared.js +216 -6
  92. package/dist/browser/tuning/shared.js.map +1 -1
  93. package/dist/browser/tuning/sling.d.ts +1 -0
  94. package/dist/browser/tuning/sling.d.ts.map +1 -0
  95. package/dist/browser/tuning/sling.js +105 -126
  96. package/dist/browser/tuning/sling.js.map +1 -1
  97. package/dist/browser/tuning/spectrum.d.ts +1 -0
  98. package/dist/browser/tuning/spectrum.d.ts.map +1 -0
  99. package/dist/browser/tuning/spectrum.js +80 -125
  100. package/dist/browser/tuning/spectrum.js.map +1 -1
  101. package/dist/browser/tuning/thumbnailRow.d.ts +1 -0
  102. package/dist/browser/tuning/thumbnailRow.d.ts.map +1 -0
  103. package/dist/browser/tuning/thumbnailRow.js +8 -2
  104. package/dist/browser/tuning/thumbnailRow.js.map +1 -1
  105. package/dist/browser/tuning/tileClick.d.ts +1 -0
  106. package/dist/browser/tuning/tileClick.d.ts.map +1 -0
  107. package/dist/browser/tuning/tileClick.js +3 -2
  108. package/dist/browser/tuning/tileClick.js.map +1 -1
  109. package/dist/browser/tuning/xfinity.d.ts +1 -0
  110. package/dist/browser/tuning/xfinity.d.ts.map +1 -0
  111. package/dist/browser/tuning/youtubeTv.d.ts +1 -0
  112. package/dist/browser/tuning/youtubeTv.d.ts.map +1 -0
  113. package/dist/browser/tuning/youtubeTv.js +74 -127
  114. package/dist/browser/tuning/youtubeTv.js.map +1 -1
  115. package/dist/browser/video.d.ts +54 -14
  116. package/dist/browser/video.d.ts.map +1 -0
  117. package/dist/browser/video.js +296 -138
  118. package/dist/browser/video.js.map +1 -1
  119. package/dist/channels/index.d.ts +1 -0
  120. package/dist/channels/index.d.ts.map +1 -0
  121. package/dist/channels/index.js +12 -9
  122. package/dist/channels/index.js.map +1 -1
  123. package/dist/config/channelForm.d.ts +15 -1
  124. package/dist/config/channelForm.d.ts.map +1 -0
  125. package/dist/config/channelForm.js +28 -12
  126. package/dist/config/channelForm.js.map +1 -1
  127. package/dist/config/consistencyProbe.d.ts +1 -0
  128. package/dist/config/consistencyProbe.d.ts.map +1 -0
  129. package/dist/config/consistencyProbe.js +27 -21
  130. package/dist/config/consistencyProbe.js.map +1 -1
  131. package/dist/config/health.d.ts +41 -8
  132. package/dist/config/health.d.ts.map +1 -0
  133. package/dist/config/health.js +189 -38
  134. package/dist/config/health.js.map +1 -1
  135. package/dist/config/index.d.ts +55 -3
  136. package/dist/config/index.d.ts.map +1 -0
  137. package/dist/config/index.js +320 -69
  138. package/dist/config/index.js.map +1 -1
  139. package/dist/config/paths.d.ts +10 -9
  140. package/dist/config/paths.d.ts.map +1 -0
  141. package/dist/config/paths.js +11 -11
  142. package/dist/config/paths.js.map +1 -1
  143. package/dist/config/persistence.context.d.ts +1 -0
  144. package/dist/config/persistence.context.d.ts.map +1 -0
  145. package/dist/config/persistence.d.ts +13 -10
  146. package/dist/config/persistence.d.ts.map +1 -0
  147. package/dist/config/persistence.js +40 -21
  148. package/dist/config/persistence.js.map +1 -1
  149. package/dist/config/presets.d.ts +1 -0
  150. package/dist/config/presets.d.ts.map +1 -0
  151. package/dist/config/profiles.d.ts +22 -15
  152. package/dist/config/profiles.d.ts.map +1 -0
  153. package/dist/config/profiles.js +81 -47
  154. package/dist/config/profiles.js.map +1 -1
  155. package/dist/config/providerLineups.d.ts +47 -0
  156. package/dist/config/providerLineups.d.ts.map +1 -0
  157. package/dist/config/providerLineups.js +137 -0
  158. package/dist/config/providerLineups.js.map +1 -0
  159. package/dist/config/reactivity.d.ts +84 -0
  160. package/dist/config/reactivity.d.ts.map +1 -0
  161. package/dist/config/reactivity.js +226 -0
  162. package/dist/config/reactivity.js.map +1 -0
  163. package/dist/config/servicePacks.d.ts +18 -2
  164. package/dist/config/servicePacks.d.ts.map +1 -0
  165. package/dist/config/servicePacks.js +53 -11
  166. package/dist/config/servicePacks.js.map +1 -1
  167. package/dist/config/services.d.ts +21 -15
  168. package/dist/config/services.d.ts.map +1 -0
  169. package/dist/config/services.js +35 -24
  170. package/dist/config/services.js.map +1 -1
  171. package/dist/config/sites.d.ts +6 -4
  172. package/dist/config/sites.d.ts.map +1 -0
  173. package/dist/config/sites.js +15 -11
  174. package/dist/config/sites.js.map +1 -1
  175. package/dist/config/userChannels.d.ts +129 -30
  176. package/dist/config/userChannels.d.ts.map +1 -0
  177. package/dist/config/userChannels.js +333 -68
  178. package/dist/config/userChannels.js.map +1 -1
  179. package/dist/config/userConfig.d.ts +14 -9
  180. package/dist/config/userConfig.d.ts.map +1 -0
  181. package/dist/config/userConfig.js +87 -25
  182. package/dist/config/userConfig.js.map +1 -1
  183. package/dist/config/userProfiles.d.ts +10 -6
  184. package/dist/config/userProfiles.d.ts.map +1 -0
  185. package/dist/config/userProfiles.js +64 -39
  186. package/dist/config/userProfiles.js.map +1 -1
  187. package/dist/hdhr/channelMap.d.ts +1 -0
  188. package/dist/hdhr/channelMap.d.ts.map +1 -0
  189. package/dist/hdhr/deviceId.d.ts +1 -0
  190. package/dist/hdhr/deviceId.d.ts.map +1 -0
  191. package/dist/hdhr/discover.d.ts +1 -0
  192. package/dist/hdhr/discover.d.ts.map +1 -0
  193. package/dist/hdhr/discover.js +48 -47
  194. package/dist/hdhr/discover.js.map +1 -1
  195. package/dist/hdhr/getHandlers.d.ts +29 -0
  196. package/dist/hdhr/getHandlers.d.ts.map +1 -0
  197. package/dist/hdhr/getHandlers.js +196 -0
  198. package/dist/hdhr/getHandlers.js.map +1 -0
  199. package/dist/hdhr/identity.d.ts +36 -0
  200. package/dist/hdhr/identity.d.ts.map +1 -0
  201. package/dist/hdhr/identity.js +51 -0
  202. package/dist/hdhr/identity.js.map +1 -0
  203. package/dist/hdhr/index.d.ts +22 -4
  204. package/dist/hdhr/index.d.ts.map +1 -0
  205. package/dist/hdhr/index.js +229 -54
  206. package/dist/hdhr/index.js.map +1 -1
  207. package/dist/hdhr/protocol.d.ts +75 -0
  208. package/dist/hdhr/protocol.d.ts.map +1 -0
  209. package/dist/hdhr/protocol.js +264 -0
  210. package/dist/hdhr/protocol.js.map +1 -0
  211. package/dist/hdhr/tunerState.d.ts +24 -0
  212. package/dist/hdhr/tunerState.d.ts.map +1 -0
  213. package/dist/hdhr/tunerState.js +67 -0
  214. package/dist/hdhr/tunerState.js.map +1 -0
  215. package/dist/hdhr/udp.d.ts +43 -0
  216. package/dist/hdhr/udp.d.ts.map +1 -0
  217. package/dist/hdhr/udp.js +277 -0
  218. package/dist/hdhr/udp.js.map +1 -0
  219. package/dist/identity.d.ts +1 -0
  220. package/dist/identity.d.ts.map +1 -0
  221. package/dist/identity.js +13 -11
  222. package/dist/identity.js.map +1 -1
  223. package/dist/index.d.ts +1 -0
  224. package/dist/index.d.ts.map +1 -0
  225. package/dist/index.js +11 -12
  226. package/dist/index.js.map +1 -1
  227. package/dist/native/codecInference.d.ts +1 -0
  228. package/dist/native/codecInference.d.ts.map +1 -0
  229. package/dist/native/codecInference.js +50 -5
  230. package/dist/native/codecInference.js.map +1 -1
  231. package/dist/native/decrypt.d.ts +6 -2
  232. package/dist/native/decrypt.d.ts.map +1 -0
  233. package/dist/native/decrypt.js +15 -8
  234. package/dist/native/decrypt.js.map +1 -1
  235. package/dist/native/index.d.ts +40 -17
  236. package/dist/native/index.d.ts.map +1 -0
  237. package/dist/native/index.js +281 -120
  238. package/dist/native/index.js.map +1 -1
  239. package/dist/native/probe.d.ts +114 -18
  240. package/dist/native/probe.d.ts.map +1 -0
  241. package/dist/native/probe.js +452 -115
  242. package/dist/native/probe.js.map +1 -1
  243. package/dist/native/proxy.d.ts +57 -5
  244. package/dist/native/proxy.d.ts.map +1 -0
  245. package/dist/native/proxy.js +604 -170
  246. package/dist/native/proxy.js.map +1 -1
  247. package/dist/native/tokenExpiry.d.ts +1 -0
  248. package/dist/native/tokenExpiry.d.ts.map +1 -0
  249. package/dist/native/tokenExpiry.js +1 -1
  250. package/dist/routes/assets.d.ts +1 -0
  251. package/dist/routes/assets.d.ts.map +1 -0
  252. package/dist/routes/assets.js +4 -2
  253. package/dist/routes/assets.js.map +1 -1
  254. package/dist/routes/auth.d.ts +1 -0
  255. package/dist/routes/auth.d.ts.map +1 -0
  256. package/dist/routes/auth.js +0 -1
  257. package/dist/routes/auth.js.map +1 -1
  258. package/dist/routes/cdp.d.ts +5 -5
  259. package/dist/routes/cdp.d.ts.map +1 -0
  260. package/dist/routes/cdp.js +59 -20
  261. package/dist/routes/cdp.js.map +1 -1
  262. package/dist/routes/channels.d.ts +1 -0
  263. package/dist/routes/channels.d.ts.map +1 -0
  264. package/dist/routes/channels.js +2 -1
  265. package/dist/routes/channels.js.map +1 -1
  266. package/dist/routes/clientActions.d.ts +98 -0
  267. package/dist/routes/clientActions.d.ts.map +1 -0
  268. package/dist/routes/clientActions.js +113 -0
  269. package/dist/routes/clientActions.js.map +1 -0
  270. package/dist/routes/components.d.ts +5 -3
  271. package/dist/routes/components.d.ts.map +1 -0
  272. package/dist/routes/components.js +36 -39
  273. package/dist/routes/components.js.map +1 -1
  274. package/dist/routes/config/channels/endpoints/browse.d.ts +1 -0
  275. package/dist/routes/config/channels/endpoints/browse.d.ts.map +1 -0
  276. package/dist/routes/config/channels/endpoints/browse.js +23 -10
  277. package/dist/routes/config/channels/endpoints/browse.js.map +1 -1
  278. package/dist/routes/config/channels/endpoints/bulk.d.ts +1 -0
  279. package/dist/routes/config/channels/endpoints/bulk.d.ts.map +1 -0
  280. package/dist/routes/config/channels/endpoints/bulk.js +5 -3
  281. package/dist/routes/config/channels/endpoints/bulk.js.map +1 -1
  282. package/dist/routes/config/channels/endpoints/crud.d.ts +1 -0
  283. package/dist/routes/config/channels/endpoints/crud.d.ts.map +1 -0
  284. package/dist/routes/config/channels/endpoints/crud.js +85 -93
  285. package/dist/routes/config/channels/endpoints/crud.js.map +1 -1
  286. package/dist/routes/config/channels/endpoints/importExport.d.ts +1 -0
  287. package/dist/routes/config/channels/endpoints/importExport.d.ts.map +1 -0
  288. package/dist/routes/config/channels/endpoints/importExport.js +6 -3
  289. package/dist/routes/config/channels/endpoints/importExport.js.map +1 -1
  290. package/dist/routes/config/channels/endpoints/predefined.d.ts +1 -0
  291. package/dist/routes/config/channels/endpoints/predefined.d.ts.map +1 -0
  292. package/dist/routes/config/channels/endpoints/prefs.d.ts +1 -0
  293. package/dist/routes/config/channels/endpoints/prefs.d.ts.map +1 -0
  294. package/dist/routes/config/channels/endpoints/prefs.js +2 -1
  295. package/dist/routes/config/channels/endpoints/prefs.js.map +1 -1
  296. package/dist/routes/config/channels/endpoints/service.d.ts +2 -1
  297. package/dist/routes/config/channels/endpoints/service.d.ts.map +1 -0
  298. package/dist/routes/config/channels/endpoints/service.js +3 -1
  299. package/dist/routes/config/channels/endpoints/service.js.map +1 -1
  300. package/dist/routes/config/channels/endpoints/tags.d.ts +1 -0
  301. package/dist/routes/config/channels/endpoints/tags.d.ts.map +1 -0
  302. package/dist/routes/config/channels/endpoints/tags.js +13 -7
  303. package/dist/routes/config/channels/endpoints/tags.js.map +1 -1
  304. package/dist/routes/config/channels/healthBridge.d.ts +24 -0
  305. package/dist/routes/config/channels/healthBridge.d.ts.map +1 -0
  306. package/dist/routes/config/channels/healthBridge.js +71 -0
  307. package/dist/routes/config/channels/healthBridge.js.map +1 -0
  308. package/dist/routes/config/channels/http/handler.d.ts +1 -0
  309. package/dist/routes/config/channels/http/handler.d.ts.map +1 -0
  310. package/dist/routes/config/channels/http/playlistHint.d.ts +2 -1
  311. package/dist/routes/config/channels/http/playlistHint.d.ts.map +1 -0
  312. package/dist/routes/config/channels/http/playlistHint.js +16 -2
  313. package/dist/routes/config/channels/http/playlistHint.js.map +1 -1
  314. package/dist/routes/config/channels/http/serviceWarning.d.ts +4 -2
  315. package/dist/routes/config/channels/http/serviceWarning.d.ts.map +1 -0
  316. package/dist/routes/config/channels/http/serviceWarning.js +3 -2
  317. package/dist/routes/config/channels/http/serviceWarning.js.map +1 -1
  318. package/dist/routes/config/channels/index.d.ts +1 -0
  319. package/dist/routes/config/channels/index.d.ts.map +1 -0
  320. package/dist/routes/config/channels/setup.d.ts +1 -0
  321. package/dist/routes/config/channels/setup.d.ts.map +1 -0
  322. package/dist/routes/config/channels/table.d.ts +3 -3
  323. package/dist/routes/config/channels/table.d.ts.map +1 -0
  324. package/dist/routes/config/channels/table.js +148 -107
  325. package/dist/routes/config/channels/table.js.map +1 -1
  326. package/dist/routes/config/http/envelope.d.ts +1 -0
  327. package/dist/routes/config/http/envelope.d.ts.map +1 -0
  328. package/dist/routes/config/index.d.ts +35 -3
  329. package/dist/routes/config/index.d.ts.map +1 -0
  330. package/dist/routes/config/index.js +51 -2
  331. package/dist/routes/config/index.js.map +1 -1
  332. package/dist/routes/config/services.d.ts +5 -4
  333. package/dist/routes/config/services.d.ts.map +1 -0
  334. package/dist/routes/config/services.js +57 -43
  335. package/dist/routes/config/services.js.map +1 -1
  336. package/dist/routes/config/settings.d.ts +1 -0
  337. package/dist/routes/config/settings.d.ts.map +1 -0
  338. package/dist/routes/config/settings.js +98 -49
  339. package/dist/routes/config/settings.js.map +1 -1
  340. package/dist/routes/debug.d.ts +1 -0
  341. package/dist/routes/debug.d.ts.map +1 -0
  342. package/dist/routes/debug.js +277 -139
  343. package/dist/routes/debug.js.map +1 -1
  344. package/dist/routes/health.d.ts +39 -1
  345. package/dist/routes/health.d.ts.map +1 -0
  346. package/dist/routes/health.js +33 -27
  347. package/dist/routes/health.js.map +1 -1
  348. package/dist/routes/hls.d.ts +1 -0
  349. package/dist/routes/hls.d.ts.map +1 -0
  350. package/dist/routes/icons.d.ts +1 -0
  351. package/dist/routes/icons.d.ts.map +1 -0
  352. package/dist/routes/icons.js +1 -1
  353. package/dist/routes/index.d.ts +1 -0
  354. package/dist/routes/index.d.ts.map +1 -0
  355. package/dist/routes/logs.d.ts +1 -0
  356. package/dist/routes/logs.d.ts.map +1 -0
  357. package/dist/routes/logs.js +14 -4
  358. package/dist/routes/logs.js.map +1 -1
  359. package/dist/routes/mpegts.d.ts +1 -0
  360. package/dist/routes/mpegts.d.ts.map +1 -0
  361. package/dist/routes/play.d.ts +1 -0
  362. package/dist/routes/play.d.ts.map +1 -0
  363. package/dist/routes/playlist.d.ts +1 -0
  364. package/dist/routes/playlist.d.ts.map +1 -0
  365. package/dist/routes/playlist.js +7 -2
  366. package/dist/routes/playlist.js.map +1 -1
  367. package/dist/routes/root/content.d.ts +8 -5
  368. package/dist/routes/root/content.d.ts.map +1 -0
  369. package/dist/routes/root/content.js +29 -26
  370. package/dist/routes/root/content.js.map +1 -1
  371. package/dist/routes/root/index.d.ts +2 -1
  372. package/dist/routes/root/index.d.ts.map +1 -0
  373. package/dist/routes/root/index.js +26 -21
  374. package/dist/routes/root/index.js.map +1 -1
  375. package/dist/routes/root/scripts/channels.d.ts +6 -0
  376. package/dist/routes/root/scripts/channels.d.ts.map +1 -0
  377. package/dist/routes/root/scripts/channels.js +197 -118
  378. package/dist/routes/root/scripts/channels.js.map +1 -1
  379. package/dist/routes/root/scripts/clientEscape.d.ts +22 -0
  380. package/dist/routes/root/scripts/clientEscape.d.ts.map +1 -0
  381. package/dist/routes/root/scripts/clientEscape.js +41 -0
  382. package/dist/routes/root/scripts/clientEscape.js.map +1 -0
  383. package/dist/routes/root/scripts/clientUrl.d.ts +23 -0
  384. package/dist/routes/root/scripts/clientUrl.d.ts.map +1 -0
  385. package/dist/routes/root/scripts/clientUrl.js +44 -0
  386. package/dist/routes/root/scripts/clientUrl.js.map +1 -0
  387. package/dist/routes/root/scripts/config.d.ts +6 -0
  388. package/dist/routes/root/scripts/config.d.ts.map +1 -0
  389. package/dist/routes/root/scripts/config.js +110 -24
  390. package/dist/routes/root/scripts/config.js.map +1 -1
  391. package/dist/routes/root/scripts/index.d.ts +1 -0
  392. package/dist/routes/root/scripts/index.d.ts.map +1 -0
  393. package/dist/routes/root/scripts/shared.d.ts +1 -0
  394. package/dist/routes/root/scripts/shared.d.ts.map +1 -0
  395. package/dist/routes/root/scripts/shared.js +112 -26
  396. package/dist/routes/root/scripts/shared.js.map +1 -1
  397. package/dist/routes/root/scripts/status.d.ts +1 -0
  398. package/dist/routes/root/scripts/status.d.ts.map +1 -0
  399. package/dist/routes/root/scripts/status.handlers.d.ts +23 -33
  400. package/dist/routes/root/scripts/status.handlers.d.ts.map +1 -0
  401. package/dist/routes/root/scripts/status.handlers.js +46 -92
  402. package/dist/routes/root/scripts/status.handlers.js.map +1 -1
  403. package/dist/routes/root/scripts/status.js +21 -8
  404. package/dist/routes/root/scripts/status.js.map +1 -1
  405. package/dist/routes/root/styles.d.ts +1 -0
  406. package/dist/routes/root/styles.d.ts.map +1 -0
  407. package/dist/routes/root/styles.js +7 -4
  408. package/dist/routes/root/styles.js.map +1 -1
  409. package/dist/routes/services.d.ts +13 -1
  410. package/dist/routes/services.d.ts.map +1 -0
  411. package/dist/routes/services.js +81 -68
  412. package/dist/routes/services.js.map +1 -1
  413. package/dist/routes/sse.d.ts +1 -0
  414. package/dist/routes/sse.d.ts.map +1 -0
  415. package/dist/routes/sse.js +1 -1
  416. package/dist/routes/sse.js.map +1 -1
  417. package/dist/routes/streams.d.ts +2 -1
  418. package/dist/routes/streams.d.ts.map +1 -0
  419. package/dist/routes/streams.js +6 -4
  420. package/dist/routes/streams.js.map +1 -1
  421. package/dist/routes/theme.d.ts +3 -2
  422. package/dist/routes/theme.d.ts.map +1 -0
  423. package/dist/routes/theme.js +6 -5
  424. package/dist/routes/theme.js.map +1 -1
  425. package/dist/routes/ui.d.ts +3 -1
  426. package/dist/routes/ui.d.ts.map +1 -0
  427. package/dist/routes/ui.js +16 -4
  428. package/dist/routes/ui.js.map +1 -1
  429. package/dist/routes/upgrade.d.ts +1 -0
  430. package/dist/routes/upgrade.d.ts.map +1 -0
  431. package/dist/routes/upgrade.js +6 -2
  432. package/dist/routes/upgrade.js.map +1 -1
  433. package/dist/service/commands.context.d.ts +1 -0
  434. package/dist/service/commands.context.d.ts.map +1 -0
  435. package/dist/service/commands.context.js +4 -3
  436. package/dist/service/commands.context.js.map +1 -1
  437. package/dist/service/commands.d.ts +1 -0
  438. package/dist/service/commands.d.ts.map +1 -0
  439. package/dist/service/commands.js +10 -13
  440. package/dist/service/commands.js.map +1 -1
  441. package/dist/service/generators.context.d.ts +1 -0
  442. package/dist/service/generators.context.d.ts.map +1 -0
  443. package/dist/service/generators.context.js +1 -1
  444. package/dist/service/generators.context.js.map +1 -1
  445. package/dist/service/generators.d.ts +4 -3
  446. package/dist/service/generators.d.ts.map +1 -0
  447. package/dist/service/generators.js +111 -31
  448. package/dist/service/generators.js.map +1 -1
  449. package/dist/service/index.d.ts +1 -0
  450. package/dist/service/index.d.ts.map +1 -0
  451. package/dist/streaming/captureLock.d.ts +44 -0
  452. package/dist/streaming/captureLock.d.ts.map +1 -0
  453. package/dist/streaming/captureLock.js +95 -0
  454. package/dist/streaming/captureLock.js.map +1 -0
  455. package/dist/streaming/captureSession.d.ts +31 -0
  456. package/dist/streaming/captureSession.d.ts.map +1 -0
  457. package/dist/streaming/captureSession.js +54 -0
  458. package/dist/streaming/captureSession.js.map +1 -0
  459. package/dist/streaming/clients.d.ts +1 -0
  460. package/dist/streaming/clients.d.ts.map +1 -0
  461. package/dist/streaming/codec.d.ts +1 -0
  462. package/dist/streaming/codec.d.ts.map +1 -0
  463. package/dist/streaming/fmp4Segmenter.d.ts +29 -2
  464. package/dist/streaming/fmp4Segmenter.d.ts.map +1 -0
  465. package/dist/streaming/fmp4Segmenter.js +79 -26
  466. package/dist/streaming/fmp4Segmenter.js.map +1 -1
  467. package/dist/streaming/hls.d.ts +18 -7
  468. package/dist/streaming/hls.d.ts.map +1 -0
  469. package/dist/streaming/hls.js +220 -120
  470. package/dist/streaming/hls.js.map +1 -1
  471. package/dist/streaming/hlsResume.d.ts +1 -0
  472. package/dist/streaming/hlsResume.d.ts.map +1 -0
  473. package/dist/streaming/hlsResume.js +1 -1
  474. package/dist/streaming/hlsResume.js.map +1 -1
  475. package/dist/streaming/hlsSegments.d.ts +59 -2
  476. package/dist/streaming/hlsSegments.d.ts.map +1 -0
  477. package/dist/streaming/hlsSegments.js +147 -17
  478. package/dist/streaming/hlsSegments.js.map +1 -1
  479. package/dist/streaming/lifecycle.d.ts +4 -1
  480. package/dist/streaming/lifecycle.d.ts.map +1 -0
  481. package/dist/streaming/lifecycle.js +65 -85
  482. package/dist/streaming/lifecycle.js.map +1 -1
  483. package/dist/streaming/monitor.d.ts +6 -4
  484. package/dist/streaming/monitor.d.ts.map +1 -0
  485. package/dist/streaming/monitor.js +343 -145
  486. package/dist/streaming/monitor.js.map +1 -1
  487. package/dist/streaming/mp4Parser.d.ts +5 -4
  488. package/dist/streaming/mp4Parser.d.ts.map +1 -0
  489. package/dist/streaming/mp4Parser.js +36 -13
  490. package/dist/streaming/mp4Parser.js.map +1 -1
  491. package/dist/streaming/mpegts.d.ts +16 -0
  492. package/dist/streaming/mpegts.d.ts.map +1 -0
  493. package/dist/streaming/mpegts.js +61 -17
  494. package/dist/streaming/mpegts.js.map +1 -1
  495. package/dist/streaming/playlistBuilder.d.ts +1 -0
  496. package/dist/streaming/playlistBuilder.d.ts.map +1 -0
  497. package/dist/streaming/preroll.d.ts +32 -5
  498. package/dist/streaming/preroll.d.ts.map +1 -0
  499. package/dist/streaming/preroll.js +70 -32
  500. package/dist/streaming/preroll.js.map +1 -1
  501. package/dist/streaming/pretune.d.ts +26 -1
  502. package/dist/streaming/pretune.d.ts.map +1 -0
  503. package/dist/streaming/pretune.js +22 -24
  504. package/dist/streaming/pretune.js.map +1 -1
  505. package/dist/streaming/pretuneTimers.d.ts +24 -0
  506. package/dist/streaming/pretuneTimers.d.ts.map +1 -0
  507. package/dist/streaming/pretuneTimers.js +56 -0
  508. package/dist/streaming/pretuneTimers.js.map +1 -0
  509. package/dist/streaming/recovery.d.ts +139 -5
  510. package/dist/streaming/recovery.d.ts.map +1 -0
  511. package/dist/streaming/recovery.js +160 -16
  512. package/dist/streaming/recovery.js.map +1 -1
  513. package/dist/streaming/registry.d.ts +27 -9
  514. package/dist/streaming/registry.d.ts.map +1 -0
  515. package/dist/streaming/registry.js +21 -3
  516. package/dist/streaming/registry.js.map +1 -1
  517. package/dist/streaming/setup.d.ts +157 -29
  518. package/dist/streaming/setup.d.ts.map +1 -0
  519. package/dist/streaming/setup.js +1034 -458
  520. package/dist/streaming/setup.js.map +1 -1
  521. package/dist/streaming/showInfo.d.ts +21 -1
  522. package/dist/streaming/showInfo.d.ts.map +1 -0
  523. package/dist/streaming/showInfo.js +31 -16
  524. package/dist/streaming/showInfo.js.map +1 -1
  525. package/dist/streaming/statusEmitter.d.ts +10 -10
  526. package/dist/streaming/statusEmitter.d.ts.map +1 -0
  527. package/dist/streaming/statusEmitter.js +5 -8
  528. package/dist/streaming/statusEmitter.js.map +1 -1
  529. package/dist/types/channels.d.ts +16 -4
  530. package/dist/types/channels.d.ts.map +1 -0
  531. package/dist/types/channels.js +4 -2
  532. package/dist/types/channels.js.map +1 -1
  533. package/dist/types/config.d.ts +16 -5
  534. package/dist/types/config.d.ts.map +1 -0
  535. package/dist/types/index.d.ts +3 -2
  536. package/dist/types/index.d.ts.map +1 -0
  537. package/dist/types/profiles.d.ts +6 -4
  538. package/dist/types/profiles.d.ts.map +1 -0
  539. package/dist/types/selection.d.ts +31 -3
  540. package/dist/types/selection.d.ts.map +1 -0
  541. package/dist/types/selection.js +4 -2
  542. package/dist/types/selection.js.map +1 -1
  543. package/dist/types/shared.d.ts +1 -0
  544. package/dist/types/shared.d.ts.map +1 -0
  545. package/dist/types/streaming.d.ts +8 -0
  546. package/dist/types/streaming.d.ts.map +1 -0
  547. package/dist/upgrade/commands.context.d.ts +1 -0
  548. package/dist/upgrade/commands.context.d.ts.map +1 -0
  549. package/dist/upgrade/commands.context.js +14 -10
  550. package/dist/upgrade/commands.context.js.map +1 -1
  551. package/dist/upgrade/commands.d.ts +8 -15
  552. package/dist/upgrade/commands.d.ts.map +1 -0
  553. package/dist/upgrade/commands.js +27 -28
  554. package/dist/upgrade/commands.js.map +1 -1
  555. package/dist/upgrade/detection.context.d.ts +1 -0
  556. package/dist/upgrade/detection.context.d.ts.map +1 -0
  557. package/dist/upgrade/detection.context.js +4 -1
  558. package/dist/upgrade/detection.context.js.map +1 -1
  559. package/dist/upgrade/detection.d.ts +9 -7
  560. package/dist/upgrade/detection.d.ts.map +1 -0
  561. package/dist/upgrade/detection.js +23 -54
  562. package/dist/upgrade/detection.js.map +1 -1
  563. package/dist/upgrade/index.d.ts +2 -0
  564. package/dist/upgrade/index.d.ts.map +1 -0
  565. package/dist/upgrade/index.js +1 -0
  566. package/dist/upgrade/index.js.map +1 -1
  567. package/dist/upgrade/lifecycle.context.d.ts +20 -0
  568. package/dist/upgrade/lifecycle.context.d.ts.map +1 -0
  569. package/dist/upgrade/lifecycle.context.js +47 -0
  570. package/dist/upgrade/lifecycle.context.js.map +1 -0
  571. package/dist/upgrade/lifecycle.d.ts +72 -0
  572. package/dist/upgrade/lifecycle.d.ts.map +1 -0
  573. package/dist/upgrade/lifecycle.js +175 -0
  574. package/dist/upgrade/lifecycle.js.map +1 -0
  575. package/dist/upgrade/pathHandle.d.ts +30 -0
  576. package/dist/upgrade/pathHandle.d.ts.map +1 -0
  577. package/dist/upgrade/pathHandle.js +102 -0
  578. package/dist/upgrade/pathHandle.js.map +1 -0
  579. package/dist/utils/bootSession.context.d.ts +16 -0
  580. package/dist/utils/bootSession.context.d.ts.map +1 -0
  581. package/dist/utils/bootSession.context.js +60 -0
  582. package/dist/utils/bootSession.context.js.map +1 -0
  583. package/dist/utils/bootSession.d.ts +17 -0
  584. package/dist/utils/bootSession.d.ts.map +1 -0
  585. package/dist/utils/bootSession.js +20 -0
  586. package/dist/utils/bootSession.js.map +1 -0
  587. package/dist/utils/chromeFetch.d.ts +1 -0
  588. package/dist/utils/chromeFetch.d.ts.map +1 -0
  589. package/dist/utils/cliOutput.d.ts +1 -0
  590. package/dist/utils/cliOutput.d.ts.map +1 -0
  591. package/dist/utils/clock.d.ts +5 -4
  592. package/dist/utils/clock.d.ts.map +1 -0
  593. package/dist/utils/clock.js +19 -16
  594. package/dist/utils/clock.js.map +1 -1
  595. package/dist/utils/debugFilter.d.ts +9 -1
  596. package/dist/utils/debugFilter.d.ts.map +1 -0
  597. package/dist/utils/debugFilter.js +60 -33
  598. package/dist/utils/debugFilter.js.map +1 -1
  599. package/dist/utils/delay.d.ts +48 -15
  600. package/dist/utils/delay.d.ts.map +1 -0
  601. package/dist/utils/delay.js +73 -20
  602. package/dist/utils/delay.js.map +1 -1
  603. package/dist/utils/errors.d.ts +32 -0
  604. package/dist/utils/errors.d.ts.map +1 -0
  605. package/dist/utils/errors.js +45 -4
  606. package/dist/utils/errors.js.map +1 -1
  607. package/dist/utils/evaluate.d.ts +1 -0
  608. package/dist/utils/evaluate.d.ts.map +1 -0
  609. package/dist/utils/evaluate.js +29 -23
  610. package/dist/utils/evaluate.js.map +1 -1
  611. package/dist/utils/ffmpeg.context.d.ts +1 -0
  612. package/dist/utils/ffmpeg.context.d.ts.map +1 -0
  613. package/dist/utils/ffmpeg.context.js.map +1 -1
  614. package/dist/utils/ffmpeg.d.ts +29 -7
  615. package/dist/utils/ffmpeg.d.ts.map +1 -0
  616. package/dist/utils/ffmpeg.js +32 -14
  617. package/dist/utils/ffmpeg.js.map +1 -1
  618. package/dist/utils/fileLogger.d.ts +3 -1
  619. package/dist/utils/fileLogger.d.ts.map +1 -0
  620. package/dist/utils/fileLogger.js +64 -29
  621. package/dist/utils/fileLogger.js.map +1 -1
  622. package/dist/utils/format.d.ts +14 -1
  623. package/dist/utils/format.d.ts.map +1 -0
  624. package/dist/utils/format.js +19 -5
  625. package/dist/utils/format.js.map +1 -1
  626. package/dist/utils/index.d.ts +4 -0
  627. package/dist/utils/index.d.ts.map +1 -0
  628. package/dist/utils/index.js +3 -0
  629. package/dist/utils/index.js.map +1 -1
  630. package/dist/utils/logEmitter.d.ts +1 -0
  631. package/dist/utils/logEmitter.d.ts.map +1 -0
  632. package/dist/utils/logger.d.ts +1 -0
  633. package/dist/utils/logger.d.ts.map +1 -0
  634. package/dist/utils/logger.js +10 -6
  635. package/dist/utils/logger.js.map +1 -1
  636. package/dist/utils/m3u.d.ts +3 -2
  637. package/dist/utils/m3u.d.ts.map +1 -0
  638. package/dist/utils/m3u.js +4 -3
  639. package/dist/utils/m3u.js.map +1 -1
  640. package/dist/utils/markup.d.ts +13 -1
  641. package/dist/utils/markup.d.ts.map +1 -0
  642. package/dist/utils/markup.js +28 -4
  643. package/dist/utils/markup.js.map +1 -1
  644. package/dist/utils/memo.d.ts +3 -2
  645. package/dist/utils/memo.d.ts.map +1 -0
  646. package/dist/utils/memo.js +3 -3
  647. package/dist/utils/morganStream.d.ts +1 -0
  648. package/dist/utils/morganStream.d.ts.map +1 -0
  649. package/dist/utils/network.d.ts +1 -0
  650. package/dist/utils/network.d.ts.map +1 -0
  651. package/dist/utils/network.js +2 -2
  652. package/dist/utils/pid.d.ts +3 -25
  653. package/dist/utils/pid.d.ts.map +1 -0
  654. package/dist/utils/pid.js +10 -49
  655. package/dist/utils/pid.js.map +1 -1
  656. package/dist/utils/platform.d.ts +3 -1
  657. package/dist/utils/platform.d.ts.map +1 -0
  658. package/dist/utils/platform.js +2 -1
  659. package/dist/utils/platform.js.map +1 -1
  660. package/dist/utils/processInspector.context.d.ts +8 -0
  661. package/dist/utils/processInspector.context.d.ts.map +1 -0
  662. package/dist/utils/processInspector.context.js +106 -0
  663. package/dist/utils/processInspector.context.js.map +1 -0
  664. package/dist/utils/processInspector.d.ts +55 -0
  665. package/dist/utils/processInspector.d.ts.map +1 -0
  666. package/dist/utils/processInspector.js +127 -0
  667. package/dist/utils/processInspector.js.map +1 -0
  668. package/dist/utils/retry.d.ts +25 -2
  669. package/dist/utils/retry.d.ts.map +1 -0
  670. package/dist/utils/retry.js +33 -6
  671. package/dist/utils/retry.js.map +1 -1
  672. package/dist/utils/runtimeIdentity.context.d.ts +7 -0
  673. package/dist/utils/runtimeIdentity.context.d.ts.map +1 -0
  674. package/dist/utils/runtimeIdentity.context.js +43 -0
  675. package/dist/utils/runtimeIdentity.context.js.map +1 -0
  676. package/dist/utils/runtimeIdentity.d.ts +98 -0
  677. package/dist/utils/runtimeIdentity.d.ts.map +1 -0
  678. package/dist/utils/runtimeIdentity.js +181 -0
  679. package/dist/utils/runtimeIdentity.js.map +1 -0
  680. package/dist/utils/sanitize.d.ts +1 -0
  681. package/dist/utils/sanitize.d.ts.map +1 -0
  682. package/dist/utils/streamContext.d.ts +2 -1
  683. package/dist/utils/streamContext.d.ts.map +1 -0
  684. package/dist/utils/streamContext.js +1 -1
  685. package/dist/utils/timing.d.ts +2 -1
  686. package/dist/utils/timing.d.ts.map +1 -0
  687. package/dist/utils/timing.js +0 -5
  688. package/dist/utils/timing.js.map +1 -1
  689. package/dist/utils/version.d.ts +1 -0
  690. package/dist/utils/version.d.ts.map +1 -0
  691. package/dist/utils/version.js +47 -13
  692. package/dist/utils/version.js.map +1 -1
  693. package/package.json +26 -20
@@ -0,0 +1,98 @@
1
+ export declare const ACTIONS: {
2
+ readonly applyTagColumnFilter: "apply-tag-column-filter";
3
+ readonly authDone: "auth-done";
4
+ readonly authSkip: "auth-skip";
5
+ readonly authStart: "auth-start";
6
+ readonly autoNumberChannels: "auto-number-channels";
7
+ readonly bulkAssignService: "bulk-assign-service";
8
+ readonly bulkToggleHdhr: "bulk-toggle-hdhr";
9
+ readonly bulkTogglePredefined: "bulk-toggle-predefined";
10
+ readonly bulkToggleTag: "bulk-toggle-tag";
11
+ readonly cancelPendingRestart: "cancel-pending-restart";
12
+ readonly channelTableSort: "channel-table-sort";
13
+ readonly checkForUpdates: "check-for-updates";
14
+ readonly checkSelectors: "check-selectors";
15
+ readonly closeChangelogModal: "close-changelog-modal";
16
+ readonly closeExportModal: "close-export-modal";
17
+ readonly closeImportModal: "close-import-modal";
18
+ readonly closeTagManager: "close-tag-manager";
19
+ readonly copyOverviewPlaylistUrl: "copy-overview-playlist-url";
20
+ readonly copyPlaylistHintUrl: "copy-playlist-hint-url";
21
+ readonly copyStreamUrl: "copy-stream-url";
22
+ readonly createTag: "create-tag";
23
+ readonly createTagOnEnter: "create-tag-on-enter";
24
+ readonly deleteChannel: "delete-channel";
25
+ readonly deleteTag: "delete-tag";
26
+ readonly deleteUserProfile: "delete-user-profile";
27
+ readonly editUserProfile: "edit-user-profile";
28
+ readonly endLogin: "end-login";
29
+ readonly endProfileTest: "end-profile-test";
30
+ readonly executeExport: "execute-export";
31
+ readonly executeImport: "execute-import";
32
+ readonly exportChannels: "export-channels";
33
+ readonly exportConfig: "export-config";
34
+ readonly finishSetup: "finish-setup";
35
+ readonly forceRestart: "force-restart";
36
+ readonly hideAddChannelForm: "hide-add-channel-form";
37
+ readonly hideEditForm: "hide-edit-form";
38
+ readonly importChannels: "import-channels";
39
+ readonly importConfig: "import-config";
40
+ readonly importM3u: "import-m3u";
41
+ readonly logLevelChange: "log-level-change";
42
+ readonly openBrowseModal: "open-browse-modal";
43
+ readonly openChangelogModal: "open-changelog-modal";
44
+ readonly openSetupWizard: "open-setup-wizard";
45
+ readonly openTagManager: "open-tag-manager";
46
+ readonly openWizard: "open-wizard";
47
+ readonly reloadLogs: "reload-logs";
48
+ readonly removeServiceChip: "remove-service-chip";
49
+ readonly resetAllToDefaults: "reset-all-to-defaults";
50
+ readonly resetChannelField: "reset-channel-field";
51
+ readonly resetSetting: "reset-setting";
52
+ readonly resetTabToDefaults: "reset-tab-to-defaults";
53
+ readonly restoreTag: "restore-tag";
54
+ readonly revertChannel: "revert-channel";
55
+ readonly saveProfile: "save-profile";
56
+ readonly selectServicePill: "select-service-pill";
57
+ readonly showAddChannelForm: "show-add-channel-form";
58
+ readonly showEditForm: "show-edit-form";
59
+ readonly showPlaylistHint: "show-playlist-hint";
60
+ readonly skipSetup: "skip-setup";
61
+ readonly startChannelLogin: "start-channel-login";
62
+ readonly startInlineEdit: "start-inline-edit";
63
+ readonly startServiceExport: "start-service-export";
64
+ readonly startServiceImport: "start-service-import";
65
+ readonly startTagRename: "start-tag-rename";
66
+ readonly startUpgrade: "start-upgrade";
67
+ readonly submitBrowseChannels: "submit-browse-channels";
68
+ readonly submitChannelFormAdd: "submit-channel-form-add";
69
+ readonly submitChannelFormEdit: "submit-channel-form-edit";
70
+ readonly submitSettingsForm: "submit-settings-form";
71
+ readonly toggleAdvancedFields: "toggle-advanced-fields";
72
+ readonly toggleColumn: "toggle-column";
73
+ readonly toggleDisabledVisibility: "toggle-disabled-visibility";
74
+ readonly toggleDropdown: "toggle-dropdown";
75
+ readonly toggleExportAll: "toggle-export-all";
76
+ readonly toggleHdhr: "toggle-hdhr";
77
+ readonly toggleInlineTagDropdown: "toggle-inline-tag-dropdown";
78
+ readonly togglePredefinedChannel: "toggle-predefined-channel";
79
+ readonly toggleProfileReference: "toggle-profile-reference";
80
+ readonly toggleSection: "toggle-section";
81
+ readonly toggleServiceTag: "toggle-service-tag";
82
+ readonly toggleStreamDetails: "toggle-stream-details";
83
+ readonly toggleStreamPopover: "toggle-stream-popover";
84
+ readonly toggleTagColumnFilter: "toggle-tag-column-filter";
85
+ readonly triggerChannelsImport: "trigger-channels-import";
86
+ readonly triggerM3uImport: "trigger-m3u-import";
87
+ readonly triggerSettingsImport: "trigger-settings-import";
88
+ readonly updateCheckboxList: "update-checkbox-list";
89
+ readonly updateServiceSelection: "update-service-selection";
90
+ readonly updateTagsHidden: "update-tags-hidden";
91
+ };
92
+ /**
93
+ * Compile-time union of every valid action name, derived from ACTIONS so it cannot drift. Action-accepting fields such as WizardModalButton.action and
94
+ * ButtonOptions.action currently accept a plain string rather than this union; adopting ActionName on those fields is a future tightening this type makes
95
+ * available, not a guarantee those fields already enforce.
96
+ */
97
+ export type ActionName = (typeof ACTIONS)[keyof typeof ACTIONS];
98
+ //# sourceMappingURL=clientActions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clientActions.d.ts","sourceRoot":"","sources":["../../src/routes/clientActions.ts"],"names":[],"mappings":"AAsBA,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2FV,CAAC;AAEX;;;;GAIG;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,OAAO,CAAC,CAAC,MAAM,OAAO,OAAO,CAAC,CAAC"}
@@ -0,0 +1,113 @@
1
+ /* Copyright(C) 2024-2026, HJD (https://github.com/hjdhjd). All rights reserved.
2
+ *
3
+ * clientActions.ts: Typed identifiers for the project-wide client-side action dispatcher.
4
+ */
5
+ /* This module is the single source of truth for client-side action names. The values are the kebab-case identifiers the dispatcher in routes/root/scripts/shared.ts
6
+ * routes events against (data-<event>-action="name", window.registerAction("name", handler)); the keys are camelCase identifiers callers use to reference them from
7
+ * TypeScript. Server-side renderers (the routes/* tree) and the script-blob registration sites both flow through ACTIONS.<name>, so:
8
+ *
9
+ * - A typo at any callsite is a compile error - the property access on ACTIONS fails type-check.
10
+ * - Renaming an action is one edit in this file; both the HTML emission and the JS registration update through their shared reference.
11
+ * - Deleting an action breaks every callsite that consumes it - removing the key cascades through the type system to every dangling reference.
12
+ *
13
+ * Coverage of the action surface is enforced by the runtime collision check (window.registerAction throws on duplicates), the runtime typo warning (the dispatcher
14
+ * console.warns on unregistered names), and the test-time coverage assertion in routes/root/index.test.ts (every emitted data-*-action has a matching registration).
15
+ * This file's role is the fourth layer: compile-time linkage so identifiers cannot drift in either direction during normal development.
16
+ *
17
+ * Conventions for adding a new action:
18
+ * 1. Choose a kebab-case identifier that names the action's intent (verb-object), not the function it calls. Examples: "save-profile", "open-tag-manager".
19
+ * 2. Add a camelCase key here whose string value is that identifier. Keep the list alphabetical by key.
20
+ * 3. Reference ACTIONS.<key> in the renderer's data-<event>-action emission AND in the corresponding window.registerAction call. Never re-type the string.
21
+ */
22
+ export const ACTIONS = {
23
+ applyTagColumnFilter: "apply-tag-column-filter",
24
+ authDone: "auth-done",
25
+ authSkip: "auth-skip",
26
+ authStart: "auth-start",
27
+ autoNumberChannels: "auto-number-channels",
28
+ bulkAssignService: "bulk-assign-service",
29
+ bulkToggleHdhr: "bulk-toggle-hdhr",
30
+ bulkTogglePredefined: "bulk-toggle-predefined",
31
+ bulkToggleTag: "bulk-toggle-tag",
32
+ cancelPendingRestart: "cancel-pending-restart",
33
+ channelTableSort: "channel-table-sort",
34
+ checkForUpdates: "check-for-updates",
35
+ checkSelectors: "check-selectors",
36
+ closeChangelogModal: "close-changelog-modal",
37
+ closeExportModal: "close-export-modal",
38
+ closeImportModal: "close-import-modal",
39
+ closeTagManager: "close-tag-manager",
40
+ copyOverviewPlaylistUrl: "copy-overview-playlist-url",
41
+ copyPlaylistHintUrl: "copy-playlist-hint-url",
42
+ copyStreamUrl: "copy-stream-url",
43
+ createTag: "create-tag",
44
+ createTagOnEnter: "create-tag-on-enter",
45
+ deleteChannel: "delete-channel",
46
+ deleteTag: "delete-tag",
47
+ deleteUserProfile: "delete-user-profile",
48
+ editUserProfile: "edit-user-profile",
49
+ endLogin: "end-login",
50
+ endProfileTest: "end-profile-test",
51
+ executeExport: "execute-export",
52
+ executeImport: "execute-import",
53
+ exportChannels: "export-channels",
54
+ exportConfig: "export-config",
55
+ finishSetup: "finish-setup",
56
+ forceRestart: "force-restart",
57
+ hideAddChannelForm: "hide-add-channel-form",
58
+ hideEditForm: "hide-edit-form",
59
+ importChannels: "import-channels",
60
+ importConfig: "import-config",
61
+ importM3u: "import-m3u",
62
+ logLevelChange: "log-level-change",
63
+ openBrowseModal: "open-browse-modal",
64
+ openChangelogModal: "open-changelog-modal",
65
+ openSetupWizard: "open-setup-wizard",
66
+ openTagManager: "open-tag-manager",
67
+ openWizard: "open-wizard",
68
+ reloadLogs: "reload-logs",
69
+ removeServiceChip: "remove-service-chip",
70
+ resetAllToDefaults: "reset-all-to-defaults",
71
+ resetChannelField: "reset-channel-field",
72
+ resetSetting: "reset-setting",
73
+ resetTabToDefaults: "reset-tab-to-defaults",
74
+ restoreTag: "restore-tag",
75
+ revertChannel: "revert-channel",
76
+ saveProfile: "save-profile",
77
+ selectServicePill: "select-service-pill",
78
+ showAddChannelForm: "show-add-channel-form",
79
+ showEditForm: "show-edit-form",
80
+ showPlaylistHint: "show-playlist-hint",
81
+ skipSetup: "skip-setup",
82
+ startChannelLogin: "start-channel-login",
83
+ startInlineEdit: "start-inline-edit",
84
+ startServiceExport: "start-service-export",
85
+ startServiceImport: "start-service-import",
86
+ startTagRename: "start-tag-rename",
87
+ startUpgrade: "start-upgrade",
88
+ submitBrowseChannels: "submit-browse-channels",
89
+ submitChannelFormAdd: "submit-channel-form-add",
90
+ submitChannelFormEdit: "submit-channel-form-edit",
91
+ submitSettingsForm: "submit-settings-form",
92
+ toggleAdvancedFields: "toggle-advanced-fields",
93
+ toggleColumn: "toggle-column",
94
+ toggleDisabledVisibility: "toggle-disabled-visibility",
95
+ toggleDropdown: "toggle-dropdown",
96
+ toggleExportAll: "toggle-export-all",
97
+ toggleHdhr: "toggle-hdhr",
98
+ toggleInlineTagDropdown: "toggle-inline-tag-dropdown",
99
+ togglePredefinedChannel: "toggle-predefined-channel",
100
+ toggleProfileReference: "toggle-profile-reference",
101
+ toggleSection: "toggle-section",
102
+ toggleServiceTag: "toggle-service-tag",
103
+ toggleStreamDetails: "toggle-stream-details",
104
+ toggleStreamPopover: "toggle-stream-popover",
105
+ toggleTagColumnFilter: "toggle-tag-column-filter",
106
+ triggerChannelsImport: "trigger-channels-import",
107
+ triggerM3uImport: "trigger-m3u-import",
108
+ triggerSettingsImport: "trigger-settings-import",
109
+ updateCheckboxList: "update-checkbox-list",
110
+ updateServiceSelection: "update-service-selection",
111
+ updateTagsHidden: "update-tags-hidden"
112
+ };
113
+ //# sourceMappingURL=clientActions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clientActions.js","sourceRoot":"","sources":["../../src/routes/clientActions.ts"],"names":[],"mappings":"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"}
@@ -30,10 +30,10 @@ export type ButtonSize = "md" | "sm";
30
30
  * Options for button generation.
31
31
  */
32
32
  export interface ButtonOptions {
33
+ action?: string;
33
34
  className?: string;
34
35
  disabled?: boolean;
35
36
  id?: string;
36
- onclick?: string;
37
37
  size?: ButtonSize;
38
38
  type?: "button" | "reset" | "submit";
39
39
  variant: ButtonVariant;
@@ -134,7 +134,8 @@ export declare function generatePanelHeader(title: string, actionHtml?: string):
134
134
  export interface WizardModalButton {
135
135
  id?: string;
136
136
  label: string;
137
- onclick?: string;
137
+ action?: string;
138
+ data?: Record<string, string>;
138
139
  position: "left" | "right";
139
140
  role?: "back" | "close" | "next";
140
141
  size?: ButtonSize;
@@ -156,7 +157,7 @@ export interface WizardModalOptions {
156
157
  errorId?: string;
157
158
  id: string;
158
159
  maxWidth?: string;
159
- onClose?: string;
160
+ closeAction?: string;
160
161
  steps?: string[];
161
162
  stepsId?: string;
162
163
  title: string;
@@ -171,3 +172,4 @@ export interface WizardModalOptions {
171
172
  * @returns HTML string for the complete modal shell, including any embedded data blocks.
172
173
  */
173
174
  export declare function generateWizardModal(options: WizardModalOptions): string;
175
+ //# sourceMappingURL=components.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"components.d.ts","sourceRoot":"","sources":["../../src/routes/components.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@
2
2
  *
3
3
  * components.ts: Reusable UI components for PrismCast web pages.
4
4
  */
5
- import { escapeHtml } from "../utils/index.js";
5
+ import { escapeHtml, serializeAttrs } from "../utils/index.js";
6
6
  /**
7
7
  * Generates an alert box HTML with title and message.
8
8
  * @param type - The alert type (success, error, warning).
@@ -36,7 +36,7 @@ export function generateSimpleAlert(type, message) {
36
36
  * @returns HTML string for the button.
37
37
  */
38
38
  export function generateButton(label, options) {
39
- const { className, disabled, id, onclick, size = "md", type = "button", variant } = options;
39
+ const { action, className, disabled, id, size = "md", type = "button", variant } = options;
40
40
  const classes = ["btn", "btn-" + variant];
41
41
  if (size === "sm") {
42
42
  classes.push("btn-sm");
@@ -44,20 +44,15 @@ export function generateButton(label, options) {
44
44
  if (className) {
45
45
  classes.push(className);
46
46
  }
47
- const attrs = [
48
- "type=\"" + type + "\"",
49
- "class=\"" + classes.join(" ") + "\""
50
- ];
51
- if (id) {
52
- attrs.push("id=\"" + escapeHtml(id) + "\"");
53
- }
54
- if (onclick) {
55
- attrs.push("onclick=\"" + escapeHtml(onclick) + "\"");
56
- }
57
- if (disabled) {
58
- attrs.push("disabled");
59
- }
60
- return "<button " + attrs.join(" ") + ">" + escapeHtml(label) + "</button>";
47
+ // The attribute set is serialized through serializeAttrs so the leading-space contract, HTML escaping, and conditional emission (undefined/false -> omit;
48
+ // boolean true -> bare attribute name) all live in one place. Property order is alphabetical to match the project's style.
49
+ return "<button" + serializeAttrs({
50
+ "class": classes.join(" "),
51
+ "data-click-action": action,
52
+ disabled: disabled,
53
+ id: id,
54
+ type: type
55
+ }) + ">" + escapeHtml(label) + "</button>";
61
56
  }
62
57
  /**
63
58
  * Generates a badge HTML element.
@@ -197,7 +192,7 @@ export function generatePanelHeader(title, actionHtml) {
197
192
  * @returns HTML string for the complete modal shell, including any embedded data blocks.
198
193
  */
199
194
  export function generateWizardModal(options) {
200
- const { body, buttons, contentId, dataAttributes, dataBlocks, description, errorId, id, maxWidth, onClose, steps, stepsId, title, titleId } = options;
195
+ const { body, buttons, closeAction, contentId, dataAttributes, dataBlocks, description, errorId, id, maxWidth, steps, stepsId, title, titleId } = options;
201
196
  const resolvedContentId = contentId ?? (id + "-content");
202
197
  const resolvedStepsId = stepsId ?? (id + "-steps");
203
198
  const lines = [];
@@ -221,10 +216,14 @@ export function generateWizardModal(options) {
221
216
  lines.push("<div class=\"" + headerClass + "\">");
222
217
  const titleTag = titleId ? "<h3 id=\"" + escapeHtml(titleId) + "\">" : "<h3>";
223
218
  lines.push(titleTag + escapeHtml(title) + "</h3>");
224
- // The X close button. For controller-managed modals, the controller discovers this button by class and attaches its own handler. For non-controller modals,
225
- // the inline onclick provides the close behavior directly.
226
- const closeAttrs = onClose ? " onclick=\"" + escapeHtml(onClose) + "\"" : "";
227
- lines.push("<button type=\"button\" class=\"wizard-close\" aria-label=\"Close\"" + closeAttrs + ">\u2715</button>");
219
+ // The X close button. Controller-managed modals omit closeAction and let the controller discover the button by class. Non-controller modals (Import/Export)
220
+ // pass closeAction; the renderer emits it as a data-click-action that the project-wide action dispatcher routes to a registered handler.
221
+ lines.push("<button" + serializeAttrs({
222
+ "aria-label": "Close",
223
+ "class": "wizard-close",
224
+ "data-click-action": closeAction,
225
+ type: "button"
226
+ }) + ">\u2715</button>");
228
227
  if (description) {
229
228
  lines.push("<div class=\"wizard-description\">" + escapeHtml(description) + "</div>");
230
229
  }
@@ -290,24 +289,22 @@ function generateWizardButton(btn) {
290
289
  if (size === "sm") {
291
290
  classes.push("btn-sm");
292
291
  }
293
- const attrs = [
294
- "type=\"button\"",
295
- "class=\"" + classes.join(" ") + "\""
296
- ];
297
- if (btn.id) {
298
- attrs.push("id=\"" + escapeHtml(btn.id) + "\"");
299
- }
300
- // Role-tagged buttons are managed by the client-side wizard controller. The data attribute lets the controller discover them within the modal DOM.
301
- // Custom buttons without a role use an inline onclick handler pointing to a window-exposed function.
302
- if (btn.role) {
303
- attrs.push("data-wizard-role=\"" + escapeHtml(btn.role) + "\"");
304
- }
305
- else if (btn.onclick) {
306
- attrs.push("onclick=\"" + escapeHtml(btn.onclick) + "\"");
307
- }
308
- if (!visible) {
309
- attrs.push("style=\"display: none;\"");
292
+ // Role and action are mutually exclusive: role-tagged buttons (Back/Next/Close) are discovered by the wizard controller via data-wizard-role; action-tagged
293
+ // buttons (Save/Apply/Finish) are dispatched by the project-wide action dispatcher via data-click-action. The renderer emits at most one of the two. Per-
294
+ // instance data attributes from btn.data are merged in (without the "data-" prefix, so { withTest: "true" } emits data-with-test="true").
295
+ const attrs = {
296
+ "class": classes.join(" "),
297
+ "data-click-action": btn.role ? undefined : btn.action,
298
+ "data-wizard-role": btn.role,
299
+ id: btn.id,
300
+ style: visible ? undefined : "display: none;",
301
+ type: "button"
302
+ };
303
+ if (btn.data) {
304
+ for (const [key, value] of Object.entries(btn.data)) {
305
+ attrs["data-" + key.replace(/[A-Z]/g, (c) => "-" + c.toLowerCase())] = value;
306
+ }
310
307
  }
311
- return "<button " + attrs.join(" ") + ">" + escapeHtml(btn.label) + "</button>";
308
+ return "<button" + serializeAttrs(attrs) + ">" + escapeHtml(btn.label) + "</button>";
312
309
  }
313
310
  //# sourceMappingURL=components.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"components.js","sourceRoot":"","sources":["../../src/routes/components.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"components.js","sourceRoot":"","sources":["../../src/routes/components.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAW/D;;;;;;;GAOG;AACH,MAAM,UAAU,aAAa,CAAC,IAAe,EAAE,KAAa,EAAE,OAAe,EAAE,aAAa,GAAG,IAAI;IAEjG,MAAM,cAAc,GAAG,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;IAErE,OAAO;QACL,2BAA2B,GAAG,IAAI,GAAG,KAAK;QAC1C,6BAA6B,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,QAAQ;QAC5D,cAAc;QACd,QAAQ;KACT,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAAe,EAAE,OAAe;IAElE,OAAO,2BAA2B,GAAG,IAAI,GAAG,KAAK,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,QAAQ,CAAC;AACrF,CAAC;AAwCD;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAC,KAAa,EAAE,OAAsB;IAElE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,QAAQ,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IAE3F,MAAM,OAAO,GAAG,CAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAE,CAAC;IAE5C,IAAG,IAAI,KAAK,IAAI,EAAE,CAAC;QAEjB,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACzB,CAAC;IAED,IAAG,SAAS,EAAE,CAAC;QAEb,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC1B,CAAC;IAED,0JAA0J;IAC1J,2HAA2H;IAC3H,OAAO,SAAS,GAAG,cAAc,CAAC;QAEhC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;QAC1B,mBAAmB,EAAE,MAAM;QAC3B,QAAQ,EAAE,QAAQ;QAClB,EAAE,EAAE,EAAE;QACN,IAAI,EAAE,IAAI;KACX,CAAC,GAAG,GAAG,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,WAAW,CAAC;AAC7C,CAAC;AAOD;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAAC,KAAa,EAAE,OAAqB;IAEhE,OAAO,4BAA4B,GAAG,OAAO,GAAG,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC;AACxF,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,uBAAuB,CAAC,MAAc,EAAE,KAAa;IAEnE,OAAO,wCAAwC,GAAG,UAAU,CAAC,MAAM,CAAC,GAAG,+CAA+C,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC;AACzJ,CAAC;AA4CD;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAa,EAAE,OAAyB;IAExE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,GAAG,MAAM,EAAE,KAAK,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC;IAExH,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,KAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;IACvC,KAAK,CAAC,IAAI,CAAC,eAAe,GAAG,UAAU,CAAC,EAAE,CAAC,GAAG,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,UAAU,CAAC,CAAC;IAEtF,MAAM,UAAU,GAAa;QAC3B,SAAS,GAAG,IAAI,GAAG,IAAI;QACvB,OAAO,GAAG,UAAU,CAAC,EAAE,CAAC,GAAG,IAAI;QAC/B,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,IAAI;QACnC,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,IAAI;KACtC,CAAC;IAEF,IAAG,QAAQ,EAAE,CAAC;QAEZ,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC9B,CAAC;IAED,IAAG,QAAQ,EAAE,CAAC;QAEZ,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC9B,CAAC;IAED,IAAG,OAAO,EAAE,CAAC;QAEX,UAAU,CAAC,IAAI,CAAC,YAAY,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;IAC7D,CAAC;IAED,IAAG,WAAW,EAAE,CAAC;QAEf,UAAU,CAAC,IAAI,CAAC,gBAAgB,GAAG,UAAU,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,CAAC;IACrE,CAAC;IAED,IAAG,GAAG,KAAK,SAAS,EAAE,CAAC;QAErB,UAAU,CAAC,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;IACjD,CAAC;IAED,IAAG,GAAG,KAAK,SAAS,EAAE,CAAC;QAErB,UAAU,CAAC,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;IACjD,CAAC;IAED,IAAG,IAAI,EAAE,CAAC;QAER,UAAU,CAAC,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;IACvD,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;IAEnD,IAAG,IAAI,EAAE,CAAC;QAER,KAAK,CAAC,IAAI,CAAC,sBAAsB,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;IACnE,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAErB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAyCD;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAC,KAAa,EAAE,MAAqB;IAEjE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;IAE/D,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,KAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;IACvC,KAAK,CAAC,IAAI,CAAC,eAAe,GAAG,UAAU,CAAC,EAAE,CAAC,GAAG,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,UAAU,CAAC,CAAC;IAEtF,MAAM,WAAW,GAAa;QAC5B,OAAO,GAAG,UAAU,CAAC,EAAE,CAAC,GAAG,IAAI;QAC/B,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,IAAI;KACpC,CAAC;IAEF,IAAG,QAAQ,EAAE,CAAC;QAEZ,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC/B,CAAC;IAED,IAAG,QAAQ,EAAE,CAAC;QAEZ,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;IAErD,KAAI,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAE5B,MAAM,YAAY,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;QAExD,KAAK,CAAC,IAAI,CAAC,kBAAkB,GAAG,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,GAAG,YAAY,GAAG,GAAG,GAAG,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,WAAW,CAAC,CAAC;IACjI,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAExB,IAAG,IAAI,EAAE,CAAC;QAER,KAAK,CAAC,IAAI,CAAC,sBAAsB,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;IACnE,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAErB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAGD;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAAC,OAAe,EAAE,OAAgB,EAAE,eAAsB,CAAC;IAExF,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;IAEtC,IAAG,OAAO,EAAE,CAAC;QAEX,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,GAAG,GAAG,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,KAAK,GAAG,MAAM,CAAC,YAAY,CAAC,GAAG,GAAG,CAAC,CAAC;IAC3G,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACpB,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAErB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAAa,EAAE,UAAmB;IAEpE,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,KAAK,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;IAC3C,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC;IAEjD,IAAG,UAAU,EAAE,CAAC;QAEd,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAErB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AA+FD;;;;;;;GAOG;AACH,MAAM,UAAU,mBAAmB,CAAC,OAA2B;IAE7D,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,cAAc,EAAE,UAAU,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IAE1J,MAAM,iBAAiB,GAAG,SAAS,IAAI,CAAC,EAAE,GAAG,UAAU,CAAC,CAAC;IACzD,MAAM,eAAe,GAAG,OAAO,IAAI,CAAC,EAAE,GAAG,QAAQ,CAAC,CAAC;IAEnD,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,6HAA6H;IAC7H,MAAM,SAAS,GAAa;QAC1B,OAAO,GAAG,UAAU,CAAC,EAAE,CAAC,GAAG,IAAI;QAC/B,wBAAwB;QACxB,0BAA0B;KAC3B,CAAC;IAEF,IAAG,cAAc,EAAE,CAAC;QAElB,KAAI,MAAM,CAAE,GAAG,EAAE,KAAK,CAAE,IAAI,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;YAE3D,SAAS,CAAC,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;QAC/E,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;IAEhD,wGAAwG;IACxG,MAAM,eAAe,GAAG,QAAQ,CAAC,CAAC,CAAC,sBAAsB,GAAG,UAAU,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IAE9F,KAAK,CAAC,IAAI,CAAC,qCAAqC,GAAG,eAAe,GAAG,GAAG,CAAC,CAAC;IAE1E,0JAA0J;IAC1J,MAAM,WAAW,GAAG,WAAW,CAAC,CAAC,CAAC,kCAAkC,CAAC,CAAC,CAAC,eAAe,CAAC;IAEvF,KAAK,CAAC,IAAI,CAAC,eAAe,GAAG,WAAW,GAAG,KAAK,CAAC,CAAC;IAElD,MAAM,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,WAAW,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;IAE9E,KAAK,CAAC,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC;IAEnD,4JAA4J;IAC5J,yIAAyI;IACzI,KAAK,CAAC,IAAI,CAAC,SAAS,GAAG,cAAc,CAAC;QAEpC,YAAY,EAAE,OAAO;QACrB,OAAO,EAAE,cAAc;QACvB,mBAAmB,EAAE,WAAW;QAChC,IAAI,EAAE,QAAQ;KACf,CAAC,GAAG,kBAAkB,CAAC,CAAC;IAEzB,IAAG,WAAW,EAAE,CAAC;QAEf,KAAK,CAAC,IAAI,CAAC,oCAAoC,GAAG,UAAU,CAAC,WAAW,CAAC,GAAG,QAAQ,CAAC,CAAC;IACxF,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAErB,yJAAyJ;IACzJ,+DAA+D;IAC/D,IAAG,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC;QAE/B,KAAK,CAAC,IAAI,CAAC,mCAAmC,GAAG,UAAU,CAAC,eAAe,CAAC,GAAG,KAAK,CAAC,CAAC;QAEtF,KAAI,MAAM,CAAE,CAAC,EAAE,IAAI,CAAE,IAAI,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;YAEzC,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,aAAa,CAAC;YAEnE,KAAK,CAAC,IAAI,CAAC,eAAe,GAAG,SAAS,GAAG,iBAAiB,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK;gBAChF,8BAA8B,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,SAAS;gBAC1D,6BAA6B,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,CAAC;YAEtE,8DAA8D;YAC9D,IAAG,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAExB,KAAK,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;YACvD,CAAC;QACH,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACvB,CAAC;IAED,4JAA4J;IAC5J,8DAA8D;IAC9D,MAAM,YAAY,GAAG,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,uCAAuC,CAAC;IAEhH,KAAK,CAAC,IAAI,CAAC,eAAe,GAAG,YAAY,GAAG,UAAU,GAAG,UAAU,CAAC,iBAAiB,CAAC,GAAG,KAAK,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,GAAG,QAAQ,CAAC,CAAC;IAE1H,iEAAiE;IACjE,IAAG,OAAO,EAAE,CAAC;QAEX,KAAK,CAAC,IAAI,CAAC,YAAY,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,2DAA2D,CAAC,CAAC;IAC/G,CAAC;IAED,wJAAwJ;IACxJ,KAAK,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;IAE7C,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC;IACnE,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC;IAErE,KAAI,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;QAE7B,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;IAEnD,KAAI,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;QAE9B,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACrB,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAErB,oCAAoC;IACpC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACrB,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAErB,yIAAyI;IACzI,IAAG,UAAU,EAAE,CAAC;QAEd,KAAI,MAAM,KAAK,IAAI,UAAU,EAAE,CAAC;YAE9B,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpB,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED;;;;GAIG;AACH,SAAS,oBAAoB,CAAC,GAAsB;IAElD,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,IAAI,WAAW,CAAC;IAC3C,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC;IAC9B,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,IAAI,IAAI,CAAC;IAEpC,MAAM,OAAO,GAAG,CAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAE,CAAC;IAE5C,IAAG,IAAI,KAAK,IAAI,EAAE,CAAC;QAEjB,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACzB,CAAC;IAED,4JAA4J;IAC5J,0JAA0J;IAC1J,0IAA0I;IAC1I,MAAM,KAAK,GAAiD;QAE1D,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;QAC1B,mBAAmB,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM;QACtD,kBAAkB,EAAE,GAAG,CAAC,IAAI;QAC5B,EAAE,EAAE,GAAG,CAAC,EAAE;QACV,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,gBAAgB;QAC7C,IAAI,EAAE,QAAQ;KACf,CAAC;IAEF,IAAG,GAAG,CAAC,IAAI,EAAE,CAAC;QAEZ,KAAI,MAAM,CAAE,GAAG,EAAE,KAAK,CAAE,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAErD,KAAK,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC;QAC/E,CAAC;IACH,CAAC;IAED,OAAO,SAAS,GAAG,cAAc,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,WAAW,CAAC;AACvF,CAAC"}
@@ -4,3 +4,4 @@ import type { Express } from "express";
4
4
  * @param app - The Express application.
5
5
  */
6
6
  export declare function registerBrowseRoutes(app: Express): void;
7
+ //# sourceMappingURL=browse.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browse.d.ts","sourceRoot":"","sources":["../../../../../src/routes/config/channels/endpoints/browse.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,OAAO,EAAqB,MAAM,SAAS,CAAC;AAsE1D;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CAoOvD"}
@@ -49,10 +49,10 @@ function buildUserChannel(entry, name, url, selector, canonicalKey) {
49
49
  * @param app - The Express application.
50
50
  */
51
51
  export function registerBrowseRoutes(app) {
52
- // POST /config/channels/modify - Apply channel modifications from the browse modal. Handles four action types: 'add' creates new user channels, 'enable'
53
- // re-enables a disabled predefined channel and sets its service, 'switch' changes the service selection for an existing channel, and 'remove' reverts a channel
54
- // to its canonical service (disabling it if no alternative service is available). Channel writes and service selection changes are batched into single saves to
55
- // avoid redundant file I/O.
52
+ // POST /config/channels/modify - Apply channel modifications from the browse modal. Every supported action type is handled here: 'add' creates new user
53
+ // channels, 'enable' re-enables a disabled predefined channel and sets its service, 'switch' changes the service selection for an existing channel, and
54
+ // 'remove' reverts a channel to its canonical service (disabling it if no alternative service is available). Channel writes and service selection changes
55
+ // are batched into single saves to avoid redundant file I/O.
56
56
  app.post("/config/channels/modify", route("apply changes", async (req, res) => {
57
57
  const body = req.body;
58
58
  const entries = body.channels;
@@ -62,14 +62,18 @@ export function registerBrowseRoutes(app) {
62
62
  }
63
63
  const affectedKeys = new Set();
64
64
  const keysToDisable = new Set();
65
+ // Per-entry validation failures are collected here so an invalid entry skips itself without aborting the batch, but they are intentionally not surfaced in
66
+ // the response. The envelope reports only what succeeded (the added/switched/removed counts) and falls back to "No changes made." when nothing applied,
67
+ // matching the no-change behavior of the sibling endpoints.
65
68
  const errors = [];
66
69
  let added = 0;
67
70
  let removed = 0;
68
71
  let switched = 0;
69
- // Process all entries inside a single transactional mutation. Both channel changes and service-selection changes go through data.* directly so the entire
70
- // batch lands as one atomic write - the framework persists exactly what the fn produced.
72
+ // Process all entries inside a single transactional mutation. Channel changes and service-selection changes go through data.* directly, so that portion of the
73
+ // batch lands as one atomic write - the framework persists exactly what the fn produced. Atomicity covers only the channel and service-selection writes made
74
+ // here; the predefined enable/disable side effects run as separate follow-up writes after this mutation, so the batch as a whole is not crash-consistent.
71
75
  await mutateChannels((data) => {
72
- const allKeys = new Set([...Object.keys(PREDEFINED_CHANNELS), ...Object.keys(data.channels)]);
76
+ const allKeys = new Set(Object.keys(PREDEFINED_CHANNELS)).union(new Set(Object.keys(data.channels)));
73
77
  for (const entry of entries) {
74
78
  const action = entry.action ?? "add";
75
79
  const name = sanitizeString(entry.name?.trim() ?? "");
@@ -105,7 +109,10 @@ export function registerBrowseRoutes(app) {
105
109
  }
106
110
  // Clear the selection by deleting it (selecting the canonical default is represented as no entry).
107
111
  Reflect.deleteProperty(data.serviceSelections, canonicalKey);
108
- const resolvedKey = resolveServiceKey(canonicalKey);
112
+ // Resolve against the in-transaction draft, not the committed module cache: we just cleared this canonical's selection on the draft, so the resolver must
113
+ // observe that clearance to fall back to an alternative variant or the canonical default. Reading the stale committed cache here would resolve back to the
114
+ // just-removed service and wrongly disable a multi-service channel.
115
+ const resolvedKey = resolveServiceKey(canonicalKey, (key) => data.serviceSelections[key]);
109
116
  const resolvedTag = getServiceTagForChannel(resolvedKey);
110
117
  if (resolvedTag === serviceSlug) {
111
118
  // No alternative service exists. Disable predefined channels or delete user channels.
@@ -120,8 +127,10 @@ export function registerBrowseRoutes(app) {
120
127
  affectedKeys.add(canonicalKey);
121
128
  continue;
122
129
  }
123
- // Add. Creates a new user channel for channels not yet in the lineup. The browse modal sends 'add' only for genuinely new channels (no existing
124
- // canonical). Channels that match existing canonicals appear as 'switch' state in the modal.
130
+ // Add. Creates a new user channel for channels not yet in the lineup. Under the browse modal's normal-path contract, 'add' entries carry only
131
+ // genuinely new channels (no existing canonical) - channels that match existing canonicals appear as 'switch' state in the modal instead. The
132
+ // canonicalExists check below still defends the server side against a submission that collides with an existing canonical (for example, two entries
133
+ // in the same batch resolving to the same generated key), rather than trusting the client's classification.
125
134
  const url = sanitizeString(entry.url?.trim() ?? "");
126
135
  const channelSelector = sanitizeString(entry.channelSelector?.trim() ?? "");
127
136
  if (!name) {
@@ -144,6 +153,8 @@ export function registerBrowseRoutes(app) {
144
153
  }
145
154
  const canonicalExists = allKeys.has(baseKey);
146
155
  const key = (canonicalExists && serviceSlug) ? baseKey + "-" + serviceSlug : baseKey;
156
+ // The key already exists - unlike the validation failures above, this is not an error to report. The requested channel (or variant) is already
157
+ // present, so there is simply nothing new to add, and the entry is skipped without an error message.
147
158
  if (allKeys.has(key)) {
148
159
  continue;
149
160
  }
@@ -153,6 +164,8 @@ export function registerBrowseRoutes(app) {
153
164
  data.channels[key] = newChannel;
154
165
  allKeys.add(key);
155
166
  added++;
167
+ // Variants are not rendered as separate rows in the channel table (getChannelListing() skips them), so when this add created a variant, the key the
168
+ // UI needs to refresh is the canonical baseKey, not the variant key that was actually written to data.channels.
156
169
  affectedKeys.add(canonicalExists ? baseKey : key);
157
170
  }
158
171
  });
@@ -1 +1 @@
1
- {"version":3,"file":"browse.js","sourceRoot":"","sources":["../../../../../src/routes/config/channels/endpoints/browse.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"browse.js","sourceRoot":"","sources":["../../../../../src/routes/config/channels/endpoints/browse.ts"],"names":[],"mappings":"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"}
@@ -4,3 +4,4 @@ import type { Express } from "express";
4
4
  * @param app - The Express application.
5
5
  */
6
6
  export declare function registerBulkRoutes(app: Express): void;
7
+ //# sourceMappingURL=bulk.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bulk.d.ts","sourceRoot":"","sources":["../../../../../src/routes/config/channels/endpoints/bulk.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,OAAO,EAAqB,MAAM,SAAS,CAAC;AAS1D;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CA4LrD"}
@@ -54,7 +54,8 @@ export function registerBulkRoutes(app) {
54
54
  const message = clearMode ?
55
55
  ("Cleared channel numbers from " + String(affectedKeys.length) + " channels.") :
56
56
  ("Numbered " + String(affectedKeys.length) + " channels.");
57
- sendSuccess(res, { affectedKeys, message, playlistHint: true });
57
+ // The hint rides only when channels actually changed: with an empty visible listing the message reports zero channels and nothing playlist-visible happened.
58
+ sendSuccess(res, { affectedKeys, message, playlistHint: affectedKeys.length > 0 });
58
59
  }));
59
60
  // POST /config/channels/hdhr-bulk - Toggle HDHomeRun lineup inclusion for all visible channels.
60
61
  app.post("/config/channels/hdhr-bulk", route("toggle HDHR settings", async (req, res) => {
@@ -121,8 +122,9 @@ export function registerBulkRoutes(app) {
121
122
  const verb = (action === "add") ? "added to" : "removed from";
122
123
  LOG.info("Bulk tag %s: %s on %d channels.", action, tag, affectedKeys.length);
123
124
  const message = "Tag '" + tag + "' " + verb + " " + String(affectedKeys.length) + " channel(s).";
124
- // Include the full tag UI bundle so the filter dropdown and tag manager modal stay in sync. Tag changes don't affect the M3U playlist, so no playlist hint.
125
- sendSuccess(res, { affectedKeys, message, tags: true });
125
+ // Include the full tag UI bundle so the filter dropdown and tag manager modal stay in sync. Tags render in the playlist as group-title and tvc-guide-tags, so
126
+ // the reload hint rides the message; the early return above means this path is reached only with a non-empty affected set.
127
+ sendSuccess(res, { affectedKeys, message, playlistHint: true, tags: true });
126
128
  }));
127
129
  }
128
130
  //# sourceMappingURL=bulk.js.map