Skip to content

Sebastian/mobile app#153

Merged
flo-bit merged 8 commits into
eurosky/forkfrom
sebastian/mobile-app
Jul 17, 2026
Merged

Sebastian/mobile app#153
flo-bit merged 8 commits into
eurosky/forkfrom
sebastian/mobile-app

Conversation

@flo-bit

@flo-bit flo-bit commented Jul 17, 2026

Copy link
Copy Markdown
Collaborator

No description provided.

seboslaw added 8 commits July 15, 2026 14:26
# Conflicts:
#	pnpm-lock.yaml
Android prebuild hard-required ./google-services.json, which is gitignored
and provisioned out-of-band, so credential-less builds failed with ENOENT.
Probe with require.resolve and omit googleServicesFile when the file is
absent; it's picked up automatically when present.
@flo-bit
flo-bit merged commit d3ff9a5 into eurosky/fork Jul 17, 2026
9 of 13 checks passed
@github-actions

Copy link
Copy Markdown

The Pull Request introduced fingerprint changes against the base commit:

Fingerprint diff
[{"type":"file","filePath":".gitignore","reasons":["bareGitIgnore"],"hash":"60c98c3c6bfb15b93b079b8ac2d874690242f5c6"},{"type":"file","filePath":"eas.json","reasons":["easBuild"],"hash":"47b344ea4eb4182829cf257d805fe4ffdeee9b37"},{"type":"file","filePath":"assets/fonts/inter/InterVariable.woff2","reasons":["expoConfigExternalFile"],"overrideHashKey":"expoConfigExternalFile:contentsOnly","hash":"f55b18fdf5a4fbca23e23010fbe89df27d70d1ff"},{"type":"file","filePath":"assets/fonts/inter/InterVariable-Italic.woff2","reasons":["expoConfigExternalFile"],"overrideHashKey":"expoConfigExternalFile:contentsOnly","hash":"a5f0513ed76cdf4a4e1a924949b6a85a6e9333ca"},{"type":"file","filePath":"assets/fonts/inter/Inter-Regular.otf","reasons":["expoConfigExternalFile"],"overrideHashKey":"expoConfigExternalFile:contentsOnly","hash":"a4a1d042922d4e437e4e979b74cd75e269eb9513"},{"type":"file","filePath":"assets/fonts/inter/Inter-Italic.otf","reasons":["expoConfigExternalFile"],"overrideHashKey":"expoConfigExternalFile:contentsOnly","hash":"20aacb060d870e2d5b397c8acb939fbaf6cb98f5"},{"type":"file","filePath":"assets/fonts/inter/Inter-Medium.otf","reasons":["expoConfigExternalFile"],"overrideHashKey":"expoConfigExternalFile:contentsOnly","hash":"544480e3ddc0f4837dbfc2e9d31cf0e42ef5bb8a"},{"type":"file","filePath":"assets/fonts/inter/Inter-MediumItalic.otf","reasons":["expoConfigExternalFile"],"overrideHashKey":"expoConfigExternalFile:contentsOnly","hash":"4ff60ab9d7e0e79f02bd5c9066933c1e5e6e99bc"},{"type":"file","filePath":"assets/fonts/inter/Inter-SemiBold.otf","reasons":["expoConfigExternalFile"],"overrideHashKey":"expoConfigExternalFile:contentsOnly","hash":"d69aaaa0a3875e5183f6391339cdcd9d7bb8bb45"},{"type":"file","filePath":"assets/fonts/inter/Inter-SemiBoldItalic.otf","reasons":["expoConfigExternalFile"],"overrideHashKey":"expoConfigExternalFile:contentsOnly","hash":"9f80ed366fd3917f000c407118753b3ae75c6ccc"},{"type":"file","filePath":"assets/fonts/inter/Inter-Bold.otf","reasons":["expoConfigExternalFile"],"overrideHashKey":"expoConfigExternalFile:contentsOnly","hash":"6f4cbdd03575a42523e50e081224dcc8e693f52b"},{"type":"file","filePath":"assets/fonts/inter/Inter-BoldItalic.otf","reasons":["expoConfigExternalFile"],"overrideHashKey":"expoConfigExternalFile:contentsOnly","hash":"1d478c5d35e6e0f8cf498e88a28f922186cbcfa4"},{"type":"file","filePath":"assets/app-icons/ios_icon_default_next.png","reasons":["expoConfigExternalFile","expoConfigExternalFile"],"overrideHashKey":"expoConfigExternalFile:contentsOnly","hash":"1c8c5f60ca8039a7448350a7996605c3feeb974b"},{"type":"file","filePath":"assets/app-icons/android_icon_default_next.png","reasons":["expoConfigExternalFile"],"overrideHashKey":"expoConfigExternalFile:contentsOnly","hash":"395e5c30e93ea7bd22500309ba2e37b78c4b4a31"},{"type":"file","filePath":"assets/icon-android-foreground.png","reasons":["expoConfigExternalFile"],"overrideHashKey":"expoConfigExternalFile:contentsOnly","hash":"07951a64d9a9c1b8ef176f9e1f0840086b386df4"},{"type":"file","filePath":"assets/splash/android-splash-logo-white.png","reasons":["expoConfigExternalFile","expoConfigExternalFile"],"overrideHashKey":"expoConfigExternalFile:contentsOnly","hash":"3724838905a8c602f7a1aa1837d7c8411ddedecc"},{"type":"file","filePath":"assets/splash/splash.png","reasons":["expoConfigExternalFile"],"overrideHashKey":"expoConfigExternalFile:contentsOnly","hash":"376e1b5a107b1f0b8f13096040b6f4c159e7df95"},{"type":"file","filePath":"assets/splash/splash-dark.png","reasons":["expoConfigExternalFile"],"overrideHashKey":"expoConfigExternalFile:contentsOnly","hash":"ab39d3b63809db2aefefa29a45bcd4dc022e66e3"},{"type":"file","filePath":"plugins/notificationsExtension/withAppEntitlements.js","reasons":["expoConfigPlugins"],"hash":"206452ca449ca1bdd7ece23b48d3dca266db2730"},{"type":"file","filePath":"plugins/notificationsExtension/withExtensionEntitlements.js","reasons":["expoConfigPlugins"],"hash":"ea5465982dd8ff2da09f18de58e8959866347d7e"},{"type":"file","filePath":"plugins/shareExtension/withAppEntitlements.js","reasons":["expoConfigPlugins"],"hash":"206452ca449ca1bdd7ece23b48d3dca266db2730"},{"type":"file","filePath":"plugins/shareExtension/withExtensionEntitlements.js","reasons":["expoConfigPlugins"],"hash":"de22f174aaddd0bacf8a39300c032cc72d0fe43d"},{"type":"file","filePath":"plugins/starterPackAppClipExtension/withAppEntitlements.js","reasons":["expoConfigPlugins"],"hash":"15ad58f26e60f2db2949cf124ca0faef6ec9bd8c"},{"type":"file","filePath":"plugins/starterPackAppClipExtension/withClipEntitlements.js","reasons":["expoConfigPlugins"],"hash":"9dd7fa27eb997c2625621394785f8c5551d362ce"},{"type":"dir","filePath":"modules/expo-background-notification-handler/ios","reasons":["expoAutolinkingIos"],"hash":"0d41246ffadb0207381c45ada5b3b32d31f236ac"},{"type":"dir","filePath":"modules/expo-bluesky-swiss-army/ios","reasons":["expoAutolinkingIos"],"hash":"6ec4c64e795da561e32c2a088dbf1a68174a62e6"},{"type":"contents","id":"expoConfig","contents":"{\"android\":{\"adaptiveIcon\":{\"backgroundColor\":\"#006AFF\",\"foregroundImage\":\"assets/icon-android-foreground.png\",\"monochromeImage\":\"assets/icon-android-monochrome.png\"},\"icon\":\"assets/app-icons/android_icon_default_next.png\",\"intentFilters\":[{\"action\":\"VIEW\",\"autoVerify\":true,\"category\":[\"BROWSABLE\",\"DEFAULT\"],\"data\":[{\"host\":\"bsky.app\",\"scheme\":\"https\"},{\"host\":\"localhost:19006\",\"scheme\":\"http\"}]}],\"package\":\"xyz.blueskyweb.app\",\"permissions\":[\"android.permission.ACCESS_COARSE_LOCATION\",\"android.permission.ACCESS_FINE_LOCATION\",\"android.permission.READ_CONTACTS\",\"android.permission.WRITE_CONTACTS\"]},\"androidNavigationBar\":{\"barStyle\":\"light-content\"},\"androidStatusBar\":{\"backgroundColor\":\"#006AFF\",\"barStyle\":\"light-content\"},\"extra\":{\"eas\":{\"build\":{\"experimental\":{\"ios\":{\"appExtensions\":[{\"bundleIdentifier\":\"xyz.blueskyweb.app.AppClip\",\"targetName\":\"BlueskyClip\"},{\"bundleIdentifier\":\"xyz.blueskyweb.app.BlueskyNSE\",\"entitlements\":{\"com.apple.security.application-groups\":[\"group.app.bsky\"]},\"targetName\":\"BlueskyNSE\"},{\"bundleIdentifier\":\"xyz.blueskyweb.app.Share-with-Bluesky\",\"entitlements\":{\"com.apple.security.application-groups\":[\"group.app.bsky\"]},\"targetName\":\"Share-with-Bluesky\"}]}}},\"projectId\":\"55bd077a-d905-4184-9c7f-94789ba0f302\"}},\"icon\":\"assets/app-icons/ios_icon_default_next.png\",\"ios\":{\"associatedDomains\":[\"appclips:bsky.app\",\"appclips:go.bsky.app\",\"applinks:bsky.app\",\"applinks:staging.bsky.app\"],\"bundleIdentifier\":\"xyz.blueskyweb.app\",\"config\":{\"usesNonExemptEncryption\":false},\"entitlements\":{\"com.apple.developer.declared-age-range\":true,\"com.apple.developer.kernel.extended-virtual-addressing\":true,\"com.apple.developer.kernel.increased-memory-limit\":true,\"com.apple.developer.usernotifications.communication\":true,\"com.apple.security.application-groups\":\"group.app.bsky\"},\"icon\":\"assets/app-icons/ios_icon_default_next.png\",\"infoPlist\":{\"CADisableMinimumFrameDurationOnPhone\":true,\"CFBundleLocalizations\":[\"an\",\"ast\",\"ca\",\"cs\",\"cy\",\"da\",\"de\",\"el\",\"en\",\"eo\",\"es\",\"eu\",\"fi\",\"fr\",\"fy\",\"ga\",\"gd\",\"gl\",\"hi\",\"hu\",\"ia\",\"id\",\"it\",\"ja\",\"km\",\"ko\",\"ne\",\"nl\",\"pl\",\"pt-BR\",\"pt-PT\",\"ro\",\"ru\",\"sv\",\"th\",\"tr\",\"uk\",\"vi\",\"yue\",\"zh-Hans\",\"zh-Hant\"],\"CFBundleSpokenName\":\"Blue Sky\",\"NSCameraUsageDescription\":\"Used for profile pictures, posts, and other kinds of content.\",\"NSMicrophoneUsageDescription\":\"Used for posts and other kinds of content.\",\"NSPhotoLibraryAddUsageDescription\":\"Used to save images to your library.\",\"NSPhotoLibraryUsageDescription\":\"Used for profile pictures, posts, and other kinds of content\",\"NSUserActivityTypes\":[\"INSendMessageIntent\"],\"UIBackgroundModes\":[\"remote-notification\"]},\"privacyManifests\":{\"NSPrivacyAccessedAPITypes\":[{\"NSPrivacyAccessedAPIType\":\"NSPrivacyAccessedAPICategoryDiskSpace\",\"NSPrivacyAccessedAPITypeReasons\":[\"85F4.1\",\"E174.1\"]},{\"NSPrivacyAccessedAPIType\":\"NSPrivacyAccessedAPICategoryFileTimestamp\",\"NSPrivacyAccessedAPITypeReasons\":[\"0A2A.1\",\"3B52.1\",\"C617.1\"]},{\"NSPrivacyAccessedAPIType\":\"NSPrivacyAccessedAPICategorySystemBootTime\",\"NSPrivacyAccessedAPITypeReasons\":[\"35F9.1\"]},{\"NSPrivacyAccessedAPIType\":\"NSPrivacyAccessedAPICategoryUserDefaults\",\"NSPrivacyAccessedAPITypeReasons\":[\"1C8F.1\",\"CA92.1\"]}],\"NSPrivacyCollectedDataTypes\":[{\"NSPrivacyCollectedDataType\":\"NSPrivacyCollectedDataTypeCrashData\",\"NSPrivacyCollectedDataTypeLinked\":false,\"NSPrivacyCollectedDataTypePurposes\":[\"NSPrivacyCollectedDataTypePurposeAppFunctionality\"],\"NSPrivacyCollectedDataTypeTracking\":false},{\"NSPrivacyCollectedDataType\":\"NSPrivacyCollectedDataTypeOtherDiagnosticData\",\"NSPrivacyCollectedDataTypeLinked\":false,\"NSPrivacyCollectedDataTypePurposes\":[\"NSPrivacyCollectedDataTypePurposeAppFunctionality\"],\"NSPrivacyCollectedDataTypeTracking\":false},{\"NSPrivacyCollectedDataType\":\"NSPrivacyCollectedDataTypePerformanceData\",\"NSPrivacyCollectedDataTypeLinked\":false,\"NSPrivacyCollectedDataTypePurposes\":[\"NSPrivacyCollectedDataTypePurposeAppFunctionality\"],\"NSPrivacyCollectedDataTypeTracking\":false}]},\"supportsTablet\":false},\"name\":\"Bluesky\",\"newArchEnabled\":false,\"owner\":\"blueskysocial\",\"platforms\":[\"android\",\"ios\",\"web\"],\"plugins\":[\"expo-localization\",\"expo-video\",\"expo-web-browser\",\"plugins/notificationsExtension/withNotificationsExtension.js\",\"plugins/shareExtension/withShareExtensions.js\",\"plugins/starterPackAppClipExtension/withStarterPackAppClip.js\",\"plugins/withAndroidManifestFCMIconPlugin.js\",\"plugins/withAndroidManifestIntentQueriesPlugin.js\",\"plugins/withAndroidManifestLargeHeapPlugin.js\",\"plugins/withAndroidNoJitpackPlugin.js\",\"plugins/withAndroidStylesAccentColorPlugin.js\",\"plugins/withGradleJVMHeapSizeIncrease.js\",\"react-native-compressor\",[\"@bitdrift/react-native\",{\"networkInstrumentation\":true}],[\"@bsky.app/expo-dynamic-app-icon\",{\"core_aurora\":{\"android\":\"assets/app-icons/android_icon_core_aurora.png\",\"ios\":\"assets/app-icons/ios_icon_core_aurora.png\",\"prerendered\":true},\"core_bonfire\":{\"android\":\"assets/app-icons/android_icon_core_bonfire.png\",\"ios\":\"assets/app-icons/ios_icon_core_bonfire.png\",\"prerendered\":true},\"core_classic\":{\"android\":\"assets/app-icons/android_icon_core_classic.png\",\"ios\":\"assets/app-icons/ios_icon_core_classic.png\",\"prerendered\":true},\"core_flat_black\":{\"android\":\"assets/app-icons/android_icon_core_flat_black.png\",\"ios\":\"assets/app-icons/ios_icon_core_flat_black.png\",\"prerendered\":true},\"core_flat_blue\":{\"android\":\"assets/app-icons/android_icon_core_flat_blue.png\",\"ios\":\"assets/app-icons/ios_icon_core_flat_blue.png\",\"prerendered\":true},\"core_flat_white\":{\"android\":\"assets/app-icons/android_icon_core_flat_white.png\",\"ios\":\"assets/app-icons/ios_icon_core_flat_white.png\",\"prerendered\":true},\"core_midnight\":{\"android\":\"assets/app-icons/android_icon_core_midnight.png\",\"ios\":\"assets/app-icons/ios_icon_core_midnight.png\",\"prerendered\":true},\"core_sunrise\":{\"android\":\"assets/app-icons/android_icon_core_sunrise.png\",\"ios\":\"assets/app-icons/ios_icon_core_sunrise.png\",\"prerendered\":true},\"core_sunset\":{\"android\":\"assets/app-icons/android_icon_core_sunset.png\",\"ios\":\"assets/app-icons/ios_icon_core_sunset.png\",\"prerendered\":true},\"default_dark\":{\"android\":\"assets/app-icons/android_icon_legacy_dark.png\",\"ios\":\"assets/app-icons/ios_icon_legacy_dark.png\",\"prerendered\":true},\"default_light\":{\"android\":\"assets/app-icons/android_icon_legacy_light.png\",\"ios\":\"assets/app-icons/ios_icon_legacy_light.png\",\"prerendered\":true}}],[\"expo-build-properties\",{\"android\":{\"buildReactNativeFromSource\":false,\"buildToolsVersion\":\"35.0.0\",\"compileSdkVersion\":36,\"targetSdkVersion\":35},\"ios\":{\"buildReactNativeFromSource\":true,\"ccacheEnabled\":true,\"cxxLanguageStandard\":\"c++23\",\"deploymentTarget\":\"15.1\",\"extraPods\":[{\"branch\":\"main\",\"git\":\"https://github.com/bluesky-social/MCEmojiPicker.git\",\"name\":\"MCEmojiPicker\"}]}}],[\"expo-contacts\",{\"contactsPermission\":\"I agree to allow Bluesky to use my contacts for friend discovery until I opt out.\"}],[\"expo-font\",{\"fonts\":[\"assets/fonts/inter/Inter-Bold.otf\",\"assets/fonts/inter/Inter-BoldItalic.otf\",\"assets/fonts/inter/Inter-Italic.otf\",\"assets/fonts/inter/Inter-Medium.otf\",\"assets/fonts/inter/Inter-MediumItalic.otf\",\"assets/fonts/inter/Inter-Regular.otf\",\"assets/fonts/inter/Inter-SemiBold.otf\",\"assets/fonts/inter/Inter-SemiBoldItalic.otf\",\"assets/fonts/inter/InterVariable-Italic.woff2\",\"assets/fonts/inter/InterVariable.woff2\"]}],[\"expo-location\"],[\"expo-notifications\",{\"color\":\"#1185fe\",\"icon\":\"assets/icon-android-notification.png\",\"sounds\":[\"assets/dm.mp3\"]}],[\"expo-screen-orientation\",{\"initialOrientation\":\"PORTRAIT_UP\"}],[\"expo-splash-screen\",{\"android\":{\"backgroundColor\":\"#006AFF\",\"dark\":{\"backgroundColor\":\"#002861\",\"image\":\"assets/splash/android-splash-logo-white.png\",\"imageWidth\":102},\"image\":\"assets/splash/android-splash-logo-white.png\",\"imageWidth\":102},\"ios\":{\"backgroundColor\":\"#006AFF\",\"dark\":{\"backgroundColor\":\"#002861\",\"enableFullScreenImage_legacy\":true,\"image\":\"assets/splash/splash-dark.png\",\"resizeMode\":\"cover\"},\"enableFullScreenImage_legacy\":true,\"image\":\"assets/splash/splash.png\",\"resizeMode\":\"cover\"}}],[\"react-native-edge-to-edge\",{\"android\":{\"enforceNavigationBarContrast\":false}}]],\"primaryColor\":\"#006AFF\",\"runtimeVersion\":{\"policy\":\"appVersion\"},\"scheme\":\"bluesky\",\"sdkVersion\":\"54.0.0\",\"slug\":\"bluesky\",\"updates\":{\"checkAutomatically\":\"NEVER\",\"enabled\":false,\"fallbackToCacheTimeout\":30000,\"url\":\"https://updates.bsky.app/manifest\"},\"userInterfaceStyle\":\"automatic\",\"version\":\"1.127.0\",\"web\":{\"favicon\":\"assets/favicon.png\"}}","reasons":["expoConfig"],"hash":"211db331424a26d941bb814ff4774f6122bad1e8"},{"type":"contents","id":"packageJson:scripts","contents":"{\"prepare\":\"is-ci || husky\",\"postinstall\":\"pnpm intl:compile-if-needed\",\"prebuild\":\"EXPO_NO_GIT_STATUS=1 expo prebuild --clean\",\"android:prod\":\"expo run:android --variant release\",\"android:profile\":\"BSKY_PROFILE=1 expo run:android --variant release\",\"web\":\"expo start --web\",\"use-build-number\":\"./scripts/useBuildNumberEnv.sh\",\"use-build-number-with-bump\":\"./scripts/useBuildNumberEnvWithBump.sh\",\"build-web\":\"expo export:web && node ./scripts/post-web-build.js\",\"build-all\":\"pnpm intl:build && pnpm use-build-number-with-bump eas build --platform all\",\"build-ios\":\"pnpm use-build-number-with-bump eas build -p ios\",\"build-android\":\"pnpm use-build-number-with-bump eas build -p android\",\"build\":\"pnpm use-build-number-with-bump eas build\",\"build-embed\":\"cd bskyembed && pnpm build && pnpm build-snippet && cd .. && node ./scripts/post-embed-build.js\",\"start\":\"expo start --dev-client\",\"start:prod\":\"expo start --dev-client --no-dev --minify\",\"test\":\"NODE_ENV=test jest --forceExit --testTimeout=20000 --bail\",\"test-watch\":\"NODE_ENV=test jest --watchAll\",\"test-ci\":\"NODE_ENV=test jest --ci --forceExit --reporters=default --reporters=jest-junit\",\"test-coverage\":\"NODE_ENV=test jest --coverage\",\"lint\":\"eslint --cache --quiet src modules\",\"lint-native\":\"swiftlint ./modules && ktlint ./modules\",\"lint-native:fix\":\"swiftlint --fix ./modules && ktlint --format ./modules\",\"typecheck\":\"tsgo --project ./tsconfig.check.json\",\"e2e:mock-server\":\"cd dev-env && pnpm start\",\"e2e:build\":\"EXPO_PUBLIC_ENV=e2e NODE_ENV=test RN_SRC_EXT=e2e.ts,e2e.tsx expo run:ios\",\"e2e:build-android\":\"EXPO_PUBLIC_ENV=e2e NODE_ENV=test RN_SRC_EXT=e2e.ts,e2e.tsx expo run:android\",\"e2e:start\":\"EXPO_PUBLIC_ENV=e2e NODE_ENV=test RN_SRC_EXT=e2e.ts,e2e.tsx expo start -c\",\"e2e:run\":\"maestro test\",\"perf:test\":\"NODE_ENV=test maestro test\",\"perf:test:run\":\"NODE_ENV=test maestro test __e2e__/perf-test.yml\",\"perf:test:measure\":\"NODE_ENV=test flashlight test --bundleId xyz.blueskyweb.app --testCommand \\\"pnpm perf:test\\\" --duration 150000 --resultsFilePath .perf/results.json\",\"perf:test:results\":\"NODE_ENV=test flashlight report .perf/results.json\",\"perf:measure\":\"NODE_ENV=test flashlight measure\",\"intl:build\":\"pnpm intl:extract:all && pnpm intl:compile\",\"intl:extract\":\"lingui extract --clean --locale en\",\"intl:extract:all\":\"lingui extract --clean\",\"intl:compile\":\"lingui compile\",\"intl:compile-if-needed\":\"is-ci || [ -f src/locale/locales/en/messages.ts ] || pnpm intl:compile\",\"intl:pull\":\"crowdin download translations --verbose -b main\",\"intl:push\":\"crowdin push translations --verbose -b main\",\"intl:push-sources\":\"crowdin push sources --verbose -b main\",\"intl:release\":\"pnpm intl:pull && pnpm intl:extract:all\",\"nuke\":\"rm -rf ./node_modules && rm -rf ./ios && rm -rf ./android\",\"update-extensions\":\"bash scripts/updateExtensions.sh\",\"export\":\"expo export --dump-sourcemap && pnpm upload-native-sourcemaps\",\"upload-native-sourcemaps\":\"pnpm exec sentry-expo-upload-sourcemaps dist\",\"make-deploy-bundle\":\"bash scripts/bundleUpdate.sh\",\"generate-webpack-stats-file\":\"EXPO_PUBLIC_GENERATE_STATS=1 pnpm build-web\",\"open-analyzer\":\"EXPO_PUBLIC_OPEN_ANALYZER=1 pnpm build-web\",\"icons:optimize\":\"svgo -f ./assets/icons\",\"prettier\":\"prettier --check .\"}","reasons":["packageJson:scripts"],"hash":"a6db92b098509519166fad457804575c2638c7b6"}]

Generated by PR labeler 🤖

@github-actions

Copy link
Copy Markdown
Old size New size Diff
9.23 MB 9.23 MB -598 B (-0.01%)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants