[Session] Drill `getAgent` into `Onboarding/util` (#3704)
* Drill agent into Onboarding/util (cherry picked from commit 2ba68eb5e446a694730b720f2a5b3307eb0914ef) * Thread getAgent instead --------- Co-authored-by: Dan Abramov <dan.abramov@gmail.com>zio/stable
parent
35005da59e
commit
e5fdbfe294
|
@ -57,6 +57,7 @@ export function StepFinished() {
|
||||||
try {
|
try {
|
||||||
await Promise.all([
|
await Promise.all([
|
||||||
bulkWriteFollows(
|
bulkWriteFollows(
|
||||||
|
getAgent,
|
||||||
suggestedAccountsStepResults.accountDids.concat(BSKY_APP_ACCOUNT_DID),
|
suggestedAccountsStepResults.accountDids.concat(BSKY_APP_ACCOUNT_DID),
|
||||||
),
|
),
|
||||||
// these must be serial
|
// these must be serial
|
||||||
|
|
|
@ -1,7 +1,10 @@
|
||||||
import {AppBskyGraphFollow, AppBskyGraphGetFollows} from '@atproto/api'
|
import {
|
||||||
|
AppBskyGraphFollow,
|
||||||
|
AppBskyGraphGetFollows,
|
||||||
|
BskyAgent,
|
||||||
|
} from '@atproto/api'
|
||||||
|
|
||||||
import {until} from '#/lib/async/until'
|
import {until} from '#/lib/async/until'
|
||||||
import {getAgent} from '#/state/session'
|
|
||||||
import {PRIMARY_FEEDS} from './StepAlgoFeeds'
|
import {PRIMARY_FEEDS} from './StepAlgoFeeds'
|
||||||
|
|
||||||
function shuffle(array: any) {
|
function shuffle(array: any) {
|
||||||
|
@ -63,7 +66,10 @@ export function aggregateInterestItems(
|
||||||
return Array.from(new Set(results)).slice(0, 20)
|
return Array.from(new Set(results)).slice(0, 20)
|
||||||
}
|
}
|
||||||
|
|
||||||
export async function bulkWriteFollows(dids: string[]) {
|
export async function bulkWriteFollows(
|
||||||
|
getAgent: () => BskyAgent,
|
||||||
|
dids: string[],
|
||||||
|
) {
|
||||||
const session = getAgent().session
|
const session = getAgent().session
|
||||||
|
|
||||||
if (!session) {
|
if (!session) {
|
||||||
|
@ -87,10 +93,15 @@ export async function bulkWriteFollows(dids: string[]) {
|
||||||
repo: session.did,
|
repo: session.did,
|
||||||
writes: followWrites,
|
writes: followWrites,
|
||||||
})
|
})
|
||||||
await whenFollowsIndexed(session.did, res => !!res.data.follows.length)
|
await whenFollowsIndexed(
|
||||||
|
getAgent,
|
||||||
|
session.did,
|
||||||
|
res => !!res.data.follows.length,
|
||||||
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
async function whenFollowsIndexed(
|
async function whenFollowsIndexed(
|
||||||
|
getAgent: () => BskyAgent,
|
||||||
actor: string,
|
actor: string,
|
||||||
fn: (res: AppBskyGraphGetFollows.Response) => boolean,
|
fn: (res: AppBskyGraphGetFollows.Response) => boolean,
|
||||||
) {
|
) {
|
||||||
|
|
Loading…
Reference in New Issue