From 31184929543aae9aee21a4f857054daf3d1bc00c Mon Sep 17 00:00:00 2001 From: Marcus Pasell <3690498+rickyrombo@users.noreply.github.com> Date: Tue, 10 Mar 2026 19:28:07 -0700 Subject: [PATCH 1/4] Disable rate limits in local dev --- api/server.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/api/server.go b/api/server.go index 609de0a4..9995d81a 100644 --- a/api/server.go +++ b/api/server.go @@ -208,7 +208,8 @@ func NewApiServer(config config.Config) *ApiServer { // Initialize metrics collector if writePool is available var metricsCollector *MetricsCollector var rateLimitMiddleware *RateLimitMiddleware - if writePool != nil && config.Env != "test" { + isLocalDev := config.Env == "dev" || config.Env == "development" + if writePool != nil && config.Env != "test" && !isLocalDev { metricsCollector = NewMetricsCollector(logger, writePool) rateLimitMiddleware = NewRateLimitMiddleware(logger, writePool) } From 2a45b9e89962e17df0715a46816a72dbead98acc Mon Sep 17 00:00:00 2001 From: Copilot <198982749+Copilot@users.noreply.github.com> Date: Tue, 10 Mar 2026 19:44:38 -0700 Subject: [PATCH 2/4] Fix rate limiting not disabled when ENV is unset in local dev (#715) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit `isLocalDev` only checked for `"dev"` and `"development"`, but `config/config.go` treats `ENV=""` identically (same switch fallthrough). With `ENV` unset, rate limiting remained enabled despite the local dev intent. ## Changes - **`api/server.go`**: Add `config.Env == ""` to `isLocalDev` to match `config.go` semantics: ```go // Before isLocalDev := config.Env == "dev" || config.Env == "development" // After isLocalDev := config.Env == "dev" || config.Env == "development" || config.Env == "" ``` --- ✨ Let Copilot coding agent [set things up for you](https://github.com/AudiusProject/api/issues/new?title=✨+Set+up+Copilot+instructions&body=Configure%20instructions%20for%20this%20repository%20as%20documented%20in%20%5BBest%20practices%20for%20Copilot%20coding%20agent%20in%20your%20repository%5D%28https://gh.io/copilot-coding-agent-tips%29%2E%0A%0A%3COnboard%20this%20repo%3E&assignees=copilot) — coding agent works faster and does higher quality work when set up for your repo. --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: rickyrombo <3690498+rickyrombo@users.noreply.github.com> --- api/server.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/api/server.go b/api/server.go index 9995d81a..769316be 100644 --- a/api/server.go +++ b/api/server.go @@ -208,7 +208,7 @@ func NewApiServer(config config.Config) *ApiServer { // Initialize metrics collector if writePool is available var metricsCollector *MetricsCollector var rateLimitMiddleware *RateLimitMiddleware - isLocalDev := config.Env == "dev" || config.Env == "development" + isLocalDev := config.Env == "dev" || config.Env == "development" || config.Env == "" if writePool != nil && config.Env != "test" && !isLocalDev { metricsCollector = NewMetricsCollector(logger, writePool) rateLimitMiddleware = NewRateLimitMiddleware(logger, writePool) From c0ffaa140eb85c19cec6c0523d1700f51f247de0 Mon Sep 17 00:00:00 2001 From: Copilot <198982749+Copilot@users.noreply.github.com> Date: Tue, 10 Mar 2026 19:48:38 -0700 Subject: [PATCH 3/4] Keep MetricsCollector enabled in local dev; only disable RateLimitMiddleware (#716) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The previous change mistakenly disabled both `metricsCollector` and `rateLimitMiddleware` in local dev environments. Only rate limiting should be skipped in local dev. ## Changes - **`api/server.go`**: Split the single initialization guard into two separate conditions: - `metricsCollector` — gated on `writePool != nil && config.Env != "test"` (enabled in local dev) - `rateLimitMiddleware` — additionally gated on `!isLocalDev` (disabled in local dev) ```go if writePool != nil && config.Env != "test" { metricsCollector = NewMetricsCollector(logger, writePool) if !isLocalDev { rateLimitMiddleware = NewRateLimitMiddleware(logger, writePool) } } ``` --- 💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more [Copilot coding agent tips](https://gh.io/copilot-coding-agent-tips) in the docs. --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: rickyrombo <3690498+rickyrombo@users.noreply.github.com> --- api/server.go | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/api/server.go b/api/server.go index 769316be..aeac8a83 100644 --- a/api/server.go +++ b/api/server.go @@ -208,10 +208,12 @@ func NewApiServer(config config.Config) *ApiServer { // Initialize metrics collector if writePool is available var metricsCollector *MetricsCollector var rateLimitMiddleware *RateLimitMiddleware - isLocalDev := config.Env == "dev" || config.Env == "development" || config.Env == "" - if writePool != nil && config.Env != "test" && !isLocalDev { + if writePool != nil && config.Env != "test" { metricsCollector = NewMetricsCollector(logger, writePool) - rateLimitMiddleware = NewRateLimitMiddleware(logger, writePool) + isLocalDev := config.Env == "dev" || config.Env == "development" || config.Env == "" + if !isLocalDev { + rateLimitMiddleware = NewRateLimitMiddleware(logger, writePool) + } } commsRpcProcessor, err := comms.NewProcessor(pool, writePool, &config, logger) From c8c42154ab9ffe9de1d218aeb7f9d9239b3350d7 Mon Sep 17 00:00:00 2001 From: Marcus Pasell <3690498+rickyrombo@users.noreply.github.com> Date: Tue, 10 Mar 2026 23:02:43 -0700 Subject: [PATCH 4/4] gofmt --- api/server.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/api/server.go b/api/server.go index aeac8a83..22fa334f 100644 --- a/api/server.go +++ b/api/server.go @@ -210,7 +210,7 @@ func NewApiServer(config config.Config) *ApiServer { var rateLimitMiddleware *RateLimitMiddleware if writePool != nil && config.Env != "test" { metricsCollector = NewMetricsCollector(logger, writePool) - isLocalDev := config.Env == "dev" || config.Env == "development" || config.Env == "" + isLocalDev := config.Env == "dev" || config.Env == "development" || config.Env == "" if !isLocalDev { rateLimitMiddleware = NewRateLimitMiddleware(logger, writePool) }