- Compatible XF 2.x versions
- 2.3
- Additional requirements
- PHP 7.4+
- License
- Single Use License (may be used on one website)
- Updates duration
- 1 year / $20 renewal
- Visible branding
- Yes, but removable without payment
Thread Split automatically splits long-running threads into numbered parts when post or page thresholds are reached, while keeping watchers, navigation, and reading position intact. Define a threshold once globally, override per forum, or override per thread. When a thread crosses the limit, a continuation thread is created, watchers and active readers are carried over, and a chain links every part together with prev/next navigation.
Features
Threshold-based auto-split
Important information:
We include a single copyright line that is shared across all of our add-ons and allow branding removal at no extra cost.
Features
Threshold-based auto-split
- Trigger split by post count or page count
- Three-tier cascade: global default -> per node configuration -> per-thread override
- Grace mode: wait N minutes of inactivity before splitting to avoids cutting an active conversation mid-flow
- Hard mode: split immediately when the threshold is crossed
- Numbered parts with configurable title template
- Chain menu with parts index and next / previous links
- Existing thread watchers migrated to the new part (configurable)
- Users currently viewing the old thread receive a "continued" alert with opt-out
- Templated continuation post auto-inserted into the new part
- Title template editable globally or per forum
- Choose what happens when a chain part is moved between forums:
- Detach the moved thread (default)
- Allow the chain to span forums
- Move the whole chain together
- Dedicated admin Thread split error log page under Logs, with filters by phase, chain, and date range
- Every deferred job (split execution, watcher migration, viewer alerts, parts-summary rebuild, whole-chain move) wraps failures with full context and writes them to the log
- Background cron detects stuck or orphaned pending splits, retries them once, and clears the queue automatically
- Old log entries auto-prune after 30 days; manual "Clear all" available
- Query-budgeted: zero queries on disabled forums and one batched query for forum listings regardless of size.
Code:
mc-threadsplit:show-chain <chain_id> — diagnostic dump for a chain (parts, post counts, watcher counts)
mc-threadsplit:cleanup-orphans — find and delete chain_thread rows pointing to non-existent threads, plus chains with zero members
mc-threadsplit:detach <thread_id> — detach a thread from its chain and renumber survivors
mc-threadsplit:dissolve <chain_id> — delete a chain entirely; member threads remain unchained
mc-threadsplit:relink <thread_id> <chain_id> <position> — attach an unchained thread to an existing chain at a given position
mc-threadsplit:renumber <chain_id> — recompute part_number 1..N ordered by first post date (idempotent)
Important information:
We include a single copyright line that is shared across all of our add-ons and allow branding removal at no extra cost.