From b737357c606d37320dcf095241d18e862a3b2b08 Mon Sep 17 00:00:00 2001 From: Trey t Date: Tue, 16 Dec 2025 16:01:13 -0600 Subject: [PATCH] Remove AddTrailingSlash middleware that broke admin panel MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The AddTrailingSlash() Pre middleware was redirecting requests like /api/admin/users to /api/admin/users/, but admin routes were registered without trailing slashes, causing routes to not match (404/401 errors). Mobile API routes already have trailing slashes explicitly defined, so this middleware was unnecessary and caused conflicts. Also fix APNS_AUTH_KEY_PATH to use environment variable. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 --- docker-compose.yml | 2 +- internal/router/router.go | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index f077d53..bd9c3c4 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -77,7 +77,7 @@ services: EMAIL_USE_TLS: "${EMAIL_USE_TLS:-true}" # Push Notifications (Direct APNs/FCM - no Gorush) - APNS_AUTH_KEY_PATH: "/certs/apns_key.p8" + APNS_AUTH_KEY_PATH: ${APNS_AUTH_KEY_PATH} APNS_AUTH_KEY_ID: ${APNS_AUTH_KEY_ID} APNS_TEAM_ID: ${APNS_TEAM_ID} APNS_TOPIC: ${APNS_TOPIC:-com.example.casera} diff --git a/internal/router/router.go b/internal/router/router.go index 1e7a0d7..7b05fa1 100644 --- a/internal/router/router.go +++ b/internal/router/router.go @@ -50,8 +50,8 @@ func SetupRouter(deps *Dependencies) *echo.Echo { e.Validator = customvalidator.NewCustomValidator() e.HTTPErrorHandler = customHTTPErrorHandler - // Add trailing slash middleware (before other middleware) - e.Pre(middleware.AddTrailingSlash()) + // NOTE: Removed AddTrailingSlash() middleware - it conflicted with admin routes + // which don't use trailing slashes. Mobile API routes explicitly include trailing slashes. // Global middleware e.Use(utils.EchoRecovery())