From 39714858e5fad5ca14aea27754e0414105a19fe6 Mon Sep 17 00:00:00 2001 From: primal Date: Wed, 28 Jan 2026 20:53:42 -0500 Subject: [PATCH] Fix subdomain length limit to match AT Protocol spec AT Protocol allows 63 characters per label, not 18. The previous limit was incorrectly truncating category names like "science-and-environment" and "entertainment-and-arts". Co-Authored-By: Claude Opus 4.5 --- publisher.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/publisher.go b/publisher.go index e1244a9..245f2c5 100644 --- a/publisher.go +++ b/publisher.go @@ -550,12 +550,12 @@ func stripHTML(s string) string { // DeriveHandleFromFeed generates an AT Protocol handle from a feed URL // Format: {domain}-{category}.1440.news -// The PDS limits subdomains to 18 characters, so we prioritize meaningful parts +// AT Protocol allows up to 63 characters per label // Examples: // feeds.bbci.co.uk/news/technology/rss.xml → bbc-technology.1440.news // news.ycombinator.com/rss → ycombinator.1440.news func DeriveHandleFromFeed(feedURL string) string { - const maxSubdomainLen = 18 + const maxSubdomainLen = 63 // Ensure we have a scheme for parsing if !strings.Contains(feedURL, "://") {