search for standard sites pub-search.waow.tech
search zig blog atproto
11
fork

Configure Feed

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

fix: use pdsls.dev instead of broken atproto.at for URL fallback

atproto.at 404s on all records. pdsls.dev actually renders record
content for live PDS records. Also adds leaflet.pub/p/{did}/{rkey}
fallback for 208 leaflet docs without basePath (matching backend logic).

Affects ~1,619 docs (13% of atlas) that had no clickable link.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

zzstoatzz d6ae01c6 64c53fb7

+5 -2
+1 -1
backend/src/server/search.zig
··· 132 132 } 133 133 // universal fallback → AT Protocol record viewer 134 134 if (did.len > 0 and rkey.len > 0) { 135 - return std.fmt.allocPrint(alloc, "https://atproto.at/at://{s}/site.standard.document/{s}", .{ did, rkey }) catch ""; 135 + return std.fmt.allocPrint(alloc, "https://pdsls.dev/at/{s}/site.standard.document/{s}", .{ did, rkey }) catch ""; 136 136 } 137 137 return ""; 138 138 }
+4 -1
site/atlas.js
··· 664 664 if (platform === 'whitewind' || collection.startsWith('com.whtwnd.')) return 'https://whtwnd.com/' + did + '/' + rkey; 665 665 // leaflet uses rkey directly 666 666 if (platform === 'leaflet' && basePath) return 'https://' + basePath + '/' + rkey; 667 + // leaflet without basePath 668 + if (platform === 'leaflet') return 'https://leaflet.pub/p/' + did + '/' + rkey; 667 669 // other platforms (pckt, offprint, etc.) use path slug when available 668 670 if (basePath && path) { 669 671 var sep = path.charAt(0) === '/' ? '' : '/'; 670 672 return 'https://' + basePath + sep + path; 671 673 } 672 674 if (basePath) return 'https://' + basePath + '/' + rkey; 673 - return 'https://atproto.at/at://' + did + '/' + collection + '/' + rkey; 675 + // universal fallback — AT Protocol record viewer 676 + return 'https://pdsls.dev/at/' + did + '/' + collection + '/' + rkey; 674 677 } 675 678 676 679 function renderLegend() {