Skip to content

Streams Management

Streams are hashtag feeds you monitor from the Fediverse. Each stream watches a specific hashtag on a specific instance and fetches posts periodically.

Creating a Stream

  1. Go to Streams page
  2. Click Create New Stream
  3. Enter:
  4. Hashtag: Name without # (e.g., python)
  5. Instance: Mastodon instance (default: mastodon.social)
  6. Active: Toggle to enable/disable
  7. Click Create

The stream will start fetching posts immediately.

Managing Streams

View Streams

The Streams page shows all streams with: - Stream name and instance - Active/inactive status - Post count - Last fetch time - Action buttons

Fetch Posts

Manual Fetch - Click Fetch on a stream - Fetches up to MAX_POSTS_PER_FETCH posts (default: 20) - Shows progress modal - Auto-rejects posts if blocked users/hashtags configured

Fetch All - Click Fetch All button - Fetches from all active streams simultaneously - Useful for bulk updates - Progress modal shows overall progress

Edit Stream

  1. Click Edit on a stream
  2. Modify:
  3. Active status
  4. Any other settings
  5. Click Save

Delete Stream

  1. Click Delete on a stream
  2. Confirm deletion
  3. Posts from this stream remain in database

Stream Details

Hashtag

The hashtag being monitored (without #). Posts with this hashtag will be fetched.

Instance

The Mastodon instance to monitor. Default is mastodon.social, but you can monitor any Mastodon-compatible instance.

Active

  • Enabled: Stream is monitored and posts are fetched
  • Disabled: Stream is paused; no new posts fetched

Post Count

Number of posts from this stream currently in the database.

Last Fetch

Timestamp of the most recent fetch for this stream.

Best Practices

Choose Relevant Hashtags

Pick hashtags that match your interests. Popular hashtags yield more content but may require more review effort.

Monitor Multiple Instances

Use different streams to monitor hashtags across instances: - #python on mastodon.social - #python on fosstodon.org - #python on techhub.social

Disable Inactive Streams

If a stream isn't producing quality content, disable it to reduce review burden.

Regular Fetching

Manually fetch periodically or set up automated fetching via the API for consistent content flow.

Topical Hashtags

To mark a hashtag as topical for a specific day (e.g. #caturday on Saturdays), use the Topical Tags page. Topical configuration lives there — not on individual streams.

Reblog Controls by Stream

In Settings, you can configure: - Don't Reblog Users: Block specific accounts - Don't Reblog Hashtags: Exclude posts with certain hashtags - Attachments-Only: Only export posts with media

These filters apply to all streams.

API Access

Manage streams programmatically:

# List streams
curl http://localhost:8000/api/v1/hashtags

# Create stream
curl -X POST http://localhost:8000/api/v1/hashtags \
  -H "Content-Type: application/json" \
  -d '{"hashtag":"python","instance":"mastodon.social","active":true}'

# Fetch posts for stream
curl -X POST http://localhost:8000/api/v1/hashtags/1/fetch?limit=20

# Update stream
curl -X PATCH http://localhost:8000/api/v1/hashtags/1 \
  -H "Content-Type: application/json" \
  -d '{"active":false}'

# Delete stream
curl -X DELETE http://localhost:8000/api/v1/hashtags/1

See Streams API Documentation for details.

Troubleshooting

Stream Not Fetching Posts

  • Check if the hashtag exists on the instance
  • Verify instance is reachable
  • Check logs for errors
  • Try fetching again manually

Too Many Spam Posts

  • Review filter settings
  • Add spam sources to "Don't Reblog Users"
  • Consider disabling the stream

Instance Connection Error

  • Verify instance URL is correct
  • Check network connectivity
  • Instance may be down; try again later

Next Steps