Protect against 3p PDSs and bad responses
This commit is contained in:
@@ -90,8 +90,11 @@ export function TenMillion() {
|
|||||||
|
|
||||||
React.useEffect(() => {
|
React.useEffect(() => {
|
||||||
async function fetchUserNumber() {
|
async function fetchUserNumber() {
|
||||||
// TODO check for 3p PDS
|
const isBlueskyHosted = agent.sessionManager.pdsUrl
|
||||||
if (agent.session?.accessJwt) {
|
?.toString()
|
||||||
|
.includes('bsky.network')
|
||||||
|
|
||||||
|
if (isBlueskyHosted && agent.session?.accessJwt) {
|
||||||
const res = await fetch(
|
const res = await fetch(
|
||||||
`https://bsky.social/xrpc/com.atproto.temp.getSignupNumber`,
|
`https://bsky.social/xrpc/com.atproto.temp.getSignupNumber`,
|
||||||
{
|
{
|
||||||
@@ -109,6 +112,9 @@ export function TenMillion() {
|
|||||||
|
|
||||||
if (data.number) {
|
if (data.number) {
|
||||||
setUserNumber(data.number)
|
setUserNumber(data.number)
|
||||||
|
} else {
|
||||||
|
// should be rare
|
||||||
|
nuxDialogs.dismissActiveNux()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -117,6 +123,7 @@ export function TenMillion() {
|
|||||||
nuxDialogs.dismissActiveNux()
|
nuxDialogs.dismissActiveNux()
|
||||||
})
|
})
|
||||||
}, [
|
}, [
|
||||||
|
agent.sessionManager.pdsUrl,
|
||||||
agent.session?.accessJwt,
|
agent.session?.accessJwt,
|
||||||
setUserNumber,
|
setUserNumber,
|
||||||
nuxDialogs.dismissActiveNux,
|
nuxDialogs.dismissActiveNux,
|
||||||
@@ -187,9 +194,9 @@ export function TenMillionInner({userNumber}: {userNumber: number}) {
|
|||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
openComposer({
|
openComposer({
|
||||||
text: _(
|
text: _(
|
||||||
msg`I'm user #${i18n.number(
|
msg`Bluesky now has over 10 million users, and I was #${i18n.number(
|
||||||
userNumber,
|
userNumber,
|
||||||
)} out of 10M. What a ride 😎`,
|
)}!`,
|
||||||
), // TODO
|
), // TODO
|
||||||
imageUris: [
|
imageUris: [
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user