New user constants (#260)

* update users

* update

* With constructed intro feed, only grab 20 random suggested users to avoid perf issues

* Don't 'check for latest' in the feed with the suggestions feed

* Show/hide the welcome banner on account change (close #257)

---------

Co-authored-by: Jay Graber <arcalinea@gmail.com>
Co-authored-by: Paul Frazee <pfrazee@gmail.com>
This commit is contained in:
arcalinea 2023-03-03 13:37:17 -08:00 committed by GitHub
parent 69d6774277
commit d74ff9c219
5 changed files with 89 additions and 4 deletions

View file

@ -30,7 +30,68 @@ export function TEAM_HANDLES(serviceUrl: string) {
}
export const PROD_SUGGESTED_FOLLOWS = [
'christina',
'wesam',
'jim',
'ab',
'karalabe',
'clun',
'staltz',
'gillian',
'karpathy',
'zoink',
'john',
'round',
'vex',
'umang',
'atroyn',
'poisonivy',
'wongmjane',
'lari',
'arunwadhwa',
'trav',
'fred',
'offscript',
'satnam',
'ella',
'caspian',
'spencer',
'nickgrossman',
'koji',
'avy',
'seymourstein',
'joelg',
'stig',
'rabble',
'hunterwalk',
'evan',
'aviral',
'tami',
'generativist',
'gord',
'ninjapleasedj',
'robotics',
'noahjnelson',
'vijay',
'scottbeale',
'daybreakjung',
'shelby',
'joel',
'space',
'rish',
'simon',
'kelly',
'maxbittker',
'sylphrenetic',
'caleb',
'jik',
'james',
'neil',
'tippenein',
'mandel',
'sharding',
'tyler',
'raymond',
'visakanv',
'saz',
'steph',
@ -39,12 +100,17 @@ export const PROD_SUGGESTED_FOLLOWS = [
'weisser',
'katherine',
'annagat',
'an',
'kunal',
'josh',
'lurkshark',
'amir',
'amyxzh',
'danielle',
'jack-frazee',
'daniellefong',
'dystopiabreaker',
'morgan',
'vibes',
'cat',
'yuriy',
@ -63,6 +129,7 @@ export const PROD_SUGGESTED_FOLLOWS = [
'jennijuju',
'ian5v',
'bnewbold',
'jasmine',
'chris',
'mtclai',
'willscott',

View file

@ -7,6 +7,7 @@ import {
} from '@atproto/api'
import AwaitLock from 'await-lock'
import {bundleAsync} from 'lib/async/bundle'
import sampleSize from 'lodash.samplesize'
type FeedViewPost = AppBskyFeedFeedViewPost.Main
type ReasonRepost = AppBskyFeedFeedViewPost.ReasonRepost
type PostView = AppBskyFeedPost.View
@ -425,7 +426,7 @@ export class FeedModel {
* Check if new posts are available
*/
async checkForLatest() {
if (this.hasNewLatest) {
if (this.hasNewLatest || this.rootStore.me.follows.isEmpty) {
return
}
const res = await this._getFeed({limit: 1})
@ -565,7 +566,10 @@ export class FeedModel {
if (this.rootStore.me.follows.isEmpty) {
const responses = await getMultipleAuthorsPosts(
this.rootStore,
SUGGESTED_FOLLOWS(String(this.rootStore.agent.service)),
sampleSize(
SUGGESTED_FOLLOWS(String(this.rootStore.agent.service)),
20,
),
params.before,
20,
)

View file

@ -78,11 +78,11 @@ export const Feed = observer(function Feed({
// =
const checkWelcome = React.useCallback(async () => {
if (showWelcomeBanner) {
if (showWelcomeBanner && store.me.did) {
await store.me.follows.fetchIfNeeded()
setIsNewUser(store.me.follows.isEmpty)
}
}, [showWelcomeBanner, store.me.follows])
}, [showWelcomeBanner, store.me.follows, store.me.did])
React.useEffect(() => {
checkWelcome()
}, [checkWelcome])