POSSE syndication, admin settings, and SEO config
Created by: jedmund
Summary
-
Config system: New
config.tswith DB-backed settings, env var fallback, and in-memory cache. All services migrated offprocess.envto usegetConfig(). -
POSSE syndication: Bluesky and Mastodon cross-posting on publish, with reply fetching and
SocialRepliescomponent on post pages. AT Protocol DID endpoint at/.well-known/atproto-did. - Admin settings page: 4-tab UI (General, SEO, Integrations, Syndication) with descriptive help text per field and "Test Connection" buttons for all external services.
-
SEO defaults: Meta tags in
metadata.tsare now overridable from DB settings via root layout server load, with hardcoded fallbacks.
Test plan
-
Visit /admin/settings, confirm all 4 tabs render with help text -
Save settings on each tab, reload, verify persistence -
Click Test Connection for each service with valid credentials -
Publish a post and verify syndication triggers to configured platforms -
Set SEO defaults in settings, confirm homepage <title>and OG tags update -
With no DB settings, verify hardcoded fallbacks still work