Commit Graph

6 Commits

Author SHA1 Message Date
jbrechtel 9e9124ecb0 Add podcast email field for RSS itunes:owner tag
Build and Deploy / build-and-deploy (push) Successful in 56s
Enables users to set a podcast contact email from the dashboard
settings. This email is included in the RSS feed as
itunes:owner/itunes:email, which podcast directories like Spotify
and Apple Podcasts require for indexing and verification.
2026-07-12 17:29:10 -04:00
jbrechtel 9011a00475 Fix dashboard failing to load episodes after RSS import
Build and Deploy / build-and-deploy (push) Successful in 52s
The root cause was that modernc.org/sqlite stores time.Time as strings
but cannot scan strings back into time.Time, causing ListEpisodes to
fail. Changed PublishedAt and CreatedAt in store structs from time.Time
to string, with format/parse handled at the application level.

Also fixed a secondary issue where the published_at format stored during
import had a duplicated timezone offset.
2026-07-12 16:17:51 -04:00
jbrechtel b179f57628 Slug-based RSS URLs and success flash messages
Build and Deploy / build-and-deploy (push) Successful in 45s
- Add podcast_slug to users with global uniqueness check
- RSS available at /rss/{slug} (path-based) with legacy ?slug= fallback
- Slug field in dashboard settings with validation (lowercase, hyphens)
- JS flash messages for success/error after form submissions
- Remove unused imports
2026-07-08 09:29:00 -04:00
jbrechtel d70ed1943f Add build script, AGENTS.md, fix formatting
Build and Deploy / build-and-deploy (push) Successful in 44s
- scripts/build: gofmt, go vet, go build, docker build
- AGENTS.md: agents must run ./scripts/build before committing
- Fix gofmt issues in handler/auth.go and store/store.go
2026-07-08 09:22:07 -04:00
jbrechtel 0861f7510b Per-user podcasts, file uploads, RSS images, Docker support
Build and Deploy / build-and-deploy (push) Failing after 13s
- Each user owns a podcast: podcast title/author/image on users table
- Episodes scoped by user_id with context-based auth
- Audio file upload replaces URL linking, served from /uploads/
- Podcast and per-episode images with itunes:image in RSS
- RSS per-user via ?user=N, dashboard shows user-specific feed URL
- Settings form for title + author + image per user
- Docker multi-stage build (golang:1.25-alpine / alpine:3.21)
- Removed PODSTALK_TITLE/AUTHOR env vars
2026-07-08 09:20:19 -04:00
jbrechtel 68c1f38b8d Initial commit
Build and Deploy / build-and-deploy (push) Failing after 36s
2026-07-07 21:58:39 -04:00