@atproto/bsky 0.0.74 → 0.0.76

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (64) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/dist/api/app/bsky/actor/getProfiles.d.ts.map +1 -1
  3. package/dist/api/app/bsky/actor/getProfiles.js +9 -1
  4. package/dist/api/app/bsky/actor/getProfiles.js.map +1 -1
  5. package/dist/api/app/bsky/actor/searchActorsTypeahead.js +10 -2
  6. package/dist/api/app/bsky/actor/searchActorsTypeahead.js.map +1 -1
  7. package/dist/api/app/bsky/feed/getFeed.d.ts.map +1 -1
  8. package/dist/api/app/bsky/feed/getFeed.js +8 -1
  9. package/dist/api/app/bsky/feed/getFeed.js.map +1 -1
  10. package/dist/api/app/bsky/feed/getPosts.d.ts.map +1 -1
  11. package/dist/api/app/bsky/feed/getPosts.js +8 -1
  12. package/dist/api/app/bsky/feed/getPosts.js.map +1 -1
  13. package/dist/api/app/bsky/graph/getList.d.ts.map +1 -1
  14. package/dist/api/app/bsky/graph/getList.js +32 -2
  15. package/dist/api/app/bsky/graph/getList.js.map +1 -1
  16. package/dist/auth-verifier.d.ts +8 -3
  17. package/dist/auth-verifier.d.ts.map +1 -1
  18. package/dist/auth-verifier.js +43 -29
  19. package/dist/auth-verifier.js.map +1 -1
  20. package/dist/hydration/hydrator.d.ts +1 -0
  21. package/dist/hydration/hydrator.d.ts.map +1 -1
  22. package/dist/hydration/hydrator.js +15 -6
  23. package/dist/hydration/hydrator.js.map +1 -1
  24. package/package.json +5 -5
  25. package/src/api/app/bsky/actor/getProfiles.ts +10 -1
  26. package/src/api/app/bsky/actor/searchActorsTypeahead.ts +9 -4
  27. package/src/api/app/bsky/feed/getFeed.ts +12 -1
  28. package/src/api/app/bsky/feed/getPosts.ts +9 -1
  29. package/src/api/app/bsky/graph/getList.ts +47 -4
  30. package/src/auth-verifier.ts +78 -51
  31. package/src/hydration/hydrator.ts +18 -2
  32. package/tests/admin/admin-auth.test.ts +15 -8
  33. package/tests/auth.test.ts +2 -1
  34. package/tests/data-plane/handle-invalidation.test.ts +31 -5
  35. package/tests/data-plane/indexing.test.ts +138 -23
  36. package/tests/data-plane/thread-mutes.test.ts +41 -9
  37. package/tests/feed-generation.test.ts +150 -32
  38. package/tests/server.test.ts +1 -1
  39. package/tests/views/__snapshots__/lists.test.ts.snap +145 -26
  40. package/tests/views/__snapshots__/starter-packs.test.ts.snap +245 -4
  41. package/tests/views/account-deactivation.test.ts +8 -2
  42. package/tests/views/actor-likes.test.ts +27 -6
  43. package/tests/views/actor-search.test.ts +5 -1
  44. package/tests/views/author-feed.test.ts +73 -12
  45. package/tests/views/block-lists.test.ts +201 -40
  46. package/tests/views/blocks.test.ts +245 -46
  47. package/tests/views/follows.test.ts +133 -22
  48. package/tests/views/known-followers.test.ts +43 -7
  49. package/tests/views/labeler-service.test.ts +36 -6
  50. package/tests/views/likes.test.ts +8 -5
  51. package/tests/views/list-feed.test.ts +25 -4
  52. package/tests/views/lists.test.ts +73 -31
  53. package/tests/views/mute-lists.test.ts +101 -29
  54. package/tests/views/mutes.test.ts +77 -17
  55. package/tests/views/notifications.test.ts +141 -25
  56. package/tests/views/posts.test.ts +13 -2
  57. package/tests/views/profile.test.ts +37 -11
  58. package/tests/views/reposts.test.ts +31 -5
  59. package/tests/views/starter-packs.test.ts +83 -3
  60. package/tests/views/suggested-follows.test.ts +31 -5
  61. package/tests/views/suggestions.test.ts +37 -6
  62. package/tests/views/thread.test.ts +121 -20
  63. package/tests/views/threadgating.test.ts +128 -22
  64. package/tests/views/timeline.test.ts +67 -14
@@ -191,7 +191,12 @@ describe('feed generation', () => {
191
191
  const paginator = async (cursor?: string) => {
192
192
  const res = await agent.api.app.bsky.feed.getActorFeeds(
193
193
  { actor: alice, cursor, limit: 2 },
194
- { headers: await network.serviceHeaders(sc.dids.bob) },
194
+ {
195
+ headers: await network.serviceHeaders(
196
+ sc.dids.bob,
197
+ ids.AppBskyFeedGetActorFeeds,
198
+ ),
199
+ },
195
200
  )
196
201
  return res.data
197
202
  }
@@ -224,7 +229,12 @@ describe('feed generation', () => {
224
229
  await network.processAll()
225
230
  const view = await agent.api.app.bsky.feed.getPosts(
226
231
  { uris: [res.uri] },
227
- { headers: await network.serviceHeaders(sc.dids.bob) },
232
+ {
233
+ headers: await network.serviceHeaders(
234
+ sc.dids.bob,
235
+ ids.AppBskyFeedGetPosts,
236
+ ),
237
+ },
228
238
  )
229
239
  expect(view.data.posts.length).toBe(1)
230
240
  expect(forSnapshot(view.data.posts[0])).toMatchSnapshot()
@@ -246,7 +256,12 @@ describe('feed generation', () => {
246
256
  await network.processAll()
247
257
  const view = await agent.api.app.bsky.feed.getPosts(
248
258
  { uris: [res.uri] },
249
- { headers: await network.serviceHeaders(sc.dids.bob) },
259
+ {
260
+ headers: await network.serviceHeaders(
261
+ sc.dids.bob,
262
+ ids.AppBskyFeedGetPosts,
263
+ ),
264
+ },
250
265
  )
251
266
  expect(view.data.posts.length).toBe(1)
252
267
  expect(forSnapshot(view.data.posts[0])).toMatchSnapshot()
@@ -300,7 +315,12 @@ describe('feed generation', () => {
300
315
  await network.processAll()
301
316
  const view = await agent.api.app.bsky.feed.getPosts(
302
317
  { uris: [res.uri] },
303
- { headers: await network.serviceHeaders(sc.dids.bob) },
318
+ {
319
+ headers: await network.serviceHeaders(
320
+ sc.dids.bob,
321
+ ids.AppBskyFeedGetPosts,
322
+ ),
323
+ },
304
324
  )
305
325
  expect(view.data.posts.length).toBe(1)
306
326
  expect(forSnapshot(view.data.posts[0])).toMatchSnapshot()
@@ -325,7 +345,12 @@ describe('feed generation', () => {
325
345
  await network.processAll()
326
346
  const view = await agent.api.app.bsky.feed.getPosts(
327
347
  { uris: [res.uri] },
328
- { headers: await network.serviceHeaders(sc.dids.bob) },
348
+ {
349
+ headers: await network.serviceHeaders(
350
+ sc.dids.bob,
351
+ ids.AppBskyFeedGetPosts,
352
+ ),
353
+ },
329
354
  )
330
355
  expect(view.data.posts.length).toBe(1)
331
356
  expect(forSnapshot(view.data.posts[0])).toMatchSnapshot()
@@ -335,7 +360,12 @@ describe('feed generation', () => {
335
360
  it('describes a feed gen & returns online status', async () => {
336
361
  const resEven = await agent.api.app.bsky.feed.getFeedGenerator(
337
362
  { feed: feedUriAll },
338
- { headers: await network.serviceHeaders(sc.dids.bob) },
363
+ {
364
+ headers: await network.serviceHeaders(
365
+ sc.dids.bob,
366
+ ids.AppBskyFeedGetFeedGenerator,
367
+ ),
368
+ },
339
369
  )
340
370
  expect(forSnapshot(resEven.data)).toMatchSnapshot()
341
371
  expect(resEven.data.isOnline).toBe(true)
@@ -345,7 +375,12 @@ describe('feed generation', () => {
345
375
  it('does not describe taken-down feed', async () => {
346
376
  const tryGetFeed = agent.api.app.bsky.feed.getFeedGenerator(
347
377
  { feed: feedUriPrime },
348
- { headers: await network.serviceHeaders(sc.dids.bob) },
378
+ {
379
+ headers: await network.serviceHeaders(
380
+ sc.dids.bob,
381
+ ids.AppBskyFeedGetFeedGenerator,
382
+ ),
383
+ },
349
384
  )
350
385
  await expect(tryGetFeed).rejects.toThrow('could not find feed')
351
386
  })
@@ -354,7 +389,12 @@ describe('feed generation', () => {
354
389
  it.skip('handles an unsupported algo', async () => {
355
390
  const resOdd = await agent.api.app.bsky.feed.getFeedGenerator(
356
391
  { feed: feedUriOdd },
357
- { headers: await network.serviceHeaders(sc.dids.bob) },
392
+ {
393
+ headers: await network.serviceHeaders(
394
+ sc.dids.bob,
395
+ ids.AppBskyFeedGetFeedGenerator,
396
+ ),
397
+ },
358
398
  )
359
399
  expect(resOdd.data.isOnline).toBe(true)
360
400
  expect(resOdd.data.isValid).toBe(false)
@@ -391,7 +431,12 @@ describe('feed generation', () => {
391
431
  {
392
432
  feed: allUriBob.toString(),
393
433
  },
394
- { headers: await network.serviceHeaders(sc.dids.alice) },
434
+ {
435
+ headers: await network.serviceHeaders(
436
+ sc.dids.alice,
437
+ ids.AppBskyFeedGetFeedGenerator,
438
+ ),
439
+ },
395
440
  )
396
441
  expect(res.data.isOnline).toBe(false)
397
442
  expect(res.data.isValid).toBe(false)
@@ -402,7 +447,12 @@ describe('feed generation', () => {
402
447
  it('describes multiple feed gens', async () => {
403
448
  const resEven = await agent.api.app.bsky.feed.getFeedGenerators(
404
449
  { feeds: [feedUriEven, feedUriAll, feedUriPrime] },
405
- { headers: await network.serviceHeaders(sc.dids.bob) },
450
+ {
451
+ headers: await network.serviceHeaders(
452
+ sc.dids.bob,
453
+ ids.AppBskyFeedGetFeedGenerators,
454
+ ),
455
+ },
406
456
  )
407
457
  expect(forSnapshot(resEven.data)).toMatchSnapshot()
408
458
  expect(resEven.data.feeds.map((fg) => fg.uri)).not.toContain(feedUriPrime) // taken-down
@@ -413,7 +463,12 @@ describe('feed generation', () => {
413
463
  it('returns list of suggested feed generators', async () => {
414
464
  const resEven = await agent.api.app.bsky.feed.getSuggestedFeeds(
415
465
  {},
416
- { headers: await network.serviceHeaders(sc.dids.bob) },
466
+ {
467
+ headers: await network.serviceHeaders(
468
+ sc.dids.bob,
469
+ ids.AppBskyFeedGetSuggestedFeeds,
470
+ ),
471
+ },
417
472
  )
418
473
  expect(forSnapshot(resEven.data)).toMatchSnapshot()
419
474
  expect(resEven.data.feeds.map((fg) => fg.uri)).not.toContain(feedUriPrime) // taken-down
@@ -424,7 +479,12 @@ describe('feed generation', () => {
424
479
  it('gets popular feed generators', async () => {
425
480
  const res = await agent.api.app.bsky.unspecced.getPopularFeedGenerators(
426
481
  {},
427
- { headers: await network.serviceHeaders(sc.dids.bob) },
482
+ {
483
+ headers: await network.serviceHeaders(
484
+ sc.dids.bob,
485
+ ids.AppBskyUnspeccedGetPopularFeedGenerators,
486
+ ),
487
+ },
428
488
  )
429
489
  expect(res.data.feeds.map((f) => f.uri)).not.toContain(feedUriPrime) // taken-down
430
490
  expect(res.data.feeds.map((f) => f.uri)).toEqual([
@@ -437,7 +497,12 @@ describe('feed generation', () => {
437
497
  it('searches feed generators', async () => {
438
498
  const res = await agent.api.app.bsky.unspecced.getPopularFeedGenerators(
439
499
  { query: 'all' },
440
- { headers: await network.serviceHeaders(sc.dids.bob) },
500
+ {
501
+ headers: await network.serviceHeaders(
502
+ sc.dids.bob,
503
+ ids.AppBskyUnspeccedGetPopularFeedGenerators,
504
+ ),
505
+ },
441
506
  )
442
507
  expect(res.data.feeds.map((f) => f.uri)).toEqual([feedUriAll])
443
508
  })
@@ -446,17 +511,32 @@ describe('feed generation', () => {
446
511
  const resFull =
447
512
  await agent.api.app.bsky.unspecced.getPopularFeedGenerators(
448
513
  {},
449
- { headers: await network.serviceHeaders(sc.dids.bob) },
514
+ {
515
+ headers: await network.serviceHeaders(
516
+ sc.dids.bob,
517
+ ids.AppBskyUnspeccedGetPopularFeedGenerators,
518
+ ),
519
+ },
450
520
  )
451
521
  const resOne =
452
522
  await agent.api.app.bsky.unspecced.getPopularFeedGenerators(
453
523
  { limit: 2 },
454
- { headers: await network.serviceHeaders(sc.dids.bob) },
524
+ {
525
+ headers: await network.serviceHeaders(
526
+ sc.dids.bob,
527
+ ids.AppBskyUnspeccedGetPopularFeedGenerators,
528
+ ),
529
+ },
455
530
  )
456
531
  const resTwo =
457
532
  await agent.api.app.bsky.unspecced.getPopularFeedGenerators(
458
533
  { cursor: resOne.data.cursor },
459
- { headers: await network.serviceHeaders(sc.dids.bob) },
534
+ {
535
+ headers: await network.serviceHeaders(
536
+ sc.dids.bob,
537
+ ids.AppBskyUnspeccedGetPopularFeedGenerators,
538
+ ),
539
+ },
460
540
  )
461
541
  expect([...resOne.data.feeds, ...resTwo.data.feeds]).toEqual(
462
542
  resFull.data.feeds,
@@ -468,7 +548,13 @@ describe('feed generation', () => {
468
548
  it('resolves basic feed contents.', async () => {
469
549
  const feed = await agent.api.app.bsky.feed.getFeed(
470
550
  { feed: feedUriEven },
471
- { headers: await network.serviceHeaders(alice, gen.did) },
551
+ {
552
+ headers: await network.serviceHeaders(
553
+ alice,
554
+ ids.AppBskyFeedGetFeed,
555
+ gen.did,
556
+ ),
557
+ },
472
558
  )
473
559
  expect(feed.data.feed.map((item) => item.post.uri)).toEqual([
474
560
  sc.posts[sc.dids.alice][0].ref.uriStr,
@@ -493,7 +579,13 @@ describe('feed generation', () => {
493
579
  const paginator = async (cursor?: string) => {
494
580
  const res = await agent.api.app.bsky.feed.getFeed(
495
581
  { feed: feedUriAll, cursor, limit: 2 },
496
- { headers: await network.serviceHeaders(alice, gen.did) },
582
+ {
583
+ headers: await network.serviceHeaders(
584
+ alice,
585
+ ids.AppBskyFeedGetFeed,
586
+ gen.did,
587
+ ),
588
+ },
497
589
  )
498
590
  return res.data
499
591
  }
@@ -514,7 +606,13 @@ describe('feed generation', () => {
514
606
  it('paginates, handling feed not respecting limit.', async () => {
515
607
  const res = await agent.api.app.bsky.feed.getFeed(
516
608
  { feed: feedUriBadPagination, limit: 3 },
517
- { headers: await network.serviceHeaders(alice, gen.did) },
609
+ {
610
+ headers: await network.serviceHeaders(
611
+ alice,
612
+ ids.AppBskyFeedGetFeed,
613
+ gen.did,
614
+ ),
615
+ },
518
616
  )
519
617
  // refused to respect pagination limit, so it got cut short by appview but the cursor remains.
520
618
  expect(res.data.feed.length).toBeLessThanOrEqual(3)
@@ -529,7 +627,13 @@ describe('feed generation', () => {
529
627
  it('fails on unknown feed.', async () => {
530
628
  const tryGetFeed = agent.api.app.bsky.feed.getFeed(
531
629
  { feed: feedUriOdd },
532
- { headers: await network.serviceHeaders(alice, gen.did) },
630
+ {
631
+ headers: await network.serviceHeaders(
632
+ alice,
633
+ ids.AppBskyFeedGetFeed,
634
+ gen.did,
635
+ ),
636
+ },
533
637
  )
534
638
  await expect(tryGetFeed).rejects.toMatchObject({
535
639
  error: 'UnknownFeed',
@@ -539,7 +643,9 @@ describe('feed generation', () => {
539
643
  it('resolves contents of taken-down feed.', async () => {
540
644
  const tryGetFeed = agent.api.app.bsky.feed.getFeed(
541
645
  { feed: feedUriPrime },
542
- { headers: await network.serviceHeaders(alice) },
646
+ {
647
+ headers: await network.serviceHeaders(alice, ids.AppBskyFeedGetFeed),
648
+ },
543
649
  )
544
650
  await expect(tryGetFeed).resolves.toBeDefined()
545
651
  })
@@ -547,19 +653,19 @@ describe('feed generation', () => {
547
653
  it('receives proper auth details.', async () => {
548
654
  const feed = await agent.api.app.bsky.feed.getFeed(
549
655
  { feed: feedUriEven },
550
- { headers: await network.serviceHeaders(alice, gen.did) },
656
+ {
657
+ headers: await network.serviceHeaders(
658
+ alice,
659
+ ids.AppBskyFeedGetFeedSkeleton,
660
+ gen.did,
661
+ ),
662
+ },
551
663
  )
552
664
  expect(feed.data['$auth']?.['aud']).toEqual(gen.did)
553
665
  expect(feed.data['$auth']?.['iss']).toEqual(alice)
554
- })
555
-
556
- it('receives proper auth details.', async () => {
557
- const feed = await agent.api.app.bsky.feed.getFeed(
558
- { feed: feedUriEven },
559
- { headers: await network.serviceHeaders(alice, gen.did) },
666
+ expect(feed.data['$auth']?.['lxm']).toEqual(
667
+ ids.AppBskyFeedGetFeedSkeleton,
560
668
  )
561
- expect(feed.data['$auth']?.['aud']).toEqual(gen.did)
562
- expect(feed.data['$auth']?.['iss']).toEqual(alice)
563
669
  })
564
670
 
565
671
  it('passes through auth error from feed.', async () => {
@@ -575,7 +681,13 @@ describe('feed generation', () => {
575
681
  it('provides timing info in server-timing header.', async () => {
576
682
  const result = await agent.api.app.bsky.feed.getFeed(
577
683
  { feed: feedUriEven },
578
- { headers: await network.serviceHeaders(alice, gen.did) },
684
+ {
685
+ headers: await network.serviceHeaders(
686
+ alice,
687
+ ids.AppBskyFeedGetFeed,
688
+ gen.did,
689
+ ),
690
+ },
579
691
  )
580
692
  expect(result.headers['server-timing']).toMatch(
581
693
  /^skele;dur=\d+, hydr;dur=\d+$/,
@@ -586,7 +698,13 @@ describe('feed generation', () => {
586
698
  await gen.close() // @NOTE must be last test
587
699
  const tryGetFeed = agent.api.app.bsky.feed.getFeed(
588
700
  { feed: feedUriEven },
589
- { headers: await network.serviceHeaders(alice, gen.did) },
701
+ {
702
+ headers: await network.serviceHeaders(
703
+ alice,
704
+ ids.AppBskyFeedGetFeed,
705
+ gen.did,
706
+ ),
707
+ },
590
708
  )
591
709
  await expect(tryGetFeed).rejects.toThrow('feed unavailable')
592
710
  })
@@ -89,7 +89,7 @@ describe('server', () => {
89
89
  {
90
90
  decompress: false,
91
91
  headers: {
92
- ...(await network.serviceHeaders(alice)),
92
+ ...(await network.serviceHeaders(alice, 'app.bsky.feed.getTimeline')),
93
93
  'accept-encoding': 'gzip',
94
94
  },
95
95
  },
@@ -1,42 +1,161 @@
1
1
  // Jest Snapshot v1, https://goo.gl/fbAQLP
2
2
 
3
+ exports[`bsky actor likes feed views does include users with creator block relationship in reference lists for creator 1`] = `
4
+ Array [
5
+ Object {
6
+ "subject": Object {
7
+ "did": "user(0)",
8
+ "handle": "frankie.test",
9
+ "labels": Array [],
10
+ "viewer": Object {
11
+ "blockedBy": true,
12
+ "muted": false,
13
+ },
14
+ },
15
+ "uri": "record(0)",
16
+ },
17
+ Object {
18
+ "subject": Object {
19
+ "avatar": "https://bsky.public.url/img/avatar/plain/user(2)/cids(0)@jpeg",
20
+ "createdAt": "1970-01-01T00:00:00.000Z",
21
+ "description": "hi im bob label_me",
22
+ "did": "user(1)",
23
+ "displayName": "bobby",
24
+ "handle": "bob.test",
25
+ "indexedAt": "1970-01-01T00:00:00.000Z",
26
+ "labels": Array [],
27
+ "viewer": Object {
28
+ "blockedBy": false,
29
+ "muted": false,
30
+ },
31
+ },
32
+ "uri": "record(1)",
33
+ },
34
+ Object {
35
+ "subject": Object {
36
+ "did": "user(3)",
37
+ "handle": "eve.test",
38
+ "labels": Array [],
39
+ "viewer": Object {
40
+ "blockedBy": false,
41
+ "muted": false,
42
+ },
43
+ },
44
+ "uri": "record(2)",
45
+ },
46
+ ]
47
+ `;
48
+
3
49
  exports[`bsky actor likes feed views does not include reference lists in getActorLists 1`] = `
4
50
  Array [
5
51
  Object {
6
52
  "cid": "cids(0)",
7
53
  "creator": Object {
8
- "avatar": "https://bsky.public.url/img/avatar/plain/user(1)/cids(1)@jpeg",
9
- "createdAt": "1970-01-01T00:00:00.000Z",
10
- "description": "its me!",
11
54
  "did": "user(0)",
12
- "displayName": "ali",
13
- "handle": "alice.test",
14
- "indexedAt": "1970-01-01T00:00:00.000Z",
15
- "labels": Array [
16
- Object {
17
- "cid": "cids(2)",
18
- "cts": "1970-01-01T00:00:00.000Z",
19
- "src": "user(0)",
20
- "uri": "record(1)",
21
- "val": "self-label-a",
22
- },
23
- Object {
24
- "cid": "cids(2)",
25
- "cts": "1970-01-01T00:00:00.000Z",
26
- "src": "user(0)",
27
- "uri": "record(1)",
28
- "val": "self-label-b",
29
- },
30
- ],
31
- },
32
- "description": "",
33
- "descriptionFacets": Array [],
55
+ "handle": "eve.test",
56
+ "labels": Array [],
57
+ },
34
58
  "indexedAt": "1970-01-01T00:00:00.000Z",
35
59
  "labels": Array [],
36
60
  "listItemCount": 0,
37
- "name": "cool curate list!",
61
+ "name": "cool curate list",
38
62
  "purpose": "app.bsky.graph.defs#curatelist",
39
63
  "uri": "record(0)",
40
64
  },
41
65
  ]
42
66
  `;
67
+
68
+ exports[`bsky actor likes feed views does not include users with creator block relationship in reference lists for non-creator, in-list viewers 1`] = `
69
+ Array [
70
+ Object {
71
+ "subject": Object {
72
+ "avatar": "https://bsky.public.url/img/avatar/plain/user(1)/cids(0)@jpeg",
73
+ "createdAt": "1970-01-01T00:00:00.000Z",
74
+ "description": "hi im bob label_me",
75
+ "did": "user(0)",
76
+ "displayName": "bobby",
77
+ "handle": "bob.test",
78
+ "indexedAt": "1970-01-01T00:00:00.000Z",
79
+ "labels": Array [],
80
+ "viewer": Object {
81
+ "blockedBy": false,
82
+ "muted": false,
83
+ },
84
+ },
85
+ "uri": "record(0)",
86
+ },
87
+ Object {
88
+ "subject": Object {
89
+ "did": "user(2)",
90
+ "handle": "eve.test",
91
+ "labels": Array [],
92
+ "viewer": Object {
93
+ "blockedBy": false,
94
+ "blocking": "record(2)",
95
+ "muted": false,
96
+ },
97
+ },
98
+ "uri": "record(1)",
99
+ },
100
+ ]
101
+ `;
102
+
103
+ exports[`bsky actor likes feed views does not include users with creator block relationship in reference lists for non-creator, not-in-list viewers 1`] = `
104
+ Array [
105
+ Object {
106
+ "subject": Object {
107
+ "avatar": "https://bsky.public.url/img/avatar/plain/user(1)/cids(0)@jpeg",
108
+ "createdAt": "1970-01-01T00:00:00.000Z",
109
+ "description": "hi im bob label_me",
110
+ "did": "user(0)",
111
+ "displayName": "bobby",
112
+ "handle": "bob.test",
113
+ "indexedAt": "1970-01-01T00:00:00.000Z",
114
+ "labels": Array [],
115
+ "viewer": Object {
116
+ "blockedBy": false,
117
+ "muted": false,
118
+ },
119
+ },
120
+ "uri": "record(0)",
121
+ },
122
+ Object {
123
+ "subject": Object {
124
+ "did": "user(2)",
125
+ "handle": "eve.test",
126
+ "labels": Array [],
127
+ "viewer": Object {
128
+ "blockedBy": false,
129
+ "muted": false,
130
+ },
131
+ },
132
+ "uri": "record(1)",
133
+ },
134
+ ]
135
+ `;
136
+
137
+ exports[`bsky actor likes feed views does not include users with creator block relationship in reference lists for signed-out viewers 1`] = `
138
+ Array [
139
+ Object {
140
+ "subject": Object {
141
+ "avatar": "https://bsky.public.url/img/avatar/plain/user(1)/cids(0)@jpeg",
142
+ "createdAt": "1970-01-01T00:00:00.000Z",
143
+ "description": "hi im bob label_me",
144
+ "did": "user(0)",
145
+ "displayName": "bobby",
146
+ "handle": "bob.test",
147
+ "indexedAt": "1970-01-01T00:00:00.000Z",
148
+ "labels": Array [],
149
+ },
150
+ "uri": "record(0)",
151
+ },
152
+ Object {
153
+ "subject": Object {
154
+ "did": "user(2)",
155
+ "handle": "eve.test",
156
+ "labels": Array [],
157
+ },
158
+ "uri": "record(1)",
159
+ },
160
+ ]
161
+ `;