fix install patch merge
This commit is contained in:
1
ios/.env
1
ios/.env
@@ -12,3 +12,4 @@ REPO_DIR="../repos/social-app"
|
||||
CONFIG_FILE="$REPO_DIR/app.config.js"
|
||||
CONSTANTS_FILE="$REPO_DIR/src/lib/constants.ts"
|
||||
APP_MAIL=syui@syui.ai
|
||||
PDS_HOST=syu.is
|
||||
|
||||
@@ -1,5 +1,27 @@
|
||||
diff --git a/src/lib/api/feed/home.ts b/src/lib/api/feed/home.ts
|
||||
index 7a0d72d91..93554dc3e 100644
|
||||
--- a/src/lib/api/feed/home.ts
|
||||
+++ b/src/lib/api/feed/home.ts
|
||||
@@ -45,7 +45,7 @@ export class HomeFeedAPI implements FeedAPI {
|
||||
this.following = new FollowingFeedAPI({agent})
|
||||
this.discover = new CustomFeedAPI({
|
||||
agent,
|
||||
- feedParams: {feed: PROD_DEFAULT_FEED('whats-hot')},
|
||||
+ feedParams: {feed: PROD_DEFAULT_FEED('app')},
|
||||
})
|
||||
this.userInterests = userInterests
|
||||
}
|
||||
@@ -54,7 +54,7 @@ export class HomeFeedAPI implements FeedAPI {
|
||||
this.following = new FollowingFeedAPI({agent: this.agent})
|
||||
this.discover = new CustomFeedAPI({
|
||||
agent: this.agent,
|
||||
- feedParams: {feed: PROD_DEFAULT_FEED('whats-hot')},
|
||||
+ feedParams: {feed: PROD_DEFAULT_FEED('app')},
|
||||
userInterests: this.userInterests,
|
||||
})
|
||||
this.usingDiscover = false
|
||||
diff --git a/src/lib/constants.ts b/src/lib/constants.ts
|
||||
index 231447b4f..33c51cc0a 100644
|
||||
index 231447b4f..a44b3da05 100644
|
||||
--- a/src/lib/constants.ts
|
||||
+++ b/src/lib/constants.ts
|
||||
@@ -7,12 +7,12 @@ import {BLUESKY_PROXY_DID, CHAT_PROXY_DID} from '#/env'
|
||||
@@ -20,7 +42,51 @@ index 231447b4f..33c51cc0a 100644
|
||||
export const EMBED_SERVICE = 'https://embed.bsky.app'
|
||||
export const EMBED_SCRIPT = `${EMBED_SERVICE}/static/embed.js`
|
||||
export const BSKY_DOWNLOAD_URL = 'https://bsky.app/download'
|
||||
@@ -209,8 +209,8 @@ export const urls = {
|
||||
@@ -79,19 +79,17 @@ export function IS_PROD_SERVICE(url?: string) {
|
||||
}
|
||||
|
||||
export const PROD_DEFAULT_FEED = (rkey: string) =>
|
||||
- `at://did:plc:z72i7hdynmk6r22z27h6tvur/app.bsky.feed.generator/${rkey}`
|
||||
+ `at://did:plc:6qyecktefllvenje24fcxnie/app.bsky.feed.generator/${rkey}`
|
||||
|
||||
export const STAGING_DEFAULT_FEED = (rkey: string) =>
|
||||
`at://did:plc:yofh3kx63drvfljkibw5zuxo/app.bsky.feed.generator/${rkey}`
|
||||
|
||||
export const PROD_FEEDS = [
|
||||
- `feedgen|${PROD_DEFAULT_FEED('whats-hot')}`,
|
||||
- `feedgen|${PROD_DEFAULT_FEED('thevids')}`,
|
||||
+ `feedgen|${PROD_DEFAULT_FEED('app')}`,
|
||||
]
|
||||
|
||||
export const STAGING_FEEDS = [
|
||||
- `feedgen|${STAGING_DEFAULT_FEED('whats-hot')}`,
|
||||
- `feedgen|${STAGING_DEFAULT_FEED('thevids')}`,
|
||||
+ `feedgen|${STAGING_DEFAULT_FEED('app')}`,
|
||||
]
|
||||
|
||||
export const POST_IMG_MAX = {
|
||||
@@ -129,7 +127,7 @@ export const LANG_DROPDOWN_HITSLOP = {top: 10, bottom: 10, left: 4, right: 4}
|
||||
export const BACK_HITSLOP = HITSLOP_30
|
||||
export const MAX_POST_LINES = 25
|
||||
|
||||
-export const BSKY_APP_ACCOUNT_DID = 'did:plc:z72i7hdynmk6r22z27h6tvur'
|
||||
+export const BSKY_APP_ACCOUNT_DID = 'did:plc:6qyecktefllvenje24fcxnie'
|
||||
|
||||
export const BSKY_FEED_OWNER_DIDS = [
|
||||
BSKY_APP_ACCOUNT_DID,
|
||||
@@ -138,9 +136,9 @@ export const BSKY_FEED_OWNER_DIDS = [
|
||||
]
|
||||
|
||||
export const DISCOVER_FEED_URI =
|
||||
- 'at://did:plc:z72i7hdynmk6r22z27h6tvur/app.bsky.feed.generator/whats-hot'
|
||||
+ 'at://did:plc:6qyecktefllvenje24fcxnie/app.bsky.feed.generator/app'
|
||||
export const VIDEO_FEED_URI =
|
||||
- 'at://did:plc:z72i7hdynmk6r22z27h6tvur/app.bsky.feed.generator/thevids'
|
||||
+ 'at://did:plc:6qyecktefllvenje24fcxnie/app.bsky.feed.generator/app'
|
||||
export const STAGING_VIDEO_FEED_URI =
|
||||
'at://did:plc:yofh3kx63drvfljkibw5zuxo/app.bsky.feed.generator/thevids'
|
||||
export const VIDEO_FEED_URIS = [VIDEO_FEED_URI, STAGING_VIDEO_FEED_URI]
|
||||
@@ -209,8 +207,8 @@ export const urls = {
|
||||
},
|
||||
}
|
||||
|
||||
@@ -31,7 +97,7 @@ index 231447b4f..33c51cc0a 100644
|
||||
export const PUBLIC_STAGING_APPVIEW_DID = 'did:web:api.staging.bsky.dev'
|
||||
|
||||
export const DEV_ENV_APPVIEW = `http://localhost:2584` // always the same
|
||||
@@ -236,8 +236,8 @@ export const BLUESKY_MOD_SERVICE_HEADERS = {
|
||||
@@ -236,8 +234,8 @@ export const BLUESKY_MOD_SERVICE_HEADERS = {
|
||||
}
|
||||
|
||||
export const webLinks = {
|
||||
@@ -42,38 +108,102 @@ index 231447b4f..33c51cc0a 100644
|
||||
community: `https://bsky.social/about/support/community-guidelines`,
|
||||
communityDeprecated: `https://bsky.social/about/support/community-guidelines-deprecated`,
|
||||
}
|
||||
diff --git a/src/lib/statsig/statsig.tsx b/src/lib/statsig/statsig.tsx
|
||||
index 860e841eb..a595b0868 100644
|
||||
--- a/src/lib/statsig/statsig.tsx
|
||||
+++ b/src/lib/statsig/statsig.tsx
|
||||
@@ -265,6 +265,7 @@ export async function tryFetchGates(
|
||||
}
|
||||
diff --git a/src/lib/demo.ts b/src/lib/demo.ts
|
||||
index 5ead62c9d..7c80dfe15 100644
|
||||
--- a/src/lib/demo.ts
|
||||
+++ b/src/lib/demo.ts
|
||||
@@ -1,7 +1,7 @@
|
||||
import {type AppBskyFeedGetFeed} from '@atproto/api'
|
||||
import {subDays, subMinutes} from 'date-fns'
|
||||
|
||||
export function initialize() {
|
||||
+ if (!SDK_KEY) return Promise.resolve()
|
||||
return Statsig.initialize(SDK_KEY, null, createStatsigOptions([]))
|
||||
}
|
||||
|
||||
@@ -309,6 +310,9 @@ export function Provider({children}: {children: React.ReactNode}) {
|
||||
return () => clearInterval(id)
|
||||
}, [handleIntervalTick])
|
||||
|
||||
+ if (!SDK_KEY) {
|
||||
+ return <GateCache.Provider value={gateCache}>{children}</GateCache.Provider>
|
||||
+ }
|
||||
return (
|
||||
<GateCache.Provider value={gateCache}>
|
||||
<StatsigProvider
|
||||
-const DID = `did:plc:z72i7hdynmk6r22z27h6tvur`
|
||||
+const DID = `did:plc:6qyecktefllvenje24fcxnie`
|
||||
const NOW = new Date()
|
||||
const POST_1_DATE = subMinutes(NOW, 2).toISOString()
|
||||
const POST_2_DATE = subMinutes(NOW, 4).toISOString()
|
||||
diff --git a/src/lib/strings/url-helpers.ts b/src/lib/strings/url-helpers.ts
|
||||
index 6088e2806..7c903763d 100644
|
||||
index 6088e2806..0f6787a4d 100644
|
||||
--- a/src/lib/strings/url-helpers.ts
|
||||
+++ b/src/lib/strings/url-helpers.ts
|
||||
@@ -53,7 +53,7 @@ export function toNiceDomain(url: string): string {
|
||||
try {
|
||||
const urlp = new URL(url)
|
||||
if (`https://${urlp.host}` === BSKY_SERVICE) {
|
||||
- return 'Bluesky Social'
|
||||
+ return 'syu.is'
|
||||
}
|
||||
return urlp.host ? urlp.host : url
|
||||
} catch (e) {
|
||||
@@ -338,7 +338,7 @@ export function createProxiedUrl(url: string): string {
|
||||
return url
|
||||
}
|
||||
|
||||
- return `https://go.bsky.app/redirect?u=${encodeURIComponent(url)}`
|
||||
+ return url
|
||||
}
|
||||
|
||||
export function isShortLink(url: string): boolean {
|
||||
diff --git a/src/state/queries/feed.ts b/src/state/queries/feed.ts
|
||||
index de1e92533..3d1566800 100644
|
||||
--- a/src/state/queries/feed.ts
|
||||
+++ b/src/state/queries/feed.ts
|
||||
@@ -201,14 +201,7 @@ export function useFeedSourceInfoQuery({uri}: {uri: string}) {
|
||||
// for the ones we know need it
|
||||
// -prf
|
||||
export const KNOWN_AUTHED_ONLY_FEEDS = [
|
||||
- 'at://did:plc:z72i7hdynmk6r22z27h6tvur/app.bsky.feed.generator/with-friends', // popular with friends, by bsky.app
|
||||
- 'at://did:plc:tenurhgjptubkk5zf5qhi3og/app.bsky.feed.generator/mutuals', // mutuals, by skyfeed
|
||||
- 'at://did:plc:tenurhgjptubkk5zf5qhi3og/app.bsky.feed.generator/only-posts', // only posts, by skyfeed
|
||||
- 'at://did:plc:wzsilnxf24ehtmmc3gssy5bu/app.bsky.feed.generator/mentions', // mentions, by flicknow
|
||||
- 'at://did:plc:q6gjnaw2blty4crticxkmujt/app.bsky.feed.generator/bangers', // my bangers, by jaz
|
||||
- 'at://did:plc:z72i7hdynmk6r22z27h6tvur/app.bsky.feed.generator/mutuals', // mutuals, by bluesky
|
||||
- 'at://did:plc:q6gjnaw2blty4crticxkmujt/app.bsky.feed.generator/my-followers', // followers, by jaz
|
||||
- 'at://did:plc:vpkhqolt662uhesyj6nxm7ys/app.bsky.feed.generator/followpics', // the gram, by why
|
||||
+ 'at://did:plc:6qyecktefllvenje24fcxnie/app.bsky.feed.generator/app', // app feed, by syu.is
|
||||
]
|
||||
|
||||
type GetPopularFeedsOptions = {limit?: number; enabled?: boolean}
|
||||
diff --git a/src/state/queries/preferences/index.ts b/src/state/queries/preferences/index.ts
|
||||
index 0cf6ab546..399e592bc 100644
|
||||
--- a/src/state/queries/preferences/index.ts
|
||||
+++ b/src/state/queries/preferences/index.ts
|
||||
@@ -270,7 +270,7 @@ export function useReplaceForYouWithDiscoverFeedMutation() {
|
||||
await agent.addSavedFeeds([
|
||||
{
|
||||
type: 'feed',
|
||||
- value: PROD_DEFAULT_FEED('whats-hot'),
|
||||
+ value: PROD_DEFAULT_FEED('app'),
|
||||
pinned: true,
|
||||
},
|
||||
])
|
||||
diff --git a/src/view/com/posts/FeedShutdownMsg.tsx b/src/view/com/posts/FeedShutdownMsg.tsx
|
||||
index 620382175..928480da2 100644
|
||||
--- a/src/view/com/posts/FeedShutdownMsg.tsx
|
||||
+++ b/src/view/com/posts/FeedShutdownMsg.tsx
|
||||
@@ -32,7 +32,7 @@ export function FeedShutdownMsg({feedUri}: {feedUri: string}) {
|
||||
f => f.value === feedUri && f.pinned,
|
||||
)
|
||||
const discoverFeedConfig = preferences?.savedFeeds?.find(
|
||||
- f => f.value === PROD_DEFAULT_FEED('whats-hot'),
|
||||
+ f => f.value === PROD_DEFAULT_FEED('app'),
|
||||
)
|
||||
const hasFeedPinned = Boolean(feedConfig)
|
||||
const hasDiscoverPinned = Boolean(discoverFeedConfig?.pinned)
|
||||
@@ -44,7 +44,7 @@ export function FeedShutdownMsg({feedUri}: {feedUri: string}) {
|
||||
Toast.show(_(msg`Removed from your feeds`))
|
||||
}
|
||||
if (hasDiscoverPinned) {
|
||||
- setSelectedFeed(`feedgen|${PROD_DEFAULT_FEED('whats-hot')}`)
|
||||
+ setSelectedFeed(`feedgen|${PROD_DEFAULT_FEED('app')}`)
|
||||
}
|
||||
} catch (err: any) {
|
||||
Toast.show(
|
||||
@@ -63,7 +63,7 @@ export function FeedShutdownMsg({feedUri}: {feedUri: string}) {
|
||||
forYouFeedConfig: feedConfig,
|
||||
discoverFeedConfig,
|
||||
})
|
||||
- setSelectedFeed(`feedgen|${PROD_DEFAULT_FEED('whats-hot')}`)
|
||||
+ setSelectedFeed(`feedgen|${PROD_DEFAULT_FEED('app')}`)
|
||||
Toast.show(_(msg`The feed has been replaced with Discover.`))
|
||||
} catch (err: any) {
|
||||
Toast.show(
|
||||
@@ -100,7 +100,7 @@ export function FeedShutdownMsg({feedUri}: {feedUri: string}) {
|
||||
This feed is no longer online. We are showing{' '}
|
||||
<InlineLinkText
|
||||
label={_(msg`The Discover feed`)}
|
||||
- to="/profile/bsky.app/feed/whats-hot"
|
||||
+ to="/profile/did:plc:6qyecktefllvenje24fcxnie/feed/app"
|
||||
style={[a.text_md]}>
|
||||
Discover
|
||||
</InlineLinkText>{' '}
|
||||
|
||||
@@ -1,5 +1,51 @@
|
||||
diff --git a/src/Splash.tsx b/src/Splash.tsx
|
||||
index 47e70b375..616f351ed 100644
|
||||
--- a/src/Splash.tsx
|
||||
+++ b/src/Splash.tsx
|
||||
@@ -15,8 +15,8 @@ import Animated, {
|
||||
withTiming,
|
||||
} from 'react-native-reanimated'
|
||||
import {useSafeAreaInsets} from 'react-native-safe-area-context'
|
||||
-import Svg, {Path, type SvgProps} from 'react-native-svg'
|
||||
import {Image} from 'expo-image'
|
||||
+import {type SvgProps} from 'react-native-svg'
|
||||
import * as SplashScreen from 'expo-splash-screen'
|
||||
|
||||
import {Logotype} from '#/view/icons/Logotype'
|
||||
@@ -29,21 +29,18 @@ const darkSplashImageUri = RNImage.resolveAssetSource(
|
||||
darkSplashImagePointer,
|
||||
).uri
|
||||
|
||||
-export const Logo = React.forwardRef(function LogoImpl(props: SvgProps, ref) {
|
||||
- const width = 1000
|
||||
- const height = width * (67 / 64)
|
||||
+export const Logo = React.forwardRef(function LogoImpl(props: SvgProps & {fill?: string}, ref) {
|
||||
+ const size = 1000
|
||||
+ // @ts-ignore
|
||||
return (
|
||||
- <Svg
|
||||
- fill="none"
|
||||
- // @ts-ignore it's fiiiiine
|
||||
+ <Image
|
||||
+ // @ts-ignore
|
||||
ref={ref}
|
||||
- viewBox="0 0 64 66"
|
||||
- style={[{width, height}, props.style]}>
|
||||
- <Path
|
||||
- fill={props.fill || '#fff'}
|
||||
- d="M13.873 3.77C21.21 9.243 29.103 20.342 32 26.3v15.732c0-.335-.13.043-.41.858-1.512 4.414-7.418 21.642-20.923 7.87-7.111-7.252-3.819-14.503 9.125-16.692-7.405 1.252-15.73-.817-18.014-8.93C1.12 22.804 0 8.431 0 6.488 0-3.237 8.579-.18 13.873 3.77ZM50.127 3.77C42.79 9.243 34.897 20.342 32 26.3v15.732c0-.335.13.043.41.858 1.512 4.414 7.418 21.642 20.923 7.87 7.111-7.252 3.819-14.503-9.125-16.692 7.405 1.252 15.73-.817 18.014-8.93C62.88 22.804 64 8.431 64 6.488 64-3.237 55.422-.18 50.127 3.77Z"
|
||||
- />
|
||||
- </Svg>
|
||||
+ source={require('../assets/logo.png')}
|
||||
+ style={[{width: size, height: size}, props.style]}
|
||||
+ contentFit="contain"
|
||||
+ accessibilityLabel="Logo"
|
||||
+ />
|
||||
)
|
||||
})
|
||||
|
||||
diff --git a/src/view/com/util/UserAvatar.tsx b/src/view/com/util/UserAvatar.tsx
|
||||
index 8a9e51a33..cb0eb7b71 100644
|
||||
index 8a9e51a33..65d643b89 100644
|
||||
--- a/src/view/com/util/UserAvatar.tsx
|
||||
+++ b/src/view/com/util/UserAvatar.tsx
|
||||
@@ -444,7 +444,7 @@ let EditableUserAvatar = ({
|
||||
@@ -11,17 +57,20 @@ index 8a9e51a33..cb0eb7b71 100644
|
||||
accessibilityRole="image"
|
||||
/>
|
||||
) : (
|
||||
@@ -619,7 +619,7 @@ export {PreviewableUserAvatar}
|
||||
@@ -618,9 +618,8 @@ export {PreviewableUserAvatar}
|
||||
// manually string-replace to use the smaller ones
|
||||
// -prf
|
||||
function hackModifyThumbnailPath(uri: string, isEnabled: boolean): string {
|
||||
return isEnabled
|
||||
- return isEnabled
|
||||
- ? uri.replace('/img/avatar/plain/', '/img/avatar_thumbnail/plain/')
|
||||
+ ? uri.replace('https://cdn.web.syu.is/img/avatar/plain/', 'https://bsky.syu.is/img/avatar/plain/')
|
||||
: uri
|
||||
- : uri
|
||||
+ // syu.is: avatars are served directly from bsky.syu.is, no CDN transformation needed
|
||||
+ return uri
|
||||
}
|
||||
|
||||
const styles = StyleSheet.create({
|
||||
diff --git a/src/view/icons/Logo.tsx b/src/view/icons/Logo.tsx
|
||||
index d7208df13..b711f71c7 100644
|
||||
index d7208df13..2763800ac 100644
|
||||
--- a/src/view/icons/Logo.tsx
|
||||
+++ b/src/view/icons/Logo.tsx
|
||||
@@ -1,75 +1,17 @@
|
||||
@@ -162,49 +211,3 @@ index 270c913fc..a60ffe07c 100644
|
||||
+ </Text>
|
||||
)
|
||||
}
|
||||
diff --git a/src/Splash.tsx b/src/Splash.tsx
|
||||
index 47e70b375..616f351ed 100644
|
||||
--- a/src/Splash.tsx
|
||||
+++ b/src/Splash.tsx
|
||||
@@ -15,8 +15,8 @@ import Animated, {
|
||||
withTiming,
|
||||
} from 'react-native-reanimated'
|
||||
import {useSafeAreaInsets} from 'react-native-safe-area-context'
|
||||
-import Svg, {Path, type SvgProps} from 'react-native-svg'
|
||||
import {Image} from 'expo-image'
|
||||
+import {type SvgProps} from 'react-native-svg'
|
||||
import * as SplashScreen from 'expo-splash-screen'
|
||||
|
||||
import {Logotype} from '#/view/icons/Logotype'
|
||||
@@ -29,21 +29,18 @@ const darkSplashImageUri = RNImage.resolveAssetSource(
|
||||
darkSplashImagePointer,
|
||||
).uri
|
||||
|
||||
-export const Logo = React.forwardRef(function LogoImpl(props: SvgProps, ref) {
|
||||
- const width = 1000
|
||||
- const height = width * (67 / 64)
|
||||
+export const Logo = React.forwardRef(function LogoImpl(props: SvgProps & {fill?: string}, ref) {
|
||||
+ const size = 1000
|
||||
+ // @ts-ignore
|
||||
return (
|
||||
- <Svg
|
||||
- fill="none"
|
||||
- // @ts-ignore it's fiiiiine
|
||||
+ <Image
|
||||
+ // @ts-ignore
|
||||
ref={ref}
|
||||
- viewBox="0 0 64 66"
|
||||
- style={[{width, height}, props.style]}>
|
||||
- <Path
|
||||
- fill={props.fill || '#fff'}
|
||||
- d="M13.873 3.77C21.21 9.243 29.103 20.342 32 26.3v15.732c0-.335-.13.043-.41.858-1.512 4.414-7.418 21.642-20.923 7.87-7.111-7.252-3.819-14.503 9.125-16.692-7.405 1.252-15.73-.817-18.014-8.93C1.12 22.804 0 8.431 0 6.488 0-3.237 8.579-.18 13.873 3.77ZM50.127 3.77C42.79 9.243 34.897 20.342 32 26.3v15.732c0-.335.13.043.41.858 1.512 4.414 7.418 21.642 20.923 7.87 7.111-7.252 3.819-14.503-9.125-16.692 7.405 1.252 15.73-.817 18.014-8.93C62.88 22.804 64 8.431 64 6.488 64-3.237 55.422-.18 50.127 3.77Z"
|
||||
- />
|
||||
- </Svg>
|
||||
+ source={require('../assets/logo.png')}
|
||||
+ style={[{width: size, height: size}, props.style]}
|
||||
+ contentFit="contain"
|
||||
+ accessibilityLabel="Logo"
|
||||
+ />
|
||||
)
|
||||
})
|
||||
|
||||
|
||||
@@ -1,209 +0,0 @@
|
||||
diff --git a/src/view/screens/PrivacyPolicy.tsx b/src/view/screens/PrivacyPolicy.tsx
|
||||
index a89eaadc4..d8fd51d68 100644
|
||||
--- a/src/view/screens/PrivacyPolicy.tsx
|
||||
+++ b/src/view/screens/PrivacyPolicy.tsx
|
||||
@@ -1,52 +1,55 @@
|
||||
import React from 'react'
|
||||
-import {View} from 'react-native'
|
||||
-import {msg, Trans} from '@lingui/macro'
|
||||
-import {useLingui} from '@lingui/react'
|
||||
-import {useFocusEffect} from '@react-navigation/native'
|
||||
-
|
||||
-import {usePalette} from '#/lib/hooks/usePalette'
|
||||
-import {
|
||||
- type CommonNavigatorParams,
|
||||
- type NativeStackScreenProps,
|
||||
-} from '#/lib/routes/types'
|
||||
-import {s} from '#/lib/styles'
|
||||
-import {useSetMinimalShellMode} from '#/state/shell'
|
||||
-import {TextLink} from '#/view/com/util/Link'
|
||||
-import {Text} from '#/view/com/util/text/Text'
|
||||
-import {ScrollView} from '#/view/com/util/Views'
|
||||
+import { ScrollView } from 'react-native'
|
||||
import * as Layout from '#/components/Layout'
|
||||
-import {ViewHeader} from '../com/util/ViewHeader'
|
||||
-
|
||||
-type Props = NativeStackScreenProps<CommonNavigatorParams, 'PrivacyPolicy'>
|
||||
-export const PrivacyPolicyScreen = (_props: Props) => {
|
||||
- const pal = usePalette('default')
|
||||
- const {_} = useLingui()
|
||||
- const setMinimalShellMode = useSetMinimalShellMode()
|
||||
+import {useSetTitle} from '#/lib/hooks/useSetTitle'
|
||||
+import {atoms as a, useTheme} from '#/alf'
|
||||
+import {Text} from '#/components/Typography'
|
||||
|
||||
- useFocusEffect(
|
||||
- React.useCallback(() => {
|
||||
- setMinimalShellMode(false)
|
||||
- }, [setMinimalShellMode]),
|
||||
- )
|
||||
+export function PrivacyPolicyScreen() {
|
||||
+ useSetTitle('Privacy Policy')
|
||||
+ const t = useTheme()
|
||||
|
||||
return (
|
||||
<Layout.Screen>
|
||||
- <ViewHeader title={_(msg`Privacy Policy`)} />
|
||||
- <ScrollView style={[s.hContentRegion, pal.view]}>
|
||||
- <View style={[s.p20]}>
|
||||
- <Text style={pal.text}>
|
||||
- <Trans>
|
||||
- The Privacy Policy has been moved to{' '}
|
||||
- <TextLink
|
||||
- style={pal.link}
|
||||
- href="https://bsky.social/about/support/privacy-policy"
|
||||
- text="bsky.social/about/support/privacy-policy"
|
||||
- />
|
||||
- </Trans>
|
||||
+ <Layout.Header.Outer>
|
||||
+ <Layout.Header.BackButton />
|
||||
+ <Layout.Header.Content>
|
||||
+ <Layout.Header.TitleText>Privacy Policy</Layout.Header.TitleText>
|
||||
+ </Layout.Header.Content>
|
||||
+ <Layout.Header.Slot />
|
||||
+ </Layout.Header.Outer>
|
||||
+ <Layout.Content>
|
||||
+ <ScrollView
|
||||
+ style={[a.flex_1]}
|
||||
+ contentContainerStyle={[a.p_lg, a.pt_xl, a.pb_5xl]}>
|
||||
+ <Text style={[a.text_2xl, a.font_bold, a.mb_lg]}>プライバシーポリシー</Text>
|
||||
+
|
||||
+ <Text style={[a.mb_md]}>
|
||||
+ 本プライバシーポリシーは、当サービスにおける個人情報の取り扱いについて説明するものです。
|
||||
+ </Text>
|
||||
+
|
||||
+ <Text style={[a.text_xl, a.font_bold, a.mt_lg, a.mb_md]}>収集する情報</Text>
|
||||
+ <Text style={[a.mb_md]}>
|
||||
+ 当サービスでは、アカウント作成時に提供いただく情報(メールアドレス、ユーザー名等)、
|
||||
+ および利用時に自動的に収集される情報(アクセスログ等)を収集します。
|
||||
+ </Text>
|
||||
+
|
||||
+ <Text style={[a.text_xl, a.font_bold, a.mt_lg, a.mb_md]}>情報の利用目的</Text>
|
||||
+ <Text style={[a.mb_md]}>
|
||||
+ 収集した情報は、サービスの提供、改善、セキュリティ維持のために利用します。
|
||||
+ </Text>
|
||||
+
|
||||
+ <Text style={[a.text_xl, a.font_bold, a.mt_lg, a.mb_md]}>第三者への開示</Text>
|
||||
+ <Text style={[a.mb_md]}>
|
||||
+ 法令に基づく場合を除き、ユーザーの同意なく第三者に個人情報を開示することはありません。
|
||||
+ </Text>
|
||||
+
|
||||
+ <Text style={[a.text_xl, a.font_bold, a.mt_lg, a.mb_md]}>お問い合わせ</Text>
|
||||
+ <Text style={[a.mb_md]}>
|
||||
+ プライバシーポリシーに関するお問い合わせは、https://syu.is までご連絡ください。
|
||||
</Text>
|
||||
- </View>
|
||||
- <View style={s.footerSpacer} />
|
||||
- </ScrollView>
|
||||
+ </ScrollView>
|
||||
+ </Layout.Content>
|
||||
</Layout.Screen>
|
||||
)
|
||||
}
|
||||
diff --git a/src/view/screens/TermsOfService.tsx b/src/view/screens/TermsOfService.tsx
|
||||
index d843c713c..8d1d0d452 100644
|
||||
--- a/src/view/screens/TermsOfService.tsx
|
||||
+++ b/src/view/screens/TermsOfService.tsx
|
||||
@@ -1,50 +1,61 @@
|
||||
import React from 'react'
|
||||
-import {View} from 'react-native'
|
||||
-import {msg, Trans} from '@lingui/macro'
|
||||
-import {useLingui} from '@lingui/react'
|
||||
-import {useFocusEffect} from '@react-navigation/native'
|
||||
-
|
||||
-import {usePalette} from '#/lib/hooks/usePalette'
|
||||
-import {
|
||||
- type CommonNavigatorParams,
|
||||
- type NativeStackScreenProps,
|
||||
-} from '#/lib/routes/types'
|
||||
-import {s} from '#/lib/styles'
|
||||
-import {useSetMinimalShellMode} from '#/state/shell'
|
||||
-import {TextLink} from '#/view/com/util/Link'
|
||||
-import {Text} from '#/view/com/util/text/Text'
|
||||
-import {ScrollView} from '#/view/com/util/Views'
|
||||
+import { ScrollView } from 'react-native'
|
||||
import * as Layout from '#/components/Layout'
|
||||
-import {ViewHeader} from '../com/util/ViewHeader'
|
||||
-
|
||||
-type Props = NativeStackScreenProps<CommonNavigatorParams, 'TermsOfService'>
|
||||
-export const TermsOfServiceScreen = (_props: Props) => {
|
||||
- const pal = usePalette('default')
|
||||
- const setMinimalShellMode = useSetMinimalShellMode()
|
||||
- const {_} = useLingui()
|
||||
-
|
||||
- useFocusEffect(
|
||||
- React.useCallback(() => {
|
||||
- setMinimalShellMode(false)
|
||||
- }, [setMinimalShellMode]),
|
||||
- )
|
||||
+import {useSetTitle} from '#/lib/hooks/useSetTitle'
|
||||
+import {atoms as a, useTheme} from '#/alf'
|
||||
+import {Text} from '#/components/Typography'
|
||||
+
|
||||
+export function TermsOfServiceScreen() {
|
||||
+ useSetTitle('Terms of Service')
|
||||
+ const t = useTheme()
|
||||
|
||||
return (
|
||||
<Layout.Screen>
|
||||
- <ViewHeader title={_(msg`Terms of Service`)} />
|
||||
- <ScrollView style={[s.hContentRegion, pal.view]}>
|
||||
- <View style={[s.p20]}>
|
||||
- <Text style={pal.text}>
|
||||
- <Trans>The Terms of Service have been moved to</Trans>{' '}
|
||||
- <TextLink
|
||||
- style={pal.link}
|
||||
- href="https://bsky.social/about/support/tos"
|
||||
- text="bsky.social/about/support/tos"
|
||||
- />
|
||||
+ <Layout.Header.Outer>
|
||||
+ <Layout.Header.BackButton />
|
||||
+ <Layout.Header.Content>
|
||||
+ <Layout.Header.TitleText>Terms of Service</Layout.Header.TitleText>
|
||||
+ </Layout.Header.Content>
|
||||
+ <Layout.Header.Slot />
|
||||
+ </Layout.Header.Outer>
|
||||
+ <Layout.Content>
|
||||
+ <ScrollView
|
||||
+ style={[a.flex_1]}
|
||||
+ contentContainerStyle={[a.p_lg, a.pt_xl, a.pb_5xl]}>
|
||||
+ <Text style={[a.text_2xl, a.font_bold, a.mb_lg]}>利用規約</Text>
|
||||
+
|
||||
+ <Text style={[a.mb_md]}>
|
||||
+ 本規約は、当サービスの利用条件を定めるものです。
|
||||
+ </Text>
|
||||
+
|
||||
+ <Text style={[a.text_xl, a.font_bold, a.mt_lg, a.mb_md]}>サービスの利用</Text>
|
||||
+ <Text style={[a.mb_md]}>
|
||||
+ ユーザーは、本規約に同意の上、当サービスを利用するものとします。
|
||||
+ 違法行為、他者への迷惑行為は禁止されています。
|
||||
+ </Text>
|
||||
+
|
||||
+ <Text style={[a.text_xl, a.font_bold, a.mt_lg, a.mb_md]}>アカウント</Text>
|
||||
+ <Text style={[a.mb_md]}>
|
||||
+ ユーザーは、アカウント情報を適切に管理する責任を負います。
|
||||
+ 第三者による不正利用があった場合、速やかにご連絡ください。
|
||||
+ </Text>
|
||||
+
|
||||
+ <Text style={[a.text_xl, a.font_bold, a.mt_lg, a.mb_md]}>免責事項</Text>
|
||||
+ <Text style={[a.mb_md]}>
|
||||
+ 当サービスは現状のまま提供され、可用性、正確性について保証するものではありません。
|
||||
+ </Text>
|
||||
+
|
||||
+ <Text style={[a.text_xl, a.font_bold, a.mt_lg, a.mb_md]}>規約の変更</Text>
|
||||
+ <Text style={[a.mb_md]}>
|
||||
+ 本規約は、必要に応じて変更されることがあります。変更後の利用をもって、変更に同意したものとみなします。
|
||||
+ </Text>
|
||||
+
|
||||
+ <Text style={[a.text_xl, a.font_bold, a.mt_lg, a.mb_md]}>お問い合わせ</Text>
|
||||
+ <Text style={[a.mb_md]}>
|
||||
+ 利用規約に関するお問い合わせは、https://syu.is までご連絡ください。
|
||||
</Text>
|
||||
- </View>
|
||||
- <View style={s.footerSpacer} />
|
||||
- </ScrollView>
|
||||
+ </ScrollView>
|
||||
+ </Layout.Content>
|
||||
</Layout.Screen>
|
||||
)
|
||||
}
|
||||
@@ -1,51 +0,0 @@
|
||||
diff --git a/src/routes.ts b/src/routes.ts
|
||||
index 1ed913bb2..e3ddf7c67 100644
|
||||
--- a/src/routes.ts
|
||||
+++ b/src/routes.ts
|
||||
@@ -71,8 +71,9 @@ export const router = new Router<AllNavigatableRoutes>({
|
||||
MiscellaneousNotificationSettings: '/settings/notifications/miscellaneous',
|
||||
// support
|
||||
Support: '/support',
|
||||
- PrivacyPolicy: '/support/privacy',
|
||||
+ PrivacyPolicy: '/support/privacy-policy',
|
||||
TermsOfService: '/support/tos',
|
||||
+ License: '/support/license',
|
||||
CommunityGuidelines: '/support/community-guidelines',
|
||||
CopyrightPolicy: '/support/copyright',
|
||||
// hashtags
|
||||
diff --git a/src/screens/Settings/AboutSettings.tsx b/src/screens/Settings/AboutSettings.tsx
|
||||
index 6b8257b91..c204dcc31 100644
|
||||
--- a/src/screens/Settings/AboutSettings.tsx
|
||||
+++ b/src/screens/Settings/AboutSettings.tsx
|
||||
@@ -80,7 +80,7 @@ export function AboutSettingsScreen({}: Props) {
|
||||
<Layout.Content>
|
||||
<SettingsList.Container>
|
||||
<SettingsList.LinkItem
|
||||
- to="https://bsky.social/about/support/tos"
|
||||
+ to="/support/tos"
|
||||
label={_(msg`Terms of Service`)}>
|
||||
<SettingsList.ItemIcon icon={NewspaperIcon} />
|
||||
<SettingsList.ItemText>
|
||||
@@ -88,13 +88,21 @@ export function AboutSettingsScreen({}: Props) {
|
||||
</SettingsList.ItemText>
|
||||
</SettingsList.LinkItem>
|
||||
<SettingsList.LinkItem
|
||||
- to="https://bsky.social/about/support/privacy-policy"
|
||||
+ to="/support/privacy-policy"
|
||||
label={_(msg`Privacy Policy`)}>
|
||||
<SettingsList.ItemIcon icon={NewspaperIcon} />
|
||||
<SettingsList.ItemText>
|
||||
<Trans>Privacy Policy</Trans>
|
||||
</SettingsList.ItemText>
|
||||
</SettingsList.LinkItem>
|
||||
+ <SettingsList.LinkItem
|
||||
+ to="/support/license"
|
||||
+ label={_(msg`License`)}>
|
||||
+ <SettingsList.ItemIcon icon={NewspaperIcon} />
|
||||
+ <SettingsList.ItemText>
|
||||
+ <Trans>License</Trans>
|
||||
+ </SettingsList.ItemText>
|
||||
+ </SettingsList.LinkItem>
|
||||
<SettingsList.LinkItem
|
||||
to={STATUS_PAGE_URL}
|
||||
label={_(msg`Status Page`)}>
|
||||
70
ios/patching/023-social-app-ios-disable-dm.patch
Normal file
70
ios/patching/023-social-app-ios-disable-dm.patch
Normal file
@@ -0,0 +1,70 @@
|
||||
diff --git a/src/state/messages/events/index.tsx b/src/state/messages/events/index.tsx
|
||||
index 2ff0784ae..dc314ecc5 100644
|
||||
--- a/src/state/messages/events/index.tsx
|
||||
+++ b/src/state/messages/events/index.tsx
|
||||
@@ -10,13 +10,7 @@ const MessagesEventBusContext = React.createContext<MessagesEventBus | null>(
|
||||
MessagesEventBusContext.displayName = 'MessagesEventBusContext'
|
||||
|
||||
export function useMessagesEventBus() {
|
||||
- const ctx = React.useContext(MessagesEventBusContext)
|
||||
- if (!ctx) {
|
||||
- throw new Error(
|
||||
- 'useMessagesEventBus must be used within a MessagesEventBusProvider',
|
||||
- )
|
||||
- }
|
||||
- return ctx
|
||||
+ return React.useContext(MessagesEventBusContext)
|
||||
}
|
||||
|
||||
export function MessagesEventBusProvider({
|
||||
@@ -24,18 +18,11 @@ export function MessagesEventBusProvider({
|
||||
}: {
|
||||
children: React.ReactNode
|
||||
}) {
|
||||
- const {currentAccount} = useSession()
|
||||
-
|
||||
- if (!currentAccount) {
|
||||
- return (
|
||||
- <MessagesEventBusContext.Provider value={null}>
|
||||
- {children}
|
||||
- </MessagesEventBusContext.Provider>
|
||||
- )
|
||||
- }
|
||||
-
|
||||
+ // DM functionality is disabled for syu.is
|
||||
return (
|
||||
- <MessagesEventBusProviderInner>{children}</MessagesEventBusProviderInner>
|
||||
+ <MessagesEventBusContext.Provider value={null}>
|
||||
+ {children}
|
||||
+ </MessagesEventBusContext.Provider>
|
||||
)
|
||||
}
|
||||
|
||||
diff --git a/src/state/queries/messages/list-conversations.tsx b/src/state/queries/messages/list-conversations.tsx
|
||||
index c5457d1cb..5bc37bdce 100644
|
||||
--- a/src/state/queries/messages/list-conversations.tsx
|
||||
+++ b/src/state/queries/messages/list-conversations.tsx
|
||||
@@ -74,17 +74,12 @@ export function useListConvos() {
|
||||
|
||||
const empty = {accepted: [], request: []}
|
||||
export function ListConvosProvider({children}: {children: React.ReactNode}) {
|
||||
- const {hasSession} = useSession()
|
||||
-
|
||||
- if (!hasSession) {
|
||||
- return (
|
||||
- <ListConvosContext.Provider value={empty}>
|
||||
- {children}
|
||||
- </ListConvosContext.Provider>
|
||||
- )
|
||||
- }
|
||||
-
|
||||
- return <ListConvosProviderInner>{children}</ListConvosProviderInner>
|
||||
+ // DM functionality is disabled for syu.is - always return empty
|
||||
+ return (
|
||||
+ <ListConvosContext.Provider value={empty}>
|
||||
+ {children}
|
||||
+ </ListConvosContext.Provider>
|
||||
+ )
|
||||
}
|
||||
|
||||
export function ListConvosProviderInner({
|
||||
@@ -0,0 +1,15 @@
|
||||
diff --git a/src/env/common.ts b/src/env/common.ts
|
||||
--- a/src/env/common.ts
|
||||
+++ b/src/env/common.ts
|
||||
@@ -107,9 +107,8 @@ export const GCP_PROJECT_ID: number =
|
||||
/**
|
||||
* URLs for the app config web worker. Can be a
|
||||
* locally running server, see `env.example` for more.
|
||||
+ * Disabled for self-hosted environment to avoid CORS errors
|
||||
*/
|
||||
export const BAPP_CONFIG_DEV_URL = process.env.BAPP_CONFIG_DEV_URL
|
||||
export const BAPP_CONFIG_PROD_URL = `https://ip.bsky.app`
|
||||
-export const BAPP_CONFIG_URL = IS_DEV
|
||||
- ? (BAPP_CONFIG_DEV_URL ?? BAPP_CONFIG_PROD_URL)
|
||||
- : BAPP_CONFIG_PROD_URL
|
||||
+export const BAPP_CONFIG_URL = null
|
||||
@@ -18,16 +18,16 @@ PATCH_FILES_IOS=(
|
||||
"005-social-app-ios-screens.patch"
|
||||
"006-social-app-ios-shell.patch"
|
||||
"007-social-app-ios-misc.patch"
|
||||
"008-social-app-ios-policy-tos-error.patch"
|
||||
"009-social-app-ios-license.patch"
|
||||
"010-social-app-ios-remove-contact-support.patch"
|
||||
"011-social-app-ios-splash-license-footer.patch"
|
||||
"012-social-app-ios-settings-about-help.patch"
|
||||
"013-social-app-ios-settings-remove-help.patch"
|
||||
"019-social-app-ios-entitlements-plugin.patch"
|
||||
"020-social-app-ios-bypass-age-assurance.patch"
|
||||
"021-social-app-ios-clean-feed.patch"
|
||||
"022-social-app-ios-bskyweb-support-pages.patch"
|
||||
"023-social-app-ios-disable-dm.patch"
|
||||
"024-social-app-ios-disable-external-services.patch"
|
||||
)
|
||||
|
||||
function ios-env() {
|
||||
|
||||
Reference in New Issue
Block a user