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 116 'com.apple.security.application-groups': 'group.lol.daniela.social', 117 117 }, 118 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 + ], 119 147 NSPrivacyAccessedAPITypes: [ 120 148 { 121 149 NSPrivacyAccessedAPIType:
+8 -4
eas.json
··· 36 36 "extends": "base", 37 37 "ios": { 38 38 "resourceClass": "large", 39 - "autoIncrement": true 39 + "autoIncrement": true, 40 + "buildArtifactPaths": ["ios/build/*"] 40 41 }, 41 42 "android": { 42 43 "autoIncrement": true ··· 50 51 "extends": "base", 51 52 "distribution": "internal", 52 53 "ios": { 53 - "autoIncrement": false 54 + "autoIncrement": false, 55 + "buildArtifactPaths": ["ios/build/*"] 54 56 }, 55 57 "android": { 56 58 "autoIncrement": false ··· 63 65 "testflight": { 64 66 "extends": "base", 65 67 "ios": { 66 - "autoIncrement": true 68 + "autoIncrement": true, 69 + "buildArtifactPaths": ["ios/build/*"] 67 70 }, 68 71 "android": { 69 72 "autoIncrement": true ··· 77 80 "extends": "base", 78 81 "distribution": "internal", 79 82 "ios": { 80 - "autoIncrement": true 83 + "autoIncrement": true, 84 + "buildArtifactPaths": ["ios/build/*"] 81 85 }, 82 86 "android": { 83 87 "autoIncrement": true
+33 -6
src/components/FeedInterstitials.tsx
··· 376 376 t.atoms.bg_contrast_25, 377 377 ]} 378 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> 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> 384 406 )} 385 - </Text> 407 + </View> 386 408 387 409 {gtMobile ? ( 388 410 <View style={[a.p_lg, a.pt_md]}> ··· 418 440 to="/search" 419 441 color="primary" 420 442 label={_(msg`Browse more accounts on the Explore page`)} 443 + onPress={() => { 444 + logger.metric('suggestedUser:seeMore', { 445 + logContext: 'Explore', 446 + }) 447 + }} 421 448 style={[ 422 449 a.flex_col, 423 450 a.align_center,
+8
src/logger/metrics.ts
··· 297 297 recId?: number 298 298 position: number 299 299 } 300 + 'suggestedUser:seeMore': { 301 + logContext: 302 + | 'Explore' 303 + | 'InterstitialDiscover' 304 + | 'InterstitialProfile' 305 + | 'Profile' 306 + | 'Onboarding' 307 + } 300 308 'profile:unfollow': { 301 309 logContext: 302 310 | 'RecommendedFollowsItem'
+8
src/view/screens/Storybook/index.tsx
··· 3 3 import {useNavigation} from '@react-navigation/native' 4 4 5 5 import {type NavigationProp} from '#/lib/routes/types' 6 + import {Sentry} from '#/logger/sentry/lib' 6 7 import {useSetThemePrefs} from '#/state/shell' 7 8 import {ListContained} from '#/view/screens/Storybook/ListContained' 8 9 import {atoms as a, ThemeProvider} from '#/alf' ··· 94 95 label="two" 95 96 testID="sharedPrefsTestOpenBtn"> 96 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> 97 105 </Button> 98 106 99 107 <ThemeProvider theme="light">