Skip to content

Commit 3c5eb55

Browse files
authored
feat: mf-6109 detect scam addresses and links in post (#12152)
* feat: mf-6109 detect scam addresses and links in post * fixup! feat: mf-6109 detect scam addresses and links in post
1 parent 15b25c1 commit 3c5eb55

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

44 files changed

+898
-62
lines changed

package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -157,7 +157,8 @@
157157
158158
159159
160-
"@splinetool/[email protected]": "patches/@[email protected]"
160+
"@splinetool/[email protected]": "patches/@[email protected]",
161+
"@scamsniffer/detector": "patches/@scamsniffer__detector.patch"
161162
}
162163
}
163164
}

packages/icons/brands/Danger.svg

Lines changed: 6 additions & 6 deletions
Loading

packages/icons/icon-generated-as-jsx.js

Lines changed: 11 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/icons/icon-generated-as-url.js

Lines changed: 3 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/icons/plugins/GoPlus.svg

Lines changed: 9 additions & 0 deletions
Loading
Lines changed: 17 additions & 0 deletions
Loading
Lines changed: 17 additions & 0 deletions
Loading

packages/icons/plugins/ScamSniffer.svg

Lines changed: 0 additions & 4 deletions
This file was deleted.

packages/mask/background/services/helper/short-link-resolver.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,4 +17,4 @@ async function resolver(u: string): Promise<string | null> {
1717
return url ?? null
1818
}
1919
/** Resolve a https://t.co/ link to it's real address. */
20-
export const resolveTCOLink = memoizePromise(memoize, resolver, (x) => x)
20+
export const resolveTCOLink: (u: string) => Promise<string | null> = memoizePromise(memoize, resolver, (x) => x)

packages/mask/content-script/site-adaptors/twitter.com/customization/render-fragments.tsx

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
1-
import { memo } from 'react'
2-
import { Link } from '@mui/material'
1+
import { useActivatedPluginsSiteAdaptor } from '@masknet/plugin-infra/content-script'
32
import type { RenderFragmentsContextType } from '@masknet/typed-message-react'
3+
import { Link } from '@mui/material'
4+
import { memo } from 'react'
45
import { useTagEnhancer } from '../../../../shared-ui/TypedMessageRender/Components/Text.js'
56

67
/**
@@ -33,4 +34,23 @@ export const TwitterRenderFragments: RenderFragmentsContextType = {
3334
null
3435
: <img src={props.src} width={props.width} height={props.height} style={props.style} />
3536
}),
37+
Text: memo(function TextFragment(props: RenderFragmentsContextType.TextProps) {
38+
const TextModifier = useActivatedPluginsSiteAdaptor(false).find((x) => x.TextModifier)?.TextModifier
39+
40+
const text = props.style ? <span style={props.style}>{props.children}</span> : props.children
41+
if (!TextModifier) return text
42+
43+
return <TextModifier {...props} fallback={text}></TextModifier>
44+
}),
45+
Link: memo(function LinkFragment(props: RenderFragmentsContextType.LinkProps) {
46+
const LinkModifier = useActivatedPluginsSiteAdaptor(false).find((x) => x.LinkModifier)?.LinkModifier
47+
const link = (
48+
<Link href={props.href} target="_blank" rel="noopener noreferrer" fontSize="inherit">
49+
{props.children}
50+
{props.suggestedPostImage}
51+
</Link>
52+
)
53+
if (!LinkModifier) return link
54+
return <LinkModifier {...props} fallback={link}></LinkModifier>
55+
}),
3656
}

0 commit comments

Comments
 (0)