Octeth v5.7.3 Now Available! See What's New

Octeth v5.7.3: Stuck Campaign Detector and Reliability Improvements

Octeth v5.7.3 focuses on operational reliability with a new automated Stuck Campaign Detector that identifies and alerts you when campaigns stop progressing. This release also fixes critical journey email issues, adds important security enhancements, and improves campaign reporting UI. If you've ever had a campaign mysteriously stop sending, this update is for you.

Octeth Team

Email Marketing Experts

4 min read
Octeth v5.7.3: Stuck Campaign Detector and Reliability Improvements

We just released Octeth v5.7.3, and this one's all about operational reliability. If you've ever had a campaign mysteriously stop sending, or dealt with journey emails failing silently, this release is for you.

The Stuck Campaign Problem

Here's a scenario that's happened to all of us: you launch a campaign, it starts sending, and then... it just stops. The campaign status still says "Sending", but nothing's happening. You dig into the logs, check the workers, and realize something got stuck somewhere.

This is exactly the kind of problem that costs you time, damages deliverability, and frustrates your customers. So we built an automated system to detect and fix it.

Automated Stuck Campaign Detection

The new Stuck Campaign Detector runs every 5 minutes and automatically identifies campaigns that have stopped progressing. It checks for three specific conditions:

  1. No workers are processing pending batches
  2. All workers are silent (haven't checked in for over 60 seconds)
  3. Worker assignments are lost (batches show as "Working" but have no ProcessID)

When a stuck campaign is detected, you get a webhook notification immediately. The notification includes full campaign details, the reason it's stuck, and comes with HMAC-SHA256 signature support for security.

To prevent alert fatigue, there's a 30-minute cooldown between notifications for the same campaign. ### Managing Stuck Campaigns

The Admin UI now has a "Stuck Campaigns" filter that shows all campaigns that have stopped progressing. From there, you can:

  • Unstuck: Reset stuck batches to Pending status and let them resume
  • Mark as Failed: Cancel the campaign entirely if recovery isn't possible

Everything is logged in a new oempro_stuck_campaigns_log table, so you have a complete audit trail of what happened and how it was resolved.

Journey Email Reliability Fix

We fixed a critical bug that was causing journey emails to fail with "Reply-To email address is invalid" errors. The root cause was simple but annoying: trailing whitespace in email addresses.

If your journey action had "[email protected] " (note the space at the end), it would pass through fine until it hit email validation, then fail. Now we trim all email fields (From, Reply-To, CC, BCC) and validate them before sending. If a personalized Reply-To field returns an invalid email, we skip it entirely rather than failing the send.

This means your journey emails will be more reliable, and when something does fail, the error logs will tell you exactly what went wrong.

Security Improvements

Two security enhancements worth noting:

Password Change Protection: You now need to enter your current password before setting a new one. This prevents unauthorized password changes if someone gets access to your active session.

XSS Prevention: We added whitelist validation for the DatePreset parameter, which was a potential XSS vector. Only predefined safe values (like "today", "yesterday", "last7days") are accepted now.

Performance and Developer Tools

We added a composite index on the oempro_link_stats table to speed up link click deduplication queries. If you're running large campaigns, you'll notice faster reporting.

For developers, there are two new CLI commands:

# View MySQL slow query log
./cli/octeth.sh mysql:slow-log

# Reset all logs including daily error logs
./cli/octeth.sh logs:reset

The slow query log analyzer is particularly useful for identifying performance bottlenecks.

UI and UX Fixes

We cleaned up several rough edges in the campaign reporting interface:

  • Fixed chart overlap issues that made the "Scheduled" link unclickable
  • Removed the confusing "CREATE CAMPAIGN" button from admin views (admins shouldn't be creating campaigns)
  • Improved empty state messaging throughout
  • Made column widths better for Recipients/Delivered and Open/Click Rate metrics
  • Fixed subscription failures caused by invalid custom field values

What's Next

This release wraps up a focused sprint on operational reliability and security. The stuck campaign detector alone should save you hours of manual troubleshooting and prevent campaigns from failing silently.

Get Octeth v5.7.3

Existing Octeth clients can login to the Octeth Client Area and download the latest version.

If you're interested in learning more about Octeth or want to see it in action, fill in our contact form and we'll get back to you.

Share this article