Files
ytplayer/plans/phase4-seams.md

62 KiB
Raw Permalink Blame History

Phase 4 dependency analysis and seams

Source: cd4a25a, 587,029 bytes. Acorn 8 parses classic scripts with source ranges; eslint-scope 8 resolves lexical references, including shadowing. Outside references are references outside the declaration’s owning top-level statement, plus unresolved references from other frontend classic scripts. Property names and strings are not lexical references. Browser globals and other scripts’ globals remain available. Positions below refer to this source, before extraction.

Reproduce: npm install --prefix perf/.tmp/analysis --no-audit --no-fund acorn@8 eslint-scope@8, then run node perf/analyze-app.cjs cd4a25a. Analysis tools are development-only; no frontend/server import is added.

Measured candidate ranking

Coupling = distinct other app top-level bindings referenced inside the candidate; ratio = source UTF-8 bytes divided by coupling. This is a ranking, not a safety judgment.

Candidate Bytes Coupling Bytes/coupling Decision
notes 56491 18 3138 Keep eager; protected owner requirement
sectionRail 10973 5 2195 Include in eager shell renderer cut
presenter 9492 6 1582 Extract
party 22833 18 1269 Extract
remote 30421 31 981 Extract
share 13334 14 952 Extract
editor 6603 8 825 Leave for later; six seam limit
stats 7074 9 786 Extract
gestures 5217 8 652 Keep playback wiring untouched
settings 31516 49 643 Keep eager; protected owner requirement
shell 14608 29 504 Extract
export 5159 11 469 Leave for later; six seam limit
service 5006 15 334 Keep eager; protected owner requirement

Six cuts and ordering

  1. Eager shell/renderers: shell-core.js contains homepage/recommendations, sidebar, bottom/mini chrome and now-playing action paint. views-core.js contains existing shared list/card/Settings renderers; section-rail.js remains eager. These all load before app.js; callbacks read the shared lexical state only after app initializes it. No new asynchronous renderer interface. Move 98,378 source bytes; keep four required features in RAM.
  2. Presenter: 9,492 bytes, lazy feature:presenter, boot only on presenter/overlay URLs.
  3. Remote: 30,421 bytes, lazy feature:remote-client; preserve synchronous changed hook, bind entry buttons eagerly, auto-load only for a configured host or pair URL.
  4. Watch party: 22,833 bytes, lazy feature:watch-party; synchronous no-session defaults for guestActive/intercept/nextDJ, same instance once loaded; resume stored host or party URL.
  5. Share/External: 13,334 bytes, lazy feature:share-external; open/bootFromUrl are the seam.
  6. Stats view: 7,074 bytes, separate feature:stats-view depending on pure stats group, so playback tracking does not parse the view.

Total original source moved: 181,532 bytes (30.92%); facade overhead must keep final reduction ≥30%. Shared lexical scope is intentional; the broader eager view cut retains its existing renderer calls and high outbound coupling rather than inventing a context object or delaying Settings. Player, Transition, sleep/drift/resume, queue, persistence and boot stay in app.js unchanged apart from explicit lazy boot calls. The required now-playing metadata mutation inside Player remains untouched; its markup, mini bar and paint helpers load eagerly.

Executing stateful chunks remain pinned until playback-guarded reload. No live replacement: no disposal/state handoff is implemented, so Phase 4 does not enable it. New unexecuted chunks obey Phase 3 contracts/N-1 guard.

Every top-level declaration

Outside references use app line numbers or file:line; imports name other app bindings (not browser globals). Multiple declarations sharing a statement share its byte count; never sum this table blindly.

Declaration Line Statement bytes Other app bindings read/written Outside references
sanitizeId 30 124 — 602, 603, 607, 607, 610, 611, 616, 617, 1995
TAURI 34 87 — 37, 54, 54, 649, 649, 649, 2296
ZERO 35 90 — 37, 55, 55
WEB 37 28 TAURI, ZERO 572, 575, 579, 582, 585, 590, 593, 597, 601, 606, 609, 612, 615, 618, 628, 698, 867, 873, 954, 981, 1183, 1281, 1296, 1339, 1712, 1743, 1769, 1792, 1811, 1905, 2067, 2287, 2299, 2329, 3029, 3145, 3146, 3198, 3199, 3362, 3475, 4764, 5509, 5698, 5808, 5818, 5826, 5829, 5881, 5890, 5907, 5909, 6100, 6686, 7501, 8919, 9191, 9206, 9240, 9897, 10126, 11983, 12367, 12627, 12678, 12683, 12691, 12698, 12700, 12709, 12711, 12717
APP_VERSION 38 28 — 94, 9857, 9880, 10132, 12723
perfMark 42 87 — 2265, 11167, 12564
perfMeasure 43 116 — 3031, 11217, 12614
call 53 258 TAURI, ZERO 574, 584, 587, 592, 595, 599, 603, 611, 614, 617, 620
webFetch 62 274 — 573, 580, 583, 586, 591, 5812, 5896, 12630
loadDataFromStorage 73 160 — 594
saveDataToStorage 80 851 APP_VERSION, profileHeaders 598, 9897
NO_HEVC_KEY 105 32 — 107, 1907, 2499
hevcCapable 106 267 NO_HEVC_KEY 451, 591, 9192
RecentSearches 122 2371 SearchLibrary 11168, 11171, 11212, 11251, 11253, 11266, 11281, 11294
SearchLibrary 181 4754 collectSearchMetadata 162, 165, 169, 5820, 9283, 9290, 9875, 9928, 9930, 9941, 9947, 9951, 11181, 11233, 11234, 11252, 11262, 11262, 11266
SaveSlots 291 800 data 1849, 1877, 9874, 9874, 9902
saveControllers 315 34 — 333, 381, 1845, 1875
SaveQueue 316 3701 saveControllers, view, cachedIds, downloading, preload, renderList 1844, 1846, 1851, 1852, 1857, 1859, 1872, 1876, 1878, 9541, 9541, 9542, 9542, 12688, 12688, 12688, 12689, 12689, 12689, 12698
resumableOpfsSave 401 2172 — 464
opfsDownload 440 2721 hevcCapable, resumableOpfsSave 602
opfsDownloadEdited 501 1261 — 607
opfsStatus 533 277 — 610
opfsList 543 344 — 613
opfsDelete 554 325 — 616
opfsClear 561 295 — 619
_currentBlobUrl 569 27 — 2281, 2282, 2283, 2284, 2301, 2336
API 571 2945 sanitizeId, WEB, call, webFetch, loadDataFromStorage, saveDataToStorage, hevcCapable, opfsDownload, opfsDownloadEdited, opfsStatus, opfsList, opfsDelete, opfsClear 776, 889, 910, 1696, 1852, 1910, 2010, 2050, 2297, 2347, 3117, 5279, 5515, 7861, 8669, 9383, 9427, 9487, 10036, 10056, 10073, 10572, 11194, 11203, 11459, 11917, 12572, 12630
warmedAt 625 27 — 632, 633
knownServerCachedIds 626 39 — 642, 2351
warmStreams 627 435 WEB, warmedAt, cachedIds 640, 10249, 11215
warmNextQueue 638 235 knownServerCachedIds, warmStreams, data, queue, queueIndex, cachedIds 3034, 8079
toAssetUrl 648 138 TAURI 2298
DEFAULT_SETTINGS 654 1577 — 675, 908, 12588
data 675 275 DEFAULT_SETTINGS 294, 640, 776, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 867, 867, 873, 873, 877, 878, 886, 889, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 947, 954, 954, 956, 956, 962, 967, 968, 969, 981, 981, 982, 1012, 1022, 1022, 1026, 1029, 1030, 1052, 1101, 1101, 1255, 1262, 1262, 1263, 1282, 1282, 1349, 1349, 1350, 1352, 1352, 1353, 1353, 1354, 1354, 1423, 1440, 1449, 1450, 1456, 1456, 1457, 1458, 1465, 1503, 1503, 1549, 1550, 1551, 1556, 1662, 1671, 1731, 1798, 1886, 1915, 1947, 1953, 1955, 2019, 2020, 2020, 2021, 2038, 2052, 2052, 2053, 2054, 2054, 2328, 2328, 2437, 2437, 2438, 2539, 2541, 2697, 2868, 2954, 2980, 3061, 3072, 3144, 3144, 3198, 3199, 3476, 3476, 3484, 3485, 3485, 3488, 3488, 3631, 3743, 4178, 4178, 4184, 4185, 4245, 4246, 4247, 4261, 4374, 4375, 4442, 4450, 4466, 4594, 4594, 4596, 4597, 4630, 4748, 4852, 4857, 4863, 4863, 4913, 5461, 5464, 5468, 5475, 5573, 5579, 5595, 5628, 5635, 5637, 5691, 5835, 5835, 5895, 5927, 5927, 5974, 6004, 6084, 6363, 6366, 6371, 6575, 6602, 6697, 6698, 6865, 6869, 6869, 6869, 6917, 6917, 6923, 6924, 6933, 6933, 6938, 6956, 6956, 7091, 7122, 7123, 7187, 7523, 7523, 7602, 7972, 8055, 8055, 8056, 8056, 8057, 8057, 8058, 8063, 8063, 8078, 8102, 8102, 8103, 8115, 8120, 8129, 8130, 8137, 8137, 8141, 8150, 8157, 8158, 8174, 8220, 8241, 8252, 8252, 8255, 8258, 8258, 8261, 8280, 8288, 8289, 8290, 8296, 8297, 8298, 8442, 8442, 8481, 8483, 8497, 8498, 8499, 8507, 8517, 8531, 8699, 8733, 8740, 8804, 8805, 8809, 8932, 8970, 9022, 9206, 9240, 9433, 9435, 9436, 9437, 9437, 9492, 9492, 9493, 9494, 9494, 9551, 9555, 9557, 9561, 9584, 9596, 9600, 9604, 9608, 9615, 9622, 9634, 9638, 9654, 9658, 9662, 9669, 9676, 9687, 9694, 9716, 9723, 9785, 9789, 9827, 9827, 9827, 9841, 9841, 9842, 9842, 9871, 9871, 9872, 9873, 9874, 9876, 9877, 9879, 9884, 9887, 9888, 9891, 9891, 9894, 9896, 9897, 9897, 9901, 9902, 9903, 9904, 9905, 9906, 9907, 9909, 9915, 9958, 9963, 9970, 9975, 9979, 9984, 9986, 9989, 9994, 10089, 10091, 10102, 10103, 10117, 10272, 10272, 10277, 10307, 10308, 10314, 10378, 10397, 10400, 10493, 10500, 10500, 10501, 10598, 10642, 10678, 10849, 10849, 10850, 10852, 10852, 10856, 10863, 10880, 10880, 10881, 10881, 10965, 11413, 11413, 11415, 11430, 11524, 11537, 11543, 11543, 11543, 11544, 11545, 11554, 11571, 11668, 11680, 11718, 11762, 11784, 11787, 11826, 11844, 11853, 11864, 11876, 11886, 11886, 11983, 11994, 11995, 11998, 12000, 12003, 12009, 12055, 12071, 12079, 12084, 12085, 12086, 12099, 12100, 12101, 12102, 12103, 12104, 12105, 12105, 12106, 12107, 12108, 12109, 12109, 12431, 12434, 12517, 12574, 12630, 12630, 12630, 12631, 12631, 12631, 12632, 12632, 12648, 12650, 12650, 12650, 12652, 12653, 12654, 12655, 12663, 12663, 12664, 12670, 12671, 12672, 12679, 12679, 12679, 12679, 12684, 12690, 12690, 12720, 12720, 12724, 12725, 12725, 12726, 12727
view 676 30 — 378, 1730, 1731, 1734, 1734, 1734, 1837, 1884, 1884, 1884, 1885, 1886, 1914, 1915, 2006, 2025, 2025, 2036, 2036, 2036, 2037, 2038, 2059, 2059, 2059, 5967, 6339, 8065, 8133, 8147, 8153, 8167, 8174, 8177, 8177, 8177, 8665, 8670, 8679, 8710, 8710, 8713, 8717, 8721, 8777, 8802, 8803, 8804, 8805, 8806, 8807, 8807, 8808, 8809, 8884, 8887, 8888, 8889, 8890, 8891, 8892, 8893, 8894, 8895, 8896, 8900, 8905, 8919, 8923, 8925, 8927, 8935, 8946, 8947, 8952, 8958, 8969, 8970, 9037, 9046, 9057, 9068, 9075, 9082, 9112, 9245, 9316, 9384, 9530, 9533, 10057, 10129, 10225, 10253, 10253, 10253, 10253, 10261, 10261, 10261, 10261, 10264, 10265, 10265, 10270, 10271, 10271, 10277, 10284, 10284, 10306, 10308, 10312, 10342, 10350, 10350, 10350, 10352, 10366, 10366, 10366, 10541, 10642, 10682, 10833, 10833, 10841, 10841, 10884, 11170, 11232, 11288, 11312, 11319, 11412, 11412, 11414, 11415, 11417, 11654, 11654, 11977, 11977, 11980, 11985, 11987, 12059, 12496, 12541, 12630, f7-layout.js:34
searchResults 677 23 — 8803, 8888, 11174, 11197, 11208, 11232, 11234
searchAttempted 680 28 — 8888, 9062, 11175, 11198, 11209
searchSeq 684 18 — 11166, 11172, 11195, 11205, 11220
channelData 685 78 — 8666, 8670, 8672, 8673, 8674, 8675, 8678, 8806, 8959, 8963, 8966, 9046
queue 686 15 — 640, 4879, 4895, 4922, 4927, 4933, 4934, 4943, 4944, 4944, 5467, 5468, 5525, 7451, 7478, 8072, 8080, 8091, 8092, 8093, 8098, 8098, 8107, 8109, 8141, 8142, 8185, 8209, 8218, 8220, 8228, 8314, 8377, 8377, 8403, 8403, 8404, 8802, 10314, 10315, 11956, f7-layout.js:34
queueIndex 687 20 — 639, 640, 4882, 4885, 4895, 4922, 4944, 5467, 5467, 5467, 7451, 7478, 8073, 8080, 8091, 8093, 8098, 8110, 8142, 8185, 8210, 8218, 8218, 8219, 8221, 8228, 8312, 8313, 8314, 8377, 8377, 8403, 8403, 8404, 10315, 10315, 11956, f7-layout.js:34
queueSource 688 21 — 5474, 5474, 8074, 8139, 8173, 8173, 8625, 10253, 10312, 10756, 10756, 11862, 11862, 11863, f7-layout.js:34
playFullMode 689 25 — 2434, 3060, 3069, 5468, 5475, 7971, 8075, 8220, 8241, 8243, 8243, 11956
current 692 19 — 1842, 1842, 1842, 1882, 1882, 1882, 2057, 2057, 2057, 2073, 2073, 2073, 2307, 2338, 2350, 2351, 2351, 2351, 2353, 2353, 2379, 2380, 2381, 2382, 2390, 2394, 2396, 2407, 2408, 2409, 2409, 2433, 2467, 2479, 2479, 2482, 2483, 2484, 2494, 2494, 2495, 2498, 2501, 2522, 2541, 2541, 2549, 2549, 2556, 2557, 2569, 2575, 2575, 2578, 2584, 2606, 2609, 2619, 2626, 2842, 2842, 2842, 2842, 2868, 2874, 2952, 2965, 3029, 3029, 3055, 3055, 3061, 3069, 3069, 3072, 3121, 3121, 3121, 3123, 3124, 3124, 3124, 3160, 3160, 3160, 3295, 3295, 3296, 3352, 3352, 3353, 3357, 3693, 3693, 3693, 3905, 3905, 3905, 3905, 3914, 3914, 3914, 4181, 4181, 4181, 4181, 4211, 4211, 4211, 4294, 4294, 4294, 4405, 4405, 4405, 4731, 4731, 4849, 4849, 4943, 5473, 5473, 5528, 5532, 5532, 5532, 5609, 5609, 5612, 5691, 5691, 5691, 5739, 5739, 5782, 5791, 5932, 5932, 6309, 6309, 6309, 6444, 6444, 6819, 6867, 6867, 7057, 7073, 7438, 7438, 7599, 7599, 7641, 7641, 7641, 7957, 8011, 8011, 8028, 8028, 8029, 8031, 8032, 8038, 8038, 8106, 8106, 8106, 8140, 8140, 8140, 8165, 8396, 8396, 8549, 8549, 8624, 8624, 8624, 9442, 9497, 9911, 9911, 9911, 9918, 9918, 9918, 10040, 10075, 10075, 10075, 10313, 10313, 10313, 10328, 10328, 10575, 10575, 10575, 10755, 10755, 10755, 10757, 10758, 11002, 11002, 11449, 11449, 11450, 11471, 11478, 11478, 11478, 11480, 11480, 11480, 11483, 11483, 11483, 11486, 11486, 11486, 11487, 11498, 11498, 11498, 11503, 11503, 11503, 11504, 11504, 11508, 11508, 11508, 11509, 11509, 11526, 11556, 11574, 11595, 11595, 11595, 11596, 11597, 11598, 11599, 11601, 11602, 11810, 11817, 11825, 11825, 11826, 11835, 11835, 11844, 11849, 11849, 11853, 11861, 11861, 11866, 11874, 11874, 11876, 11879, 11879, 11880, 11919, 11924, 11924, 12631, 12648, 12654, 12654, 12665
IS_IOS 693 131 — 2521, 2539
_currentEqUrl 695 25 — 697, 697, 697, 699, 699, 700
useEqRender 696 286 WEB, _currentEqUrl, EqRender 2305, 2337
dragSource 702 20 — 10288, 10303
listFilter 703 20 — 8909, 8910, 9464, 9529, 10354, 11381, 11390, 11390
selectMode 704 23 — 8902, 8903, 8915, 9038, 9039, 9040, 10252, 11611, 12024, 12032, 12032, 12035, 12036
selectedIds 705 28 — 8903, 10196, 11392, 11393, 11393, 11394, 11395, 11400, 11404, 11408, 11413, 11416, 11418, 11427, 12025, 12033, 12042, 12042, 12042, 12043, 12044
sleepTimerRemaining 706 28 — 4859, 11691, 11694, 11695, 11698, 11707, 11745, 11750, 11751, 11799
sleepTimerTick 707 26 — 11693, 11705, 11705, 11706
abA 708 15 — 2447, 2447, 2450, 4682, 5476, 6482, 6482, 7971, 7971, 7973, 7977, 11811, 11814, 11824, 11836, 11837, 11849, 11854, 11898, 11901, 11908, 12654, 12659
abB 709 15 — 5476, 6483, 6483, 6483, 7971, 7971, 7971, 11818, 11821, 11824, 11836, 11837, 11849, 11855, 11898, 11902, 11909, 12654, 12659
relatedVideos 710 23 — 11920, 11928, 11942
relatedCollapsed 711 29 — 7206, 7209, 7210, 11376, 11930
saveTimer 712 21 — 775, 776
cachedIds 713 28 — 336, 371, 631, 641, 1699, 1700, 1721, 1722, 1725, 1725, 1728, 1794, 1827, 1863, 1881, 1903, 1911, 1940, 2002, 2012, 2034, 2051, 2287, 2293, 2329, 2332, 3115, 3118, 3182, 3190, 3201, 3366, 3377, 4852, 5508, 6615, 6745, 6795, 6796, 7602, 9181, 9430, 9490, 10037, 10074, 10194, 10562, 10571, 10573, 10816, 11453, 11461, 11491, 12632, 12640
downloading 714 30 — 336, 372, 1725, 1827, 1834, 1879, 1926, 2002, 2003, 2032, 3176, 3189, 3373, 10195, 10790, 11452, 12688
downloadMeta 715 31 — 1835, 1880, 2004, 2033
removing 716 27 — 3369, 11452, 11456
playlistOps 717 30 — 10606
runExclusive 721 230 — 10606, 11456
$ 729 82 — 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 836, 838, 838, 839, 999, 1079, 1087, 1088, 1089, 1146, 1148, 1155, 1301, 1398, 1406, 1483, 1483, 1498, 1498, 1524, 1573, 1589, 1615, 1633, 1732, 1887, 1916, 1927, 1930, 2039, 3092, 3096, 3097, 3142, 3254, 3270, 3328, 3366, 3462, 3517, 3537, 3538, 3539, 3540, 3585, 3586, 3591, 3592, 3593, 3629, 3630, 3632, 3659, 3660, 3663, 3667, 3680, 3684, 3691, 3717, 3724, 3726, 3736, 3934, 3944, 3950, 3953, 3978, 4254, 4263, 4269, 4270, 4272, 4280, 4281, 4283, 4353, 4378, 4386, 4395, 4419, 4447, 4448, 4449, 4457, 4465, 4471, 4478, 4524, 4525, 4531, 4532, 4564, 4565, 4566, 4567, 4576, 4577, 4578, 4584, 4585, 4586, 4587, 4588, 4589, 4590, 4591, 4604, 4610, 4612, 4612, 4615, 4627, 4628, 4629, 4634, 4657, 4661, 4662, 4663, 4664, 4665, 4694, 4695, 4707, 4709, 4710, 4713, 4720, 4726, 4727, 4727, 4746, 4746, 4749, 4749, 4992, 4997, 5006, 5006, 5098, 5099, 5103, 5104, 5105, 5107, 5108, 5108, 5116, 5117, 5118, 5140, 5174, 5175, 5176, 5177, 5181, 5184, 5185, 5186, 5188, 5189, 5192, 5193, 5194, 5202, 5203, 5209, 5210, 5229, 5303, 5304, 5305, 5311, 5313, 5316, 5326, 5328, 5341, 5357, 5361, 5362, 5363, 5370, 5370, 5371, 5371, 5372, 5376, 5377, 5378, 5382, 5391, 5393, 5397, 5398, 5405, 5406, 5413, 5626, 5670, 5732, 5776, 5789, 5882, 6071, 6099, 6106, 6109, 6126, 6127, 6134, 6140, 6206, 6291, 6292, 6292, 6293, 6293, 6297, 6411, 6812, 6930, 7035, 7583, 7802, 7817, 7820, 7820, 7823, 7824, 7839, 7843, 7865, 7874, 7875, 7882, 7938, 7979, 8029, 8030, 8033, 8041, 8043, 8047, 8121, 8124, 8186, 8187, 8188, 8189, 8234, 8248, 8299, 8325, 8367, 8375, 8386, 8387, 8390, 8397, 8398, 8409, 8427, 8458, 8487, 8522, 8524, 8526, 8526, 8542, 8547, 8550, 8578, 8636, 8650, 8870, 8871, 8886, 8886, 8887, 8901, 8902, 8903, 8905, 8975, 9015, 9029, 9031, 9041, 9043, 9239, 9377, 9387, 9403, 9454, 9522, 9523, 9874, 9894, 9895, 9901, 9902, 9903, 9904, 9905, 9906, 9907, 9908, 9914, 9914, 9925, 9930, 9934, 9935, 9936, 9937, 9940, 9945, 9949, 9957, 9962, 9969, 9974, 9978, 9983, 9988, 9993, 9999, 10000, 10009, 10010, 10031, 10049, 10060, 10061, 10062, 10083, 10088, 10096, 10097, 10098, 10098, 10099, 10102, 10103, 10104, 10105, 10105, 10106, 10109, 10110, 10111, 10112, 10113, 10114, 10115, 10116, 10131, 10133, 10154, 10155, 10163, 10355, 10427, 10436, 10439, 10528, 10704, 10819, 10832, 10840, 10861, 10870, 10895, 10900, 10900, 10901, 10902, 10910, 10911, 10914, 10923, 10925, 10932, 10933, 10970, 10972, 10972, 10972, 11000, 11007, 11117, 11124, 11128, 11129, 11144, 11145, 11148, 11150, 11189, 11231, 11239, 11240, 11357, 11358, 11358, 11359, 11360, 11361, 11362, 11363, 11364, 11367, 11368, 11369, 11370, 11373, 11380, 11386, 11388, 11394, 11396, 11398, 11407, 11425, 11474, 11474, 11475, 11475, 11476, 11476, 11477, 11477, 11478, 11478, 11507, 11518, 11518, 11521, 11521, 11610, 11610, 11616, 11619, 11620, 11621, 11622, 11623, 11624, 11625, 11628, 11629, 11630, 11631, 11645, 11650, 11738, 11739, 11746, 11748, 11752, 11754, 11893, 11899, 11899, 11899, 11900, 11907, 11907, 11927, 11927, 11972, 12026, 12028, 12029, 12034, 12036, 12037, 12038, 12043, 12231, 12629, 12645, 12648, 12648, 12648, 12648, 12714, 12714, 12715, 12715
els 730 1141 $ 1549, 1550, 1551, 1607, 1609, 2245, 2261, 2279, 2363, 2369, 2372, 2387, 2388, 2389, 2390, 2391, 2395, 2397, 2398, 2398, 2398, 2399, 2399, 2522, 2525, 2526, 2527, 2528, 2532, 2532, 2558, 2577, 2578, 2586, 2608, 2609, 2618, 2627, 2701, 2704, 2764, 2772, 2782, 2831, 2836, 2844, 2844, 2878, 2878, 2948, 2966, 2970, 2978, 2980, 2985, 2985, 3091, 3209, 3210, 3221, 3229, 3358, 3358, 3359, 3359, 3361, 3362, 3363, 3364, 3367, 4914, 5537, 5884, 5911, 5969, 5971, 5972, 5973, 6326, 6328, 6329, 6330, 6336, 6341, 6353, 6354, 6361, 6362, 6373, 6374, 6808, 6919, 6920, 6996, 6997, 7014, 7015, 7037, 7123, 7648, 7917, 7917, 7958, 7959, 7960, 8009, 8018, 8018, 8167, 8171, 8172, 8296, 8296, 8297, 8297, 8298, 8298, 8459, 8680, 8681, 8682, 8698, 8714, 8746, 8746, 8747, 8747, 8819, 8820, 8831, 8874, 8875, 8876, 8877, 8878, 8879, 8884, 8888, 8914, 8915, 8917, 8919, 8924, 8926, 8928, 8933, 8936, 8944, 8948, 8956, 8959, 8967, 8971, 9007, 9008, 9009, 9010, 9011, 9012, 9030, 9052, 9053, 9061, 9062, 9099, 9102, 9104, 9277, 9279, 9280, 9281, 9300, 9301, 9301, 9308, 9310, 9311, 9312, 9337, 9373, 9375, 9376, 9378, 9516, 9518, 9519, 9520, 9571, 9573, 9574, 9575, 9959, 9964, 9971, 10352, 11090, 11149, 11223, 11224, 11225, 11243, 11244, 11246, 11252, 11254, 11267, 11269, 11270, 11271, 11272, 11274, 11277, 11302, 11307, 11325, 11351, 11352, 11448, 11479, 11482, 11482, 11485, 11485, 11497, 11501, 11501, 11502, 11514, 11515, 11516, 11517, 11519, 11520, 11521, 11523, 11523, 11529, 11531, 11533, 11536, 11537, 11542, 11545, 11551, 11553, 11554, 11570, 11571, 11590, 11591, 11640, 11653, 12521, 12522, 12556, 12557, 12665, 12665, 12670, 12671, 12672, 12706
persist 774 147 API, data, saveTimer, scheduleProfilePush 1264, 1424, 1451, 2022, 2055, 3062, 3073, 4186, 4443, 4451, 4467, 4598, 4631, 4917, 5638, 5929, 6939, 7140, 7218, 8064, 8112, 8131, 8145, 8151, 8253, 8259, 8291, 8500, 8532, 8932, 9438, 9495, 9888, 9891, 9894, 9897, 9901, 9902, 9903, 9904, 9905, 9906, 9907, 9910, 9916, 9960, 9967, 9972, 9976, 9980, 9985, 9990, 9995, 10092, 10102, 10103, 10119, 10273, 10278, 10318, 10404, 10502, 10621, 10643, 10680, 10711, 10763, 10853, 10857, 10882, 11420, 11435, 11524, 11540, 11548, 11555, 11572, 11784, 11787, 11829, 11845, 11888, 12057, 12080, 12110, 12483, 12630, 12631, 12632, 12650, 12652, 12653, 12654, 12655
profilePayload 786 528 data 878, 1415
ProfileSecret 806 671 — 817, 846, 859, 1030, 1444, 1448, 1448, 1458, 1504, 1507, 1536, 10118, 12679
profileHeaders 816 143 ProfileSecret 87, 877, 956, 1314, 1328, 5896, 12720
askProfileSecret 822 1307 $, importProfileCredentials, escapeHtml, showModal, closeModal 855
fetchProfile 845 740 ProfileSecret, askProfileSecret 1373, 1534, 1577
profilePushTimer 865 28 — 868, 869
scheduleProfilePush 866 179 WEB, data, profilePushTimer, pushProfile 777, 972
pushProfile 872 947 WEB, API, data, profilePayload, profileHeaders, toast 869
applyProfileData 895 1432 API, DEFAULT_SETTINGS, data 970, 1545
_syncBusy 917 18 — 919, 919, 921
setSyncing 918 192 _syncBusy 926, 934
syncOnLaunch 925 637 setSyncing, playlistFingerprint, pullProfileIfNewer, updateProfileStatus, checkPlaylistInbox, render, renderSmartSidebar 12618
playlistFingerprint 945 189 data 927, 937
pullProfileIfNewer 953 1123 WEB, data, profileHeaders, scheduleProfilePush, applyProfileData, toast 929
profileShareUrl 980 175 WEB, data 986, 1006, 1023, 9829, 9834, 9839, 9840
copyProfileLink 985 759 $, profileShareUrl, escapeHtml, toast, showModal, closeModal 1008, 10111, 11144
shareProfileLink 1005 427 data, profileShareUrl, copyProfileLink 10112, 11145
updateProfileStatus 1021 1681 data, ProfileSecret, profileShareUrl 941, 1425, 1452, 1555, 10120, 10123, 12666
showSharedPlaylistModal 1057 3747 data, $, escapeHtml, toast, showModal, closeModal 1174
sharePlaylist 1160 696 showSharedPlaylistModal, toast 9014
adoptSharedPlaylistFromUrl 1182 555 WEB, adoptSharedPlaylistByCode 12605
adoptSharedPlaylistByCode 1205 2628 data, persist, escapeHtml, toast, uid, renderSidebar, render, slim, showModal, closeModal 1198, 1324
inboxCheckRunning 1278 30 — 1281, 1284, 1289
inboxLastCheck 1279 23 — 1285, 1299
checkPlaylistInbox 1280 352 WEB, data, inboxCheckRunning, inboxLastCheck, drainPlaylistInbox 932, 1303
INBOX_POLL_MS 1293 36 — 1307
INBOX_MIN_GAP_MS 1294 35 — 1299
startPlaylistInboxWatch 1295 547 WEB, $, inboxLastCheck, checkPlaylistInbox, INBOX_POLL_MS, INBOX_MIN_GAP_MS 12619
drainPlaylistInbox 1310 853 profileHeaders, adoptSharedPlaylistByCode 1287
adoptProfileFromUrl 1338 1712 WEB, data, fetchProfile, finishProfileLoad, escapeHtml, toast, showModal, closeModal 12606
createProfileFlow 1385 1098 $, requestCreateProfile, toast, showModal, closeModal 10109
requestCreateProfile 1410 756 data, persist, profilePayload, updateProfileStatus, toast, closeModal 1396, 1403
randomProfileKey 1433 193 — 1476
setProfileSecretOnServer 1439 639 data, persist, ProfileSecret, updateProfileStatus 1476, 1487, 1494
protectProfileFlow 1455 2453 data, $, ProfileSecret, randomProfileKey, setProfileSecretOnServer, exportProfileCredentials, escapeHtml, toast, showModal, closeModal 10113
exportProfileCredentials 1502 1276 data, ProfileSecret, toast 1479, 10114
importProfileCredentials 1523 1125 $, ProfileSecret, fetchProfile, finishProfileLoad, toast 835, 10115
finishProfileLoad 1544 623 data, els, applyProfileData, updateProfileStatus, toast, applyAppearance, preloadPlaylist, preloadPinnedPlaylists, updateQueueBadge, updateLoopRepeatButtons, renderSidebar, render, renderSmartSidebar 1379, 1537, 1583
loadProfileFlow 1561 1120 $, fetchProfile, finishProfileLoad, toast, showModal, closeModal 10110
escapeHtml 1595 187 — 828, 997, 1061, 1063, 1233, 1241, 1360, 1465, 3589, 3613, 3616, 3664, 3665, 3673, 3674, 3779, 3841, 4018, 4019, 4295, 4406, 4552, 5031, 5038, 5038, 5215, 5216, 5284, 5285, 5285, 6012, 6030, 6031, 6039, 6039, 6041, 6041, 6209, 6209, 6389, 6390, 6390, 6392, 6394, 6394, 6506, 6510, 6533, 6537, 7263, 7453, 7456, 7457, 7458, 7462, 7846, 7847, 7849, 7868, 7869, 7869, 8195, 8768, 9296, 9354, 9469, 9834, 9932, 9933, 10202, 10479, 11257, 11258, 11259, 11259, 11945
ICON_PLAY 1601 113 — 3091, 3093
ICON_PAUSE 1602 130 — 3091, 3093
lastVolume 1605 19 — 1610, 11543, 11544, 11544
syncMuteIcon 1606 709 $, els, lastVolume 4916, 7125, 9966, 11539, 11547, 12668
fmtTime 1620 322 — 2441, 4785, 5783, 7627, 7958, 7959, 8041, 8388, 8389, 10203, 11814, 11821, 11901, 11902, 11908, 11909
toast 1629 1015 $ 882, 963, 990, 1077, 1170, 1176, 1211, 1216, 1229, 1267, 1376, 1381, 1400, 1419, 1426, 1428, 1459, 1478, 1480, 1484, 1485, 1489, 1490, 1494, 1495, 1505, 1520, 1530, 1531, 1532, 1535, 1538, 1558, 1580, 1585, 1671, 1831, 1843, 1855, 1867, 1869, 1873, 2008, 2024, 2027, 2030, 2058, 2066, 2068, 2078, 2361, 2441, 2486, 2502, 2510, 2514, 2630, 3114, 3130, 3172, 3173, 3174, 3185, 3226, 3341, 3511, 3807, 3810, 3819, 3824, 3827, 3911, 3912, 3916, 3938, 4008, 4033, 4063, 4066, 4098, 4134, 4143, 4145, 4149, 4165, 4172, 4192, 4196, 4200, 4204, 4210, 4234, 4235, 4339, 4835, 4836, 4945, 4988, 5049, 5070, 5070, 5295, 5321, 5411, 5645, 5966, 6316, 6439, 6440, 6445, 6818, 6819, 6820, 6831, 6877, 6946, 6975, 7439, 7473, 7473, 7482, 7541, 7583, 7593, 7627, 7670, 7746, 7750, 7756, 7779, 7820, 7820, 7894, 7898, 7898, 7938, 8115, 8129, 8134, 8154, 8243, 8255, 8261, 8293, 8511, 8664, 8781, 8955, 8966, 8989, 8997, 9004, 9129, 9155, 9429, 9441, 9489, 9499, 9891, 9898, 9919, 9947, 9951, 10023, 10039, 10076, 10121, 10278, 10386, 10406, 10408, 10431, 10505, 10510, 10576, 10622, 10624, 10684, 10766, 10828, 10854, 10859, 11216, 11222, 11359, 11404, 11421, 11436, 11463, 11466, 11720, 11728, 11792, 11796, 11801, 11814, 11821, 11832, 11890, 12061, 12081, 12113, 12116, 12240, 12310, 12311, 12331, 12353, 12357, 12363, 12472, 12485, 12487, 12491, 12513, 12630, 12631, 12648, 12663, 12664, 12665, 12713
uid 1657 91 — 1261, 1995, 10499, 10677, 12054, 12433, 12630
applyAppearance 1661 783 data, toast 1546, 9894, 9897, 9901, 9903, 9904, 9905, 12662
fmtBytes 1677 204 — 9162, 9257, 9290, 9357, 9452, 9473, 9930, 10060, 10061, 10070
isUsableCacheItem 1689 110 — 1697, 1719
refreshCachedIds 1693 340 API, cachedIds, isUsableCacheItem 12675
cacheMutations 1709 23 — 1715, 1718, 1864, 2013, 3183
cacheResyncRunning 1710 31 — 1712, 1713, 1738
resyncCachedIds 1711 1269 WEB, data, view, cachedIds, downloading, $, isUsableCacheItem, cacheMutations, cacheResyncRunning, markCardCacheState, renderSidebar, renderList, updatePlaylistOfflineButton 1749
startCacheResyncWatch 1742 356 WEB, resyncCachedIds 12676
warmSearchThumbs 1762 268 warmThumb 11179, 11214
warmThumb 1768 150 WEB 1765, 1866, 2016
YT_ID_RE 1774 39 — 1777
UPLOAD_ID_RE 1775 42 — 1776
isUploadId 1776 63 UPLOAD_ID_RE 1777, 1781, 3366, 3602, 3644, 4527, 6453, 6619, 7420, 7422, 9470
isMediaId 1777 76 YT_ID_RE, isUploadId 3475, 4941, 5698, 6187, 6568
thumbUrlFor 1779 324 isUploadId 1795, 1866, 2016, 8553, 9469, 9534, 9534
THUMB_WARM_MAX 1790 27 — 1801
warmOfflineThumbs 1791 576 WEB, data, cachedIds, thumbUrlFor, THUMB_WARM_MAX, videoById 12702
recordDeviceFile 1810 528 WEB 1865, 3184
preload 1821 3504 SaveSlots, saveControllers, SaveQueue, API, data, view, current, cachedIds, downloading, downloadMeta, $, toast, cacheMutations, warmThumb, thumbUrlFor, recordDeviceFile, updateDownloadBadge, markCardCacheState, updateNowPlayingActions, EqRender, renderSidebar, renderList, slim, updatePlaylistOfflineButton 374, 1921, 1948, 1957, 2330, 3128, 9223, 10578, 10619, 10679, 10831, 10858, 11434, 11471, 12056, 12633, 12689
resavedAfterFailure 1900 38 — 1919, 1920
dropBrokenLocalCopy 1901 871 WEB, NO_HEVC_KEY, API, data, view, cachedIds, $, preload, resavedAfterFailure, markCardCacheState, renderSidebar, updatePlaylistOfflineButton 2485
updateDownloadBadge 1925 331 downloading, $ 1838, 1883, 2007, 2035, 3178, 3191, 8724
playlistOfflineStats 1936 266 cachedIds 8700, 8754, 10789, 10821
preloadPlaylist 1946 138 data, preload 1556, 9986, 12684
preloadPinnedPlaylists 1952 299 data, preload 1557, 12685
markCardCacheState 1963 669 — 1728, 1836, 1881, 1912, 2005, 2034, 2056, 3119, 3177, 3190, 9498, 10574, 11462
customVideoId 1994 91 sanitizeId, uid 2221
downloadEdited 2000 1949 API, data, view, cachedIds, downloading, downloadMeta, $, persist, toast, cacheMutations, warmThumb, thumbUrlFor, updateDownloadBadge, markCardCacheState, renderSidebar, renderList, videoById, slim, updatePlaylistOfflineButton 2233
deleteCustomVideo 2049 620 API, data, view, current, cachedIds, persist, toast, markCardCacheState, updateNowPlayingActions, renderList 10566
openVideoEditor 2065 6603 WEB, current, toast, customVideoId, downloadEdited, Player, showModal, closeModal 10589, 11483
Player 2243 30427 TAURI, WEB, perfMark, NO_HEVC_KEY, _currentBlobUrl, API, knownServerCachedIds, toAssetUrl, data, playFullMode, current, IS_IOS, useEqRender, abA, cachedIds, els, fmtTime, toast, preload, dropBrokenLocalCopy, showSpinner, chooseQuality, buildQualityMenu, offerPeerDownload, updateNowPlayingActions, Notes, Remote, Transition, Wave, Level, Gestures, Party, setHomeOverPlayer, showMiniBar, addToHistory, playNext, playPrev, updateServiceMode, channelKeyOf, markPlayingCard, scrollPlayerIntoViewPortrait, restoreAbMarkers, rememberPosEnabled, updateRememberPosUI, loadRelated, exitSelectMode 2073, 2073, 2074, 2150, 2152, 2925, 2926, 2932, 2935, 2937, 2938, 2942, 2943, 2987, 2990, 2994, 2995, 2997, 2998, 3005, 3005, 3010, 3014, 3014, 3015, 3036, 3037, 3037, 3040, 3041, 3043, 3056, 3058, 3059, 3070, 3082, 3082, 3091, 3093, 3095, 3096, 3098, 3122, 3122, 3123, 3125, 3125, 3222, 3490, 3490, 3693, 3693, 3712, 3712, 4099, 4099, 4121, 4121, 4121, 4121, 4134, 4135, 4144, 4460, 4497, 4569, 4569, 4569, 4654, 4659, 4672, 4682, 4689, 4689, 4722, 4722, 4730, 4850, 4900, 4901, 4902, 4907, 4915, 5325, 5325, 5325, 5479, 5479, 5500, 5558, 5558, 5570, 5572, 5573, 5574, 5586, 5587, 5593, 5596, 5606, 5739, 5740, 5782, 5791, 5792, 5941, 5945, 6085, 6116, 6116, 6116, 6309, 6310, 6311, 6311, 6314, 6315, 6316, 6316, 6317, 6318, 6446, 6820, 6836, 6836, 6836, 6839, 6839, 6839, 7058, 7058, 7058, 7073, 7073, 7124, 7569, 7600, 7619, 7620, 7621, 7622, 7646, 7648, 7649, 7650, 7651, 7657, 7918, 7956, 7957, 7973, 7976, 7977, 8039, 8040, 8080, 8228, 8241, 8241, 8246, 8311, 8311, 8314, 8423, 8423, 8424, 8424, 8428, 8429, 8588, 8588, 9965, 11514, 11525, 11525, 11526, 11526, 11526, 11532, 11533, 11538, 11546, 11551, 11558, 11559, 11561, 11563, 11564, 11565, 11567, 11575, 11577, 11578, 11578, 11579, 11587, 11588, 11588, 11589, 11589, 11619, 11628, 11676, 11680, 11709, 11716, 11717, 11811, 11818, 11956, 12648, 12654, 12654, 12654, 12654, 12654, 12656, 12660, 12660, 12660, 12660, 12665, 12665, 12665, 12665, sw-update.js:177, sw-update.js:177
showSpinner 2947 75 els 2277, 2290, 2360, 2513, 2629, 3025, 3035, 3046
chooseQuality 2951 459 data, current 2356, 2874, 11560, 11576
buildQualityMenu 2964 559 data, current, els 2386
wirePlayerEvents 2984 4922 WEB, perfMeasure, warmNextQueue, data, playFullMode, current, els, persist, Player, showSpinner, updatePlayBtn, updateProgress, onTrackEnded, rememberPosEnabled 12565
updatePlayBtn 3089 530 $, els, ICON_PLAY, ICON_PAUSE, Player, Remote 2990, 3007, 7073, 7650, 7651, 7978, 8234, 8247, 12648, 12656, 12660, 12665
reportingBroken 3104 34 — 3107, 3108, 3132, 3363, 3364
reportBroken 3105 1271 API, current, cachedIds, toast, preload, markCardCacheState, Player, reportingBroken, updateNowPlayingActions 11494
availCache 3140 29 — 3150, 3153, 3158, 3158, 3158
renderAvailability 3141 1214 WEB, data, current, $, availCache 3354
getFromPeers 3171 1175 cachedIds, downloading, toast, cacheMutations, recordDeviceFile, updateDownloadBadge, markCardCacheState, renderSidebar 3217, 9214
offerPeerDownload 3197 1554 WEB, data, cachedIds, els, toast, Player, getFromPeers 2373
openMoreControls 3237 2465 $, showModal, closeModal 4718, 11477
openAddChoice 3294 998 current, addToQueue, openCardMenu, showModal, closeModal 11475
openMoreActions 3318 1347 $, toast, showModal, closeModal 11474
setTile 3347 135 — 3370, 3374, 3378, 3383
updateNowPlayingActions 3351 1537 WEB, current, cachedIds, downloading, removing, $, els, isUploadId, reportingBroken, renderAvailability, setTile 1842, 1882, 2057, 2400, 3109, 3133, 9442, 9497, 10040, 10075, 10575, 11457, 11469
SERVICE_LYRIC_MIN_PX 3390 32 — 4257
fitLyricLines 3400 2596 — 4257, 4411, 4414, 6225
Notes 3460 56491 WEB, data, current, abA, $, persist, escapeHtml, toast, isUploadId, isMediaId, Player, SERVICE_LYRIC_MIN_PX, fitLyricLines, Party, isServiceModeOpen, updateServiceViewBtn, showModal, closeModal 2380, 4722, 4722, 7810, 7810, 7903, 7963, 8502, 8644, 9981, 11586, 11598, 11599, 11601, 11602, 11630, 12648, 12648, 12648, 12658
Remote 4762 30421 WEB, API, data, queue, queueIndex, current, sleepTimerRemaining, cachedIds, $, els, persist, escapeHtml, syncMuteIcon, fmtTime, toast, isMediaId, Player, playVideoAt, playFromList, renderUpNext, playNext, playPrev, isServiceModeOpen, enterServiceMode, exitServiceMode, slim, showModal, closeModal, closeSidebar, startSleepTimer, cancelSleepTimer 2385, 3090, 8184, 12643
TRANSITION_MODES 5450 57 — 5636, 5636, 5636
Transition 5451 8619 WEB, API, data, queue, queueIndex, queueSource, playFullMode, current, abA, abB, cachedIds, $, els, persist, toast, Player, TRANSITION_MODES, Party, advanceQueue, sleepAtTrackEnd 2266, 7964, 8238, 11360, 12646
Wave 5668 5245 WEB, data, current, $, fmtTime, isMediaId, Player 2381, 7967, 11573
CatalogSync 5801 1192 WEB, webFetch, SearchLibrary 5829, 12730
collectSearchMetadata 5829 81 WEB, CatalogSync 251, 11180
Recommendations 5831 5450 WEB, webFetch, data, $, els, profileHeaders, updateBottomChrome, setHomeOverPlayer, playFromList, addToQueue, openCardMenu 8738, 8920, 12729
StatsTrack 5923 1462 data, current, persist, Player 5968, 7966
renderStats 5965 7074 data, view, $, els, escapeHtml, toast, Player, StatsTrack, resetListHeaderExtras 8894
Presenter 6097 9492 WEB, $, escapeHtml, isMediaId, Player, fitLyricLines 12621
playVideoAt 6308 546 current, toast, Player 5179, 6409, 6575, 7569, 7643, 12517
renderLibrary 6325 1254 view, els, resetListHeaderExtras, renderCard 8896
renderNotesView 6360 3892 data, $, els, escapeHtml, playVideoAt 8895
Share 6434 8739 data, current, abA, abB, escapeHtml, toast, isUploadId, isMediaId, Player, playVideoAt, showModal, closeModal 11361, 12624
Level 6588 3894 data, cachedIds, isUploadId, EqRender, EQ 2382, 6695, 6695, 6696, 6877, 9647, 9872, 9911, 9918
EqRender 6684 5914 WEB, data, cachedIds, Level, loadSoundFeatures, EQ 698, 699, 1862, 1862, 6594, 6594, 6942, 6942, 9912, 12652, 12653, 12700
PiP 6807 1774 current, $, els, toast, Player 11363, 11600, 12647
loadSoundFeatures 6853 107 — 6749, 6877, 6946
EQ_BANDS 6854 36 — 6882, 6921, 6959, 7022
EQ_PRESETS 6855 40 — 6869, 6934, 6934, 6958, 6973, 6975
EQ 6856 7927 data, current, $, els, persist, toast, Level, EqRender, loadSoundFeatures, EQ_BANDS, EQ_PRESETS, showModal, closeModal 6609, 6610, 6686, 6694, 6762, 8567, 8567, 9643, 9649, 9911, 9917, 11364, 11603, 12649, 12651, 12652, 12652, 12653
Gestures 7033 5217 data, current, $, els, persist, syncMuteIcon, Player, updatePlayBtn 2383
SectionRail 7170 10973 data, relatedCollapsed, persist, escapeHtml, restoreNowPlayingList 10371, 11376, 12623
External 7417 4595 queue, queueIndex, current, escapeHtml, toast, isUploadId, showModal, closeModal 11362
Party 7499 22833 WEB, API, data, current, cachedIds, $, els, escapeHtml, fmtTime, toast, Player, updatePlayBtn, Notes, playVideoAt, advanceQueue, playNext, playPrev, closeSidebar 2384, 4392, 4392, 4392, 5478, 8217, 8233, 8240, 8310, 12628
updateProgress 7955 1111 data, playFullMode, current, abA, abB, $, els, fmtTime, Player, updatePlayBtn, Notes, Transition, Wave, StatsTrack, updateMiniBar, advanceQueue, updateServiceProgress, sleepAtTrackEnd, applySleepFade 3049, 3077
updateBottomChrome 7990 525 — 5886, 8001, 8002, 8035, 8048, 12686
setHomeOverPlayer 8008 702 current, els, showMiniBar, isServiceModeOpen, exitServiceMode, renderHomePlaylists 2278, 5871, 8170, 10343, 11312, 11320
showMiniBar 8027 376 current, $, updateBottomChrome, updateMiniBar, channelKeyOf 2402, 8021, 11005
updateMiniBar 8037 303 current, $, fmtTime, Player 7961, 8034
hideMiniBar 8046 111 $, updateBottomChrome 11004, 11632, 11650
addToHistory 8054 535 data, view, persist, renderList 2379
playFromList 8071 403 warmNextQueue, data, queue, queueIndex, queueSource, playFullMode, Player, unshuffledQueue, applyShuffle, renderUpNext 4943, 5871, 8158, 8633, 8780, 8952, 8963, 8980, 8988, 9259, 9336, 9365, 9478, 10253
unshuffledQueue 8088 27 — 8076, 8092, 8092, 8105, 8107, 8108
applyShuffle 8090 436 queue, queueIndex, unshuffledQueue 8078, 8104
toggleShuffle 8101 558 data, queue, queueIndex, current, persist, toast, unshuffledQueue, applyShuffle, renderUpNext, updateLoopRepeatButtons 8290, 11517, 11594
updateQueueBadge 8119 339 data, $ 1548, 8132, 8146, 8152, 8723, 12669
addToQueue 8127 338 data, view, persist, toast, updateQueueBadge, renderList, slim 3310, 5874, 8955, 8966, 9004, 10548, 11402, 11498, 11595
removeFromQueue 8136 479 data, view, queue, queueIndex, queueSource, current, persist, updateQueueBadge, renderUpNext, renderList 10270, 11418
clearQueue 8149 148 data, view, persist, toast, updateQueueBadge, renderList 4692, 8943
playQueue 8156 119 data, playFromList 8940
restoreNowPlayingList 8164 845 data, view, queueSource, current, els, setHomeOverPlayer, renderUpNext, _lastViewKey, render 7234, 10338, 11025, 11639, 11650
renderUpNext 8182 1289 queue, queueIndex, $, escapeHtml, Remote, playNext, updateServiceUpNext, openChannel, channelKeyOf 4927, 4935, 4944, 8081, 8114, 8143, 8179, 8229, 8315, 10316, 11956
advanceQueue 8216 598 data, queue, queueIndex, playFullMode, Player, Party, renderUpNext 5574, 7569, 7974, 8234, 8242
playNext 8232 143 $, updatePlayBtn, Party, advanceQueue 2414, 4903, 4922, 7623, 8210, 11515, 11620, 12648, 12657, 12665
onTrackEnded 8237 702 data, playFullMode, $, toast, Player, updatePlayBtn, Transition, Party, advanceQueue, sleepAtTrackEnd, finishSleep 3078
toggleLoopOne 8251 191 data, persist, toast, updateLoopRepeatButtons 11519, 11592
toggleRepeat 8257 229 data, persist, toast, updateLoopRepeatButtons 11520, 11593
PLAY_MODES 8265 335 — 8286, 8293, 8302, 8305, 8305, 8306
MODE_ICONS 8272 456 — 8302
playModeIndex 8279 176 data 8286, 8301
cyclePlayMode 8285 416 data, persist, toast, toggleShuffle, PLAY_MODES, playModeIndex, updateLoopRepeatButtons 11518
updateLoopRepeatButtons 8295 769 data, $, els, PLAY_MODES, MODE_ICONS, playModeIndex 1547, 8113, 8254, 8260, 8292, 9906, 9907, 12667
playPrev 8309 268 queue, queueIndex, Player, Party, renderUpNext 2413, 4904, 7624, 11516, 11621, 12665
serviceWakeLock 8322 27 — 8332, 8337, 8337, 8338, 8341, 8343, 8344, 8349, 8355, 8357, 8358, 8361, 8369, 8369
isServiceModeOpen 8324 116 $ 2927, 2939, 2944, 4246, 4858, 8014, 8330, 8395, 8461, 8544, 11606, 11735, 12648, 12648
acquireWakeLock 8329 671 serviceWakeLock, isServiceModeOpen, updateWakeStateUI 2927, 2939, 2944, 8646
releaseWakeLock 8354 229 serviceWakeLock, updateWakeStateUI 8657, 11736
updateWakeStateUI 8366 268 $, serviceWakeLock 8333, 8345, 8351, 8363, 8432
updateServiceUpNext 8374 340 queue, queueIndex, $ 8183, 8420
updateServiceProgress 8385 379 $, fmtTime 7962, 8425
updateServiceMode 8394 1370 queue, queueIndex, current, $, Player, isServiceModeOpen, updateWakeStateUI, updateServiceUpNext, updateServiceProgress, ServiceVisual, currentPlaylistEntry 2403, 8643, 10759
serviceVideoOn 8441 96 data 8461, 8482
applyServiceVideoLayout 8457 351 $, els, isServiceModeOpen, serviceVideoOn 8468
updateServiceVideoUI 8467 90 applyServiceVideoLayout, updateServiceViewBtn 8501, 8641, 8655
SERVICE_VIEWS 8473 680 — 8489, 8489, 8507, 8511
serviceView 8480 213 data, serviceVideoOn 8489, 8508, 8544
updateServiceViewBtn 8486 484 $, SERVICE_VIEWS, serviceView 4262, 8469, 8503
setServiceView 8496 278 data, persist, Notes, updateServiceVideoUI, updateServiceViewBtn, ServiceVisual 8510
cycleServiceView 8506 327 data, toast, SERVICE_VIEWS, serviceView, setServiceView 11623
SERVICE_FONT_SCALES 8515 85 — 8523
serviceFontStep 8516 137 data 8521, 8531
applyServiceFont 8520 402 $, SERVICE_FONT_SCALES, serviceFontStep 8533, 8642
stepServiceFont 8530 150 data, persist, serviceFontStep, applyServiceFont 11624, 11625
ServiceVisual 8537 3523 current, $, thumbUrlFor, Player, EQ, isServiceModeOpen, serviceView 8421, 8504, 8645, 8656
enterServiceMode 8621 1132 queueSource, current, $, Notes, playFromList, acquireWakeLock, updateServiceMode, updateServiceVideoUI, applyServiceFont, ServiceVisual 4954, 8998, 11476, 11647
exitServiceMode 8649 351 $, releaseWakeLock, updateServiceVideoUI, ServiceVisual 4954, 8014, 11606, 11622, 11735
openChannel 8663 954 API, view, channelData, els, toast, renderList, render 8206, 10220, 11504, 11509, 11952
channelKeyOf 8688 227 — 2396, 8032, 8203, 8206, 10215, 10220, 11503, 11504, 11508, 11509, 11949, 11952
renderSidebar 8697 1422 data, view, els, updateDownloadBadge, playlistOfflineStats, updateQueueBadge, renderHomePlaylists, render 1265, 1552, 1729, 1890, 1913, 2042, 3192, 10360, 10405, 10503, 10836, 10844, 10872, 12632, 12663
renderHomePlaylists 8732 2774 data, view, els, escapeHtml, toast, playlistOfflineStats, Recommendations, playFromList, updateHomeGridScrollState, render 8020, 8725
updateHomeGridScrollState 8792 345 — 8786, 11150, 11151
currentList 8801 495 data, view, searchResults, channelData, queue, getSmartList 8908, 11389, 11399, 11426
showSearchSkeletons 8815 750 els, setListPaneHidden 9047, 11184
setListPaneHidden 8839 143 — 8818, 8888
LIST_ICONS 8845 547 — 8860, 8865
listIconBtn 8854 392 LIST_ICONS 9013, 9014, 9018, 9023, 9028, 9038
setListIcon 8864 126 LIST_ICONS 10795, 10805
resetListHeaderExtras 8869 399 $, els 5970, 6327, 8885, 8916, 9278, 9309, 9374, 9517, 9572
renderList 8882 10974 WEB, data, view, searchResults, searchAttempted, channelData, listFilter, selectMode, selectedIds, $, els, persist, sharePlaylist, toast, Recommendations, renderStats, renderLibrary, renderNotesView, playFromList, addToQueue, clearQueue, playQueue, enterServiceMode, currentList, showSearchSkeletons, setListPaneHidden, listIconBtn, resetListHeaderExtras, addBrowseCta, renderP2pStrip, renderSavedSearches, renderP2pList, renderSaved, renderDownloads, renderSettings, renderCard, markPlayingCard, renamePlaylist, updatePlaylistOfflineButton, makePlaylistOffline, togglePinPlaylist, deletePlaylist, SMART_PLAYLISTS, toggleSelectMode 378, 1735, 1837, 1884, 2006, 2025, 2036, 2059, 8065, 8133, 8147, 8153, 8676, 9535, 10041, 10077, 10274, 10319, 10362, 10765, 11199, 11210, 11382, 11386, 11405, 11611, 12039
addBrowseCta 9108 252 view, render 9074, 9081, 9088, 9096, 9411
exportToDevice 9128 5159 WEB, hevcCapable, data, cachedIds, toast, fmtBytes, preload, getFromPeers, videoTitleById, showModal, closeModal 9258, 9364, 9480, 10556, 11478, 12637, 12638
p2pStripAt 9237 40 p2pStripData 9241, 9243
p2pStripData 9237 40 p2pStripAt 9241, 9242, 9242, 9246, 9246, 9246
renderP2pStrip 9238 1834 WEB, data, view, $, fmtBytes, playFromList, exportToDevice, p2pStripAt, p2pStripData, videoTitleById 8976
fmtAgo 9269 263 — 9297, 9933, 11234
renderSavedSearches 9276 1587 SearchLibrary, els, escapeHtml, fmtBytes, resetListHeaderExtras, fmtAgo 8892
renderP2pList 9307 3593 view, els, escapeHtml, fmtBytes, playFromList, resetListHeaderExtras, exportToDevice, videoTitleById, markPlayingCard, openCardMenu 8891
renderSaved 9372 6530 API, data, view, current, listFilter, cachedIds, $, els, persist, escapeHtml, toast, fmtBytes, isUploadId, thumbUrlFor, markCardCacheState, updateNowPlayingActions, playFromList, resetListHeaderExtras, addBrowseCta, exportToDevice, videoById, videoTitleById, markPlayingCard, showModal, closeModal 8890
renderDownloads 9515 1216 SaveQueue, view, listFilter, $, els, thumbUrlFor, resetListHeaderExtras, renderList, render, showModal, closeModal 8893
videoById 9550 533 data 1795, 2016, 9458, 9566, 10018, 11401, 11427
videoTitleById 9565 85 videoById 9132, 9252, 9324, 9463, 10071
renderSettings 9570 31516 WEB, APP_VERSION, saveDataToStorage, SearchLibrary, SaveSlots, API, data, view, current, cachedIds, $, els, persist, ProfileSecret, profileShareUrl, copyProfileLink, shareProfileLink, updateProfileStatus, createProfileFlow, protectProfileFlow, exportProfileCredentials, importProfileCredentials, loadProfileFlow, escapeHtml, syncMuteIcon, toast, applyAppearance, fmtBytes, preloadPlaylist, Player, updateNowPlayingActions, Notes, Level, EqRender, EQ, updateLoopRepeatButtons, resetListHeaderExtras, renderList, fmtAgo, videoById, videoTitleById, exportPlaylists, importPlaylists, openImportYouTubeModal, showModal, closeModal, doAutoBackup, importBackup, hardReloadUI 8889
renderCard 10192 5357 warmStreams, data, view, queue, queueIndex, queueSource, current, dragSource, selectMode, selectedIds, cachedIds, downloading, persist, escapeHtml, fmtTime, toast, playFromList, removeFromQueue, renderUpNext, openChannel, channelKeyOf, renderList, render, openCardMenu, openSongNoteModal, toggleSelectCard 6354, 9104
markPlayingCard 10326 170 current 2401, 9105, 9369, 9509
_lastViewKey 10348 24 — 8177, 10351, 10351, 10367, 10367, 10368
render 10349 1194 view, listFilter, $, els, SectionRail, renderSidebar, renderList, _lastViewKey, scrollListIntoViewPortrait, closeSidebar, renderSmartSidebar, exitSelectMode 939, 1266, 1554, 8178, 8667, 8713, 8777, 9112, 9533, 10278, 10344, 10504, 10627, 10644, 10683, 10712, 10885, 11176, 11183, 11289, 11312, 11321, 11420, 11980, 11987, 12060, 12112, 12497, 12542, 12613, 12630, 12705
exportPlaylists 10377 402 data, toast 10097
importPlaylists 10388 876 data, persist, toast, renderSidebar 10099
openImportYouTubeModal 10414 4468 data, $, persist, escapeHtml, toast, uid, renderSidebar, render, slim, showModal, closeModal 10096
openCardMenu 10540 4233 API, data, view, current, cachedIds, playlistOps, runExclusive, persist, toast, preload, markCardCacheState, deleteCustomVideo, openVideoEditor, updateNowPlayingActions, addToQueue, exportToDevice, render, slim, newPlaylist, showModal, closeModal 3311, 5875, 9364, 10257, 11480
slim 10651 487 — 1226, 1835, 2004, 4942, 8130, 10471, 10616, 10677, 11434, 12054, 12482, 12630
newPlaylist 10667 756 data, view, persist, toast, uid, preload, render, slim, showModal, closeModal 10635, 11148, 11325
renamePlaylist 10691 1109 $, persist, render, showModal, closeModal 9011, 9012, 9013
openSongNoteModal 10719 1703 queueSource, current, persist, toast, updateServiceMode, renderList, showModal, closeModal 10243
updatePlaylistOfflineButton 10787 1338 downloading, playlistOfflineStats, setListIcon 1733, 1888, 1917, 2040, 9020, 10834, 10842, 10871
makePlaylistOffline 10814 1075 view, cachedIds, $, toast, preload, playlistOfflineStats, renderSidebar, updatePlaylistOfflineButton 9018
togglePinPlaylist 10847 1045 data, $, persist, toast, preload, renderSidebar, updatePlaylistOfflineButton 9023
deletePlaylist 10875 507 data, view, persist, render, showModal, closeModal 9028
toggleShortcutHelp 10894 108 $ 11604
wireShortcutHelp 10899 272 $ 12567
showModal 10909 515 $ 833, 998, 1143, 1244, 1364, 1394, 1497, 1570, 2207, 3289, 3312, 3342, 3782, 3877, 4036, 4077, 4125, 4224, 5082, 5297, 5350, 5365, 6557, 6951, 6986, 7443, 9152, 9423, 9481, 9531, 9531, 10032, 10164, 10483, 10522, 10648, 10671, 10706, 10776, 10876, 11409, 11444, 11492, 11800, 12049, 12096, 12256, 12630, 12633
closeModal 10925 61 $ 832, 835, 998, 1121, 1245, 1246, 1365, 1366, 1395, 1422, 1473, 1477, 1488, 1494, 1571, 1576, 2208, 2232, 3282, 3289, 3307, 3312, 3338, 3342, 3783, 3784, 3878, 3887, 4030, 4037, 4067, 4078, 4121, 4125, 5083, 5297, 5351, 5352, 5366, 5367, 6549, 6951, 6986, 7443, 9152, 9155, 9424, 9429, 9440, 9484, 9489, 9498, 9532, 9532, 10033, 10038, 10168, 10171, 10484, 10489, 10523, 10548, 10556, 10566, 10570, 10589, 10626, 10635, 10638, 10644, 10672, 10681, 10707, 10712, 10764, 10777, 10877, 10883, 10933, 11410, 11420, 11435, 11442, 11444, 11493, 11494, 11616, 11791, 11795, 11801, 11802, 12050, 12058, 12097, 12111, 12257, 12259, 12630, 12633, 12633
_portraitPwaMQ 10944 172 — 10949, 11051
isPortraitPWA 10948 61 _portraitPwaMQ 10961, 11015, 11055
isStackedPlayerLayout 10954 412 isPortraitPWA 10339, 11026, 11039, 11637
playerScrollBehavior 10964 160 data 11029, 11046
setupClassicLayout 10968 2013 current, $, showMiniBar, hideMiniBar 12569
applyPortraitPwaClass 11012 223 isPortraitPWA 11050, 11052
scrollPlayerIntoViewPortrait 11024 241 restoreNowPlayingList, isStackedPlayerLayout, playerScrollBehavior 2421, 11637
scrollListIntoViewPortrait 11038 556 isStackedPlayerLayout, playerScrollBehavior 10367, 11181, 11188
setupPortraitPwaWatcher 11049 313 _portraitPwaMQ, isPortraitPWA, applyPortraitPwaClass, closeSidebar 12568
setupViewportAnchorGuard 11076 1614 els 12570
openSidebar 11113 211 $ 11134
closeSidebar 11120 216 $ 5358, 5358, 7876, 7876, 10358, 10358, 11055, 11133, 11137, 11609
setupSidebarDrawer 11127 399 $, openSidebar, closeSidebar 11141
wireUI 11140 24799 perfMark, perfMeasure, RecentSearches, SearchLibrary, API, warmStreams, data, view, searchResults, searchAttempted, searchSeq, current, listFilter, selectMode, selectedIds, relatedCollapsed, cachedIds, downloading, removing, runExclusive, $, els, persist, copyProfileLink, shareProfileLink, escapeHtml, lastVolume, syncMuteIcon, toast, warmSearchThumbs, preload, markCardCacheState, openVideoEditor, Player, chooseQuality, reportBroken, openMoreControls, openAddChoice, openMoreActions, updateNowPlayingActions, Notes, Transition, Wave, collectSearchMetadata, Share, PiP, EQ, SectionRail, External, setHomeOverPlayer, hideMiniBar, toggleShuffle, addToQueue, removeFromQueue, restoreNowPlayingList, playNext, toggleLoopOne, toggleRepeat, cyclePlayMode, playPrev, isServiceModeOpen, cycleServiceView, stepServiceFont, enterServiceMode, exitServiceMode, openChannel, channelKeyOf, updateHomeGridScrollState, currentList, showSearchSkeletons, renderList, exportToDevice, fmtAgo, videoById, render, openCardMenu, slim, newPlaylist, toggleShortcutHelp, showModal, closeModal, isStackedPlayerLayout, scrollPlayerIntoViewPortrait, scrollListIntoViewPortrait, closeSidebar, setupSidebarDrawer, cancelSleepTimer, openSleepTimer, setAbA, setAbB, clearAb, toggleRememberPos, exitSelectMode, newPlaylistWithVideos, updateFromIcon 12566
sleepAtTrackEnd 11664 28 — 5477, 7965, 8239, 11686, 11708, 11745, 11747, 11799
sleepFading 11665 24 — 11676, 11676, 11679, 11709, 11709, 11752
sleepFadeSec 11667 138 data 11674, 11761, 11796, 11796
applySleepFade 11673 346 data, Player, sleepFading, sleepFadeSec 7965, 11698
startSleepTimer 11683 487 sleepTimerRemaining, sleepTimerTick, sleepAtTrackEnd, applySleepFade, cancelSleepTimer, finishSleep, updateSleepTimerUI 4950, 11790, 11794
cancelSleepTimer 11704 253 sleepTimerRemaining, sleepTimerTick, Player, sleepAtTrackEnd, sleepFading, updateSleepTimerUI 4950, 11359, 11684, 11715, 11801
finishSleep 11714 674 data, toast, Player, cancelSleepTimer, showSleepCurtain 8239, 11696
showSleepCurtain 11734 390 $, isServiceModeOpen, releaseWakeLock, exitServiceMode 11724, 11726
updateSleepTimerUI 11744 579 sleepTimerRemaining, $, sleepAtTrackEnd, sleepFading 11687, 11692, 11699, 11710
openSleepTimer 11758 2657 data, sleepTimerRemaining, persist, toast, showModal, closeModal, sleepAtTrackEnd, sleepFadeSec, startSleepTimer, cancelSleepTimer 11357
setAbA 11809 152 current, abA, fmtTime, toast, Player, saveAbMarkers, updateAbUI 11367, 11596, 12659
setAbB 11816 152 current, abB, fmtTime, toast, Player, saveAbMarkers, updateAbUI 11368, 11597, 12659
clearAb 11823 263 data, current, abA, abB, persist, toast, currentPlaylistEntry, updateAbUI 11369, 12654, 12659
saveAbMarkers 11834 550 data, current, abA, abB, persist, currentPlaylistEntry 11812, 11819, 12654
restoreAbMarkers 11848 426 data, current, abA, abB, currentPlaylistEntry, updateAbUI 2423
currentPlaylistEntry 11860 383 data, queueSource, current 8405, 11827, 11842, 11852, 11875, 11882
rememberPosEnabled 11873 196 data, current, currentPlaylistEntry 2437, 3060, 3069, 11881, 11894
toggleRememberPos 11878 467 data, current, persist, toast, currentPlaylistEntry, rememberPosEnabled, updateRememberPosUI 11370
updateRememberPosUI 11892 134 $, rememberPosEnabled 2424, 11889
updateAbUI 11897 931 abA, abB, $, fmtTime 11813, 11820, 11831, 11849, 11856, 12654
relatedState 11915 51 — 11920, 11928, 11932, 11934, 11935
fetchRelatedVideos 11916 265 API, current, relatedVideos, relatedState, renderRelated 11924
loadRelated 11923 115 current, fetchRelatedVideos 2425, 11938
renderRelated 11926 2002 queue, queueIndex, playFullMode, relatedVideos, relatedCollapsed, $, escapeHtml, Player, renderUpNext, openChannel, channelKeyOf, relatedState, loadRelated 11920
SMART_PLAYLISTS 11965 233 — 8947, 11975
renderSmartSidebar 11971 928 WEB, data, view, $, render, SMART_PLAYLISTS 938, 1553, 10361, 12612
getSmartList 11991 926 data 8807
exitSelectMode 12023 230 selectMode, selectedIds, $ 2426, 10359, 11386, 11405, 11420, 11435, 11442, 11611
toggleSelectMode 12031 328 selectMode, selectedIds, $, renderList 9038
toggleSelectCard 12041 309 selectedIds, $ 10252
newPlaylistWithVideos 12046 721 data, view, persist, toast, uid, preload, render, slim, showModal, closeModal 11442
doAutoBackup 12070 479 data, persist, toast 10104, 12086
checkAutoBackup 12083 232 data, doAutoBackup 12704
importBackup 12088 1722 data, persist, toast, render, showModal, closeModal 10106
RUNNING_BUILD 12135 159 — 12159, 12239, 12350, 12350, 12350, 12353
_knownBuildTag 12141 26 — 12159, 12160, 12178, 12239
fetchServerBuild 12143 196 — 12157, 12238, 12347
maybeShowUpdateBanner 12154 774 RUNNING_BUILD, _knownBuildTag, fetchServerBuild, prefetchUpdate, _updateBannerShown, _updating, showUpdateBanner 12190, 12386, 12393, 12399
_prefetchedFor 12175 26 — 12179, 12180
prefetchUpdate 12176 398 _knownBuildTag, _prefetchedFor, _swReg 12167
checkBuildTag 12189 62 maybeShowUpdateBanner 12194, 12712, 12713
pollBuildTag 12193 117 checkBuildTag 12711
hardReloadUI 12204 865 — 10160
_updateBannerShown 12224 31 — 12155, 12248, 12249, 12334, 12345, 12352, 12361
_updating 12225 22 — 12155, 12235, 12288, 12289, 12328
_updateToast 12226 24 — 12308, 12308, 12309, 12330, 12330, 12330, 12357
setUpdateIcon 12230 106 $ 12236, 12240, 12251, 12257, 12332
updateFromIcon 12234 384 toast, RUNNING_BUILD, _knownBuildTag, fetchServerBuild, _updating, setUpdateIcon, applyUpdate 11629
showUpdateBanner 12246 821 showModal, closeModal, _updateBannerShown, setUpdateIcon, applyUpdate 12168
_swReg 12267 18 — 12183, 12295, 12372
UPDATE_STATE_KEY 12273 44 — 12278, 12282, 12283
UPDATE_MAX_ATTEMPTS 12274 30 — 12356
SHELL_CACHE_RE 12275 54 — 12316
readUpdateState 12277 134 UPDATE_STATE_KEY 12290, 12342
writeUpdateState 12280 251 UPDATE_STATE_KEY 12291, 12329, 12351, 12362
applyUpdate 12287 2240 toast, _updateBannerShown, _updating, _updateToast, setUpdateIcon, _swReg, SHELL_CACHE_RE, readUpdateState, writeUpdateState 12243, 12260, 12358
checkUpdateOutcome 12341 1002 toast, RUNNING_BUILD, fetchServerBuild, _updateBannerShown, _updateToast, UPDATE_MAX_ATTEMPTS, readUpdateState, writeUpdateState, applyUpdate 12709
registerServiceWorker 12366 1896 WEB, maybeShowUpdateBanner, _swReg 12710
youtubeFromText 12419 341 — 12515
SHARE_INBOX 12427 38 — 12464
SHARED_PLAYLIST 12428 41 — 12433, 12485
sharedUploadsPlaylist 12430 231 data, uid, SHARED_PLAYLIST 12481, 12495
uploadSharedFile 12440 852 — 12473
_sharing 12459 21 — 12461, 12462, 12499
processSharedFiles 12460 1649 view, persist, toast, render, slim, SHARE_INBOX, SHARED_PLAYLIST, sharedUploadsPlaylist, uploadSharedFile, _sharing 12525, 12526
bootShareFromUrl 12502 1091 data, els, toast, playVideoAt, youtubeFromText, processSharedFiles 12627
URL_VIEWS 12530 121 — 12540
bootViewFromUrl 12531 391 view, render, URL_VIEWS 12625
bootSearchFromUrl 12545 414 els 12626
boot 12563 11475 WEB, APP_VERSION, perfMark, perfMeasure, webFetch, SaveQueue, API, DEFAULT_SETTINGS, data, view, current, abA, abB, cachedIds, downloading, $, els, persist, ProfileSecret, profileHeaders, syncOnLaunch, updateProfileStatus, adoptSharedPlaylistFromUrl, startPlaylistInboxWatch, adoptProfileFromUrl, syncMuteIcon, toast, uid, applyAppearance, refreshCachedIds, startCacheResyncWatch, warmOfflineThumbs, preload, preloadPlaylist, preloadPinnedPlaylists, Player, wirePlayerEvents, updatePlayBtn, Notes, Remote, Transition, CatalogSync, Recommendations, Presenter, Share, EqRender, PiP, EQ, SectionRail, Party, updateBottomChrome, updateQueueBadge, playNext, updateLoopRepeatButtons, playPrev, isServiceModeOpen, renderSidebar, exportToDevice, render, slim, wireShortcutHelp, showModal, closeModal, setupClassicLayout, setupPortraitPwaWatcher, setupViewportAnchorGuard, wireUI, setAbA, setAbB, clearAb, saveAbMarkers, updateAbUI, renderSmartSidebar, checkAutoBackup, checkBuildTag, pollBuildTag, checkUpdateOutcome, registerServiceWorker, bootShareFromUrl, bootViewFromUrl, bootSearchFromUrl 12734

Final cuts and review

Exactly six seams shipped: 3c9a24a (eager shell/shared renderers), 5fb9564 (Presenter), 8e7fa19 (Remote), 94ea211 (Watch party), 0475a18 (Share/External), b335f95 (Stats view). 2c50035 handles lazy-entry failures without rejected UI navigation promises. Final app.js: 408,473 bytes; net removal 178,556 bytes (30.4169%), including 2,976 bytes of facade/call-site overhead.

Original bytes moved, independently counted from UTF-8 AST source slices: 98,378 eager renderer/shell/rail; 9,492 Presenter; 30,421 Remote; 22,833 Party; 13,334 Share/External; 7,074 Stats view. Published files include headers/registry wrappers. Shared functions retain classic global lexical access; new UI definitions evaluate safely before data/$/els/Player initialization.

Self-review against master §6/6b: all new files belong to explicit manifest groups and legacy SHELL; source JSON matches assets.json; core scripts load first; required eager features stay parsed. Player, Transition, Wave, EQ/level rendering, queue, persistence, tracking and sleep bodies have exact source fingerprint tests. Transport internals move intact; entry button bindings move to core facades to avoid duplicate listeners. Inbound APIs remain short; synchronous boolean/hooks never become promises. Boot URL/session triggers remain; no banner/cache-header rule is changed. Executing groups remain pinned; no disposal/handoff or live replacement is introduced. Contract/N-1 safeguards remain tested by existing unit/integration checks.

Deliberately left: Notes/editor, service mode, playlist mutations, persistence, player/queue/boot, audio watchdogs/EQ/sleep, Gestures, video editor/export glue and other candidates beyond six seams. Settings paint moves to views-core but remains eager. Now-playing metadata mutations inside Player stay there to honor the untouched-playback constraint; their DOM, action paint and mini bar are eager.