Subscriptions & Settings
Per-podcast settings
Section titled “Per-podcast settings”Each podcast subscription has its own settings that override global defaults:
| Setting | Default | Description |
|---|---|---|
| Auto-download | Off | Automatically download new episodes when they appear |
| Download limit | None | Maximum episodes to keep downloaded (oldest deleted first) |
| Auto-add to queue | Off | Automatically add new episodes to your queue |
| Queue position | Last | Where new episodes are inserted: “Next” (front) or “Last” (back) |
| Notifications | Off | Get notified when new episodes are published |
| Playback speed | — | Per-podcast speed override (0.5–3.0x). Blank uses global default |
Episode filters
Section titled “Episode filters”Filters let you control which episodes are included when auto-downloading or auto-queuing:
- Episode types — Include only full episodes, trailers, bonus content, or any combination
- Minimum duration — Skip very short episodes (e.g., under 5 minutes)
- Maximum duration — Skip very long episodes (e.g., over 3 hours)
- Title exclusion — Skip episodes whose title matches specific keywords
Filters apply to auto-download and auto-queue actions. They don’t hide episodes from your library — you can always manually play or download any episode.
Downloads
Section titled “Downloads”Episodes can be downloaded for offline playback. Downloaded episodes are stored on the server and available to play without an internet connection to the podcast host.
Downloading an episode
Section titled “Downloading an episode”Select any episode and choose Download. The episode enters a download queue and is processed by the server in the background.
Download states:
| Status | Meaning |
|---|---|
| Queued | Waiting to be downloaded |
| Downloading | Currently being fetched from the host |
| Completed | Downloaded and available offline |
| Failed | Download failed (network error, etc.) |
Auto-download
Section titled “Auto-download”Enable auto-download on a subscription to automatically download new episodes as they appear. Combine with a download limit to cap storage — when the limit is reached, the oldest downloaded episodes are removed to make room.
Deleting downloads
Section titled “Deleting downloads”Delete a download to free storage space. This removes the local file but keeps the episode in your library — you can re-download it or stream it directly at any time.
Global listening preferences
Section titled “Global listening preferences”These settings apply across all podcasts unless overridden by a per-podcast setting:
| Preference | Default | Description |
|---|---|---|
| Default speed | 1.0x | Playback speed for all podcasts (0.5–3.0x) |
| Skip forward | 30s | Seconds to skip when pressing the forward button |
| Skip backward | 15s | Seconds to skip when pressing the back button |
| Trim silence | Off | Remove long pauses in speech |
| Volume boost | Off | Normalize audio levels |
| Continuous playback | On | Auto-play the next episode in your queue |
| Mark-played threshold | 90% | Percentage of an episode to listen to before marking as played |
| Audio proxy | On | Route audio through the server to hide your IP |
| Visible categories | All | Which podcast categories appear on the Discover tab |
Feed polling
Section titled “Feed polling”Dubby periodically checks your subscribed podcasts for new episodes. Polling intervals adapt based on how active each feed is:
| Feed activity | Poll interval |
|---|---|
| New subscription (first 24h) | 30 minutes |
| Active (episode in last 7d) | 1 hour |
| Moderate (episode in last 30d) | 6 hours |
| Dormant (no episode in 30d+) | 24 hours |
Failure handling
Section titled “Failure handling”When a feed check fails (network error, invalid RSS, host downtime), Dubby uses exponential backoff — doubling the interval with each consecutive failure, up to a maximum of 24 hours.
After 10 consecutive failures, a feed is marked as dead. Dead feeds are no longer polled automatically but remain in your library. If the podcast comes back online, an admin can manually refresh the feed to reactivate it.
Conditional requests
Section titled “Conditional requests”Dubby stores ETag and Last-Modified headers from each feed response. Subsequent polls send these back as conditional headers, so the podcast host can respond with 304 Not Modified when nothing has changed — saving bandwidth for both sides.
Feed states
Section titled “Feed states”| State | Meaning |
|---|---|
| Active | Feed is healthy and being polled on schedule |
| Paused | Polling is suspended (can be resumed manually) |
| Dead | Feed has failed 10+ times and is no longer polled |
Unsubscribing
Section titled “Unsubscribing”Unsubscribing from a podcast removes your subscription and per-podcast settings. The podcast and its episodes are removed from your library. Downloaded files are deleted. Your listening history (progress entries) is preserved.