diff --git a/install.zsh b/install.zsh
index ba1c332..26e1dc6 100755
--- a/install.zsh
+++ b/install.zsh
@@ -72,11 +72,8 @@ typeset -a PATCH_FILES
PATCH_FILES=(
"170-pds-oauth-same-site-fix.patch"
"8980-social-app-disable-proxy.diff"
- "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"
"210-bgs-since-empty-fix.patch"
)
diff --git a/patching/152-indigo-newpds-dayper-limit-pr707.diff b/patching/152-indigo-newpds-dayper-limit-pr707.diff
deleted file mode 100644
index ca45186..0000000
--- a/patching/152-indigo-newpds-dayper-limit-pr707.diff
+++ /dev/null
@@ -1,106 +0,0 @@
-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 {
diff --git a/patching/190-bgs-disable-ratelimit.patch b/patching/190-bgs-disable-ratelimit.patch
deleted file mode 100644
index 1a6efae..0000000
--- a/patching/190-bgs-disable-ratelimit.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/bgs/fedmgr.go b/bgs/fedmgr.go
-index 2235c6e..e69de29 100644
---- a/bgs/fedmgr.go
-+++ b/bgs/fedmgr.go
-@@ -342,6 +342,7 @@ var ErrNewSubsDisabled = fmt.Errorf("new subscriptions temporarily disabled")
- // Checks whether a host is allowed to be subscribed to
- // must be called with the slurper lock held
- func (s *Slurper) canSlurpHost(host string) bool {
-+ return true
- // Check if we're over the limit for new PDSs today
- if !s.NewPDSPerDayLimiter.Allow() {
- return false
diff --git a/patching/210-bgs-since-empty-fix.patch b/patching/210-bgs-since-empty-fix.patch
index 501ba01..1353e78 100644
--- a/patching/210-bgs-since-empty-fix.patch
+++ b/patching/210-bgs-since-empty-fix.patch
@@ -1,26 +1,61 @@
-diff --git a/indexer/indexer.go b/indexer/indexer.go
-index e3c28ec1..66663de0 100644
---- a/indexer/indexer.go
-+++ b/indexer/indexer.go
-@@ -104,13 +104,20 @@ func (ix *Indexer) HandleRepoEvent(ctx context.Context, evt *repomgr.RepoEvent)
- toobig = true
+diff --git a/events/dbpersist/dbpersist.go b/events/dbpersist/dbpersist.go
+index 04e9fb87..5e47218e 100644
+--- a/events/dbpersist/dbpersist.go
++++ b/events/dbpersist/dbpersist.go
+@@ -306,6 +306,12 @@ func (p *DbPersistence) RecordFromRepoCommit(ctx context.Context, evt *comatprot
+ return nil, err
}
+ // Normalize empty string to nil for since field
-+ // Empty string fails TID validation on consumers
+ var since *string
+ if evt.Since != nil && *evt.Since != "" {
+ since = evt.Since
+ }
+
- ix.log.Debug("Sending event", "did", did)
- if err := ix.events.AddEvent(ctx, &events.XRPCStreamEvent{
- RepoCommit: &comatproto.SyncSubscribeRepos_Commit{
- Repo: did,
- Blocks: slice,
- Rev: evt.Rev,
-- Since: evt.Since,
-+ Since: since,
- Commit: lexutil.LexLink(evt.NewRoot),
- Time: time.Now().Format(util.ISO8601),
- Ops: outops,
+ rer := RepoEventRecord{
+ Commit: &models.DbCID{CID: cid.Cid(evt.Commit)},
+ //Prev
+@@ -315,7 +321,7 @@ func (p *DbPersistence) RecordFromRepoCommit(ctx context.Context, evt *comatprot
+ Time: t,
+ Rebase: evt.Rebase,
+ Rev: evt.Rev,
+- Since: evt.Since,
++ Since: since,
+ }
+
+ opsb, err := json.Marshal(evt.Ops)
+@@ -339,6 +345,12 @@ func (p *DbPersistence) RecordFromRepoSync(ctx context.Context, evt *comatproto.
+ return nil, err
+ }
+
++ // Normalize empty string to nil for since field
++ var since *string
++ if evt.Since != nil && *evt.Since != "" {
++ since = evt.Since
++ }
++
+ rer := RepoEventRecord{
+ Repo: uid,
+ Type: "repo_sync",
+@@ -555,6 +567,12 @@ func (p *DbPersistence) hydrateCommit(ctx context.Context, rer *RepoEventRecord)
+ return nil, err
+ }
+
++ // Normalize empty string to nil for since field
++ var since *string
++ if rer.Since != nil && *rer.Since != "" {
++ since = rer.Since
++ }
++
+ out := &comatproto.SyncSubscribeRepos_Commit{
+ Seq: int64(rer.Seq),
+ Repo: did,
+@@ -564,7 +582,7 @@ func (p *DbPersistence) hydrateCommit(ctx context.Context, rer *RepoEventRecord)
+ Rebase: rer.Rebase,
+ Ops: ops,
+ Rev: rer.Rev,
+- Since: rer.Since,
++ Since: since,
+ }
+
+ cs, err := p.readCarSlice(ctx, rer)
diff --git a/patching/disable-statsig-sdk.diff b/patching/disable-statsig-sdk.diff
deleted file mode 100644
index 869b4cd..0000000
--- a/patching/disable-statsig-sdk.diff
+++ /dev/null
@@ -1,22 +0,0 @@
-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 (
-
-