Update IS_PROD check (#2930)
* update is_prod check * remove unused constants * rename `IS_PROD` function to `IS_PROD_SERVICE`zio/stable
parent
943acd16aa
commit
5573c38c4d
|
@ -3,9 +3,8 @@ import {Insets, Platform} from 'react-native'
|
||||||
export const LOCAL_DEV_SERVICE =
|
export const LOCAL_DEV_SERVICE =
|
||||||
Platform.OS === 'android' ? 'http://10.0.2.2:2583' : 'http://localhost:2583'
|
Platform.OS === 'android' ? 'http://10.0.2.2:2583' : 'http://localhost:2583'
|
||||||
export const STAGING_SERVICE = 'https://staging.bsky.dev'
|
export const STAGING_SERVICE = 'https://staging.bsky.dev'
|
||||||
export const PROD_SERVICE = 'https://bsky.social'
|
export const BSKY_SERVICE = 'https://bsky.social'
|
||||||
export const DEFAULT_SERVICE = PROD_SERVICE
|
export const DEFAULT_SERVICE = BSKY_SERVICE
|
||||||
|
|
||||||
const HELP_DESK_LANG = 'en-us'
|
const HELP_DESK_LANG = 'en-us'
|
||||||
export const HELP_DESK_URL = `https://blueskyweb.zendesk.com/hc/${HELP_DESK_LANG}`
|
export const HELP_DESK_URL = `https://blueskyweb.zendesk.com/hc/${HELP_DESK_LANG}`
|
||||||
|
|
||||||
|
@ -36,92 +35,12 @@ export const MAX_GRAPHEME_LENGTH = 300
|
||||||
// but increasing limit per user feedback
|
// but increasing limit per user feedback
|
||||||
export const MAX_ALT_TEXT = 1000
|
export const MAX_ALT_TEXT = 1000
|
||||||
|
|
||||||
export function IS_LOCAL_DEV(url: string) {
|
export function IS_PROD_SERVICE(url?: string) {
|
||||||
return url.includes('localhost')
|
return url && url !== STAGING_SERVICE && url !== LOCAL_DEV_SERVICE
|
||||||
}
|
}
|
||||||
|
|
||||||
export function IS_STAGING(url: string) {
|
|
||||||
return url.startsWith('https://staging.bsky.dev')
|
|
||||||
}
|
|
||||||
|
|
||||||
export function IS_PROD(url: string) {
|
|
||||||
// NOTE
|
|
||||||
// until open federation, "production" is defined as the main server
|
|
||||||
// this definition will not work once federation is enabled!
|
|
||||||
// -prf
|
|
||||||
return (
|
|
||||||
url.startsWith('https://bsky.social') ||
|
|
||||||
url.startsWith('https://api.bsky.app') ||
|
|
||||||
/bsky\.network\/?$/.test(url)
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
export const PROD_TEAM_HANDLES = [
|
|
||||||
'jay.bsky.social',
|
|
||||||
'pfrazee.com',
|
|
||||||
'divy.zone',
|
|
||||||
'dholms.xyz',
|
|
||||||
'why.bsky.world',
|
|
||||||
'iamrosewang.bsky.social',
|
|
||||||
]
|
|
||||||
export const STAGING_TEAM_HANDLES = [
|
|
||||||
'arcalinea.staging.bsky.dev',
|
|
||||||
'paul.staging.bsky.dev',
|
|
||||||
'paul2.staging.bsky.dev',
|
|
||||||
]
|
|
||||||
export const DEV_TEAM_HANDLES = ['alice.test', 'bob.test', 'carla.test']
|
|
||||||
|
|
||||||
export function TEAM_HANDLES(serviceUrl: string) {
|
|
||||||
if (serviceUrl.includes('localhost')) {
|
|
||||||
return DEV_TEAM_HANDLES
|
|
||||||
} else if (serviceUrl.includes('staging')) {
|
|
||||||
return STAGING_TEAM_HANDLES
|
|
||||||
} else {
|
|
||||||
return PROD_TEAM_HANDLES
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
export const STAGING_DEFAULT_FEED = (rkey: string) =>
|
|
||||||
`at://did:plc:wqzurwm3kmaig6e6hnc2gqwo/app.bsky.feed.generator/${rkey}`
|
|
||||||
export const PROD_DEFAULT_FEED = (rkey: string) =>
|
export const PROD_DEFAULT_FEED = (rkey: string) =>
|
||||||
`at://did:plc:z72i7hdynmk6r22z27h6tvur/app.bsky.feed.generator/${rkey}`
|
`at://did:plc:z72i7hdynmk6r22z27h6tvur/app.bsky.feed.generator/${rkey}`
|
||||||
export async function DEFAULT_FEEDS(
|
|
||||||
serviceUrl: string,
|
|
||||||
resolveHandle: (name: string) => Promise<string>,
|
|
||||||
) {
|
|
||||||
// TODO: remove this when the test suite no longer relies on it
|
|
||||||
if (IS_LOCAL_DEV(serviceUrl)) {
|
|
||||||
// local dev
|
|
||||||
const aliceDid = await resolveHandle('alice.test')
|
|
||||||
return {
|
|
||||||
pinned: [
|
|
||||||
`at://${aliceDid}/app.bsky.feed.generator/alice-favs`,
|
|
||||||
`at://${aliceDid}/app.bsky.feed.generator/alice-favs2`,
|
|
||||||
],
|
|
||||||
saved: [
|
|
||||||
`at://${aliceDid}/app.bsky.feed.generator/alice-favs`,
|
|
||||||
`at://${aliceDid}/app.bsky.feed.generator/alice-favs2`,
|
|
||||||
],
|
|
||||||
}
|
|
||||||
} else if (IS_STAGING(serviceUrl)) {
|
|
||||||
// staging
|
|
||||||
return {
|
|
||||||
pinned: [STAGING_DEFAULT_FEED('whats-hot')],
|
|
||||||
saved: [
|
|
||||||
STAGING_DEFAULT_FEED('bsky-team'),
|
|
||||||
STAGING_DEFAULT_FEED('with-friends'),
|
|
||||||
STAGING_DEFAULT_FEED('whats-hot'),
|
|
||||||
STAGING_DEFAULT_FEED('hot-classic'),
|
|
||||||
],
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
// production
|
|
||||||
return {
|
|
||||||
pinned: [PROD_DEFAULT_FEED('whats-hot')],
|
|
||||||
saved: [PROD_DEFAULT_FEED('whats-hot')],
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
export const POST_IMG_MAX = {
|
export const POST_IMG_MAX = {
|
||||||
width: 2000,
|
width: 2000,
|
||||||
|
@ -135,13 +54,11 @@ export const STAGING_LINK_META_PROXY =
|
||||||
export const PROD_LINK_META_PROXY = 'https://cardyb.bsky.app/v1/extract?url='
|
export const PROD_LINK_META_PROXY = 'https://cardyb.bsky.app/v1/extract?url='
|
||||||
|
|
||||||
export function LINK_META_PROXY(serviceUrl: string) {
|
export function LINK_META_PROXY(serviceUrl: string) {
|
||||||
if (IS_LOCAL_DEV(serviceUrl)) {
|
if (IS_PROD_SERVICE(serviceUrl)) {
|
||||||
return STAGING_LINK_META_PROXY
|
|
||||||
} else if (IS_STAGING(serviceUrl)) {
|
|
||||||
return STAGING_LINK_META_PROXY
|
|
||||||
} else {
|
|
||||||
return PROD_LINK_META_PROXY
|
return PROD_LINK_META_PROXY
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return STAGING_LINK_META_PROXY
|
||||||
}
|
}
|
||||||
|
|
||||||
export const STATUS_PAGE_URL = 'https://status.bsky.app/'
|
export const STATUS_PAGE_URL = 'https://status.bsky.app/'
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
import {AtUri} from '@atproto/api'
|
import {AtUri} from '@atproto/api'
|
||||||
import {PROD_SERVICE} from 'lib/constants'
|
import {BSKY_SERVICE} from 'lib/constants'
|
||||||
import TLDs from 'tlds'
|
import TLDs from 'tlds'
|
||||||
import psl from 'psl'
|
import psl from 'psl'
|
||||||
|
|
||||||
|
@ -28,7 +28,7 @@ export function makeRecordUri(
|
||||||
export function toNiceDomain(url: string): string {
|
export function toNiceDomain(url: string): string {
|
||||||
try {
|
try {
|
||||||
const urlp = new URL(url)
|
const urlp = new URL(url)
|
||||||
if (`https://${urlp.host}` === PROD_SERVICE) {
|
if (`https://${urlp.host}` === BSKY_SERVICE) {
|
||||||
return 'Bluesky Social'
|
return 'Bluesky Social'
|
||||||
}
|
}
|
||||||
return urlp.host ? urlp.host : url
|
return urlp.host ? urlp.host : url
|
||||||
|
|
|
@ -3,7 +3,6 @@ import {View} from 'react-native'
|
||||||
import {useLingui} from '@lingui/react'
|
import {useLingui} from '@lingui/react'
|
||||||
import {msg, Trans} from '@lingui/macro'
|
import {msg, Trans} from '@lingui/macro'
|
||||||
|
|
||||||
import {IS_PROD} from '#/env'
|
|
||||||
import {atoms as a} from '#/alf'
|
import {atoms as a} from '#/alf'
|
||||||
import {ChevronRight_Stroke2_Corner0_Rounded as ChevronRight} from '#/components/icons/Chevron'
|
import {ChevronRight_Stroke2_Corner0_Rounded as ChevronRight} from '#/components/icons/Chevron'
|
||||||
import {ListMagnifyingGlass_Stroke2_Corner0_Rounded as ListMagnifyingGlass} from '#/components/icons/ListMagnifyingGlass'
|
import {ListMagnifyingGlass_Stroke2_Corner0_Rounded as ListMagnifyingGlass} from '#/components/icons/ListMagnifyingGlass'
|
||||||
|
@ -22,21 +21,28 @@ import {
|
||||||
import {FeedCard} from '#/screens/Onboarding/StepAlgoFeeds/FeedCard'
|
import {FeedCard} from '#/screens/Onboarding/StepAlgoFeeds/FeedCard'
|
||||||
import {aggregateInterestItems} from '#/screens/Onboarding/util'
|
import {aggregateInterestItems} from '#/screens/Onboarding/util'
|
||||||
import {IconCircle} from '#/components/IconCircle'
|
import {IconCircle} from '#/components/IconCircle'
|
||||||
|
import {IS_PROD_SERVICE} from 'lib/constants'
|
||||||
|
import {useSession} from 'state/session'
|
||||||
|
|
||||||
export function StepTopicalFeeds() {
|
export function StepTopicalFeeds() {
|
||||||
const {_} = useLingui()
|
const {_} = useLingui()
|
||||||
const {track} = useAnalytics()
|
const {track} = useAnalytics()
|
||||||
|
const {currentAccount} = useSession()
|
||||||
const {state, dispatch, interestsDisplayNames} = React.useContext(Context)
|
const {state, dispatch, interestsDisplayNames} = React.useContext(Context)
|
||||||
const [selectedFeedUris, setSelectedFeedUris] = React.useState<string[]>([])
|
const [selectedFeedUris, setSelectedFeedUris] = React.useState<string[]>([])
|
||||||
const [saving, setSaving] = React.useState(false)
|
const [saving, setSaving] = React.useState(false)
|
||||||
const suggestedFeedUris = React.useMemo(() => {
|
const suggestedFeedUris = React.useMemo(() => {
|
||||||
if (!IS_PROD) return []
|
if (!IS_PROD_SERVICE(currentAccount?.service)) return []
|
||||||
return aggregateInterestItems(
|
return aggregateInterestItems(
|
||||||
state.interestsStepResults.selectedInterests,
|
state.interestsStepResults.selectedInterests,
|
||||||
state.interestsStepResults.apiResponse.suggestedFeedUris,
|
state.interestsStepResults.apiResponse.suggestedFeedUris,
|
||||||
state.interestsStepResults.apiResponse.suggestedFeedUris.default,
|
state.interestsStepResults.apiResponse.suggestedFeedUris.default,
|
||||||
).slice(0, 10)
|
).slice(0, 10)
|
||||||
}, [state.interestsStepResults])
|
}, [
|
||||||
|
currentAccount?.service,
|
||||||
|
state.interestsStepResults.apiResponse.suggestedFeedUris,
|
||||||
|
state.interestsStepResults.selectedInterests,
|
||||||
|
])
|
||||||
|
|
||||||
const interestsText = React.useMemo(() => {
|
const interestsText = React.useMemo(() => {
|
||||||
const i = state.interestsStepResults.selectedInterests.map(
|
const i = state.interestsStepResults.selectedInterests.map(
|
||||||
|
|
|
@ -12,7 +12,7 @@ import {createFullHandle} from '#/lib/strings/handles'
|
||||||
import {cleanError} from '#/lib/strings/errors'
|
import {cleanError} from '#/lib/strings/errors'
|
||||||
import {useOnboardingDispatch} from '#/state/shell/onboarding'
|
import {useOnboardingDispatch} from '#/state/shell/onboarding'
|
||||||
import {useSessionApi} from '#/state/session'
|
import {useSessionApi} from '#/state/session'
|
||||||
import {DEFAULT_SERVICE, IS_PROD} from '#/lib/constants'
|
import {DEFAULT_SERVICE, IS_PROD_SERVICE} from '#/lib/constants'
|
||||||
import {
|
import {
|
||||||
DEFAULT_PROD_FEEDS,
|
DEFAULT_PROD_FEEDS,
|
||||||
usePreferencesSetBirthDateMutation,
|
usePreferencesSetBirthDateMutation,
|
||||||
|
@ -147,7 +147,7 @@ export function useSubmitCreateAccount(
|
||||||
: undefined,
|
: undefined,
|
||||||
})
|
})
|
||||||
setBirthDate({birthDate: uiState.birthDate})
|
setBirthDate({birthDate: uiState.birthDate})
|
||||||
if (IS_PROD(uiState.serviceUrl)) {
|
if (IS_PROD_SERVICE(uiState.serviceUrl)) {
|
||||||
setSavedFeeds(DEFAULT_PROD_FEEDS)
|
setSavedFeeds(DEFAULT_PROD_FEEDS)
|
||||||
}
|
}
|
||||||
} catch (e: any) {
|
} catch (e: any) {
|
||||||
|
|
|
@ -2,7 +2,7 @@ import React from 'react'
|
||||||
import {View} from 'react-native'
|
import {View} from 'react-native'
|
||||||
import {useLingui} from '@lingui/react'
|
import {useLingui} from '@lingui/react'
|
||||||
import {Trans, msg} from '@lingui/macro'
|
import {Trans, msg} from '@lingui/macro'
|
||||||
import {PROD_SERVICE} from 'lib/constants'
|
import {BSKY_SERVICE} from 'lib/constants'
|
||||||
import * as persisted from '#/state/persisted'
|
import * as persisted from '#/state/persisted'
|
||||||
|
|
||||||
import {atoms as a, useBreakpoints, useTheme} from '#/alf'
|
import {atoms as a, useBreakpoints, useTheme} from '#/alf'
|
||||||
|
@ -26,7 +26,7 @@ export function ServerInputDialog({
|
||||||
const [pdsAddressHistory, setPdsAddressHistory] = React.useState<string[]>(
|
const [pdsAddressHistory, setPdsAddressHistory] = React.useState<string[]>(
|
||||||
persisted.get('pdsAddressHistory') || [],
|
persisted.get('pdsAddressHistory') || [],
|
||||||
)
|
)
|
||||||
const [fixedOption, setFixedOption] = React.useState([PROD_SERVICE])
|
const [fixedOption, setFixedOption] = React.useState([BSKY_SERVICE])
|
||||||
const [customAddress, setCustomAddress] = React.useState('')
|
const [customAddress, setCustomAddress] = React.useState('')
|
||||||
|
|
||||||
const onClose = React.useCallback(() => {
|
const onClose = React.useCallback(() => {
|
||||||
|
@ -86,7 +86,7 @@ export function ServerInputDialog({
|
||||||
label="Preferences"
|
label="Preferences"
|
||||||
values={fixedOption}
|
values={fixedOption}
|
||||||
onChange={setFixedOption}>
|
onChange={setFixedOption}>
|
||||||
<ToggleButton.Button name={PROD_SERVICE} label={_(msg`Bluesky`)}>
|
<ToggleButton.Button name={BSKY_SERVICE} label={_(msg`Bluesky`)}>
|
||||||
{_(msg`Bluesky`)}
|
{_(msg`Bluesky`)}
|
||||||
</ToggleButton.Button>
|
</ToggleButton.Button>
|
||||||
<ToggleButton.Button
|
<ToggleButton.Button
|
||||||
|
|
Loading…
Reference in New Issue