[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 {
|
||||
await Promise.all([
|
||||
bulkWriteFollows(
|
||||
getAgent,
|
||||
suggestedAccountsStepResults.accountDids.concat(BSKY_APP_ACCOUNT_DID),
|
||||
),
|
||||
// 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 {getAgent} from '#/state/session'
|
||||
import {PRIMARY_FEEDS} from './StepAlgoFeeds'
|
||||
|
||||
function shuffle(array: any) {
|
||||
|
@ -63,7 +66,10 @@ export function aggregateInterestItems(
|
|||
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
|
||||
|
||||
if (!session) {
|
||||
|
@ -87,10 +93,15 @@ export async function bulkWriteFollows(dids: string[]) {
|
|||
repo: session.did,
|
||||
writes: followWrites,
|
||||
})
|
||||
await whenFollowsIndexed(session.did, res => !!res.data.follows.length)
|
||||
await whenFollowsIndexed(
|
||||
getAgent,
|
||||
session.did,
|
||||
res => !!res.data.follows.length,
|
||||
)
|
||||
}
|
||||
|
||||
async function whenFollowsIndexed(
|
||||
getAgent: () => BskyAgent,
|
||||
actor: string,
|
||||
fn: (res: AppBskyGraphGetFollows.Response) => boolean,
|
||||
) {
|
||||
|
|
Loading…
Reference in New Issue