Blogging platform with advanced tools for arts and sciences.
6

Configure Feed

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

Fix old post URL format

lemma (Jun 3, 2026, 1:51 PM -0500) ef99093e 83838e2f

+9 -2
+7 -2
app/components/PostCard.tsx
··· 8 8 type Props = { 9 9 authorDid: string 10 10 rkey: string 11 + pubRkey?: string 11 12 title: string 12 13 publishedAt: string 13 14 resolvedHandle?: string ··· 18 19 } 19 20 20 21 export default function PostCard({ 21 - authorDid, rkey, title, publishedAt, resolvedHandle, publicationName, coverImageCid, resolvedUrl, path, 22 + authorDid, rkey, pubRkey, title, publishedAt, resolvedHandle, publicationName, coverImageCid, resolvedUrl, path, 22 23 }: Props) { 23 24 const fullUrl = resolvedUrl && path ? resolvedUrl + path : null 24 25 const href = fullUrl && isExternalUrl(fullUrl) ? fullUrl : null 25 - const innerTo = fullUrl ? new URL(fullUrl).pathname : `/${encodeURIComponent(authorDid)}/post/${encodeURIComponent(rkey)}` 26 + const innerTo = fullUrl 27 + ? new URL(fullUrl).pathname 28 + : pubRkey 29 + ? `/${encodeURIComponent(authorDid)}/pub/${encodeURIComponent(pubRkey)}/${encodeURIComponent(rkey)}` 30 + : '/' 26 31 27 32 const cardInner = ( 28 33 <div className="flex items-stretch min-h-[5rem]">
+2
app/routes/recent.tsx
··· 79 79 {items.map((item) => { 80 80 const did = item.atUri.split('/')[2] 81 81 const rkey = item.atUri.split('/').pop()! 82 + const pubRkey = item.site.startsWith('at://') ? item.site.split('/').pop() : undefined 82 83 return ( 83 84 <PostCard 84 85 key={item.sk} 85 86 authorDid={did} 86 87 rkey={rkey} 88 + pubRkey={pubRkey} 87 89 title={item.title} 88 90 publishedAt={item.publishedAt} 89 91 resolvedHandle={item.resolvedHandle}