From 99af3a46741f58ba89b3a48cd9b1c548329c39ac Mon Sep 17 00:00:00 2001 From: syui Date: Thu, 4 Dec 2025 00:12:07 +0900 Subject: [PATCH] social-app patch --- install.zsh | 55 ++++++++----------------------- patching/disable-statsig-sdk.diff | 22 +++++++++++++ 2 files changed, 35 insertions(+), 42 deletions(-) create mode 100644 patching/disable-statsig-sdk.diff diff --git a/install.zsh b/install.zsh index 36a2d95..df07aee 100755 --- a/install.zsh +++ b/install.zsh @@ -106,6 +106,8 @@ function at-repos-social-app-avatar-write() { did_admin=did:plc:6qyecktefllvenje24fcxnie dt=$d/repos/social-app/src cd $dt + grep -R syu.is .|cut -d : -f 1|sort -u|xargs sed -i "s/syu.is/${host}/g" + grep -R web.syu.is .|cut -d : -f 1|sort -u|xargs sed -i "s/web.syu.is/web.${host}/g" f=$dt/lib/constants.ts sed -i "s#export const BSKY_SERVICE = 'https://bsky.social'#export const BSKY_SERVICE = 'https://${host}'#g" $f sed -i "s#export const BSKY_SERVICE_DID = 'did:web:bsky.social'#export const BSKY_SERVICE_DID = 'did:web:${host}'#g" $f @@ -113,51 +115,9 @@ function at-repos-social-app-avatar-write() { sed -i "s#export const PUBLIC_APPVIEW = 'https://api.bsky.app'#export const PUBLIC_APPVIEW = 'https://bsky.${host}'#g" $f sed -i "s#export const PUBLIC_APPVIEW_DID = 'did:web:api.bsky.app'#export const PUBLIC_APPVIEW_DID = 'did:web:bsky.${host}'#g" $f - # Disable external services (CORS fix) - f=$dt/state/geolocation/const.ts - curl -sL https://raw.githubusercontent.com/bluesky-social/social-app/refs/heads/main/src/state/geolocation/const.ts -o $f - cat > $f << 'GEOEOF' -import {type GeolocationStatus} from '#/state/geolocation/types' -import {BAPP_CONFIG_DEV_URL, IS_DEV} from '#/env' -import {type Device} from '#/storage' - -export const IPCC_URL = `https://bsky.app/ipcc` -// Disabled for self-hosted environment to avoid CORS errors -export const BAPP_CONFIG_URL_PROD = null -export const BAPP_CONFIG_URL = null -export const GEOLOCATION_CONFIG_URL = BAPP_CONFIG_URL - -export const DEFAULT_GEOLOCATION_CONFIG: Device['geolocation'] = { - countryCode: undefined, - regionCode: undefined, - ageRestrictedGeos: [], - ageBlockedGeos: [], - } - -export const DEFAULT_GEOLOCATION_STATUS: GeolocationStatus = { - countryCode: undefined, - regionCode: undefined, - isAgeRestrictedGeo: false, - isAgeBlockedGeo: false, - } -GEOEOF - - # Add null check to geolocation config.ts to prevent fetch(null) errors - f=$dt/state/geolocation/config.ts - curl -sL https://raw.githubusercontent.com/bluesky-social/social-app/refs/heads/main/src/state/geolocation/config.ts -o $f - # Add null check at the beginning of getGeolocationConfig function (after line with 'url: string,') - sed -i "s/): Promise {/): Promise {\n if (!url) return undefined/" $f - - # Disable Statsig (CORS fix) - f=$dt/lib/statsig/statsig.tsx - sed -i "s#api: 'https://events.bsky.app/v2'#api: '' // Disabled for self-hosted#g" $f - # Disable SDK initialization to prevent statsigapi.net connections - sed -i "s#const SDK_KEY = 'client-SXJakO39w9vIhl3D44u8UupyzFl4oZ2qPIkjwcvuPsV'#const SDK_KEY = '' // Disabled for self-hosted#g" $f - f=$dt/view/icons/Logotype.tsx o=$d/icons/Logotype.tsx cp -rf $o $f - f=$dt/view/com/util/UserAvatar.tsx curl -sL https://raw.githubusercontent.com/bluesky-social/social-app/refs/heads/main/src/view/com/util/UserAvatar.tsx -o $f sed -i "s#/img/avatar/plain/#https://cdn.web.syu.is/img/avatar/plain/#g" $f @@ -211,6 +171,16 @@ function at-repos-social-app-disable-external-services-patch() { popd } +function at-repos-social-app-statsig-patch() { + f=$d/repos/social-app/src/lib/statsig/statsig.tsx + p_=$d/patching/disable-statsig-sdk.diff + d_=$d/repos/social-app + echo "applying patch: under ${f} for ${p_}" + pushd ${d_} + patch -p1 < ${p_} + popd +} + function at-repos-social-app-dockerfile-yarn-timeout-patch() { f=$d/repos/social-app/Dockerfile p_=$d/patching/140-social-app-yarn-network-timeout.patch @@ -321,6 +291,7 @@ case "`cat /etc/hostname`" in at-repos-social-app-avatar-write at-repos-social-app-agent-patch at-repos-social-app-disable-external-services-patch + at-repos-social-app-statsig-patch at-repos-social-app-dockerfile-yarn-timeout-patch at-repos-atproto-service-bsky-api-patch at-repos-atproto-service-pds-index-patch diff --git a/patching/disable-statsig-sdk.diff b/patching/disable-statsig-sdk.diff new file mode 100644 index 0000000..869b4cd --- /dev/null +++ b/patching/disable-statsig-sdk.diff @@ -0,0 +1,22 @@ +diff --git a/src/lib/statsig/statsig.tsx b/src/lib/statsig/statsig.tsx +index 1234567..89abcdef 100644 +--- a/src/lib/statsig/statsig.tsx ++++ b/src/lib/statsig/statsig.tsx +@@ -266,6 +266,7 @@ export async function tryFetchGates( + } + + export function initialize() { ++ if (!SDK_KEY) return Promise.resolve() + return Statsig.initialize(SDK_KEY, null, createStatsigOptions([])) + } + +@@ -310,6 +311,9 @@ export function Provider({children}: {children: React.ReactNode}) { + return () => clearInterval(id) + }, [handleIntervalTick]) + ++ if (!SDK_KEY) { ++ return {children} ++ } + return ( + +