diff --git a/install.zsh b/install.zsh index d5afe8e..81cbbff 100755 --- a/install.zsh +++ b/install.zsh @@ -54,10 +54,8 @@ function at-repos-env() { dport=5000 typeset -A PINNED_COMMITS - PINNED_COMMITS=( - [indigo]="d49b454196351c988ceb5ce1f5e21b689487b5ab" - [atproto]="104e6ed37b0589cc000109dc76316be35b2257e1" - ) + PINNED_COMMITS=() + #PINNED_COMMITS=( [indigo]="d49b454196351c988ceb5ce1f5e21b689487b5ab" [atproto]="104e6ed37b0589cc000109dc76316be35b2257e1") } # Arrays for patch management @@ -77,6 +75,7 @@ PATCH_FILES=( "disable-statsig-sdk.diff" "140-social-app-yarn-network-timeout.patch" "130-atproto-ozone-enable-daemon-v2.patch" + "152-indigo-newpds-dayper-limit-pr707.diff" "190-bgs-disable-ratelimit.patch" "200-feed-generator-custom.patch" ) @@ -266,14 +265,15 @@ function at-repos-patch-apply-all() { local repo="" # Determine repo from filename + # Note: check indigo/bgs BEFORE pds to avoid "newpds" matching "pds" if [[ $filename == *"social-app"* || $filename == *"statsig"* ]]; then repo="social-app" + elif [[ $filename == *"indigo"* || $filename == *"bgs"* ]]; then + repo="indigo" elif [[ $filename == *"atproto"* ]]; then repo="atproto" elif [[ $filename == *"pds"* ]]; then repo="atproto" - elif [[ $filename == *"indigo"* || $filename == *"bgs"* ]]; then - repo="indigo" elif [[ $filename == *"feed"* ]]; then repo="feed-generator" fi diff --git a/ios/patching/013-social-app-ios-settings-remove-help.patch b/ios/patching/013-social-app-ios-settings-remove-help.patch index 03ca178..1f43167 100644 --- a/ios/patching/013-social-app-ios-settings-remove-help.patch +++ b/ios/patching/013-social-app-ios-settings-remove-help.patch @@ -1,8 +1,8 @@ diff --git a/src/screens/Settings/Settings.tsx b/src/screens/Settings/Settings.tsx -index 6b0e184c0..42b609c9e 100644 +index 2fa5aa7de..3faf6a7b3 100644 --- a/src/screens/Settings/Settings.tsx +++ b/src/screens/Settings/Settings.tsx -@@ -203,24 +203,8 @@ export function SettingsScreen({}: Props) { +@@ -205,26 +205,8 @@ export function SettingsScreen({}: Props) { Notifications @@ -14,22 +14,24 @@ index 6b0e184c0..42b609c9e 100644 - Content and media - - -- {isNative && findContactsEnabled && ( -- -- -- -- Find friends from contacts -- -- -- )} -+{/* Content and media removed for syu.is */} -+{/* Find friends from contacts removed for syu.is */} +- {isNative && +- findContactsEnabled && +- !gate('disable_settings_find_contacts') && ( +- +- +- +- Find friends from contacts +- +- +- )} ++ {/* Content and media removed for syu.is */} ++ {/* Find friends from contacts removed for syu.is */} -@@ -245,16 +229,6 @@ export function SettingsScreen({}: Props) { +@@ -249,16 +231,6 @@ export function SettingsScreen({}: Props) { Languages diff --git a/ios/patching/037-social-app-ios-disable-contacts-nux.patch b/ios/patching/037-social-app-ios-disable-contacts-nux.patch index 0fddde3..521b60c 100644 --- a/ios/patching/037-social-app-ios-disable-contacts-nux.patch +++ b/ios/patching/037-social-app-ios-disable-contacts-nux.patch @@ -1,13 +1,13 @@ -diff --git a/src/components/dialogs/nuxs/index.tsx b/src/components/dialogs/nuxs/index.tsx +diff --git a/src/components/dialogs/nuxs/FindContactsAnnouncement.tsx b/src/components/dialogs/nuxs/FindContactsAnnouncement.tsx index 63e11a7f4..70fa993cf 100644 ---- a/src/components/dialogs/nuxs/index.tsx -+++ b/src/components/dialogs/nuxs/index.tsx -@@ -46,7 +46,7 @@ const queuedNuxs: { - enabled: ({currentProfile}) => { - return ( - isNative && -- isExistingUserAsOf('2025-12-16T00:00:00.000Z', currentProfile.createdAt) -+ isExistingUserAsOf('2099-12-16T00:00:00.000Z', currentProfile.createdAt) - ) - }, - }, +--- a/src/components/dialogs/nuxs/FindContactsAnnouncement.tsx ++++ b/src/components/dialogs/nuxs/FindContactsAnnouncement.tsx +@@ -25,7 +25,7 @@ export const enabled = createIsEnabledCheck(props => { + !IS_E2E && + isNative && + isExistingUserAsOf( +- '2025-12-16T00:00:00.000Z', ++ '2099-12-16T00:00:00.000Z', + props.currentProfile.createdAt, + ) && + isFindContactsFeatureEnabled(props.geolocation.countryCode) diff --git a/patching/152-indigo-newpds-dayper-limit-pr707.diff b/patching/152-indigo-newpds-dayper-limit-pr707.diff new file mode 100644 index 0000000..ca45186 --- /dev/null +++ b/patching/152-indigo-newpds-dayper-limit-pr707.diff @@ -0,0 +1,106 @@ +diff --git a/bgs/bgs.go b/bgs/bgs.go +index 35dfab9d..7e225f6c 100644 +--- a/bgs/bgs.go ++++ b/bgs/bgs.go +@@ -112,6 +112,7 @@ type BGSConfig struct { + DefaultRepoLimit int64 + ConcurrencyPerPDS int64 + MaxQueuePerPDS int64 ++ InitialNewPDSPerDayLimit int64 + NumCompactionWorkers int + } + +@@ -122,6 +123,7 @@ func DefaultBGSConfig() *BGSConfig { + DefaultRepoLimit: 100, + ConcurrencyPerPDS: 100, + MaxQueuePerPDS: 1_000, ++ InitialNewPDSPerDayLimit: 10, + NumCompactionWorkers: 2, + } + } +@@ -159,6 +161,7 @@ func NewBGS(db *gorm.DB, ix *indexer.Indexer, repoman *repomgr.RepoManager, evtm + slOpts.DefaultRepoLimit = config.DefaultRepoLimit + slOpts.ConcurrencyPerPDS = config.ConcurrencyPerPDS + slOpts.MaxQueuePerPDS = config.MaxQueuePerPDS ++ slOpts.DefaultNewPDSPerDayLimit = config.InitialNewPDSPerDayLimit + s, err := NewSlurper(db, bgs.handleFedEvent, slOpts) + if err != nil { + return nil, err +diff --git a/bgs/fedmgr.go b/bgs/fedmgr.go +index 42ce7407..9072ba05 100644 +--- a/bgs/fedmgr.go ++++ b/bgs/fedmgr.go +@@ -45,6 +45,7 @@ type Slurper struct { + MaxQueuePerPDS int64 + + NewPDSPerDayLimiter *slidingwindow.Limiter ++ initialNewPDSPerDayLimit int64 + + newSubsDisabled bool + trustedDomains []string +@@ -70,6 +71,7 @@ type SlurperOptions struct { + DefaultRepoLimit int64 + ConcurrencyPerPDS int64 + MaxQueuePerPDS int64 ++ DefaultNewPDSPerDayLimit int64 + } + + func DefaultSlurperOptions() *SlurperOptions { +@@ -82,6 +84,7 @@ func DefaultSlurperOptions() *SlurperOptions { + DefaultRepoLimit: 100, + ConcurrencyPerPDS: 100, + MaxQueuePerPDS: 1_000, ++ DefaultNewPDSPerDayLimit: 10, + } + } + +@@ -112,6 +115,7 @@ func NewSlurper(db *gorm.DB, cb IndexCallback, opts *SlurperOptions) (*Slurper, + ssl: opts.SSL, + shutdownChan: make(chan bool), + shutdownResult: make(chan []error), ++ initialNewPDSPerDayLimit: opts.DefaultNewPDSPerDayLimit, + } + if err := s.loadConfig(); err != nil { + return nil, err +@@ -224,13 +228,15 @@ func (s *Slurper) loadConfig() error { + } + + if sc.ID == 0 { +- if err := s.db.Create(&SlurpConfig{}).Error; err != nil { ++ sc.NewPDSPerDayLimit = s.initialNewPDSPerDayLimit ++ if err := s.db.Create(&SlurpConfig{ NewPDSPerDayLimit: s.initialNewPDSPerDayLimit, }).Error; err != nil { + return err + } + } + + s.newSubsDisabled = sc.NewSubsDisabled + s.trustedDomains = sc.TrustedDomains ++ s.initialNewPDSPerDayLimit = sc.NewPDSPerDayLimit + + s.NewPDSPerDayLimiter, _ = slidingwindow.NewLimiter(time.Hour*24, sc.NewPDSPerDayLimit, windowFunc) + +diff --git a/cmd/bigsky/main.go b/cmd/bigsky/main.go +index 540796f5..cb946aed 100644 +--- a/cmd/bigsky/main.go ++++ b/cmd/bigsky/main.go +@@ -195,6 +195,12 @@ func run(args []string) error { + EnvVars: []string{"RELAY_EVENT_PLAYBACK_TTL"}, + Value: 72 * time.Hour, + }, ++ &cli.Int64Flag{ ++ Name: "newpds-perday-limit", ++ EnvVars: []string{"RELAY_NEWPDS_PERDAY_LIMIT"}, ++ Value: 10, ++ Usage: "initial value for NewPDSPerDayLimit", ++ }, + &cli.IntFlag{ + Name: "num-compaction-workers", + EnvVars: []string{"RELAY_NUM_COMPACTION_WORKERS"}, +@@ -418,6 +424,7 @@ func runBigsky(cctx *cli.Context) error { + bgsConfig.ConcurrencyPerPDS = cctx.Int64("concurrency-per-pds") + bgsConfig.MaxQueuePerPDS = cctx.Int64("max-queue-per-pds") + bgsConfig.DefaultRepoLimit = cctx.Int64("default-repo-limit") ++ bgsConfig.InitialNewPDSPerDayLimit = cctx.Int64("newpds-perday-limit") + bgsConfig.NumCompactionWorkers = cctx.Int("num-compaction-workers") + bgs, err := libbgs.NewBGS(db, ix, repoman, evtman, cachedidr, rf, hr, bgsConfig) + if err != nil {