diff --git a/apps/web/src/components/react/bluesky/post-view.tsx b/apps/web/src/components/react/bluesky/post-view.tsx
index 474514b..d055aa1 100644
--- a/apps/web/src/components/react/bluesky/post-view.tsx
+++ b/apps/web/src/components/react/bluesky/post-view.tsx
@@ -49,6 +49,8 @@ export function PostView({
const authorLink = `https://bsky.app/profile/${view.author.did}`;
const atUri = new AtUri(uri);
const postLink = `${authorLink}/post/${atUri.rkey}`;
+ const repost = reason?.repost as string | undefined;
+ const repostDid = repost?.replace(/^[a-z]+:\/\//i, "");
const authorLabelString =
view.author?.labels && view.author.labels.map((l) => l.val).join(", ");
@@ -124,7 +126,12 @@ export function PostView({
{reason && (
- Repost
+
+ Repost
+
)}
{feedContext &&
{feedContext}
}
diff --git a/apps/web/src/pages/xrpc/app.bsky.feed.getFeedSkeleton.ts b/apps/web/src/pages/xrpc/app.bsky.feed.getFeedSkeleton.ts
index cd5b161..ff5229d 100644
--- a/apps/web/src/pages/xrpc/app.bsky.feed.getFeedSkeleton.ts
+++ b/apps/web/src/pages/xrpc/app.bsky.feed.getFeedSkeleton.ts
@@ -15,6 +15,8 @@ export const GET: APIRoute = async ({ request: req, locals }) => {
return HTTPError("no feed requested");
}
const cursor = url.searchParams.get("cursor");
+ const limit = url.searchParams.get("limit");
+
const feedUri = new AtUri(feedParam);
// pathname looks like this: /app.bsky.feed.generator/tech-following
const rkeyMatch = feedUri.pathname.match(/\/([^/]+)$/);
@@ -31,6 +33,7 @@ export const GET: APIRoute = async ({ request: req, locals }) => {
ctx,
actorDid: actor,
cursor: cursor ?? undefined,
+ limit: limit ? Number(limit) : undefined,
});
return Response.json({
diff --git a/packages/atproto/feeds/queries/following.ts b/packages/atproto/feeds/queries/following.ts
index 7cfcc2d..e813a5a 100644
--- a/packages/atproto/feeds/queries/following.ts
+++ b/packages/atproto/feeds/queries/following.ts
@@ -1,4 +1,4 @@
-import { AtUri, type AppBskyFeedGetFeedSkeleton } from "@atproto/api";
+import { type AppBskyFeedGetFeedSkeleton } from "@atproto/api";
import type { SkeletonReasonRepost } from "@atproto/api/dist/client/types/app/bsky/feed/defs";
import { and, desc, eq, gt, isNotNull, isNull, or, sql } from "drizzle-orm";
import type { FeedHandlerArgs, FeedHandlerOutput } from "..";
@@ -61,10 +61,8 @@ export async function followingFeedHandler(
let reason: SkeletonReasonRepost | undefined = undefined;
if (p.repost) {
// TODO: Why doesn't this work?!
- const a = AtUri.make("andri.dk"); // Test. I repost all the things
-
reason = {
- repost: a.toString(),
+ repost: p.repost,
};
}
return {