an independent Bluesky client using Constellation, PDS Queries, and other services
0
fork

Configure Feed

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

kill labels and polls

+51 -38
+3 -2
src/components/PollComponents.tsx
··· 4 4 5 5 import { 6 6 usePollData, 7 - usePollMutationQueue, 7 + //usePollMutationQueue, 8 8 } from "~/providers/PollMutationQueueProvider"; 9 9 //import { useAuth } from "~/providers/UnifiedAuthProvider"; 10 10 import { renderSnack } from "~/routes/__root"; ··· 26 26 embedtryfall?: embedtryfall; 27 27 }) { 28 28 //const { agent } = useAuth(); 29 - const { refreshPollData } = usePollMutationQueue(); 29 + //const { refreshPollData } = usePollMutationQueue(); 30 + const refreshPollData: (pollUri?: string | undefined) => void = () => {}; 30 31 const pollUri = `at://${did}/app.reddwarf.embed.poll/${rkey}`; 31 32 const { data: pollRecord, isLoading, error } = useQueryArbitrary(pollUri); 32 33 const dontLoadPolls = embedtryfall && (isLoading || pollRecord === undefined || error !== null) || false
+9 -9
src/components/PostEmbeds.tsx
··· 19 19 import { FeedItemRenderAturiLoader } from "~/routes/profile.$did"; 20 20 import type { LightboxProps } from "~/routes/profile.$did/post.$rkey.image.$i"; 21 21 22 - import { PollEmbed } from "./PollComponents"; 22 + //import { PollEmbed } from "./PollComponents"; 23 23 import { UniversalPostRenderer, UniversalPostRendererATURILoader } from "./UniversalPostRenderer"; 24 24 25 25 type Embed = ··· 553 553 const hasPollLink = pollLinks && Object.keys(pollLinks).length > 0; 554 554 const isfromappview = referral?.includes("appview") 555 555 556 - if ((hasPollLink || isfromappview) && postid) { 557 - // warning: i gave up and warpped it in a div lmao 558 - return ( 559 - <div className={(redactedLoading ? " blur animate-pulse " : undefined)}> 560 - <PollEmbed did={postid.did} rkey={postid.rkey} embedtryfall={isfromappview ? {embed, onOpen} : undefined} redactedLoading={redactedLoading}/> 561 - </div> 562 - ); 563 - } 556 + // if (false && ((hasPollLink || isfromappview) && postid)) { 557 + // // warning: i gave up and warpped it in a div lmao 558 + // return ( 559 + // <div className={(redactedLoading ? " blur animate-pulse " : undefined)}> 560 + // {/* <PollEmbed did={postid.did} rkey={postid.rkey} embedtryfall={isfromappview ? {embed, onOpen} : undefined} redactedLoading={redactedLoading}/> */} 561 + // </div> 562 + // ); 563 + // } 564 564 565 565 const link = embed.external; 566 566 return (
+26 -18
src/components/UniversalPostRenderer.tsx
··· 17 17 18 18 import { FORCE_HIDE_LABELS, FORCE_HIDE_LABELS_WHITELISTED_SOURCE, UNAUTHED_PREVENT_OPENING_WARNS } from "~/../policy"; 19 19 import defaultpfp from "~/../public/defaultpfp.png"; 20 - import { getGetHydratedLabelDefs, useAutoLabels } from "~/hooks/useAutoLabels"; 20 + import { getGetHydratedLabelDefs } from "~/hooks/useAutoLabels"; 21 21 import { useLabelInfo } from "~/hooks/useLabelInfo"; 22 + import type { HydratedLabelValueDefinition } from "~/providers/AutoLabelProvider"; 22 23 //import { useModeration } from "~/hooks/useModeration"; 23 24 import { useAuth } from "~/providers/UnifiedAuthProvider"; 24 25 import { renderSnack } from "~/routes/__root"; ··· 850 851 post.uri, 851 852 ] 852 853 853 - const { 854 - results: labelResults, 855 - hydratedLabelDefs, 856 - } = useAutoLabels({ 857 - subjects, 858 - type: "post", // or whatever you’re keying on for now 859 - }) 854 + // let { 855 + // results: labelResults, 856 + // hydratedLabelDefs, 857 + // } = useAutoLabels({ 858 + // subjects, 859 + // type: "post", // or whatever you’re keying on for now 860 + // }) 861 + 862 + const labelResults = new Map<string, { 863 + labelVerdict: (string & {}) | "ignore" | "show" | "warn" | "hide"; 864 + labels: ATPAPI.ComAtprotoLabelDefs.Label[]; 865 + }>() 866 + 867 + const hydratedLabelDefs = new Map<string, HydratedLabelValueDefinition>(); 860 868 861 869 const ghld = getGetHydratedLabelDefs(hydratedLabelDefs) 862 870 const accountResult = labelResults.get(post.author.did) ··· 874 882 const postLabelVerdict = postResult?.labelVerdict ?? "unknown" 875 883 const contentLabels = postResult?.labels ?? [] 876 884 877 - const combinedLabels = [...authorLabels, ...profileLabels, ...contentLabels] 885 + const combinedLabels: ATPAPI.ComAtprotoLabelDefs.Label[] = [] //[...authorLabels, ...profileLabels, ...contentLabels] 878 886 879 - const authorModUnknown = accountLabelVerdict === "unknown"; 880 - const profileModUnknown = profileLabelVerdict === "unknown"; 881 - const contentModUnknown = postLabelVerdict === "unknown"; 887 + const authorModUnknown = false //accountLabelVerdict === "unknown"; 888 + const profileModUnknown = false //profileLabelVerdict === "unknown"; 889 + const contentModUnknown = false //postLabelVerdict === "unknown"; 882 890 883 - const authorModLoading = accountLabelVerdict === "loading"; 884 - const profileModLoading = profileLabelVerdict === "loading"; 885 - const contentModLoading = postLabelVerdict === "loading"; 891 + const authorModLoading = false //accountLabelVerdict === "loading"; 892 + const profileModLoading = false //profileLabelVerdict === "loading"; 893 + const contentModLoading = false //postLabelVerdict === "loading"; 886 894 887 - const authorModError = accountLabelVerdict === "error"; 888 - const profileModError = profileLabelVerdict === "error"; 889 - const contentModError = postLabelVerdict === "error"; 895 + const authorModError = false //accountLabelVerdict === "error"; 896 + const profileModError = false //profileLabelVerdict === "error"; 897 + const contentModError = false //postLabelVerdict === "error"; 890 898 891 899 const verdictDebugString = `accountLabelVerdict: ${accountLabelVerdict}, profileLabelVerdict: ${profileLabelVerdict}, postLabelVerdict: ${postLabelVerdict}` 892 900 //const verdictDebugStringCauses =
+13 -9
src/routes/__root.tsx
··· 2 2 3 3 // dont forget to run this 4 4 // npx @tanstack/router-cli generate 5 + import type { $Typed } from "@atproto/api"; 6 + import type { SavedFeedsPrefV2 } from "@atproto/api/dist/client/types/app/bsky/actor/defs"; 5 7 import type { QueryClient } from "@tanstack/react-query"; 6 8 import { 7 9 createRootRouteWithContext, ··· 28 30 //import { ModerationBatcher } from "~/components/ModerationBatcher"; 29 31 //import { ModerationInitializer } from "~/components/ModerationInitializer"; 30 32 import { NotFound } from "~/components/NotFound"; 31 - import { AutoLabelProvider } from "~/providers/AutoLabelProvider"; 33 + //import { AutoLabelProvider } from "~/providers/AutoLabelProvider"; 32 34 import { LikeMutationQueueProvider } from "~/providers/LikeMutationQueueProvider"; 33 - import { PollMutationQueueProvider } from "~/providers/PollMutationQueueProvider"; 35 + //import { PollMutationQueueProvider } from "~/providers/PollMutationQueueProvider"; 34 36 import { UnifiedAuthProvider, useAuth } from "~/providers/UnifiedAuthProvider"; 35 37 import { FeedTabOnTop } from "~/routes/index"; 36 38 import { composerAtom, hueAtom, imgCDNAtom, quickAuthAtom, useAtomCssVar } from "~/utils/atoms"; ··· 90 92 function RootComponent() { 91 93 return ( 92 94 <UnifiedAuthProvider> 93 - <AutoLabelProvider> 95 + {/* <AutoLabelProvider> */} 94 96 <LikeMutationQueueProvider> 95 - <PollMutationQueueProvider> 96 - {/* <ModerationInitializer /> 97 + {/* <PollMutationQueueProvider> 98 + <ModerationInitializer /> 97 99 <ModerationBatcher /> */} 98 100 <RootDocument> 99 101 <KeepAliveProvider> ··· 101 103 <KeepAliveOutlet /> 102 104 </KeepAliveProvider> 103 105 </RootDocument> 104 - </PollMutationQueueProvider> 106 + {/* </PollMutationQueueProvider> */} 105 107 </LikeMutationQueueProvider> 106 - </AutoLabelProvider> 108 + {/* </AutoLabelProvider> */} 107 109 </UnifiedAuthProvider> 108 110 ); 109 111 } ··· 1172 1174 const prefs = prefsresultmaybe?.data; 1173 1175 1174 1176 const savedFeeds = React.useMemo(() => { 1175 - const savedFeedsPref = prefs?.preferences?.find( 1176 - (p: any) => p?.$type === "app.bsky.actor.defs#savedFeedsPrefV2", 1177 + const savedFeedsPref = prefs?.preferences?.find( 1178 + (p): p is $Typed<SavedFeedsPrefV2> => 1179 + p?.$type === "app.bsky.actor.defs#savedFeedsPrefV2" 1177 1180 ); 1181 + 1178 1182 return savedFeedsPref?.items || []; 1179 1183 }, [prefs]); 1180 1184