@atproto/api 0.6.13 → 0.6.15

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.
@@ -216,6 +216,19 @@ describe('agent', () => {
216
216
  adultContentEnabled: false,
217
217
  contentLabels: {},
218
218
  birthDate: undefined,
219
+ feedViewPrefs: {
220
+ home: {
221
+ hideReplies: false,
222
+ hideRepliesByUnfollowed: false,
223
+ hideRepliesByLikeCount: 0,
224
+ hideReposts: false,
225
+ hideQuotePosts: false,
226
+ },
227
+ },
228
+ threadViewPrefs: {
229
+ sort: 'oldest',
230
+ prioritizeFollowedUsers: true,
231
+ },
219
232
  })
220
233
 
221
234
  await agent.setAdultContentEnabled(true)
@@ -224,6 +237,19 @@ describe('agent', () => {
224
237
  adultContentEnabled: true,
225
238
  contentLabels: {},
226
239
  birthDate: undefined,
240
+ feedViewPrefs: {
241
+ home: {
242
+ hideReplies: false,
243
+ hideRepliesByUnfollowed: false,
244
+ hideRepliesByLikeCount: 0,
245
+ hideReposts: false,
246
+ hideQuotePosts: false,
247
+ },
248
+ },
249
+ threadViewPrefs: {
250
+ sort: 'oldest',
251
+ prioritizeFollowedUsers: true,
252
+ },
227
253
  })
228
254
 
229
255
  await agent.setAdultContentEnabled(false)
@@ -232,6 +258,19 @@ describe('agent', () => {
232
258
  adultContentEnabled: false,
233
259
  contentLabels: {},
234
260
  birthDate: undefined,
261
+ feedViewPrefs: {
262
+ home: {
263
+ hideReplies: false,
264
+ hideRepliesByUnfollowed: false,
265
+ hideRepliesByLikeCount: 0,
266
+ hideReposts: false,
267
+ hideQuotePosts: false,
268
+ },
269
+ },
270
+ threadViewPrefs: {
271
+ sort: 'oldest',
272
+ prioritizeFollowedUsers: true,
273
+ },
235
274
  })
236
275
 
237
276
  await agent.setContentLabelPref('impersonation', 'warn')
@@ -242,6 +281,19 @@ describe('agent', () => {
242
281
  impersonation: 'warn',
243
282
  },
244
283
  birthDate: undefined,
284
+ feedViewPrefs: {
285
+ home: {
286
+ hideReplies: false,
287
+ hideRepliesByUnfollowed: false,
288
+ hideRepliesByLikeCount: 0,
289
+ hideReposts: false,
290
+ hideQuotePosts: false,
291
+ },
292
+ },
293
+ threadViewPrefs: {
294
+ sort: 'oldest',
295
+ prioritizeFollowedUsers: true,
296
+ },
245
297
  })
246
298
 
247
299
  await agent.setContentLabelPref('spam', 'show') // will convert to 'ignore'
@@ -254,6 +306,19 @@ describe('agent', () => {
254
306
  spam: 'ignore',
255
307
  },
256
308
  birthDate: undefined,
309
+ feedViewPrefs: {
310
+ home: {
311
+ hideReplies: false,
312
+ hideRepliesByUnfollowed: false,
313
+ hideRepliesByLikeCount: 0,
314
+ hideReposts: false,
315
+ hideQuotePosts: false,
316
+ },
317
+ },
318
+ threadViewPrefs: {
319
+ sort: 'oldest',
320
+ prioritizeFollowedUsers: true,
321
+ },
257
322
  })
258
323
 
259
324
  await agent.addSavedFeed('at://bob.com/app.bsky.feed.generator/fake')
@@ -268,6 +333,19 @@ describe('agent', () => {
268
333
  spam: 'ignore',
269
334
  },
270
335
  birthDate: undefined,
336
+ feedViewPrefs: {
337
+ home: {
338
+ hideReplies: false,
339
+ hideRepliesByUnfollowed: false,
340
+ hideRepliesByLikeCount: 0,
341
+ hideReposts: false,
342
+ hideQuotePosts: false,
343
+ },
344
+ },
345
+ threadViewPrefs: {
346
+ sort: 'oldest',
347
+ prioritizeFollowedUsers: true,
348
+ },
271
349
  })
272
350
 
273
351
  await agent.addPinnedFeed('at://bob.com/app.bsky.feed.generator/fake')
@@ -282,6 +360,19 @@ describe('agent', () => {
282
360
  spam: 'ignore',
283
361
  },
284
362
  birthDate: undefined,
363
+ feedViewPrefs: {
364
+ home: {
365
+ hideReplies: false,
366
+ hideRepliesByUnfollowed: false,
367
+ hideRepliesByLikeCount: 0,
368
+ hideReposts: false,
369
+ hideQuotePosts: false,
370
+ },
371
+ },
372
+ threadViewPrefs: {
373
+ sort: 'oldest',
374
+ prioritizeFollowedUsers: true,
375
+ },
285
376
  })
286
377
 
287
378
  await agent.removePinnedFeed('at://bob.com/app.bsky.feed.generator/fake')
@@ -296,6 +387,19 @@ describe('agent', () => {
296
387
  spam: 'ignore',
297
388
  },
298
389
  birthDate: undefined,
390
+ feedViewPrefs: {
391
+ home: {
392
+ hideReplies: false,
393
+ hideRepliesByUnfollowed: false,
394
+ hideRepliesByLikeCount: 0,
395
+ hideReposts: false,
396
+ hideQuotePosts: false,
397
+ },
398
+ },
399
+ threadViewPrefs: {
400
+ sort: 'oldest',
401
+ prioritizeFollowedUsers: true,
402
+ },
299
403
  })
300
404
 
301
405
  await agent.removeSavedFeed('at://bob.com/app.bsky.feed.generator/fake')
@@ -310,6 +414,19 @@ describe('agent', () => {
310
414
  spam: 'ignore',
311
415
  },
312
416
  birthDate: undefined,
417
+ feedViewPrefs: {
418
+ home: {
419
+ hideReplies: false,
420
+ hideRepliesByUnfollowed: false,
421
+ hideRepliesByLikeCount: 0,
422
+ hideReposts: false,
423
+ hideQuotePosts: false,
424
+ },
425
+ },
426
+ threadViewPrefs: {
427
+ sort: 'oldest',
428
+ prioritizeFollowedUsers: true,
429
+ },
313
430
  })
314
431
 
315
432
  await agent.addPinnedFeed('at://bob.com/app.bsky.feed.generator/fake')
@@ -324,6 +441,19 @@ describe('agent', () => {
324
441
  spam: 'ignore',
325
442
  },
326
443
  birthDate: undefined,
444
+ feedViewPrefs: {
445
+ home: {
446
+ hideReplies: false,
447
+ hideRepliesByUnfollowed: false,
448
+ hideRepliesByLikeCount: 0,
449
+ hideReposts: false,
450
+ hideQuotePosts: false,
451
+ },
452
+ },
453
+ threadViewPrefs: {
454
+ sort: 'oldest',
455
+ prioritizeFollowedUsers: true,
456
+ },
327
457
  })
328
458
 
329
459
  await agent.addPinnedFeed('at://bob.com/app.bsky.feed.generator/fake2')
@@ -344,6 +474,19 @@ describe('agent', () => {
344
474
  spam: 'ignore',
345
475
  },
346
476
  birthDate: undefined,
477
+ feedViewPrefs: {
478
+ home: {
479
+ hideReplies: false,
480
+ hideRepliesByUnfollowed: false,
481
+ hideRepliesByLikeCount: 0,
482
+ hideReposts: false,
483
+ hideQuotePosts: false,
484
+ },
485
+ },
486
+ threadViewPrefs: {
487
+ sort: 'oldest',
488
+ prioritizeFollowedUsers: true,
489
+ },
347
490
  })
348
491
 
349
492
  await agent.removeSavedFeed('at://bob.com/app.bsky.feed.generator/fake')
@@ -358,6 +501,19 @@ describe('agent', () => {
358
501
  spam: 'ignore',
359
502
  },
360
503
  birthDate: undefined,
504
+ feedViewPrefs: {
505
+ home: {
506
+ hideReplies: false,
507
+ hideRepliesByUnfollowed: false,
508
+ hideRepliesByLikeCount: 0,
509
+ hideReposts: false,
510
+ hideQuotePosts: false,
511
+ },
512
+ },
513
+ threadViewPrefs: {
514
+ sort: 'oldest',
515
+ prioritizeFollowedUsers: true,
516
+ },
361
517
  })
362
518
 
363
519
  await agent.setPersonalDetails({ birthDate: '2023-09-11T18:05:42.556Z' })
@@ -372,6 +528,175 @@ describe('agent', () => {
372
528
  spam: 'ignore',
373
529
  },
374
530
  birthDate: new Date('2023-09-11T18:05:42.556Z'),
531
+ feedViewPrefs: {
532
+ home: {
533
+ hideReplies: false,
534
+ hideRepliesByUnfollowed: false,
535
+ hideRepliesByLikeCount: 0,
536
+ hideReposts: false,
537
+ hideQuotePosts: false,
538
+ },
539
+ },
540
+ threadViewPrefs: {
541
+ sort: 'oldest',
542
+ prioritizeFollowedUsers: true,
543
+ },
544
+ })
545
+
546
+ await agent.setFeedViewPrefs('home', { hideReplies: true })
547
+ await expect(agent.getPreferences()).resolves.toStrictEqual({
548
+ feeds: {
549
+ pinned: ['at://bob.com/app.bsky.feed.generator/fake2'],
550
+ saved: ['at://bob.com/app.bsky.feed.generator/fake2'],
551
+ },
552
+ adultContentEnabled: false,
553
+ contentLabels: {
554
+ impersonation: 'hide',
555
+ spam: 'ignore',
556
+ },
557
+ birthDate: new Date('2023-09-11T18:05:42.556Z'),
558
+ feedViewPrefs: {
559
+ home: {
560
+ hideReplies: true,
561
+ hideRepliesByUnfollowed: false,
562
+ hideRepliesByLikeCount: 0,
563
+ hideReposts: false,
564
+ hideQuotePosts: false,
565
+ },
566
+ },
567
+ threadViewPrefs: {
568
+ sort: 'oldest',
569
+ prioritizeFollowedUsers: true,
570
+ },
571
+ })
572
+
573
+ await agent.setFeedViewPrefs('home', { hideReplies: false })
574
+ await expect(agent.getPreferences()).resolves.toStrictEqual({
575
+ feeds: {
576
+ pinned: ['at://bob.com/app.bsky.feed.generator/fake2'],
577
+ saved: ['at://bob.com/app.bsky.feed.generator/fake2'],
578
+ },
579
+ adultContentEnabled: false,
580
+ contentLabels: {
581
+ impersonation: 'hide',
582
+ spam: 'ignore',
583
+ },
584
+ birthDate: new Date('2023-09-11T18:05:42.556Z'),
585
+ feedViewPrefs: {
586
+ home: {
587
+ hideReplies: false,
588
+ hideRepliesByUnfollowed: false,
589
+ hideRepliesByLikeCount: 0,
590
+ hideReposts: false,
591
+ hideQuotePosts: false,
592
+ },
593
+ },
594
+ threadViewPrefs: {
595
+ sort: 'oldest',
596
+ prioritizeFollowedUsers: true,
597
+ },
598
+ })
599
+
600
+ await agent.setFeedViewPrefs('other', { hideReplies: true })
601
+ await expect(agent.getPreferences()).resolves.toStrictEqual({
602
+ feeds: {
603
+ pinned: ['at://bob.com/app.bsky.feed.generator/fake2'],
604
+ saved: ['at://bob.com/app.bsky.feed.generator/fake2'],
605
+ },
606
+ adultContentEnabled: false,
607
+ contentLabels: {
608
+ impersonation: 'hide',
609
+ spam: 'ignore',
610
+ },
611
+ birthDate: new Date('2023-09-11T18:05:42.556Z'),
612
+ feedViewPrefs: {
613
+ home: {
614
+ hideReplies: false,
615
+ hideRepliesByUnfollowed: false,
616
+ hideRepliesByLikeCount: 0,
617
+ hideReposts: false,
618
+ hideQuotePosts: false,
619
+ },
620
+ other: {
621
+ hideReplies: true,
622
+ hideRepliesByUnfollowed: false,
623
+ hideRepliesByLikeCount: 0,
624
+ hideReposts: false,
625
+ hideQuotePosts: false,
626
+ },
627
+ },
628
+ threadViewPrefs: {
629
+ sort: 'oldest',
630
+ prioritizeFollowedUsers: true,
631
+ },
632
+ })
633
+
634
+ await agent.setThreadViewPrefs({ sort: 'random' })
635
+ await expect(agent.getPreferences()).resolves.toStrictEqual({
636
+ feeds: {
637
+ pinned: ['at://bob.com/app.bsky.feed.generator/fake2'],
638
+ saved: ['at://bob.com/app.bsky.feed.generator/fake2'],
639
+ },
640
+ adultContentEnabled: false,
641
+ contentLabels: {
642
+ impersonation: 'hide',
643
+ spam: 'ignore',
644
+ },
645
+ birthDate: new Date('2023-09-11T18:05:42.556Z'),
646
+ feedViewPrefs: {
647
+ home: {
648
+ hideReplies: false,
649
+ hideRepliesByUnfollowed: false,
650
+ hideRepliesByLikeCount: 0,
651
+ hideReposts: false,
652
+ hideQuotePosts: false,
653
+ },
654
+ other: {
655
+ hideReplies: true,
656
+ hideRepliesByUnfollowed: false,
657
+ hideRepliesByLikeCount: 0,
658
+ hideReposts: false,
659
+ hideQuotePosts: false,
660
+ },
661
+ },
662
+ threadViewPrefs: {
663
+ sort: 'random',
664
+ prioritizeFollowedUsers: true,
665
+ },
666
+ })
667
+
668
+ await agent.setThreadViewPrefs({ sort: 'oldest' })
669
+ await expect(agent.getPreferences()).resolves.toStrictEqual({
670
+ feeds: {
671
+ pinned: ['at://bob.com/app.bsky.feed.generator/fake2'],
672
+ saved: ['at://bob.com/app.bsky.feed.generator/fake2'],
673
+ },
674
+ adultContentEnabled: false,
675
+ contentLabels: {
676
+ impersonation: 'hide',
677
+ spam: 'ignore',
678
+ },
679
+ birthDate: new Date('2023-09-11T18:05:42.556Z'),
680
+ feedViewPrefs: {
681
+ home: {
682
+ hideReplies: false,
683
+ hideRepliesByUnfollowed: false,
684
+ hideRepliesByLikeCount: 0,
685
+ hideReposts: false,
686
+ hideQuotePosts: false,
687
+ },
688
+ other: {
689
+ hideReplies: true,
690
+ hideRepliesByUnfollowed: false,
691
+ hideRepliesByLikeCount: 0,
692
+ hideReposts: false,
693
+ hideQuotePosts: false,
694
+ },
695
+ },
696
+ threadViewPrefs: {
697
+ sort: 'oldest',
698
+ prioritizeFollowedUsers: true,
699
+ },
375
700
  })
376
701
  })
377
702
 
@@ -442,6 +767,34 @@ describe('agent', () => {
442
767
  $type: 'app.bsky.actor.defs#personalDetailsPref',
443
768
  birthDate: '2021-09-11T18:05:42.556Z',
444
769
  },
770
+ {
771
+ $type: 'app.bsky.actor.defs#feedViewPref',
772
+ feed: 'home',
773
+ hideReplies: false,
774
+ hideRepliesByUnfollowed: false,
775
+ hideRepliesByLikeCount: 0,
776
+ hideReposts: false,
777
+ hideQuotePosts: false,
778
+ },
779
+ {
780
+ $type: 'app.bsky.actor.defs#feedViewPref',
781
+ feed: 'home',
782
+ hideReplies: true,
783
+ hideRepliesByUnfollowed: true,
784
+ hideRepliesByLikeCount: 10,
785
+ hideReposts: true,
786
+ hideQuotePosts: true,
787
+ },
788
+ {
789
+ $type: 'app.bsky.actor.defs#threadViewPref',
790
+ sort: 'oldest',
791
+ prioritizeFollowedUsers: true,
792
+ },
793
+ {
794
+ $type: 'app.bsky.actor.defs#threadViewPref',
795
+ sort: 'newest',
796
+ prioritizeFollowedUsers: false,
797
+ },
445
798
  ],
446
799
  })
447
800
  await expect(agent.getPreferences()).resolves.toStrictEqual({
@@ -454,6 +807,19 @@ describe('agent', () => {
454
807
  nsfw: 'warn',
455
808
  },
456
809
  birthDate: new Date('2021-09-11T18:05:42.556Z'),
810
+ feedViewPrefs: {
811
+ home: {
812
+ hideReplies: true,
813
+ hideRepliesByUnfollowed: true,
814
+ hideRepliesByLikeCount: 10,
815
+ hideReposts: true,
816
+ hideQuotePosts: true,
817
+ },
818
+ },
819
+ threadViewPrefs: {
820
+ sort: 'newest',
821
+ prioritizeFollowedUsers: false,
822
+ },
457
823
  })
458
824
 
459
825
  await agent.setAdultContentEnabled(false)
@@ -467,6 +833,19 @@ describe('agent', () => {
467
833
  nsfw: 'warn',
468
834
  },
469
835
  birthDate: new Date('2021-09-11T18:05:42.556Z'),
836
+ feedViewPrefs: {
837
+ home: {
838
+ hideReplies: true,
839
+ hideRepliesByUnfollowed: true,
840
+ hideRepliesByLikeCount: 10,
841
+ hideReposts: true,
842
+ hideQuotePosts: true,
843
+ },
844
+ },
845
+ threadViewPrefs: {
846
+ sort: 'newest',
847
+ prioritizeFollowedUsers: false,
848
+ },
470
849
  })
471
850
 
472
851
  await agent.setContentLabelPref('nsfw', 'hide')
@@ -480,6 +859,19 @@ describe('agent', () => {
480
859
  nsfw: 'hide',
481
860
  },
482
861
  birthDate: new Date('2021-09-11T18:05:42.556Z'),
862
+ feedViewPrefs: {
863
+ home: {
864
+ hideReplies: true,
865
+ hideRepliesByUnfollowed: true,
866
+ hideRepliesByLikeCount: 10,
867
+ hideReposts: true,
868
+ hideQuotePosts: true,
869
+ },
870
+ },
871
+ threadViewPrefs: {
872
+ sort: 'newest',
873
+ prioritizeFollowedUsers: false,
874
+ },
483
875
  })
484
876
 
485
877
  await agent.addPinnedFeed('at://bob.com/app.bsky.feed.generator/fake')
@@ -493,6 +885,19 @@ describe('agent', () => {
493
885
  nsfw: 'hide',
494
886
  },
495
887
  birthDate: new Date('2021-09-11T18:05:42.556Z'),
888
+ feedViewPrefs: {
889
+ home: {
890
+ hideReplies: true,
891
+ hideRepliesByUnfollowed: true,
892
+ hideRepliesByLikeCount: 10,
893
+ hideReposts: true,
894
+ hideQuotePosts: true,
895
+ },
896
+ },
897
+ threadViewPrefs: {
898
+ sort: 'newest',
899
+ prioritizeFollowedUsers: false,
900
+ },
496
901
  })
497
902
 
498
903
  await agent.setPersonalDetails({ birthDate: '2023-09-11T18:05:42.556Z' })
@@ -506,29 +911,98 @@ describe('agent', () => {
506
911
  nsfw: 'hide',
507
912
  },
508
913
  birthDate: new Date('2023-09-11T18:05:42.556Z'),
914
+ feedViewPrefs: {
915
+ home: {
916
+ hideReplies: true,
917
+ hideRepliesByUnfollowed: true,
918
+ hideRepliesByLikeCount: 10,
919
+ hideReposts: true,
920
+ hideQuotePosts: true,
921
+ },
922
+ },
923
+ threadViewPrefs: {
924
+ sort: 'newest',
925
+ prioritizeFollowedUsers: false,
926
+ },
509
927
  })
510
928
 
511
- const res = await agent.app.bsky.actor.getPreferences()
512
- await expect(res.data.preferences).toStrictEqual([
513
- {
514
- $type: 'app.bsky.actor.defs#adultContentPref',
515
- enabled: false,
516
- },
517
- {
518
- $type: 'app.bsky.actor.defs#contentLabelPref',
519
- label: 'nsfw',
520
- visibility: 'hide',
521
- },
522
- {
523
- $type: 'app.bsky.actor.defs#savedFeedsPref',
929
+ await agent.setFeedViewPrefs('home', {
930
+ hideReplies: false,
931
+ hideRepliesByUnfollowed: false,
932
+ hideRepliesByLikeCount: 0,
933
+ hideReposts: false,
934
+ hideQuotePosts: false,
935
+ })
936
+ await agent.setThreadViewPrefs({
937
+ sort: 'oldest',
938
+ prioritizeFollowedUsers: true,
939
+ })
940
+ await agent.setPersonalDetails({ birthDate: '2023-09-11T18:05:42.556Z' })
941
+ await expect(agent.getPreferences()).resolves.toStrictEqual({
942
+ feeds: {
524
943
  pinned: ['at://bob.com/app.bsky.feed.generator/fake'],
525
944
  saved: ['at://bob.com/app.bsky.feed.generator/fake'],
526
945
  },
527
- {
528
- $type: 'app.bsky.actor.defs#personalDetailsPref',
529
- birthDate: '2023-09-11T18:05:42.556Z',
946
+ adultContentEnabled: false,
947
+ contentLabels: {
948
+ nsfw: 'hide',
530
949
  },
531
- ])
950
+ birthDate: new Date('2023-09-11T18:05:42.556Z'),
951
+ feedViewPrefs: {
952
+ home: {
953
+ hideReplies: false,
954
+ hideRepliesByUnfollowed: false,
955
+ hideRepliesByLikeCount: 0,
956
+ hideReposts: false,
957
+ hideQuotePosts: false,
958
+ },
959
+ },
960
+ threadViewPrefs: {
961
+ sort: 'oldest',
962
+ prioritizeFollowedUsers: true,
963
+ },
964
+ })
965
+
966
+ const res = await agent.app.bsky.actor.getPreferences()
967
+ await expect(res.data.preferences.sort(byType)).toStrictEqual(
968
+ [
969
+ {
970
+ $type: 'app.bsky.actor.defs#adultContentPref',
971
+ enabled: false,
972
+ },
973
+ {
974
+ $type: 'app.bsky.actor.defs#contentLabelPref',
975
+ label: 'nsfw',
976
+ visibility: 'hide',
977
+ },
978
+ {
979
+ $type: 'app.bsky.actor.defs#savedFeedsPref',
980
+ pinned: ['at://bob.com/app.bsky.feed.generator/fake'],
981
+ saved: ['at://bob.com/app.bsky.feed.generator/fake'],
982
+ },
983
+ {
984
+ $type: 'app.bsky.actor.defs#personalDetailsPref',
985
+ birthDate: '2023-09-11T18:05:42.556Z',
986
+ },
987
+
988
+ {
989
+ $type: 'app.bsky.actor.defs#feedViewPref',
990
+ feed: 'home',
991
+ hideReplies: false,
992
+ hideRepliesByUnfollowed: false,
993
+ hideRepliesByLikeCount: 0,
994
+ hideReposts: false,
995
+ hideQuotePosts: false,
996
+ },
997
+ {
998
+ $type: 'app.bsky.actor.defs#threadViewPref',
999
+ sort: 'oldest',
1000
+ prioritizeFollowedUsers: true,
1001
+ },
1002
+ ].sort(byType),
1003
+ )
532
1004
  })
533
1005
  })
534
1006
  })
1007
+
1008
+ const byType = (a, b) => a.$type.localeCompare(b.$type)