Received: from mail.netlandish.com (mail.netlandish.com [174.136.98.166]) by code.netlandish.com (Postfix) with ESMTP id E281311B4 for <~netlandish/links-dev@lists.code.netlandish.com>; Fri, 05 Sep 2025 19:56:27 +0000 (UTC) Received-SPF: Pass (mailfrom) identity=mailfrom; client-ip=209.85.222.44; helo=mail-ua1-f44.google.com; envelope-from=peter@netlandish.com; receiver= Authentication-Results: mail.netlandish.com; dkim=pass (1024-bit key; unprotected) header.d=netlandish.com header.i=@netlandish.com header.b=I8lGermQ Received: from mail-ua1-f44.google.com (mail-ua1-f44.google.com [209.85.222.44]) by mail.netlandish.com (Postfix) with ESMTP id 105B51D817E for <~netlandish/links-dev@lists.code.netlandish.com>; Fri, 05 Sep 2025 19:57:28 +0000 (UTC) Received: by mail-ua1-f44.google.com with SMTP id a1e0cc1a2514c-8960a3fb405so2837898241.1 for <~netlandish/links-dev@lists.code.netlandish.com>; Fri, 05 Sep 2025 12:57:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=netlandish.com; s=google; t=1757102247; x=1757707047; darn=lists.code.netlandish.com; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=ONCZnT0Iq4Ng07c5Uc+2zcLVBwOWW05Z2GsNXqDkJyc=; b=I8lGermQ3M0y/YeksTRcg3fb1FfOpH+GTIgsEkQ6XrYAG8c0N+wqw+8Bgx0txWLxV9 7mCQPVcU+UCQ9C+zajVAzI6InRcNF7bj8AdWegE3oaGTmFRK6Fpxg3RHKNDZTWNJX7uB 1pUm44lkBVDS3WdeSgZaW1ecEc07VN3Z1ys5k= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1757102247; x=1757707047; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=ONCZnT0Iq4Ng07c5Uc+2zcLVBwOWW05Z2GsNXqDkJyc=; b=tHRknK6MAPoqrlGUX8cxyYCrt00HNvrlFff2E93TqBdj/1yRak/Dy6e08QzccqaXdi 5a2aoGMvUGDUBDz5g2UDP1DBrFbyLnL+jCt09NvHX+VChE9GQi0/ba4TwHlVVd+h4PGA TwyRfLr4VKDmm9FvReeyEwdRT+yAeV+riaMzK1XWRXpKUGt3Mc0bUwdwlD4xr4q4ZHU9 TrYn4UYQBIERadDbahfKyZ3FAfUgc6A/qzLehOZ9GcsXhYNKN4mSSP03fEmSqtu3k0VZ WvE63cWu3tslFlInO+w1zNbmK4SxRENUQn4gtDioEJQHp6PfB7ndZ8RRnVP8znyA9Whi mQUw== X-Gm-Message-State: AOJu0Yx/zAA2TtGPlZK7Fba0jxhgdSfstLNBakdeJmzyJ7wtwcq8Qtir cIhfYamp+mbzpAHC3rAJbUfv6WPrGaRYAkFion1W995CzHy6mnrf6RW01oi1Rb7Dctt8dNMHEC1 t2uWd8C8= X-Gm-Gg: ASbGnctkeZqUgsvaxssg+/HlROLJMZB89CbaDfDR6v/xQKfq0H2O9syLDdS5oJN9dYf 1tthydC8zMakFegj0yum61KHO23f2iD8iv+fN0ETOjBtmQrejlC3d/ueC9wOecLM1WTsWBzjhJq yfKuvIEPY77UUl7uGE9IUub/QVAvdrj5fTeuHZn6M+DMxLcS51lXUhZb5Nz8JWklZX0B4n0wJ8m p42p4bwt1Lk382PYQ7c+oa7xjgpheIrQhtSCDRYV4c45qYhJU42R+yHT8nOP2b9SmfJ/iLg64rh UryZ5iBD7uDhj4YY4gPUVeXPCEukvlfccwy94Gxxj7sKh3PjAllUAMXGS+TO2nsp92/LbZU9fwJ x2A+Q1a96AC9L+T0YQNP+zQ== X-Google-Smtp-Source: AGHT+IFkzZviuV0wEsFy4jHkB//wKmWLqkZ9C0NT5Js0IVRmg5+EaJmWmCSHKrrhe+tM13XYGnXrCQ== X-Received: by 2002:a05:6122:3d0a:b0:53c:6d68:1d39 with SMTP id 71dfb90a1353d-545f0fc949fmr1891848e0c.8.1757102247434; Fri, 05 Sep 2025 12:57:27 -0700 (PDT) Received: from localhost ([2803:2d60:1118:5ee:2e6f:b4b:d414:d618]) by smtp.gmail.com with UTF8SMTPSA id 71dfb90a1353d-544912fdff1sm9891662e0c.10.2025.09.05.12.57.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 05 Sep 2025 12:57:27 -0700 (PDT) From: Peter Sanchez To: ~netlandish/links-dev@lists.code.netlandish.com Cc: Peter Sanchez Subject: [PATCH links] More edge case bug fixes Date: Fri, 5 Sep 2025 13:57:21 -0600 Message-ID: <20250905195724.7381-1-peter@netlandish.com> X-Mailer: git-send-email 2.49.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit --- admin/middleware.go | 2 +- core/routes.go | 4 ++-- helpers.go | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/admin/middleware.go b/admin/middleware.go index a6b19ee..3de32a3 100644 --- a/admin/middleware.go +++ b/admin/middleware.go @@ -12,7 +12,7 @@ func superUserRequierd() echo.MiddlewareFunc { return func(next echo.HandlerFunc) echo.HandlerFunc { return func(c echo.Context) error { gctx := c.(*server.Context) - if gctx.User.IsSuperUser() { + if gctx.User != nil && gctx.User.IsSuperUser() { return next(c) } return echo.NotFoundHandler(c) diff --git a/core/routes.go b/core/routes.go index 39a13f6..2c2cf09 100644 --- a/core/routes.go +++ b/core/routes.go @@ -148,7 +148,7 @@ func (s *Service) Homepage(c echo.Context) error { } gctx := c.(*server.Context) - if gctx.User.IsAuthenticated() { + if gctx.User != nil && gctx.User.IsAuthenticated() { // Redirect logged in users to their home feed return c.Redirect(http.StatusFound, c.Echo().Reverse(s.RouteName("home_link_list"))) } @@ -3702,7 +3702,7 @@ func (s *Service) NoteDetail(c echo.Context) error { "pd": pd, "link": link, "IsPrivate": link.IsPrivate(), - "IsAuth": gctx.User.IsAuthenticated(), + "IsAuth": gctx.User != nil && gctx.User.IsAuthenticated(), "navFlag": "notes", "seoData": seoData, } diff --git a/helpers.go b/helpers.go index 3a860bc..82f5143 100644 --- a/helpers.go +++ b/helpers.go @@ -1237,7 +1237,7 @@ func StripURLFragment(furl string) string { func TagAbuseRedirect(c echo.Context) error { gctx := c.(*server.Context) tags := c.QueryParam("tag") - if !gctx.User.IsAuthenticated() && tags != "" { + if (gctx.User == nil || !gctx.User.IsAuthenticated()) && tags != "" { ntags := strings.Split(tags, ",") if len(ntags) > 2 { lt := localizer.GetSessionLocalizer(c) -- 2.49.1