Bluesky app fork with some witchin' additions 💫

Merge branch 'main' of https://github.com/bluesky-social/social-app

Changed files
+85 -10
src
components
logger
view
screens
Storybook
+28
app.config.js
··· 116 'com.apple.security.application-groups': 'group.lol.daniela.social', 117 }, 118 privacyManifests: { 119 NSPrivacyAccessedAPITypes: [ 120 { 121 NSPrivacyAccessedAPIType:
··· 116 'com.apple.security.application-groups': 'group.lol.daniela.social', 117 }, 118 privacyManifests: { 119 + NSPrivacyCollectedDataTypes: [ 120 + { 121 + NSPrivacyCollectedDataType: 'NSPrivacyCollectedDataTypeCrashData', 122 + NSPrivacyCollectedDataTypeLinked: false, 123 + NSPrivacyCollectedDataTypeTracking: false, 124 + NSPrivacyCollectedDataTypePurposes: [ 125 + 'NSPrivacyCollectedDataTypePurposeAppFunctionality', 126 + ], 127 + }, 128 + { 129 + NSPrivacyCollectedDataType: 130 + 'NSPrivacyCollectedDataTypePerformanceData', 131 + NSPrivacyCollectedDataTypeLinked: false, 132 + NSPrivacyCollectedDataTypeTracking: false, 133 + NSPrivacyCollectedDataTypePurposes: [ 134 + 'NSPrivacyCollectedDataTypePurposeAppFunctionality', 135 + ], 136 + }, 137 + { 138 + NSPrivacyCollectedDataType: 139 + 'NSPrivacyCollectedDataTypeOtherDiagnosticData', 140 + NSPrivacyCollectedDataTypeLinked: false, 141 + NSPrivacyCollectedDataTypeTracking: false, 142 + NSPrivacyCollectedDataTypePurposes: [ 143 + 'NSPrivacyCollectedDataTypePurposeAppFunctionality', 144 + ], 145 + }, 146 + ], 147 NSPrivacyAccessedAPITypes: [ 148 { 149 NSPrivacyAccessedAPIType:
+8 -4
eas.json
··· 36 "extends": "base", 37 "ios": { 38 "resourceClass": "large", 39 - "autoIncrement": true 40 }, 41 "android": { 42 "autoIncrement": true ··· 50 "extends": "base", 51 "distribution": "internal", 52 "ios": { 53 - "autoIncrement": false 54 }, 55 "android": { 56 "autoIncrement": false ··· 63 "testflight": { 64 "extends": "base", 65 "ios": { 66 - "autoIncrement": true 67 }, 68 "android": { 69 "autoIncrement": true ··· 77 "extends": "base", 78 "distribution": "internal", 79 "ios": { 80 - "autoIncrement": true 81 }, 82 "android": { 83 "autoIncrement": true
··· 36 "extends": "base", 37 "ios": { 38 "resourceClass": "large", 39 + "autoIncrement": true, 40 + "buildArtifactPaths": ["ios/build/*"] 41 }, 42 "android": { 43 "autoIncrement": true ··· 51 "extends": "base", 52 "distribution": "internal", 53 "ios": { 54 + "autoIncrement": false, 55 + "buildArtifactPaths": ["ios/build/*"] 56 }, 57 "android": { 58 "autoIncrement": false ··· 65 "testflight": { 66 "extends": "base", 67 "ios": { 68 + "autoIncrement": true, 69 + "buildArtifactPaths": ["ios/build/*"] 70 }, 71 "android": { 72 "autoIncrement": true ··· 80 "extends": "base", 81 "distribution": "internal", 82 "ios": { 83 + "autoIncrement": true, 84 + "buildArtifactPaths": ["ios/build/*"] 85 }, 86 "android": { 87 "autoIncrement": true
+33 -6
src/components/FeedInterstitials.tsx
··· 376 t.atoms.bg_contrast_25, 377 ]} 378 pointerEvents={isIOS ? 'auto' : 'box-none'}> 379 - <Text style={[a.text_sm, a.font_semi_bold, t.atoms.text]}> 380 - {isFeedContext ? ( 381 - <Trans>Suggested for you</Trans> 382 - ) : ( 383 - <Trans>Similar accounts</Trans> 384 )} 385 - </Text> 386 387 {gtMobile ? ( 388 <View style={[a.p_lg, a.pt_md]}> ··· 418 to="/search" 419 color="primary" 420 label={_(msg`Browse more accounts on the Explore page`)} 421 style={[ 422 a.flex_col, 423 a.align_center,
··· 376 t.atoms.bg_contrast_25, 377 ]} 378 pointerEvents={isIOS ? 'auto' : 'box-none'}> 379 + <View 380 + style={[ 381 + a.px_lg, 382 + a.pt_md, 383 + a.flex_row, 384 + a.align_center, 385 + a.justify_between, 386 + ]} 387 + pointerEvents={isIOS ? 'auto' : 'box-none'}> 388 + <Text style={[a.text_sm, a.font_semi_bold, t.atoms.text]}> 389 + {isFeedContext ? ( 390 + <Trans>Suggested for you</Trans> 391 + ) : ( 392 + <Trans>Similar accounts</Trans> 393 + )} 394 + </Text> 395 + {!isProfileHeaderContext && ( 396 + <InlineLinkText 397 + label={_(msg`See more suggested profiles on the Explore page`)} 398 + to="/search" 399 + onPress={() => { 400 + logger.metric('suggestedUser:seeMore', { 401 + logContext: isFeedContext ? 'Explore' : 'Profile', 402 + }) 403 + }}> 404 + <Trans>See more</Trans> 405 + </InlineLinkText> 406 )} 407 + </View> 408 409 {gtMobile ? ( 410 <View style={[a.p_lg, a.pt_md]}> ··· 440 to="/search" 441 color="primary" 442 label={_(msg`Browse more accounts on the Explore page`)} 443 + onPress={() => { 444 + logger.metric('suggestedUser:seeMore', { 445 + logContext: 'Explore', 446 + }) 447 + }} 448 style={[ 449 a.flex_col, 450 a.align_center,
+8
src/logger/metrics.ts
··· 297 recId?: number 298 position: number 299 } 300 'profile:unfollow': { 301 logContext: 302 | 'RecommendedFollowsItem'
··· 297 recId?: number 298 position: number 299 } 300 + 'suggestedUser:seeMore': { 301 + logContext: 302 + | 'Explore' 303 + | 'InterstitialDiscover' 304 + | 'InterstitialProfile' 305 + | 'Profile' 306 + | 'Onboarding' 307 + } 308 'profile:unfollow': { 309 logContext: 310 | 'RecommendedFollowsItem'
+8
src/view/screens/Storybook/index.tsx
··· 3 import {useNavigation} from '@react-navigation/native' 4 5 import {type NavigationProp} from '#/lib/routes/types' 6 import {useSetThemePrefs} from '#/state/shell' 7 import {ListContained} from '#/view/screens/Storybook/ListContained' 8 import {atoms as a, ThemeProvider} from '#/alf' ··· 94 label="two" 95 testID="sharedPrefsTestOpenBtn"> 96 <ButtonText>Open Shared Prefs Tester</ButtonText> 97 </Button> 98 99 <ThemeProvider theme="light">
··· 3 import {useNavigation} from '@react-navigation/native' 4 5 import {type NavigationProp} from '#/lib/routes/types' 6 + import {Sentry} from '#/logger/sentry/lib' 7 import {useSetThemePrefs} from '#/state/shell' 8 import {ListContained} from '#/view/screens/Storybook/ListContained' 9 import {atoms as a, ThemeProvider} from '#/alf' ··· 95 label="two" 96 testID="sharedPrefsTestOpenBtn"> 97 <ButtonText>Open Shared Prefs Tester</ButtonText> 98 + </Button> 99 + <Button 100 + color="negative" 101 + size="large" 102 + onPress={() => Sentry.nativeCrash()} 103 + label="crash"> 104 + <ButtonText>Sentry Crash</ButtonText> 105 </Button> 106 107 <ThemeProvider theme="light">