From 92fd9ed0bc256cb95ef100df30a53806247499e3 Mon Sep 17 00:00:00 2001 From: mooff Date: Fri, 3 Dec 2021 14:59:34 +0000 Subject: [PATCH] Auto redirect if the new URL just adds a trailing slash (#271) --- display/handlers.go | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/display/handlers.go b/display/handlers.go index bee5da0..13460f4 100644 --- a/display/handlers.go +++ b/display/handlers.go @@ -380,9 +380,10 @@ func handleURL(t *tab, u string, numRedirects int) (string, bool) { return ret("", false) } redir := parsed.ResolveReference(parsedMeta).String() + justAddsSlash := (redir == u+"/") // Prompt before redirecting to non-Gemini protocol redirect := false - if !strings.HasPrefix(redir, "gemini") { + if !justAddsSlash && !strings.HasPrefix(redir, "gemini") { if YesNo("Follow redirect to non-Gemini URL?\n" + redir) { redirect = true } else { @@ -390,7 +391,7 @@ func handleURL(t *tab, u string, numRedirects int) (string, bool) { } } // Prompt before redirecting - autoRedirect := viper.GetBool("a-general.auto_redirect") + autoRedirect := justAddsSlash || viper.GetBool("a-general.auto_redirect") if redirect || (autoRedirect && numRedirects < 5) || YesNo("Follow redirect?\n"+redir) { if res.Status == gemini.StatusRedirectPermanent { go cache.AddRedir(u, redir)