view who was fronting when a record was made

feat: show fronter for grandparent author

ptr.pet 8f4ed1bd b162e62e

verified
Changed files
+22 -15
src
entrypoints
+22 -15
src/entrypoints/background.ts
···
-
import { PersistentCache } from "@/lib/cache";
import { expect } from "@/lib/result";
import {
type Fronter,
···
displayNameCache,
deleteFronter,
getPkFronters,
-
FronterType,
FronterView,
} from "@/lib/utils";
-
import {
-
ComAtprotoRepoApplyWrites,
-
ComAtprotoRepoCreateRecord,
-
} from "@atcute/atproto";
-
import { createResultSchema } from "@atcute/atproto/types/repo/applyWrites";
+
import { AppBskyFeedPost } from "@atcute/bluesky";
import { feedViewPostSchema } from "@atcute/bluesky/types/app/feed/defs";
-
import {
-
InferOutput,
-
is,
-
parseResourceUri,
-
ResourceUri,
-
safeParse,
-
} from "@atcute/lexicons";
+
import { is, parseResourceUri, ResourceUri } from "@atcute/lexicons";
import { AtprotoDid, parseCanonicalResourceUri } from "@atcute/lexicons/syntax";
export default defineBackground({
···
},
...fronter,
};
-
} else if (uri === item.post.uri) {
+
} else if (
+
uri === item.post.uri &&
+
item.reply?.parent.$type === "app.bsky.feed.defs#postView"
+
) {
fronter = {
replyTo: item.reply?.parent.uri,
...fronter,
};
+
} else if (
+
uri === item.reply?.parent.uri &&
+
item.reply?.parent.$type === "app.bsky.feed.defs#postView"
+
) {
+
fronter = {
+
replyTo: (item.reply.parent.record as AppBskyFeedPost.Main)
+
.reply?.parent.uri,
+
...fronter,
+
};
}
const parsedUri = await cacheFronter(uri, fronter);
return {
···
promises.push(handleUri(item.post.uri, "post"));
if (item.reply?.parent) {
promises.push(handleUri(item.reply.parent.uri, "post"));
+
if (item.reply?.parent.$type === "app.bsky.feed.defs#postView") {
+
const grandparentUri = (
+
item.reply.parent.record as AppBskyFeedPost.Main
+
).reply?.parent.uri;
+
if (grandparentUri)
+
promises.push(handleUri(grandparentUri, "post"));
+
}
}
if (item.reply?.root) {
promises.push(handleUri(item.reply.root.uri, "post"));