slack status without the slack status.zzstoatzz.io/
quickslice

perf: use actorHandle from graphql instead of PLC lookups

quickslice provides actorHandle directly in the query response,
eliminating the need for parallel resolveDidToHandle calls on
every feed item.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

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

+3 -7
+3 -7
site/app.js
··· 1008 1008 query: ` 1009 1009 query GetFeed($after: String) { 1010 1010 ioZzstoatzzStatusRecord(first: 20, after: $after, sortBy: [{ field: "createdAt", direction: DESC }]) { 1011 - edges { node { uri did emoji text createdAt } cursor } 1011 + edges { node { uri did actorHandle emoji text createdAt } cursor } 1012 1012 pageInfo { hasNextPage endCursor } 1013 1013 } 1014 1014 } ··· 1023 1023 feedCursor = data.pageInfo.endCursor; 1024 1024 feedHasMore = data.pageInfo.hasNextPage; 1025 1025 1026 - // Resolve all handles in parallel 1027 - const handlePromises = statuses.map(s => resolveDidToHandle(s.did)); 1028 - const handles = await Promise.all(handlePromises); 1029 - 1030 1026 if (!append) { 1031 1027 feedList.innerHTML = ''; 1032 1028 } 1033 1029 1034 - statuses.forEach((status, i) => { 1035 - const handle = handles[i] || status.did.slice(8, 28); 1030 + statuses.forEach((status) => { 1031 + const handle = status.actorHandle || status.did.slice(8, 28); 1036 1032 const div = document.createElement('div'); 1037 1033 div.className = 'status-item'; 1038 1034 div.innerHTML = `