@atproto/bsky 0.0.39 → 0.0.40
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.
- package/CHANGELOG.md +7 -0
- package/dist/hydration/hydrator.d.ts +12 -2
- package/dist/hydration/label.d.ts +7 -3
- package/dist/hydration/util.d.ts +5 -2
- package/dist/index.js +187 -103
- package/dist/index.js.map +2 -2
- package/package.json +5 -5
- package/src/api/app/bsky/actor/getProfile.ts +10 -6
- package/src/api/app/bsky/actor/getProfiles.ts +2 -2
- package/src/api/app/bsky/actor/getSuggestions.ts +2 -2
- package/src/api/app/bsky/actor/searchActors.ts +7 -3
- package/src/api/app/bsky/actor/searchActorsTypeahead.ts +2 -2
- package/src/api/app/bsky/feed/getActorFeeds.ts +2 -2
- package/src/api/app/bsky/feed/getActorLikes.ts +2 -2
- package/src/api/app/bsky/feed/getAuthorFeed.ts +6 -2
- package/src/api/app/bsky/feed/getFeed.ts +2 -2
- package/src/api/app/bsky/feed/getFeedGenerator.ts +3 -6
- package/src/api/app/bsky/feed/getFeedGenerators.ts +2 -2
- package/src/api/app/bsky/feed/getLikes.ts +2 -2
- package/src/api/app/bsky/feed/getListFeed.ts +2 -2
- package/src/api/app/bsky/feed/getPostThread.ts +2 -2
- package/src/api/app/bsky/feed/getPosts.ts +2 -2
- package/src/api/app/bsky/feed/getRepostedBy.ts +2 -2
- package/src/api/app/bsky/feed/getSuggestedFeeds.ts +3 -5
- package/src/api/app/bsky/feed/getTimeline.ts +6 -3
- package/src/api/app/bsky/feed/searchPosts.ts +2 -2
- package/src/api/app/bsky/graph/getBlocks.ts +6 -3
- package/src/api/app/bsky/graph/getFollowers.ts +6 -2
- package/src/api/app/bsky/graph/getFollows.ts +6 -2
- package/src/api/app/bsky/graph/getList.ts +2 -2
- package/src/api/app/bsky/graph/getListBlocks.ts +6 -3
- package/src/api/app/bsky/graph/getListMutes.ts +6 -3
- package/src/api/app/bsky/graph/getLists.ts +2 -2
- package/src/api/app/bsky/graph/getMutes.ts +6 -3
- package/src/api/app/bsky/graph/getSuggestedFollowsByActor.ts +3 -3
- package/src/api/app/bsky/labeler/getServices.ts +3 -3
- package/src/api/app/bsky/notification/listNotifications.ts +6 -3
- package/src/api/app/bsky/unspecced/getPopularFeedGenerators.ts +2 -2
- package/src/data-plane/server/routes/labels.ts +24 -8
- package/src/hydration/hydrator.ts +55 -10
- package/src/hydration/label.ts +33 -7
- package/src/hydration/util.ts +6 -2
- package/src/index.ts +1 -1
- package/src/views/index.ts +7 -7
- package/tests/label-hydration.test.ts +31 -0
- package/tests/views/labeler-service.test.ts +2 -7
- package/tests/views/takedown-labels.test.ts +52 -0
package/dist/index.js
CHANGED
|
@@ -159894,13 +159894,13 @@ function getTimeline_default(server, ctx) {
|
|
|
159894
159894
|
handler: async ({ params: params2, auth, req }) => {
|
|
159895
159895
|
const viewer = auth.credentials.iss;
|
|
159896
159896
|
const labelers = ctx.reqLabelers(req);
|
|
159897
|
-
const hydrateCtx = { labelers, viewer };
|
|
159898
|
-
const result = await getTimeline({ ...params2, hydrateCtx }, ctx);
|
|
159897
|
+
const hydrateCtx = await ctx.hydrator.createContext({ labelers, viewer });
|
|
159898
|
+
const result = await getTimeline({ ...params2, hydrateCtx: hydrateCtx.copy({ viewer }) }, ctx);
|
|
159899
159899
|
const repoRev = await ctx.hydrator.actor.getRepoRevSafe(viewer);
|
|
159900
159900
|
return {
|
|
159901
159901
|
encoding: "application/json",
|
|
159902
159902
|
body: result,
|
|
159903
|
-
headers: resHeaders({ labelers, repoRev })
|
|
159903
|
+
headers: resHeaders({ labelers: hydrateCtx.labelers, repoRev })
|
|
159904
159904
|
};
|
|
159905
159905
|
}
|
|
159906
159906
|
});
|
|
@@ -161067,12 +161067,12 @@ function getActorFeeds_default(server, ctx) {
|
|
|
161067
161067
|
handler: async ({ auth, params: params2, req }) => {
|
|
161068
161068
|
const viewer = auth.credentials.iss;
|
|
161069
161069
|
const labelers = ctx.reqLabelers(req);
|
|
161070
|
-
const hydrateCtx = { labelers, viewer };
|
|
161070
|
+
const hydrateCtx = await ctx.hydrator.createContext({ labelers, viewer });
|
|
161071
161071
|
const result = await getActorFeeds({ ...params2, hydrateCtx }, ctx);
|
|
161072
161072
|
return {
|
|
161073
161073
|
encoding: "application/json",
|
|
161074
161074
|
body: result,
|
|
161075
|
-
headers: resHeaders({ labelers })
|
|
161075
|
+
headers: resHeaders({ labelers: hydrateCtx.labelers })
|
|
161076
161076
|
};
|
|
161077
161077
|
}
|
|
161078
161078
|
});
|
|
@@ -161122,10 +161122,8 @@ function getSuggestedFeeds_default(server, ctx) {
|
|
|
161122
161122
|
cursor: params2.cursor
|
|
161123
161123
|
});
|
|
161124
161124
|
const uris = suggestedRes.uris;
|
|
161125
|
-
const
|
|
161126
|
-
|
|
161127
|
-
viewer
|
|
161128
|
-
});
|
|
161125
|
+
const hydrateCtx = await ctx.hydrator.createContext({ labelers, viewer });
|
|
161126
|
+
const hydration29 = await ctx.hydrator.hydrateFeedGens(uris, hydrateCtx);
|
|
161129
161127
|
const feedViews = mapDefined(uris, (uri2) => ctx.views.feedGenerator(uri2, hydration29));
|
|
161130
161128
|
return {
|
|
161131
161129
|
encoding: "application/json",
|
|
@@ -161133,7 +161131,7 @@ function getSuggestedFeeds_default(server, ctx) {
|
|
|
161133
161131
|
feeds: feedViews,
|
|
161134
161132
|
cursor: parseString(suggestedRes.cursor)
|
|
161135
161133
|
},
|
|
161136
|
-
headers: resHeaders({ labelers })
|
|
161134
|
+
headers: resHeaders({ labelers: hydrateCtx.labelers })
|
|
161137
161135
|
};
|
|
161138
161136
|
}
|
|
161139
161137
|
});
|
|
@@ -161407,13 +161405,43 @@ var GraphHydrator = class {
|
|
|
161407
161405
|
};
|
|
161408
161406
|
|
|
161409
161407
|
// src/hydration/label.ts
|
|
161408
|
+
var Labels = class extends HydrationMap {
|
|
161409
|
+
static key(label) {
|
|
161410
|
+
return `${label.src}::${label.val}`;
|
|
161411
|
+
}
|
|
161412
|
+
merge(map) {
|
|
161413
|
+
map.forEach((theirs, key) => {
|
|
161414
|
+
if (!theirs)
|
|
161415
|
+
return;
|
|
161416
|
+
const mine = this.get(key);
|
|
161417
|
+
if (mine) {
|
|
161418
|
+
mine.isTakendown = mine.isTakendown || theirs.isTakendown;
|
|
161419
|
+
mine.labels = mine.labels.merge(theirs.labels);
|
|
161420
|
+
} else {
|
|
161421
|
+
this.set(key, theirs);
|
|
161422
|
+
}
|
|
161423
|
+
});
|
|
161424
|
+
return this;
|
|
161425
|
+
}
|
|
161426
|
+
getBySubject(sub) {
|
|
161427
|
+
const it = this.get(sub)?.labels.values();
|
|
161428
|
+
if (!it)
|
|
161429
|
+
return [];
|
|
161430
|
+
const labels = [];
|
|
161431
|
+
for (const label of it) {
|
|
161432
|
+
if (label)
|
|
161433
|
+
labels.push(label);
|
|
161434
|
+
}
|
|
161435
|
+
return labels;
|
|
161436
|
+
}
|
|
161437
|
+
};
|
|
161410
161438
|
var LabelHydrator = class {
|
|
161411
161439
|
constructor(dataplane) {
|
|
161412
161440
|
this.dataplane = dataplane;
|
|
161413
161441
|
}
|
|
161414
161442
|
async getLabelsForSubjects(subjects, labelers) {
|
|
161415
161443
|
if (!subjects.length || !labelers.dids.length)
|
|
161416
|
-
return new
|
|
161444
|
+
return new Labels();
|
|
161417
161445
|
const res = await this.dataplane.getLabels({
|
|
161418
161446
|
subjects,
|
|
161419
161447
|
issuers: labelers.dids
|
|
@@ -161427,16 +161455,16 @@ var LabelHydrator = class {
|
|
|
161427
161455
|
if (!entry) {
|
|
161428
161456
|
entry = {
|
|
161429
161457
|
isTakendown: false,
|
|
161430
|
-
labels:
|
|
161458
|
+
labels: new HydrationMap()
|
|
161431
161459
|
};
|
|
161432
161460
|
acc.set(label.uri, entry);
|
|
161433
161461
|
}
|
|
161434
|
-
entry.labels.
|
|
161462
|
+
entry.labels.set(Labels.key(label), label);
|
|
161435
161463
|
if (TAKEDOWN_LABELS.includes(label.val) && !label.neg && labelers.redact.has(label.src)) {
|
|
161436
161464
|
entry.isTakendown = true;
|
|
161437
161465
|
}
|
|
161438
161466
|
return acc;
|
|
161439
|
-
}, new
|
|
161467
|
+
}, new Labels());
|
|
161440
161468
|
}
|
|
161441
161469
|
async getLabelers(dids, includeTakedowns = false) {
|
|
161442
161470
|
const res = await this.dataplane.getLabelerRecords({
|
|
@@ -161588,13 +161616,25 @@ var FeedHydrator = class {
|
|
|
161588
161616
|
};
|
|
161589
161617
|
|
|
161590
161618
|
// src/hydration/hydrator.ts
|
|
161619
|
+
var HydrateCtx = class {
|
|
161620
|
+
constructor(vals) {
|
|
161621
|
+
this.vals = vals;
|
|
161622
|
+
this.labelers = this.vals.labelers;
|
|
161623
|
+
this.viewer = this.vals.viewer;
|
|
161624
|
+
this.includeTakedowns = this.vals.includeTakedowns;
|
|
161625
|
+
}
|
|
161626
|
+
copy(vals) {
|
|
161627
|
+
return new HydrateCtx({ ...this.vals, ...vals });
|
|
161628
|
+
}
|
|
161629
|
+
};
|
|
161591
161630
|
var Hydrator = class {
|
|
161592
|
-
constructor(dataplane) {
|
|
161631
|
+
constructor(dataplane, serviceLabelers = []) {
|
|
161593
161632
|
this.dataplane = dataplane;
|
|
161594
161633
|
this.actor = new ActorHydrator(dataplane);
|
|
161595
161634
|
this.feed = new FeedHydrator(dataplane);
|
|
161596
161635
|
this.graph = new GraphHydrator(dataplane);
|
|
161597
161636
|
this.label = new LabelHydrator(dataplane);
|
|
161637
|
+
this.serviceLabelers = new Set(serviceLabelers);
|
|
161598
161638
|
}
|
|
161599
161639
|
async hydrateProfileViewers(dids, ctx) {
|
|
161600
161640
|
const viewer = ctx.viewer;
|
|
@@ -161877,11 +161917,12 @@ var Hydrator = class {
|
|
|
161877
161917
|
}
|
|
161878
161918
|
async hydrateLabelers(dids, ctx) {
|
|
161879
161919
|
const [labelers, labelerAggs, labelerViewers, profileState] = await Promise.all([
|
|
161880
|
-
this.label.getLabelers(dids),
|
|
161920
|
+
this.label.getLabelers(dids, ctx.includeTakedowns),
|
|
161881
161921
|
this.label.getLabelerAggregates(dids),
|
|
161882
161922
|
ctx.viewer ? this.label.getLabelerViewerStates(dids, ctx.viewer) : void 0,
|
|
161883
|
-
this.hydrateProfiles(dids
|
|
161923
|
+
this.hydrateProfiles(dids, ctx)
|
|
161884
161924
|
]);
|
|
161925
|
+
actionTakedownLabels(dids, labelers, profileState.labels ?? new Labels());
|
|
161885
161926
|
return mergeStates(profileState, {
|
|
161886
161927
|
labelers,
|
|
161887
161928
|
labelerAggs,
|
|
@@ -161909,7 +161950,10 @@ var Hydrator = class {
|
|
|
161909
161950
|
} else if (collection === ids.AppBskyFeedGenerator) {
|
|
161910
161951
|
return (await this.feed.getFeedGens([uri2], includeTakedowns)).get(uri2) ?? void 0;
|
|
161911
161952
|
} else if (collection === ids.AppBskyLabelerService) {
|
|
161912
|
-
|
|
161953
|
+
if (parsed.rkey !== "self")
|
|
161954
|
+
return;
|
|
161955
|
+
const did2 = parsed.hostname;
|
|
161956
|
+
return (await this.label.getLabelers([did2], includeTakedowns)).get(did2) ?? void 0;
|
|
161913
161957
|
} else if (collection === ids.AppBskyActorProfile) {
|
|
161914
161958
|
const did2 = parsed.hostname;
|
|
161915
161959
|
const actor = (await this.actor.getActors([did2], includeTakedowns)).get(did2);
|
|
@@ -161923,6 +161967,21 @@ var Hydrator = class {
|
|
|
161923
161967
|
};
|
|
161924
161968
|
}
|
|
161925
161969
|
}
|
|
161970
|
+
async createContext(vals) {
|
|
161971
|
+
const labelers = vals.labelers.dids;
|
|
161972
|
+
const nonServiceLabelers = labelers.filter((did2) => !this.serviceLabelers.has(did2));
|
|
161973
|
+
const labelerActors = await this.actor.getActors(nonServiceLabelers, vals.includeTakedowns);
|
|
161974
|
+
const availableDids = labelers.filter((did2) => this.serviceLabelers.has(did2) || !!labelerActors.get(did2));
|
|
161975
|
+
const availableLabelers = {
|
|
161976
|
+
dids: availableDids,
|
|
161977
|
+
redact: vals.labelers.redact
|
|
161978
|
+
};
|
|
161979
|
+
return new HydrateCtx({
|
|
161980
|
+
labelers: availableLabelers,
|
|
161981
|
+
viewer: vals.viewer,
|
|
161982
|
+
includeTakedowns: vals.includeTakedowns
|
|
161983
|
+
});
|
|
161984
|
+
}
|
|
161926
161985
|
};
|
|
161927
161986
|
var listUrisFromProfileViewer = (item) => {
|
|
161928
161987
|
const listUris = [];
|
|
@@ -167122,7 +167181,11 @@ function getAuthorFeed_default(server, ctx) {
|
|
|
167122
167181
|
handler: async ({ params: params2, auth, req }) => {
|
|
167123
167182
|
const { viewer, includeTakedowns } = ctx.authVerifier.parseCreds(auth);
|
|
167124
167183
|
const labelers = ctx.reqLabelers(req);
|
|
167125
|
-
const hydrateCtx = {
|
|
167184
|
+
const hydrateCtx = await ctx.hydrator.createContext({
|
|
167185
|
+
labelers,
|
|
167186
|
+
viewer,
|
|
167187
|
+
includeTakedowns
|
|
167188
|
+
});
|
|
167126
167189
|
const result = await getAuthorFeed({ ...params2, hydrateCtx }, ctx);
|
|
167127
167190
|
const repoRev = await ctx.hydrator.actor.getRepoRevSafe(viewer);
|
|
167128
167191
|
return {
|
|
@@ -167130,7 +167193,7 @@ function getAuthorFeed_default(server, ctx) {
|
|
|
167130
167193
|
body: result,
|
|
167131
167194
|
headers: resHeaders({
|
|
167132
167195
|
repoRev,
|
|
167133
|
-
labelers
|
|
167196
|
+
labelers: hydrateCtx.labelers
|
|
167134
167197
|
})
|
|
167135
167198
|
};
|
|
167136
167199
|
}
|
|
@@ -175686,16 +175749,25 @@ var labels_default = (db) => ({
|
|
|
175686
175749
|
async getLabels(req) {
|
|
175687
175750
|
const { subjects, issuers } = req;
|
|
175688
175751
|
if (subjects.length === 0 || issuers.length === 0) {
|
|
175689
|
-
return {
|
|
175752
|
+
return { labels: [] };
|
|
175690
175753
|
}
|
|
175691
175754
|
const res = await db.db.selectFrom("label").where("uri", "in", subjects).where("src", "in", issuers).selectAll().execute();
|
|
175692
|
-
const
|
|
175693
|
-
|
|
175694
|
-
|
|
175695
|
-
|
|
175696
|
-
|
|
175755
|
+
const labelsBySubject = /* @__PURE__ */ new Map();
|
|
175756
|
+
res.forEach((l) => {
|
|
175757
|
+
const labels2 = labelsBySubject.get(l.uri) ?? [];
|
|
175758
|
+
labels2.push(l);
|
|
175759
|
+
labelsBySubject.set(l.uri, labels2);
|
|
175760
|
+
});
|
|
175761
|
+
const labels = subjects.flatMap((sub) => {
|
|
175762
|
+
const labelsForSub = labelsBySubject.get(sub) ?? [];
|
|
175763
|
+
return labelsForSub.map((l) => {
|
|
175764
|
+
const formatted = noUndefinedVals({
|
|
175765
|
+
...l,
|
|
175766
|
+
cid: l.cid === "" ? void 0 : l.cid,
|
|
175767
|
+
neg: l.neg === true ? true : void 0
|
|
175768
|
+
});
|
|
175769
|
+
return fromString2(JSON.stringify(formatted), "utf8");
|
|
175697
175770
|
});
|
|
175698
|
-
return fromString2(JSON.stringify(formatted), "utf8");
|
|
175699
175771
|
});
|
|
175700
175772
|
return { labels };
|
|
175701
175773
|
}
|
|
@@ -180856,7 +180928,7 @@ function getFeed_default(server, ctx) {
|
|
|
180856
180928
|
handler: async ({ params: params2, auth, req }) => {
|
|
180857
180929
|
const viewer = auth.credentials.iss;
|
|
180858
180930
|
const labelers = ctx.reqLabelers(req);
|
|
180859
|
-
const hydrateCtx = { labelers, viewer };
|
|
180931
|
+
const hydrateCtx = await ctx.hydrator.createContext({ labelers, viewer });
|
|
180860
180932
|
const headers = noUndefinedVals({
|
|
180861
180933
|
authorization: req.headers["authorization"],
|
|
180862
180934
|
"accept-language": req.headers["accept-language"]
|
|
@@ -180872,7 +180944,7 @@ function getFeed_default(server, ctx) {
|
|
|
180872
180944
|
body: result,
|
|
180873
180945
|
headers: {
|
|
180874
180946
|
...feedResHeaders ?? {},
|
|
180875
|
-
...resHeaders({ labelers }),
|
|
180947
|
+
...resHeaders({ labelers: hydrateCtx.labelers }),
|
|
180876
180948
|
"server-timing": serverTimingHeader([timerSkele, timerHydr])
|
|
180877
180949
|
}
|
|
180878
180950
|
};
|
|
@@ -181001,10 +181073,8 @@ function getFeedGenerator_default(server, ctx) {
|
|
|
181001
181073
|
const { feed } = params2;
|
|
181002
181074
|
const viewer = auth.credentials.iss;
|
|
181003
181075
|
const labelers = ctx.reqLabelers(req);
|
|
181004
|
-
const
|
|
181005
|
-
|
|
181006
|
-
labelers
|
|
181007
|
-
});
|
|
181076
|
+
const hydrateCtx = await ctx.hydrator.createContext({ labelers, viewer });
|
|
181077
|
+
const hydration29 = await ctx.hydrator.hydrateFeedGens([feed], hydrateCtx);
|
|
181008
181078
|
const feedInfo = hydration29.feedgens?.get(feed);
|
|
181009
181079
|
if (!feedInfo) {
|
|
181010
181080
|
throw new InvalidRequestError("could not find feed");
|
|
@@ -181038,7 +181108,7 @@ function getFeedGenerator_default(server, ctx) {
|
|
|
181038
181108
|
isOnline: true,
|
|
181039
181109
|
isValid: true
|
|
181040
181110
|
},
|
|
181041
|
-
headers: resHeaders({ labelers })
|
|
181111
|
+
headers: resHeaders({ labelers: hydrateCtx.labelers })
|
|
181042
181112
|
};
|
|
181043
181113
|
}
|
|
181044
181114
|
});
|
|
@@ -181052,12 +181122,12 @@ function getFeedGenerators_default(server, ctx) {
|
|
|
181052
181122
|
handler: async ({ params: params2, auth, req }) => {
|
|
181053
181123
|
const viewer = auth.credentials.iss;
|
|
181054
181124
|
const labelers = ctx.reqLabelers(req);
|
|
181055
|
-
const hydrateCtx = { labelers, viewer };
|
|
181125
|
+
const hydrateCtx = await ctx.hydrator.createContext({ labelers, viewer });
|
|
181056
181126
|
const view = await getFeedGenerators({ ...params2, hydrateCtx }, ctx);
|
|
181057
181127
|
return {
|
|
181058
181128
|
encoding: "application/json",
|
|
181059
181129
|
body: view,
|
|
181060
|
-
headers: resHeaders({ labelers })
|
|
181130
|
+
headers: resHeaders({ labelers: hydrateCtx.labelers })
|
|
181061
181131
|
};
|
|
181062
181132
|
}
|
|
181063
181133
|
});
|
|
@@ -181087,12 +181157,12 @@ function getLikes_default(server, ctx) {
|
|
|
181087
181157
|
handler: async ({ params: params2, auth, req }) => {
|
|
181088
181158
|
const viewer = auth.credentials.iss;
|
|
181089
181159
|
const labelers = ctx.reqLabelers(req);
|
|
181090
|
-
const hydrateCtx = { labelers, viewer };
|
|
181160
|
+
const hydrateCtx = await ctx.hydrator.createContext({ labelers, viewer });
|
|
181091
181161
|
const result = await getLikes({ ...params2, hydrateCtx }, ctx);
|
|
181092
181162
|
return {
|
|
181093
181163
|
encoding: "application/json",
|
|
181094
181164
|
body: result,
|
|
181095
|
-
headers: resHeaders({ labelers })
|
|
181165
|
+
headers: resHeaders({ labelers: hydrateCtx.labelers })
|
|
181096
181166
|
};
|
|
181097
181167
|
}
|
|
181098
181168
|
});
|
|
@@ -181158,13 +181228,13 @@ function getListFeed_default(server, ctx) {
|
|
|
181158
181228
|
handler: async ({ params: params2, auth, req }) => {
|
|
181159
181229
|
const viewer = auth.credentials.iss;
|
|
181160
181230
|
const labelers = ctx.reqLabelers(req);
|
|
181161
|
-
const hydrateCtx = { labelers, viewer };
|
|
181231
|
+
const hydrateCtx = await ctx.hydrator.createContext({ labelers, viewer });
|
|
181162
181232
|
const result = await getListFeed({ ...params2, hydrateCtx }, ctx);
|
|
181163
181233
|
const repoRev = await ctx.hydrator.actor.getRepoRevSafe(viewer);
|
|
181164
181234
|
return {
|
|
181165
181235
|
encoding: "application/json",
|
|
181166
181236
|
body: result,
|
|
181167
|
-
headers: resHeaders({ labelers, repoRev })
|
|
181237
|
+
headers: resHeaders({ labelers: hydrateCtx.labelers, repoRev })
|
|
181168
181238
|
};
|
|
181169
181239
|
}
|
|
181170
181240
|
});
|
|
@@ -181218,7 +181288,7 @@ function getPostThread_default(server, ctx) {
|
|
|
181218
181288
|
handler: async ({ params: params2, auth, req, res }) => {
|
|
181219
181289
|
const { viewer } = ctx.authVerifier.parseCreds(auth);
|
|
181220
181290
|
const labelers = ctx.reqLabelers(req);
|
|
181221
|
-
const hydrateCtx = { labelers, viewer };
|
|
181291
|
+
const hydrateCtx = await ctx.hydrator.createContext({ labelers, viewer });
|
|
181222
181292
|
let result;
|
|
181223
181293
|
try {
|
|
181224
181294
|
result = await getPostThread({ ...params2, hydrateCtx }, ctx);
|
|
@@ -181235,7 +181305,7 @@ function getPostThread_default(server, ctx) {
|
|
|
181235
181305
|
body: result,
|
|
181236
181306
|
headers: resHeaders({
|
|
181237
181307
|
repoRev,
|
|
181238
|
-
labelers
|
|
181308
|
+
labelers: hydrateCtx.labelers
|
|
181239
181309
|
})
|
|
181240
181310
|
};
|
|
181241
181311
|
}
|
|
@@ -181288,12 +181358,12 @@ function getPosts_default(server, ctx) {
|
|
|
181288
181358
|
handler: async ({ params: params2, auth, req }) => {
|
|
181289
181359
|
const viewer = auth.credentials.iss;
|
|
181290
181360
|
const labelers = ctx.reqLabelers(req);
|
|
181291
|
-
const hydrateCtx = { labelers, viewer };
|
|
181361
|
+
const hydrateCtx = await ctx.hydrator.createContext({ labelers, viewer });
|
|
181292
181362
|
const results = await getPosts({ ...params2, hydrateCtx }, ctx);
|
|
181293
181363
|
return {
|
|
181294
181364
|
encoding: "application/json",
|
|
181295
181365
|
body: results,
|
|
181296
|
-
headers: resHeaders({ labelers })
|
|
181366
|
+
headers: resHeaders({ labelers: hydrateCtx.labelers })
|
|
181297
181367
|
};
|
|
181298
181368
|
}
|
|
181299
181369
|
});
|
|
@@ -181327,12 +181397,12 @@ function searchPosts_default(server, ctx) {
|
|
|
181327
181397
|
handler: async ({ auth, params: params2, req }) => {
|
|
181328
181398
|
const viewer = auth.credentials.iss;
|
|
181329
181399
|
const labelers = ctx.reqLabelers(req);
|
|
181330
|
-
const hydrateCtx = { labelers, viewer };
|
|
181400
|
+
const hydrateCtx = await ctx.hydrator.createContext({ labelers, viewer });
|
|
181331
181401
|
const results = await searchPosts({ ...params2, hydrateCtx }, ctx);
|
|
181332
181402
|
return {
|
|
181333
181403
|
encoding: "application/json",
|
|
181334
181404
|
body: results,
|
|
181335
|
-
headers: resHeaders({ labelers })
|
|
181405
|
+
headers: resHeaders({ labelers: hydrateCtx.labelers })
|
|
181336
181406
|
};
|
|
181337
181407
|
}
|
|
181338
181408
|
});
|
|
@@ -181390,7 +181460,7 @@ function getActorLikes_default(server, ctx) {
|
|
|
181390
181460
|
handler: async ({ params: params2, auth, req }) => {
|
|
181391
181461
|
const viewer = auth.credentials.iss;
|
|
181392
181462
|
const labelers = ctx.reqLabelers(req);
|
|
181393
|
-
const hydrateCtx = { labelers, viewer };
|
|
181463
|
+
const hydrateCtx = await ctx.hydrator.createContext({ labelers, viewer });
|
|
181394
181464
|
const result = await getActorLikes({ ...params2, hydrateCtx }, ctx);
|
|
181395
181465
|
const repoRev = await ctx.hydrator.actor.getRepoRevSafe(viewer);
|
|
181396
181466
|
return {
|
|
@@ -181398,7 +181468,7 @@ function getActorLikes_default(server, ctx) {
|
|
|
181398
181468
|
body: result,
|
|
181399
181469
|
headers: resHeaders({
|
|
181400
181470
|
repoRev,
|
|
181401
|
-
labelers
|
|
181471
|
+
labelers: hydrateCtx.labelers
|
|
181402
181472
|
})
|
|
181403
181473
|
};
|
|
181404
181474
|
}
|
|
@@ -181455,7 +181525,11 @@ function getProfile_default(server, ctx) {
|
|
|
181455
181525
|
handler: async ({ auth, params: params2, req }) => {
|
|
181456
181526
|
const { viewer, includeTakedowns } = ctx.authVerifier.parseCreds(auth);
|
|
181457
181527
|
const labelers = ctx.reqLabelers(req);
|
|
181458
|
-
const hydrateCtx = {
|
|
181528
|
+
const hydrateCtx = await ctx.hydrator.createContext({
|
|
181529
|
+
labelers,
|
|
181530
|
+
viewer,
|
|
181531
|
+
includeTakedowns
|
|
181532
|
+
});
|
|
181459
181533
|
const result = await getProfile({ ...params2, hydrateCtx }, ctx);
|
|
181460
181534
|
const repoRev = await ctx.hydrator.actor.getRepoRevSafe(viewer);
|
|
181461
181535
|
return {
|
|
@@ -181463,7 +181537,7 @@ function getProfile_default(server, ctx) {
|
|
|
181463
181537
|
body: result,
|
|
181464
181538
|
headers: resHeaders({
|
|
181465
181539
|
repoRev,
|
|
181466
|
-
labelers
|
|
181540
|
+
labelers: hydrateCtx.labelers
|
|
181467
181541
|
})
|
|
181468
181542
|
};
|
|
181469
181543
|
}
|
|
@@ -181479,10 +181553,7 @@ var skeleton12 = async (input) => {
|
|
|
181479
181553
|
};
|
|
181480
181554
|
var hydration12 = async (input) => {
|
|
181481
181555
|
const { ctx, params: params2, skeleton: skeleton29 } = input;
|
|
181482
|
-
return ctx.hydrator.hydrateProfilesDetailed([skeleton29.did], {
|
|
181483
|
-
...params2.hydrateCtx,
|
|
181484
|
-
includeTakedowns: true
|
|
181485
|
-
});
|
|
181556
|
+
return ctx.hydrator.hydrateProfilesDetailed([skeleton29.did], params2.hydrateCtx.copy({ includeTakedowns: true }));
|
|
181486
181557
|
};
|
|
181487
181558
|
var presentation12 = (input) => {
|
|
181488
181559
|
const { ctx, params: params2, skeleton: skeleton29, hydration: hydration29 } = input;
|
|
@@ -181503,7 +181574,7 @@ function getProfiles_default(server, ctx) {
|
|
|
181503
181574
|
handler: async ({ auth, params: params2, req }) => {
|
|
181504
181575
|
const viewer = auth.credentials.iss;
|
|
181505
181576
|
const labelers = ctx.reqLabelers(req);
|
|
181506
|
-
const hydrateCtx = { viewer, labelers };
|
|
181577
|
+
const hydrateCtx = await ctx.hydrator.createContext({ viewer, labelers });
|
|
181507
181578
|
const result = await getProfile({ ...params2, hydrateCtx }, ctx);
|
|
181508
181579
|
const repoRev = await ctx.hydrator.actor.getRepoRevSafe(viewer);
|
|
181509
181580
|
return {
|
|
@@ -181511,7 +181582,7 @@ function getProfiles_default(server, ctx) {
|
|
|
181511
181582
|
body: result,
|
|
181512
181583
|
headers: resHeaders({
|
|
181513
181584
|
repoRev,
|
|
181514
|
-
labelers
|
|
181585
|
+
labelers: hydrateCtx.labelers
|
|
181515
181586
|
})
|
|
181516
181587
|
};
|
|
181517
181588
|
}
|
|
@@ -181540,12 +181611,12 @@ function getRepostedBy_default(server, ctx) {
|
|
|
181540
181611
|
handler: async ({ params: params2, auth, req }) => {
|
|
181541
181612
|
const viewer = auth.credentials.iss;
|
|
181542
181613
|
const labelers = ctx.reqLabelers(req);
|
|
181543
|
-
const hydrateCtx = { labelers, viewer };
|
|
181614
|
+
const hydrateCtx = await ctx.hydrator.createContext({ labelers, viewer });
|
|
181544
181615
|
const result = await getRepostedBy({ ...params2, hydrateCtx }, ctx);
|
|
181545
181616
|
return {
|
|
181546
181617
|
encoding: "application/json",
|
|
181547
181618
|
body: result,
|
|
181548
|
-
headers: resHeaders({ labelers })
|
|
181619
|
+
headers: resHeaders({ labelers: hydrateCtx.labelers })
|
|
181549
181620
|
};
|
|
181550
181621
|
}
|
|
181551
181622
|
});
|
|
@@ -181603,12 +181674,12 @@ function getBlocks_default(server, ctx) {
|
|
|
181603
181674
|
handler: async ({ params: params2, auth, req }) => {
|
|
181604
181675
|
const viewer = auth.credentials.iss;
|
|
181605
181676
|
const labelers = ctx.reqLabelers(req);
|
|
181606
|
-
const hydrateCtx = { labelers, viewer };
|
|
181607
|
-
const result = await getBlocks({ ...params2, hydrateCtx }, ctx);
|
|
181677
|
+
const hydrateCtx = await ctx.hydrator.createContext({ labelers, viewer });
|
|
181678
|
+
const result = await getBlocks({ ...params2, hydrateCtx: hydrateCtx.copy({ viewer }) }, ctx);
|
|
181608
181679
|
return {
|
|
181609
181680
|
encoding: "application/json",
|
|
181610
181681
|
body: result,
|
|
181611
|
-
headers: resHeaders({ labelers })
|
|
181682
|
+
headers: resHeaders({ labelers: hydrateCtx.labelers })
|
|
181612
181683
|
};
|
|
181613
181684
|
}
|
|
181614
181685
|
});
|
|
@@ -181651,12 +181722,12 @@ function getListBlocks_default(server, ctx) {
|
|
|
181651
181722
|
handler: async ({ params: params2, auth, req }) => {
|
|
181652
181723
|
const viewer = auth.credentials.iss;
|
|
181653
181724
|
const labelers = ctx.reqLabelers(req);
|
|
181654
|
-
const hydrateCtx = { labelers, viewer };
|
|
181655
|
-
const result = await getListBlocks({ ...params2, hydrateCtx }, ctx);
|
|
181725
|
+
const hydrateCtx = await ctx.hydrator.createContext({ labelers, viewer });
|
|
181726
|
+
const result = await getListBlocks({ ...params2, hydrateCtx: hydrateCtx.copy({ viewer }) }, ctx);
|
|
181656
181727
|
return {
|
|
181657
181728
|
encoding: "application/json",
|
|
181658
181729
|
body: result,
|
|
181659
|
-
headers: resHeaders({ labelers })
|
|
181730
|
+
headers: resHeaders({ labelers: hydrateCtx.labelers })
|
|
181660
181731
|
};
|
|
181661
181732
|
}
|
|
181662
181733
|
});
|
|
@@ -181692,12 +181763,16 @@ function getFollowers_default(server, ctx) {
|
|
|
181692
181763
|
handler: async ({ params: params2, auth, req }) => {
|
|
181693
181764
|
const { viewer, includeTakedowns } = ctx.authVerifier.parseCreds(auth);
|
|
181694
181765
|
const labelers = ctx.reqLabelers(req);
|
|
181695
|
-
const hydrateCtx = {
|
|
181766
|
+
const hydrateCtx = await ctx.hydrator.createContext({
|
|
181767
|
+
labelers,
|
|
181768
|
+
viewer,
|
|
181769
|
+
includeTakedowns
|
|
181770
|
+
});
|
|
181696
181771
|
const result = await getFollowers({ ...params2, hydrateCtx }, ctx);
|
|
181697
181772
|
return {
|
|
181698
181773
|
encoding: "application/json",
|
|
181699
181774
|
body: result,
|
|
181700
|
-
headers: resHeaders({ labelers })
|
|
181775
|
+
headers: resHeaders({ labelers: hydrateCtx.labelers })
|
|
181701
181776
|
};
|
|
181702
181777
|
}
|
|
181703
181778
|
});
|
|
@@ -181772,12 +181847,16 @@ function getFollows_default(server, ctx) {
|
|
|
181772
181847
|
handler: async ({ params: params2, auth, req }) => {
|
|
181773
181848
|
const { viewer, includeTakedowns } = ctx.authVerifier.parseCreds(auth);
|
|
181774
181849
|
const labelers = ctx.reqLabelers(req);
|
|
181775
|
-
const hydrateCtx = {
|
|
181850
|
+
const hydrateCtx = await ctx.hydrator.createContext({
|
|
181851
|
+
labelers,
|
|
181852
|
+
viewer,
|
|
181853
|
+
includeTakedowns
|
|
181854
|
+
});
|
|
181776
181855
|
const result = await getFollows({ ...params2, hydrateCtx }, ctx);
|
|
181777
181856
|
return {
|
|
181778
181857
|
encoding: "application/json",
|
|
181779
181858
|
body: result,
|
|
181780
|
-
headers: resHeaders({ labelers })
|
|
181859
|
+
headers: resHeaders({ labelers: hydrateCtx.labelers })
|
|
181781
181860
|
};
|
|
181782
181861
|
}
|
|
181783
181862
|
});
|
|
@@ -181856,12 +181935,12 @@ function getList_default(server, ctx) {
|
|
|
181856
181935
|
handler: async ({ params: params2, auth, req }) => {
|
|
181857
181936
|
const viewer = auth.credentials.iss;
|
|
181858
181937
|
const labelers = ctx.reqLabelers(req);
|
|
181859
|
-
const hydrateCtx = { labelers, viewer };
|
|
181938
|
+
const hydrateCtx = await ctx.hydrator.createContext({ labelers, viewer });
|
|
181860
181939
|
const result = await getList({ ...params2, hydrateCtx }, ctx);
|
|
181861
181940
|
return {
|
|
181862
181941
|
encoding: "application/json",
|
|
181863
181942
|
body: result,
|
|
181864
|
-
headers: resHeaders({ labelers })
|
|
181943
|
+
headers: resHeaders({ labelers: hydrateCtx.labelers })
|
|
181865
181944
|
};
|
|
181866
181945
|
}
|
|
181867
181946
|
});
|
|
@@ -181915,12 +181994,12 @@ function getLists_default(server, ctx) {
|
|
|
181915
181994
|
handler: async ({ params: params2, auth, req }) => {
|
|
181916
181995
|
const viewer = auth.credentials.iss;
|
|
181917
181996
|
const labelers = ctx.reqLabelers(req);
|
|
181918
|
-
const hydrateCtx = { labelers, viewer };
|
|
181997
|
+
const hydrateCtx = await ctx.hydrator.createContext({ labelers, viewer });
|
|
181919
181998
|
const result = await getLists({ ...params2, hydrateCtx }, ctx);
|
|
181920
181999
|
return {
|
|
181921
182000
|
encoding: "application/json",
|
|
181922
182001
|
body: result,
|
|
181923
|
-
headers: resHeaders({ labelers })
|
|
182002
|
+
headers: resHeaders({ labelers: hydrateCtx.labelers })
|
|
181924
182003
|
};
|
|
181925
182004
|
}
|
|
181926
182005
|
});
|
|
@@ -181959,12 +182038,12 @@ function getListMutes_default(server, ctx) {
|
|
|
181959
182038
|
handler: async ({ params: params2, auth, req }) => {
|
|
181960
182039
|
const viewer = auth.credentials.iss;
|
|
181961
182040
|
const labelers = ctx.reqLabelers(req);
|
|
181962
|
-
const hydrateCtx = { labelers, viewer };
|
|
181963
|
-
const result = await getListMutes({ ...params2, hydrateCtx }, ctx);
|
|
182041
|
+
const hydrateCtx = await ctx.hydrator.createContext({ labelers, viewer });
|
|
182042
|
+
const result = await getListMutes({ ...params2, hydrateCtx: hydrateCtx.copy({ viewer }) }, ctx);
|
|
181964
182043
|
return {
|
|
181965
182044
|
encoding: "application/json",
|
|
181966
182045
|
body: result,
|
|
181967
|
-
headers: resHeaders({ labelers })
|
|
182046
|
+
headers: resHeaders({ labelers: hydrateCtx.labelers })
|
|
181968
182047
|
};
|
|
181969
182048
|
}
|
|
181970
182049
|
});
|
|
@@ -182000,12 +182079,12 @@ function getMutes_default(server, ctx) {
|
|
|
182000
182079
|
handler: async ({ params: params2, auth, req }) => {
|
|
182001
182080
|
const viewer = auth.credentials.iss;
|
|
182002
182081
|
const labelers = ctx.reqLabelers(req);
|
|
182003
|
-
const hydrateCtx = { labelers, viewer };
|
|
182004
|
-
const result = await getMutes({ ...params2, hydrateCtx }, ctx);
|
|
182082
|
+
const hydrateCtx = await ctx.hydrator.createContext({ labelers, viewer });
|
|
182083
|
+
const result = await getMutes({ ...params2, hydrateCtx: hydrateCtx.copy({ viewer }) }, ctx);
|
|
182005
182084
|
return {
|
|
182006
182085
|
encoding: "application/json",
|
|
182007
182086
|
body: result,
|
|
182008
|
-
headers: resHeaders({ labelers })
|
|
182087
|
+
headers: resHeaders({ labelers: hydrateCtx.labelers })
|
|
182009
182088
|
};
|
|
182010
182089
|
}
|
|
182011
182090
|
});
|
|
@@ -182156,12 +182235,12 @@ function getSuggestedFollowsByActor_default(server, ctx) {
|
|
|
182156
182235
|
handler: async ({ auth, params: params2, req }) => {
|
|
182157
182236
|
const viewer = auth.credentials.iss;
|
|
182158
182237
|
const labelers = ctx.reqLabelers(req);
|
|
182159
|
-
const hydrateCtx = { labelers, viewer };
|
|
182160
|
-
const result = await getSuggestedFollowsByActor({ ...params2, hydrateCtx }, ctx);
|
|
182238
|
+
const hydrateCtx = await ctx.hydrator.createContext({ labelers, viewer });
|
|
182239
|
+
const result = await getSuggestedFollowsByActor({ ...params2, hydrateCtx: hydrateCtx.copy({ viewer }) }, ctx);
|
|
182161
182240
|
return {
|
|
182162
182241
|
encoding: "application/json",
|
|
182163
182242
|
body: result,
|
|
182164
|
-
headers: resHeaders({ labelers })
|
|
182243
|
+
headers: resHeaders({ labelers: hydrateCtx.labelers })
|
|
182165
182244
|
};
|
|
182166
182245
|
}
|
|
182167
182246
|
});
|
|
@@ -182206,10 +182285,11 @@ function getServices_default(server, ctx) {
|
|
|
182206
182285
|
const { dids, detailed } = params2;
|
|
182207
182286
|
const viewer = auth.credentials.iss;
|
|
182208
182287
|
const labelers = ctx.reqLabelers(req);
|
|
182209
|
-
const
|
|
182288
|
+
const hydrateCtx = await ctx.hydrator.createContext({
|
|
182210
182289
|
viewer,
|
|
182211
182290
|
labelers
|
|
182212
182291
|
});
|
|
182292
|
+
const hydration29 = await ctx.hydrator.hydrateLabelers(dids, hydrateCtx);
|
|
182213
182293
|
const views = mapDefined(dids, (did2) => {
|
|
182214
182294
|
if (detailed) {
|
|
182215
182295
|
const view = ctx.views.labelerDetailed(did2, hydration29);
|
|
@@ -182234,7 +182314,7 @@ function getServices_default(server, ctx) {
|
|
|
182234
182314
|
body: {
|
|
182235
182315
|
views
|
|
182236
182316
|
},
|
|
182237
|
-
headers: resHeaders({ labelers })
|
|
182317
|
+
headers: resHeaders({ labelers: hydrateCtx.labelers })
|
|
182238
182318
|
};
|
|
182239
182319
|
}
|
|
182240
182320
|
});
|
|
@@ -182246,14 +182326,18 @@ function searchActors_default(server, ctx) {
|
|
|
182246
182326
|
server.app.bsky.actor.searchActors({
|
|
182247
182327
|
auth: ctx.authVerifier.standardOptional,
|
|
182248
182328
|
handler: async ({ auth, params: params2, req }) => {
|
|
182249
|
-
const viewer =
|
|
182329
|
+
const { viewer, includeTakedowns } = ctx.authVerifier.parseCreds(auth);
|
|
182250
182330
|
const labelers = ctx.reqLabelers(req);
|
|
182251
|
-
const hydrateCtx = {
|
|
182331
|
+
const hydrateCtx = await ctx.hydrator.createContext({
|
|
182332
|
+
viewer,
|
|
182333
|
+
labelers,
|
|
182334
|
+
includeTakedowns
|
|
182335
|
+
});
|
|
182252
182336
|
const results = await searchActors({ ...params2, hydrateCtx }, ctx);
|
|
182253
182337
|
return {
|
|
182254
182338
|
encoding: "application/json",
|
|
182255
182339
|
body: results,
|
|
182256
|
-
headers: resHeaders({ labelers })
|
|
182340
|
+
headers: resHeaders({ labelers: hydrateCtx.labelers })
|
|
182257
182341
|
};
|
|
182258
182342
|
}
|
|
182259
182343
|
});
|
|
@@ -182308,12 +182392,12 @@ function searchActorsTypeahead_default(server, ctx) {
|
|
|
182308
182392
|
handler: async ({ params: params2, auth, req }) => {
|
|
182309
182393
|
const viewer = auth.credentials.iss;
|
|
182310
182394
|
const labelers = ctx.reqLabelers(req);
|
|
182311
|
-
const hydrateCtx = { labelers, viewer };
|
|
182395
|
+
const hydrateCtx = await ctx.hydrator.createContext({ labelers, viewer });
|
|
182312
182396
|
const results = await searchActorsTypeahead({ ...params2, hydrateCtx }, ctx);
|
|
182313
182397
|
return {
|
|
182314
182398
|
encoding: "application/json",
|
|
182315
182399
|
body: results,
|
|
182316
|
-
headers: resHeaders({ labelers })
|
|
182400
|
+
headers: resHeaders({ labelers: hydrateCtx.labelers })
|
|
182317
182401
|
};
|
|
182318
182402
|
}
|
|
182319
182403
|
});
|
|
@@ -182366,12 +182450,12 @@ function getSuggestions_default(server, ctx) {
|
|
|
182366
182450
|
handler: async ({ params: params2, auth, req }) => {
|
|
182367
182451
|
const viewer = auth.credentials.iss;
|
|
182368
182452
|
const labelers = ctx.reqLabelers(req);
|
|
182369
|
-
const hydrateCtx = { viewer, labelers };
|
|
182453
|
+
const hydrateCtx = await ctx.hydrator.createContext({ viewer, labelers });
|
|
182370
182454
|
const result = await getSuggestions({ ...params2, hydrateCtx }, ctx);
|
|
182371
182455
|
return {
|
|
182372
182456
|
encoding: "application/json",
|
|
182373
182457
|
body: result,
|
|
182374
|
-
headers: resHeaders({ labelers })
|
|
182458
|
+
headers: resHeaders({ labelers: hydrateCtx.labelers })
|
|
182375
182459
|
};
|
|
182376
182460
|
}
|
|
182377
182461
|
});
|
|
@@ -182455,12 +182539,12 @@ function listNotifications_default(server, ctx) {
|
|
|
182455
182539
|
handler: async ({ params: params2, auth, req }) => {
|
|
182456
182540
|
const viewer = auth.credentials.iss;
|
|
182457
182541
|
const labelers = ctx.reqLabelers(req);
|
|
182458
|
-
const hydrateCtx = { labelers, viewer };
|
|
182459
|
-
const result = await listNotifications({ ...params2, hydrateCtx }, ctx);
|
|
182542
|
+
const hydrateCtx = await ctx.hydrator.createContext({ labelers, viewer });
|
|
182543
|
+
const result = await listNotifications({ ...params2, hydrateCtx: hydrateCtx.copy({ viewer }) }, ctx);
|
|
182460
182544
|
return {
|
|
182461
182545
|
encoding: "application/json",
|
|
182462
182546
|
body: result,
|
|
182463
|
-
headers: resHeaders({ labelers })
|
|
182547
|
+
headers: resHeaders({ labelers: hydrateCtx.labelers })
|
|
182464
182548
|
};
|
|
182465
182549
|
}
|
|
182466
182550
|
});
|
|
@@ -182780,7 +182864,7 @@ function getPopularFeedGenerators_default(server, ctx) {
|
|
|
182780
182864
|
handler: async ({ auth, params: params2, req }) => {
|
|
182781
182865
|
const viewer = auth.credentials.iss;
|
|
182782
182866
|
const labelers = ctx.reqLabelers(req);
|
|
182783
|
-
const hydrateCtx = { viewer, labelers };
|
|
182867
|
+
const hydrateCtx = await ctx.hydrator.createContext({ viewer, labelers });
|
|
182784
182868
|
if (clearlyBadCursor(params2.cursor)) {
|
|
182785
182869
|
return {
|
|
182786
182870
|
encoding: "application/json",
|
|
@@ -182813,7 +182897,7 @@ function getPopularFeedGenerators_default(server, ctx) {
|
|
|
182813
182897
|
feeds: feedViews,
|
|
182814
182898
|
cursor
|
|
182815
182899
|
},
|
|
182816
|
-
headers: resHeaders({ labelers })
|
|
182900
|
+
headers: resHeaders({ labelers: hydrateCtx.labelers })
|
|
182817
182901
|
};
|
|
182818
182902
|
}
|
|
182819
182903
|
});
|
|
@@ -184339,8 +184423,8 @@ var Views = class {
|
|
|
184339
184423
|
return;
|
|
184340
184424
|
const profileUri = AtUri.make(did2, ids.AppBskyActorProfile, "self").toString();
|
|
184341
184425
|
const labels = [
|
|
184342
|
-
...state.labels?.
|
|
184343
|
-
...state.labels?.
|
|
184426
|
+
...state.labels?.getBySubject(did2) ?? [],
|
|
184427
|
+
...state.labels?.getBySubject(profileUri) ?? [],
|
|
184344
184428
|
...this.selfLabels({
|
|
184345
184429
|
uri: profileUri,
|
|
184346
184430
|
cid: actor.profileCid?.toString(),
|
|
@@ -184409,7 +184493,7 @@ var Views = class {
|
|
|
184409
184493
|
return void 0;
|
|
184410
184494
|
}
|
|
184411
184495
|
const listViewer = state.listViewers?.get(uri2);
|
|
184412
|
-
const labels = state.labels?.
|
|
184496
|
+
const labels = state.labels?.getBySubject(uri2) ?? [];
|
|
184413
184497
|
const creator = new AtUri(uri2).hostname;
|
|
184414
184498
|
return {
|
|
184415
184499
|
uri: uri2,
|
|
@@ -184448,7 +184532,7 @@ var Views = class {
|
|
|
184448
184532
|
const aggs = state.labelerAggs?.get(did2);
|
|
184449
184533
|
const uri2 = AtUri.make(did2, ids.AppBskyLabelerService, "self").toString();
|
|
184450
184534
|
const labels = [
|
|
184451
|
-
...state.labels?.
|
|
184535
|
+
...state.labels?.getBySubject(uri2) ?? [],
|
|
184452
184536
|
...this.selfLabels({
|
|
184453
184537
|
uri: uri2,
|
|
184454
184538
|
cid: labeler.cid.toString(),
|
|
@@ -184499,7 +184583,7 @@ var Views = class {
|
|
|
184499
184583
|
return;
|
|
184500
184584
|
const viewer = state.feedgenViewers?.get(uri2);
|
|
184501
184585
|
const aggs = state.feedgenAggs?.get(uri2);
|
|
184502
|
-
const labels = state.labels?.
|
|
184586
|
+
const labels = state.labels?.getBySubject(uri2) ?? [];
|
|
184503
184587
|
return {
|
|
184504
184588
|
uri: uri2,
|
|
184505
184589
|
cid: feedgen.cid,
|
|
@@ -184545,7 +184629,7 @@ var Views = class {
|
|
|
184545
184629
|
const viewer = state.postViewers?.get(uri2);
|
|
184546
184630
|
const gateUri = AtUri.make(authorDid, ids.AppBskyFeedThreadgate, parsedUri.rkey).toString();
|
|
184547
184631
|
const labels = [
|
|
184548
|
-
...state.labels?.
|
|
184632
|
+
...state.labels?.getBySubject(uri2) ?? [],
|
|
184549
184633
|
...this.selfLabels({
|
|
184550
184634
|
uri: uri2,
|
|
184551
184635
|
cid: post.cid,
|
|
@@ -184908,7 +184992,7 @@ var Views = class {
|
|
|
184908
184992
|
}
|
|
184909
184993
|
if (!recordInfo)
|
|
184910
184994
|
return;
|
|
184911
|
-
const labels = state.labels?.
|
|
184995
|
+
const labels = state.labels?.getBySubject(notif.uri) ?? [];
|
|
184912
184996
|
const selfLabels = this.selfLabels({
|
|
184913
184997
|
uri: notif.uri,
|
|
184914
184998
|
cid: recordInfo.cid,
|
|
@@ -186085,7 +186169,7 @@ var BskyAppView = class {
|
|
|
186085
186169
|
httpVersion: config2.dataplaneHttpVersion,
|
|
186086
186170
|
rejectUnauthorized: !config2.dataplaneIgnoreBadTls
|
|
186087
186171
|
});
|
|
186088
|
-
const hydrator = new Hydrator(dataplane);
|
|
186172
|
+
const hydrator = new Hydrator(dataplane, config2.labelsFromIssuerDids);
|
|
186089
186173
|
const views = new Views(imgUriBuilder);
|
|
186090
186174
|
const bsyncClient = createBsyncClient({
|
|
186091
186175
|
baseUrl: config2.bsyncUrl,
|