diff --git a/src/view/com/posts/PostFeed.tsx b/src/view/com/posts/PostFeed.tsx index 4f25468c9..95b183dcc 100644 --- a/src/view/com/posts/PostFeed.tsx +++ b/src/view/com/posts/PostFeed.tsx @@ -298,8 +298,13 @@ let PostFeed = ({ } } } catch (e) { + const errorMsg = String(e) + // Skip errors for missing repos (deleted accounts) + if (errorMsg.includes('Could not find repo')) { + return + } if (!isNetworkError(e)) { - logger.error('Poll latest failed', {feed, message: String(e)}) + logger.error('Poll latest failed', {feed, message: errorMsg}) } } }) diff --git a/src/view/screens/PrivacyPolicy.tsx b/src/view/screens/PrivacyPolicy.tsx index a89eaadc4..c3a8b6114 100644 --- a/src/view/screens/PrivacyPolicy.tsx +++ b/src/view/screens/PrivacyPolicy.tsx @@ -1,51 +1,95 @@ 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 -export const PrivacyPolicyScreen = (_props: Props) => { - const pal = usePalette('default') - const {_} = useLingui() - const setMinimalShellMode = useSetMinimalShellMode() - - 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 PrivacyPolicyScreen() { + useSetTitle('Privacy Policy') + const t = useTheme() return ( - - - - - - The Privacy Policy has been moved to{' '} - - - - - + + Privacy Policy + + + This application (hereinafter referred to as "the App") respects user privacy and is committed to protecting personal information. + + + 1. Information We Collect + + The App is a decentralized social network using the AT Protocol. + Information posted by users is stored on the selected server (PDS). + + + 2. Use of Information + + The collected information is used for the following purposes: + {'\n'}- Providing and operating the service + {'\n'}- User support + {'\n'}- Service improvement + + + 3. Third-Party Disclosure + + The App will not provide users' personal information to third parties without user consent, except as required by law. + + + 4. Security + + The App takes appropriate security measures to protect personal information. + + + 5. Contact + + For questions regarding this Privacy Policy, please contact us through the support link in the settings screen. + + + 日本語訳(参考) + + プライバシーポリシー + + + 本アプリケーション(以下「本アプリ」)は、ユーザーのプライバシーを尊重し、個人情報の保護に努めます。 + + + 1. 収集する情報 + + 本アプリは、ATプロトコルを使用した分散型ソーシャルネットワークです。 + ユーザーが投稿した情報は、選択したサーバー(PDS)に保存されます。 + + + 2. 情報の利用目的 + + 収集した情報は、以下の目的で利用されます: + {'\n'}- サービスの提供・運営 + {'\n'}- ユーザーサポート + {'\n'}- サービスの改善 + + + 3. 情報の第三者提供 + + 本アプリは、ユーザーの個人情報を、法令に基づく場合を除き、 + ユーザーの同意なく第三者に提供することはありません。 + + + 4. セキュリティ + + 本アプリは、個人情報の保護のため、適切な安全対策を講じます。 + + + 5. お問い合わせ + + プライバシーポリシーに関するご質問は、設定画面のサポートリンクからお問い合わせください。 + + + + Last Updated: December 7, 2025 + ) diff --git a/src/view/screens/TermsOfService.tsx b/src/view/screens/TermsOfService.tsx index d843c713c..3d2323f73 100644 --- a/src/view/screens/TermsOfService.tsx +++ b/src/view/screens/TermsOfService.tsx @@ -1,49 +1,110 @@ 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 -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 ( - - - - - The Terms of Service have been moved to{' '} - - - - + + Terms of Service + + + These Terms of Service (hereinafter referred to as "these Terms") set forth the conditions for using this application (hereinafter referred to as "the App"). + + + Article 1 (Application) + + These Terms shall apply to all relationships between users and the provider of the App regarding the use of the App. + + + Article 2 (User Registration) + + Use of the App requires an AT Protocol-compatible account. + Registration information must be kept accurate and up-to-date. + + + Article 3 (Prohibited Acts) + + Users shall not engage in the following acts when using the App: + {'\n'}- Acts that violate laws or public order and morals + {'\n'}- Acts related to criminal activity + {'\n'}- Acts that infringe upon the rights of other users or third parties + {'\n'}- Acts that interfere with the operation of the App + {'\n'}- Unauthorized access or attempts thereof + + + Article 4 (Disclaimer) + + The App is a decentralized service using the AT Protocol. + The provider makes no warranties, express or implied, regarding the App. + + + Article 5 (Changes to Terms) + + The provider may change these Terms without obtaining user consent when deemed necessary. + + + Article 6 (Contact) + + For questions regarding these Terms, please contact us through the support link in the settings screen. + + + 日本語訳(参考) + + 利用規約 + + + 本利用規約(以下「本規約」)は、本アプリケーション(以下「本アプリ」)の利用条件を定めるものです。 + + + 第1条(適用) + + 本規約は、ユーザーと本アプリの提供者との間の本アプリの利用に関わる一切の関係に適用されます。 + + + 第2条(利用登録) + + 本アプリの利用にあたっては、ATプロトコル対応のアカウントが必要です。 + 登録情報は正確かつ最新の状態に保つ必要があります。 + + + 第3条(禁止事項) + + ユーザーは、本アプリの利用にあたり、以下の行為をしてはなりません: + {'\n'}- 法令または公序良俗に違反する行為 + {'\n'}- 犯罪行為に関連する行為 + {'\n'}- 他のユーザーまたは第三者の権利を侵害する行為 + {'\n'}- 本アプリの運営を妨害する行為 + {'\n'}- 不正アクセスまたはこれを試みる行為 + + + 第4条(免責事項) + + 本アプリは、ATプロトコルを使用した分散型サービスです。 + 提供者は、本アプリに関して、明示的・黙示的を問わず、いかなる保証も行いません。 + + + 第5条(規約の変更) + + 提供者は、必要と判断した場合、ユーザーの承諾を得ることなく本規約を変更できるものとします。 + + + 第6条(お問い合わせ) + + 本規約に関するご質問は、設定画面のサポートリンクからお問い合わせください。 + + + + Last Updated: December 7, 2025 + )