-
Notifications
You must be signed in to change notification settings - Fork 8
Expand file tree
/
Copy pathYoutubeUnstableConfig.json
More file actions
831 lines (820 loc) · 27.3 KB
/
Copy pathYoutubeUnstableConfig.json
File metadata and controls
831 lines (820 loc) · 27.3 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
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
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
{
"name": "Youtube (Unstable)",
"description": "One of the biggest video platforms owned by Google",
"author": "FUTO",
"authorUrl": "https://futo.org",
"platformUrl": "https://youtube.com",
"sourceUrl": "https://plugins.grayjay.app/YoutubeUnstable/YoutubeConfig.json",
"repositoryUrl": "https://gitlab.futo.org/videostreaming/plugins/youtube",
"scriptUrl": "./YoutubeScript.js",
"version": 353,
"iconUrl": "./youtube.png",
"id": "35ae969a-a7db-11ed-afa1-0242ac120003",
"scriptSignature": "",
"scriptPublicKey": "",
"packages": ["Http", "Utilities", "DOMParser"],
"packagesOptional": ["Browser"],
"subscriptionRateLimit": 140,
"reduceFunctionsInLimitedVersion": true,
"allowEval": false,
"allowUrls": [
"youtube.com",
"m.youtube.com",
"www.youtube.com",
"youtu.be",
"www.youtu.be",
"m.youtu.be",
"s.youtube.com",
"consent.youtube.com",
"suggestqueries-clients6.youtube.com",
"youtubei.googleapis.com",
"www.google.com",
"google.com",
"returnyoutubedislikeapi.com",
"sponsor.ajay.app",
".googlevideo.com",
"jnn-pa.googleapis.com",
".c.youtube.com",
"solver.grayjay.app",
"solutions.grayjay.app"
],
"settings": [
{
"variable": "authChannels",
"name": "Use Login for Channels",
"description": "Use authenticated client for channel (videos) requests. (eg. for member videos)",
"type": "Boolean",
"default": "false",
"warningDialog": "Only enable this if you need it for channel membership content.\n\nTry disabling if you have issues when loading channels."
},
{
"variable": "authDetails",
"name": "Use Login for video details",
"description": "Use authenticated client for video requests. (eg. for member videos)",
"type": "Boolean",
"default": "false",
"warningDialog": "Only enable this if you need it for channel membership content.\n\nTry disabling if you have issues when loading videos and comments."
},
{
"variable": "allowLoginFallback",
"name": "Allow Loginfallback",
"description": "Allow usage of login in case where login required (eg. bot check, age restriction, controversial)",
"type": "Boolean",
"default": "true"
},
{
"variable": "youtubeActivity",
"name": "Provide Youtube Activity",
"description": "Use authenticated client for playback, telling Youtube what you watched.",
"type": "Boolean",
"default": "false"
},
{
"variable": "channelRssOnly",
"name": "Only Use Channel RSS Feeds (Inferior)",
"description": "Exclusively use channel RSS feeds for channel content, may result in inferior results, and only recent videos. But may be faster and reduce rate limiting.",
"type": "Boolean",
"default": "false",
"warningDialog": "Using RSS feeds will have inferior results, and may add shorts in the channel videos and subscriptions.\n\nOld videos may also be unavailable."
},
{
"variable": "allowAgeRestricted",
"name": "Allow Age Restricted",
"description": "Allow watching of age restricted videos",
"type": "Boolean",
"default": "false"
},
{
"variable": "allowControversialRestricted",
"name": "Allow Controversial Restricted",
"description": "Allow watching of controversial restricted videos",
"type": "Boolean",
"default": "false"
},
{
"variable": "allowMemberContent",
"name": "Allow Member Content",
"description": "Allow listing of member content (will prefix \"[MEMBER]\")",
"type": "Boolean",
"default": "false"
},
{
"variable": "useAndroid",
"name": "Enable Android Streams",
"description": "Attempts to use Android streams if available, may be smoother experience. May not always be available.",
"type": "Boolean",
"default": "true"
},
{
"variable": "useAndroidVR",
"name": "Enable Android VR Streams",
"description": "Attempts to use Android VR streams as an additional fallback if available. May not always be available.",
"type": "Boolean",
"default": "true"
},
{
"variable": "useiOS",
"name": "Enable iOS Streams",
"description": "Attempts to use iOS streams if available, may be smoother experience. May not always be available.",
"type": "Boolean",
"default": "true"
},
{
"variable": "useUMP",
"name": "Force UMP Streams",
"description": "Force usage of experimental implementation of UMP. May be unstable and cost more performance.",
"type": "Boolean",
"default": "false"
},
{
"variable": "useAggressiveUMPRecovery",
"name": "Use Aggressive UMP Recovery",
"description": "This feature allows UMP to refetch the entire page to recover from ip changes and such.",
"type": "Boolean",
"default": "true"
},
{
"variable": "verifyIOSPlayback",
"name": "Verify IOS Playback",
"description": "This feature will check if iOS sources are playable beyond 60 seconds, or else fallback to other sources.\nMay add a minor delay on video load (< 0.2s)",
"type": "Boolean",
"default": "true"
},
{
"variable": "showVerboseToasts",
"name": "Show Verbose Messages",
"description": "Show messages that give more information about what is happening, might be considered annoying for some.",
"type": "Boolean",
"default": "false"
},
{
"variable": "youtubeDislikerHeader",
"name": "Return Youtube Dislike",
"description": "This is a third-party database of video dislikes that combines historic data, crowd-sourced data, and estimations, and may not be accurate.\n\n(Using https://returnyoutubedislike.com)",
"type": "Header"
},
{
"variable": "youtubeDislikes",
"name": "Enable",
"description": "Use Return YoutubeDislike to provide dislikes for videos",
"type": "Boolean",
"default": "false"
},
{
"variable": "sponsorBlockHeader",
"name": "SponsorBlock",
"description": "This is NOT Adblock. SponsorBlock allows you to (automatically) skip in-video sponsor segments.\nIt will harm creators.\n\n(Using https://sponsor.ajay.app)\n\nFUTO respects your decision to use SponsorBlock. But only if you're supporting creators in other ways.",
"type": "Header"
},
{
"variable": "sponsorBlock",
"name": "Enable",
"description": "If enabled support creators in other ways.\nDo not freeload.",
"type": "Boolean",
"default": "false",
"warningDialog": "SponsorBlock will harm creators.\nDo not freeload, support creators in other ways."
},
{
"variable": "sponsorBlockNoVotes",
"name": "Allow No Vote Segments",
"description": "Allow segments without votes, this may cause questionable video skips.",
"type": "Boolean",
"default": "false",
"dependency": "sponsorBlock"
},
{
"variable": "sponsorBlockCat_Sponsor",
"name": "Skip Sponsors",
"description": "Skip segments labeled as sponsors",
"type": "Dropdown",
"default": "1",
"dependency": "sponsorBlock",
"options": ["No skip", "Manual", "Automatic"]
},
{
"variable": "sponsorBlockCat_Intro",
"name": "Skip Intros",
"description": "Skip segments labeled as intros",
"type": "Dropdown",
"default": "0",
"dependency": "sponsorBlock",
"options": ["No skip", "Manual", "Automatic"]
},
{
"variable": "sponsorBlockCat_Outro",
"name": "Skip Outros",
"description": "Skip segments labeled as outros",
"type": "Dropdown",
"default": "0",
"dependency": "sponsorBlock",
"options": ["No skip", "Manual", "Automatic"]
},
{
"variable": "sponsorBlockCat_Self",
"name": "Skip Self-Promos",
"description": "Skip segments labeled as self-promos",
"type": "Dropdown",
"default": "0",
"dependency": "sponsorBlock",
"options": ["No skip", "Manual", "Automatic"]
},
{
"variable": "sponsorBlockCat_Offtopic",
"name": "Skip Music-Offtopic",
"description": "Skip segments labeled as music-offtopic",
"type": "Dropdown",
"default": "0",
"dependency": "sponsorBlock",
"options": ["No skip", "Manual", "Automatic"]
},
{
"variable": "sponsorBlockCat_Preview",
"name": "Skip Preview",
"description": "Skip segments labeled as previews",
"type": "Dropdown",
"default": "0",
"dependency": "sponsorBlock",
"options": ["No skip", "Manual", "Automatic"]
},
{
"variable": "sponsorBlockCat_Filler",
"name": "Skip Fillers",
"description": "Skip segments labeled as fillers",
"type": "Dropdown",
"default": "0",
"dependency": "sponsorBlock",
"options": ["No skip", "Manual", "Automatic"]
},
{
"variable": "deArrowHeader",
"name": "DeArrow",
"description": "A crowdsourced alternative for thumbnails and titles. These may not be endorsed by creators and are sourced by a third party.\n\n(Using https://sponsor.ajay.app)",
"type": "Header"
},
{
"variable": "deArrow",
"name": "Enable",
"description": "Changes video thumbnails and titles to less 'clickbait' variants. These titles are crowdsources, and may not be endorsed by creators.",
"type": "Boolean",
"default": "false"
},
{
"variable": "deArrowAllowNoVotes",
"name": "Allow 0 Votes",
"description": "Allow un-verified titles/thumbnails that have no votes or confirmation",
"type": "Boolean",
"default": "false",
"dependency": "deArrow"
},
{
"variable": "deArrowOverview",
"name": "Use for lists",
"description": "Will request data for video lists (eg. Home, channels, etc).\nThis requires a lot of requests, and can lead to slow down.",
"type": "Boolean",
"default": "false",
"dependency": "deArrow",
"warningDialog": "This can cause slowdown in loading of video lists."
},
{
"variable": "deArrowThumbnails",
"name": "Change Thumbnails",
"description": "Changes thumbnails when deArrow is enabled.",
"type": "Boolean",
"default": "true",
"dependency": "deArrow"
},
{
"variable": "deArrowTitles",
"name": "Change Titles",
"description": "Changes titles when deArrow is enabled.",
"type": "Boolean",
"default": "false",
"dependency": "deArrow"
},
{
"variable": "advanced",
"name": "Advanced",
"description": "These are settings not intended for most users, but may help development or power users.",
"type": "Header"
},
{
"variable": "allow_av1",
"name": "Allow AV1",
"description": "Adds AV1 option when available, MAY NOT BE SUPPORTED YET!",
"type": "Boolean",
"default": "false",
"warningDialog": "AV1 support might not work yet, this allows you to return the stream even if its not supported (for testing)"
},
{
"variable": "notify_cipher",
"name": "Show Cipher every Video",
"description": "Shows a toast with the cipher when loading a video",
"type": "Boolean",
"default": "false"
},
{
"variable": "notify_bg",
"name": "Show every new Botguard Token",
"description": "Shows a toast with the botguard token used changed",
"type": "Boolean",
"default": "false"
},
{
"variable": "notify_ump_recovery",
"name": "Show every time UMP disconnects",
"description": "Shows a toast whenever UMP goes into a reconnection mode",
"type": "Boolean",
"default": "false"
},
{
"variable": "allow_ump_plugin_reloads",
"name": "Allow UMP to reload plugin",
"description": "Allows the UMP protocol to reload a plugin if it deems required and supported.",
"type": "Boolean",
"default": "true"
},
{
"variable": "fallback_home_trending",
"name": "Fallback to Trending if Home unavailable",
"description": "Will fallback to Trending if home is unavailable (eg. no login)",
"type": "Boolean",
"default": "true"
},
{
"variable": "detect_session_pot",
"name": "Detect Session POT",
"description": "Try to detect if a session or video pot is required, from our experience this can backfire.",
"type": "Boolean",
"default": "true"
},
{
"variable": "use_html5_livestreams",
"name": "Use HTML5 Livestreams instead of iOS",
"description": "We recently found that iOS livestreams sometimes misbehave, html5 sometimes didnt have that issue",
"type": "Boolean",
"default": "true"
},
{
"variable": "use_html5_livestreams_pot",
"name": "Use HTML5 Livestreams POT Tokens",
"description": "Adds POT to livestream urls",
"type": "Boolean",
"default": "true"
},
{
"variable": "use_secondry_ump_temp",
"name": "Use Secondary UMP",
"description": "Will load a seperate UMP source for audio, may be required as a temporary solution",
"type": "Boolean",
"default": "false"
},
{
"variable": "allow_player_response_reloading",
"name": "Allow UMP Player Response Reloading",
"description": "Experimental feature to reload player responses on request",
"type": "Boolean",
"default": "true"
},
{
"variable": "use_native_ump",
"name": "Native UMP Player (Experimental)",
"description": "Play VOD through the native SABR/UMP player instead of the generated DASH path",
"type": "Boolean",
"default": "false",
"isAdvanced": "true"
},
{
"variable": "use_combined_ump_audio",
"name": "Use Combined UMP",
"description": "Experimental feature to use merged streams, which is theoretically better and more compatible",
"type": "Boolean",
"default": "true"
}
],
"developerSubmitUrl": "https://dev.grayjay.app/api/Dev/Submit",
"captcha": {
"userAgent": "Mozilla/5.0 (Linux; Android 10) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.5481.153 Mobile Safari/537.36",
"captchaUrl": null,
"cookiesToFind": ["GOOGLE_ABUSE_EXEMPTION"]
},
"authentication": {
"userAgent": "Mozilla/5.0 (Linux; Android 12) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.6099.230 Mobile Safari/537.36",
"completionUrl": "https://m.youtube.com/youtubei/v1/guide?*",
"loginUrl": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3Dhttps%253A%252F%252Fwww.youtube.com%252Fchannel_switcher&hl=en&ec=65620",
"headersToFind": ["authorization"],
"domainHeadersToFind": {
".youtube.com": ["authorization"]
},
"cookiesToFind": ["SIDCC"],
"cookiesExclOthers": false,
"loginWarning": "You must select a profile after login for authentication to complete."
},
"supportedClaimTypes": [2],
"primaryClaimFieldType": 1,
"changelog": {
"353": [
"Feature: Native UMP"
],
"343": [
"Fix: Live streams"
],
"342": [
"Fix: Channel livestreams not showing",
"Fix: Planned badges not always showing",
"Fix: Live stream auto-reloading (when waiting for streamer)"
],
"341": [
"Fix: LIVE badge for livestream videos",
"Fix: Loading playlists"
],
"340": [
"Fix: Membership first video detection"
],
"339": [
"Fix: Added Android VR sources",
"Fix: Shorts work again",
"Fix: Membership video detection"
],
"338": [
"Fix: Membership video detection from VideoLockupModel"
],
"337": [
"Fix: Fixed issue causing date to be empty and videos missing from channel"
],
"336": [
"Fix: Sig solver optional"
],
"335": [
"Fix: Removed legacy code"
],
"334": [
"Fix: Possible Audio noise fix",
"Fix: DeArrow search fix",
"Fix: Shows should now work (limited metadata)",
"Improvement: Change no comments error"
],
"333": [
"Fix: Android Sources"
],
"332": [
"Fix: Added solutions"
],
"330": [
"Fix: Adding remote solver for n ciphers"
],
"329": [
"Fix: Cipher fix"
],
"328": [
"Fix: Browser Botguard re-enabled"
],
"324": [
"Fix: Temporarily disable Browser Botguard for legacy solution till better fix"
],
"322": [
"Fix: Possible initial UMP stream fetching"
],
"321": [
"Fix: Possible fix for cipher issue [4e51e895]"
],
"320": [
"Fix: Possible fix for cipher issue [3510b6ff]",
"Fix: Race condition with token generator initialization"
],
"318": [
"Fix: Possible fix for cipher issue [5d93cfdb]"
],
"317": [
"Feature: In-Browser token generation now a setting",
"Feature: Advanced settings field are now hidden for supported runtimes behind a toggle"
],
"316": [
"Feature: In-Browser token generation now a setting"
],
"315": [
"Feature: In-Browser token generation (on supported versions)",
"Fix: UMP Fix"
],
"314": [
"Fix: Cipher fix"
],
"313": [
"Fix: Fixed Android sources on desktop"
],
"312": [
"Fix: Livestreams fixed using n-parameter challenge"
],
"311": [
"Improvement: Reintroduce language selection for combined UMP",
"Improvement: Language now specified on combined video sources"
],
"310": [
"Improvement: Make combined UMP sources default",
"Improvement: Reload Required exception on UMP ReloadPlayerResponse request"
],
"309": [
"Fix: Cipher fix",
"Fix: Playlist import for non-english languages",
"Improvement: Clearer error for logged in users with disabled login fallback"
],
"307": [
"Fix: Improved combined UMP stream support"
],
"306": [
"Fix: More strict container compatibility check in UMP combined stream"
],
"305": [
"Fix: Added UMP combined stream support"
],
"301": [
"Fix: Temporary workaround for UMP fallback"
],
"300": [
"Fix: DeArrow not working"
],
"299": [
"Feature: Support for private videos (if logged in)",
"Feature: DeArrow support",
"Improvement: Added language codes to subtitles",
"Fix: Cipher fix (hXO not defined)"
],
"298": [
"HOTFIX: Videos getting cut off at end",
"Improvement: Better video sources fallback (Android CDN)",
"Improvement: New Trending page for non-logged in users",
"Improvement: Removed some old redundant settings",
"Improvement: Variable POT now on by default (helps some users)",
"Fix: Recommendations not working for logged in users",
"Fix: Content-checked content showing as 'Unavailable'",
"Fix: Comment likes sometimes being 0"
],
"297": [
"Improvement: Better video sources fallback (Android CDN)",
"Improvement: New Trending page for non-logged in users",
"Improvement: Removed some old redundant settings",
"Improvement: Variable POT now on by default (helps some users)",
"Fix: Recommendations not working for logged in users",
"Fix: Content-checked content showing as 'Unavailable'",
"Fix: Comment likes sometimes being 0"
],
"296": [
"Improvement: Better video sources fallback (Android CDN)",
"Improvement: New Trending page for non-logged in users",
"Improvement: Removed some old redundant settings",
"Improvement: Variable POT now on by default (helps some users)"
],
"295": [
"Fix: Cipher fix"
],
"294": [
"Fix: Cipher fix",
"Fix: POT for Livestreams"
],
"293": [
"Fix: Cipher fix",
"Fix: Alternative livestream source in settings (off by default)"
],
"292": [
"Fix: Livestreams fixed using temporary alternative method"
],
"291": [
"Fix: Cipher Fix (Intl not defined)"
],
"290": [
"Fix: Cipher Fix"
],
"289": [
"Fix: Cipher Fix",
"Improvement: Better STS error handling"
],
"288": [
"Improvement: Automatic login fallback support for membership content",
"Fix: Cipher Fix"
],
"287": [
"Improvement: No longer allow notify about fallback to virtualized player, and remove option to disable (almost always required)",
"Improvement: PlaybackTracker failures are now handled less obstructively (no huge dialog)",
"Fix: Subtitles for users that use login for details",
"Fix: Cipher fix (x.reverse not defined)",
"Fix: Cipher fix (player caller)",
"Fix: Import subscriptions not showing all if account has memberships subscriptions"
],
"286": [
"Fix: UMP Fix",
"Fix: Multi-author videos"
],
"285": [
"HOTFIX: Fix playback tracker",
"Fix: Cipher fix",
"Fix: UMP Fixed (More testing required)"
],
"284": [
"Fix: Cipher fix",
"Fix: UMP Fixed (More testing required)"
],
"283": [
"Fix: Temporarily disable session client to fix UMP"
],
"282": [
"Fix: Cipher fix"
],
"281": [
"Featured: Normalized audio labeling",
"Fix: Cipher fix",
"Fix: Fixed no viewcount, date, rating, channel thumbnails, subscriber count on video details using login"
],
"280": [
"Featured: Normalized audio labeling"
],
"279": [
"Improvement: Detect expired cookies",
"Improvement: Allow searching for scary topics",
"Improvement: Support opening urls with http instead of https schema",
"Improvement: Support opening urls with /v/{id} format"
],
"278": [
"Fix: Cipher fix for new system"
],
"277": [
"HotFix: Exception handling for new cipher system",
"Fix: Cipher fix",
"Improvement: New Cipher system, currently only used as fallback"
],
"276": [
"Fix: Cipher fix",
"Improvement: New Cipher system, currently only used as fallback"
],
"275": [
"Fix: Cipher fix",
"Fix: Race condition related to bgData fixed"
],
"274": [
"HOTFIX: Fix ReturnYoutubeDislikes enabled causing video error",
"Feature: Shorts feed support",
"Feature: Historic/VOD live chat",
"Improvement: UMP compatibility changes",
"Improvement: Login now gives warning telling you to select a profile after login",
"Fix: Home trending fallback fixed and improved",
"Fix: Subtitles should work again",
"Fix: Remove old trending fallback setting",
"Fix: Possible fix 'YTSessionClient not initialized'"
],
"273": [
"Feature: Shorts feed support",
"Feature: Historic/VOD live chat",
"Improvement: UMP compatibility changes",
"Improvement: Login now gives warning telling you to select a profile after login",
"Fix: Home trending fallback fixed and improved",
"Fix: Subtitles should work again",
"Fix: Remove old trending fallback setting",
"Fix: Possible fix 'YTSessionClient not initialized'"
],
"272": [
"Feature: Shorts feed support",
"Feature: Historic/VOD live chat",
"Improvement: UMP compatibility changes",
"Improvement: Login now gives warning telling you to select a profile after login",
"Fix: Home trending fallback fixed and improved",
"Fix: Subtitles should work again",
"Fix: Remove old trending fallback setting",
"Fix: Possible fix 'YTSessionClient not initialized'"
],
"271": [
"Feature: Shorts feed support",
"Feature: Historic/VOD live chat",
"Improvement: UMP compatibility changes",
"Fix: Home trending fallback fixed and improved",
"Fix: Subtitles should work again",
"Fix: Remove old trending fallback setting",
"Fix: Possible fix 'YTSessionClient not initialized'"
],
"270": [
"HOTFIX: Fix home page not parsing for some users",
"HOTFIX: Fix 'batch.POST is not a function'",
"Improvement: Improved performance for fetching video details (through Youtube session client)",
"Improvement: Improved compatibility for fetching video details (through Youtube session client)",
"Fix: Time/viewcount for recommendation videos"
],
"269": [
"HOTFIX: Fix 'batch.POST is not a function'",
"Improvement: Improved performance for fetching video details (through Youtube session client)",
"Improvement: Improved compatibility for fetching video details (through Youtube session client)",
"Fix: Time/viewcount for recommendation videos"
],
"268": [
"Improvement: Improved performance for fetching video details (through Youtube session client)",
"Improvement: Improved compatibility for fetching video details (through Youtube session client)",
"Fix: Time/viewcount for recommendation videos"
],
"267": [
"Improvement: Improved performance for fetching video details (through Youtube session client)",
"Improvement: Improved compatibility for fetching video details (through Youtube session client)"
],
"266": [
"Improvement: Youtube Session client, may improve overall experience, but may still contain bugs"
],
"265": [
"Improvement: New Youtube detail request flow with session retention (WIP)"
],
"262": [
"Fix: Cipher fix",
"Improvement: Backoff always if less than 5 seconds",
"Improvement: Reusing tokens if possible for backoff",
"Improvement: Reload once instead of twice",
"Improvement: isInlinePlaybackNoAd off by default"
],
"261": [
"Improvement: Async support for generate calls",
"Fix: Fix issue where backoff streams would not load further",
"Fix: Livechat colors now use RGBA instead of ARGB (Needs newest app to view correctly)",
"Fix: Livestream raids now apply the isOutgoing properly, instead of everything being outgoing"
],
"260": [
"FIX: Fix for undefined global functions (eg. hRx)"
],
"259": [
"Logging: Adding additional logging for edgecase"
],
"258": [
"Hotfix: Fix handling of invalid PlayerData from isInlinePlaybackNoAd after reload"
],
"257": [
"Improvement: Fallback without setting if fails",
"Improvement: Hide certain messages behind verbose toasts"
],
"256": [
"HOTFIX: Request optimalization",
"Improvement: Reduce/Resolve playback blocked"
],
"255": [
"Improvement: Reduce/Resolve playback blocked"
],
"254": [
"Improvement: Experimental UMP Backoff setting"
],
"253": [
"Improvement: Attempted bypassing of blocked playback",
"Fixed: Short-only playlists are now loadable",
"Fixed: No author names for playlist search"
],
"252": [
"Improvement: Detect Youtube messages"
],
"251": [
"Fix: Fixed wrong offsets for UMP (affects downloaded videos)",
"Fix: Fixed UMP not being able to load if opened with a timestamp",
"Fix: Fixed planned videos not loading properly",
"Fix: Fixed playlists not appearing if using authentication for channels in some cases",
"Improvement: Error when comments are disabled"
],
"250": [
"Fix: Consent form for search (with spaces)"
],
"249": [
"Fix: Cipher fix",
"Improvement: Better recommendation author parsing"
],
"248": [
"Fix: Potential cipher edgecase fix"
],
"244": [
"Fix: Support additional video models (may fix home page for some)"
],
"239": [
"Fix: More advanced cipher fixes"
],
"238": [
"Fix: Cipher edgecase"
],
"237": [
"Fix: Import Subscriptions on some accounts",
"Improvement: Playback tracker optimalization in certain scenarios",
"Improvement: Warning when toggling AV1 setting that it requires UMP for now"
],
"236": [
"Fix Android 9 error (remove query hardware codecs)"
],
"235": [
"Fix Cipher"
],
"234": [
"Improvement: Filter member-only videos from channel contents",
"Improvement: Possible UMP redirect fix"
],
"233": [
"Minor hotfix"
],
"232": [
"Feature: Verify IOS Playback setting (true by default), checks if iOS sources can be played beyond 60 seconds, or fallback to others.",
"Feature: Channel shorts fetching support (may require app update to view new channel tab)"
],
"231": [
"Fix: UMP failing on initial load"
],
"227": [
"Feature: Opt-in AV1 support",
"Feature: UMP MP4 support (fixes no audio or only 360p for older videos)",
"Improve: UMP Disconnect toasts now optional"
]
}
}