diff --git a/README.md b/README.md index 942f3c2ba..4608a6438 100644 --- a/README.md +++ b/README.md @@ -56,7 +56,7 @@ v is a fork of Witchsky, which itself is a fork of the official Bluesky client, > tenna.party is a community fork, and we'd love to merge your PR! -As a rule of thumb, the best features for tenna.party are those that have any positive impact on the user experience regardless of the maintenance overhead. Since tenna.party is a soft-ish fork, any features (patches) we add on top of Witchsky need to be maintained. For example, a change to the way posts are composed may be very invasive, touching lots of code across the codebase. If upstream refactors this component, we will need to rewrite this feature to be compatible or drop it from the client. Just go freestyle, I guess! +As a rule of thumb, the best features for tenna.party are those that have any positive impact on the user experience regardless of the maintenance overhead. Since tenna.party is a soft-ish fork, any features (patches) we add on top of Witchsky need to be maintained. For example, a change to the way posts are composed may be very invasive, touching lots of code across the codebase. If upstream refactors this component, we will need to rewrite this feature to be compatible or drop it from the client. Just go freestyle, I guess! But please DON'T add AI. For this reason, only features that require changing only a small or medium amount of code from upstream should be considered. @@ -68,6 +68,7 @@ Without an overriding motivation, opinionated features *maybe* should exist behi - Open an issue and give some time for discussion before submitting a PR. - This isn't strictly necessary, but the lead developers would love to give their thoughts and scope out your willingness to maintain the feature before you write it. - Stay away from PRs like... + - Adding AI Slop / LLM text generation to posts - Changing "User" to "Tennaling." - Refactoring the codebase, e.g., to replace React Query with Redux Toolkit, etc. - Include a new toggle and preference for your feature. diff --git a/src/lib/routes/types.ts b/src/lib/routes/types.ts index 67cf6f00b..620c0bc89 100644 --- a/src/lib/routes/types.ts +++ b/src/lib/routes/types.ts @@ -63,6 +63,10 @@ export type CommonNavigatorParams = { PreferencesThreads: undefined PreferencesExternalEmbeds: undefined AccessibilitySettings: undefined + DeltaSettings: undefined + DeltaBadgeSettings: undefined + DeltaLabelSettings: undefined + AIPreferencesSettings: undefined AltTextAiSettings: undefined AppearanceSettings: undefined AppearanceColorThemeSettings: undefined diff --git a/src/screens/Settings/AccessibilitySettings.tsx b/src/screens/Settings/AccessibilitySettings.tsx index 0c15fe0d9..b002e1573 100644 --- a/src/screens/Settings/AccessibilitySettings.tsx +++ b/src/screens/Settings/AccessibilitySettings.tsx @@ -1,8 +1,8 @@ -import {View} from 'react-native' -import {Trans, useLingui} from '@lingui/react/macro' -import {type NativeStackScreenProps} from '@react-navigation/native-stack' +import { View } from 'react-native' +import { Trans, useLingui } from '@lingui/react/macro' +import { type NativeStackScreenProps } from '@react-navigation/native-stack' -import {type CommonNavigatorParams} from '#/lib/routes/types' +import { type CommonNavigatorParams } from '#/lib/routes/types' import { useHapticsDisabled, useRequireAltTextEnabled, @@ -13,24 +13,25 @@ import { useLargeAltBadgeEnabled, useSetLargeAltBadgeEnabled, } from '#/state/preferences/large-alt-badge' -import {useAltTextAiProvider} from '#/state/preferences/openrouter' +import { useAltTextAiProvider } from '#/state/preferences/openrouter' import * as SettingsList from '#/screens/Settings/components/SettingsList' -import {atoms as a, useTheme} from '#/alf' +import { atoms as a, useTheme } from '#/alf' import * as Toggle from '#/components/forms/Toggle' -import {Accessibility_Stroke2_Corner2_Rounded as AccessibilityIcon} from '#/components/icons/Accessibility' -import {Haptic_Stroke2_Corner2_Rounded as HapticIcon} from '#/components/icons/Haptic' -import {Lab_Stroke2_Corner0_Rounded as BeakerIcon} from '#/components/icons/Lab' +import { Accessibility_Stroke2_Corner2_Rounded as AccessibilityIcon } from '#/components/icons/Accessibility' +import { Haptic_Stroke2_Corner2_Rounded as HapticIcon } from '#/components/icons/Haptic' +import { Lab_Stroke2_Corner0_Rounded as BeakerIcon } from '#/components/icons/Lab' import * as Layout from '#/components/Layout' -import {Text} from '#/components/Typography' -import {IS_NATIVE} from '#/env' +import { Text } from '#/components/Typography' +import { IS_NATIVE } from '#/env' +import {Admonition} from '#/components/Admonition' type Props = NativeStackScreenProps< CommonNavigatorParams, 'AccessibilitySettings' > -export function AccessibilitySettingsScreen({}: Props) { - const {t: l} = useLingui() +export function AccessibilitySettingsScreen({ }: Props) { + const { t: l } = useLingui() const t = useTheme() const requireAltTextEnabled = useRequireAltTextEnabled() const setRequireAltTextEnabled = useSetRequireAltTextEnabled() @@ -133,6 +134,14 @@ export function AccessibilitySettingsScreen({}: Props) { )} + + + + + We do not support inclusion and the usage of AI slop / LLMs in the AT Protocol ecosystem, including Bluesky and apps such as Attie. + + + diff --git a/src/screens/Settings/AltTextAiSettings.tsx b/src/screens/Settings/AltTextAiSettings.tsx index 8a4f2bb44..1d3d1049b 100644 --- a/src/screens/Settings/AltTextAiSettings.tsx +++ b/src/screens/Settings/AltTextAiSettings.tsx @@ -95,6 +95,14 @@ export function AltTextAiSettingsScreen({}: Props) { + + + + Please avoid using this feature, it uses LLM text generation, it is a pain in the ass to remove entirely. + + + + {provider === 'none' ? (