Blogging platform with advanced tools for arts and sciences.
6

Configure Feed

Select the types of activity you want to include in your feed.

Add pub link to Following feed items

lemma (Jun 14, 2026, 12:06 AM -0500) 10225ea4 bd4abf5e

+8 -1
+1
app/lib/api-client.ts
··· 112 112 title: string 113 113 publishedAt: string 114 114 publicationName?: string 115 + pubAtUri?: string 115 116 resolvedUrl?: string 116 117 path?: string 117 118 resolvedHandle?: string
+1
app/routes/following.tsx
··· 96 96 key={`${item.authorDid}/${item.rkey}`} 97 97 authorDid={item.authorDid} 98 98 rkey={item.rkey} 99 + pubRkey={item.pubAtUri?.split('/').pop()} 99 100 title={item.title} 100 101 publishedAt={item.publishedAt} 101 102 resolvedHandle={item.resolvedHandle}
+2
infra/api/src/index.ts
··· 869 869 title: item.title as string, 870 870 publishedAt: item.publishedAt as string, 871 871 publicationName: item.publicationName as string | undefined, 872 + pubAtUri: item.pubAtUri as string | undefined, 872 873 resolvedUrl: item.resolvedUrl as string | undefined, 873 874 path: item.path as string | undefined, 874 875 resolvedHandle: item.resolvedHandle as string | undefined, ··· 893 894 title: item.title as string, 894 895 publishedAt: item.publishedAt as string, 895 896 publicationName: item.resolvedPubName as string | undefined, 897 + pubAtUri: typeof item.site === 'string' && item.site.startsWith('at://') ? item.site : undefined, 896 898 resolvedUrl: item.resolvedUrl as string | undefined, 897 899 path: item.path as string | undefined, 898 900 resolvedHandle: item.resolvedHandle as string | undefined,
+4 -1
infra/indexer/src/index.ts
··· 283 283 record: DocumentRecord, 284 284 pubMeta: { url: string; name: string }, 285 285 resolvedHandle: string, 286 + pubAtUri: string, 286 287 ): Promise<void> { 287 288 const countItem = await ddb.send(new GetCommand({ 288 289 TableName: TABLE, ··· 317 318 title: record.title, 318 319 publishedAt: record.publishedAt, 319 320 publicationName: pubMeta.name, 321 + pubAtUri, 320 322 resolvedUrl: pubMeta.url, 321 323 path: record.path ?? `/${rkey}`, 322 324 resolvedHandle, ··· 366 368 title: post.title as string, 367 369 publishedAt: post.publishedAt as string, 368 370 publicationName: post.resolvedPubName as string | undefined, 371 + pubAtUri: typeof post.site === 'string' && post.site.startsWith('at://') ? post.site : undefined, 369 372 resolvedUrl: post.resolvedUrl as string | undefined, 370 373 path: post.path as string | undefined, 371 374 resolvedHandle: post.resolvedHandle as string | undefined, ··· 436 439 } 437 440 await ddb.send(new PutCommand({ TableName: TABLE, Item: item })) 438 441 439 - await fanOutToTimeline(did, rkey, record, pubMeta, resolvedHandle) 442 + await fanOutToTimeline(did, rkey, record, pubMeta, resolvedHandle, siteIsAtUri ? site : '') 440 443 } 441 444 442 445 async function deleteDocument(did: string, rkey: string) {