I've had some problems with this extension. Chatted with @KBExit and decided to post here for other experts to review. I did the debugging, mostly with the assistance of AI. The AI created the following narrative for me. I hope it's not to much to absorb 😜
`# HTTP 500 / (Status 413) Payload Too Large — Detailed Reproduction and Troubleshooting
Summary
After installing Warble (which automatically installs flarum/realtime), I found a reproducible issue in which a regular member replying to a discussion created by the administrator receives an HTTP 500 response containing:
(Status 413) Payload too large.
The reply does not immediately appear because the browser reports an error. Refreshing the page reveals that the reply was successfully saved.
The issue occurs only while Realtime is enabled on my installation. If the administrator is completely signed out, the same regular member can successfully reply to that administrator-created discussion without error.
When Warble and Realtime are disabled, posting works normally, all discussions remain visible, and discussion reply counts display correctly.
Before posting, I spent considerable time isolating the issue. I tested user roles, discussion ownership, administrator connection state, multiple extensions, complete package removal and reinstallation, rotated Warble credentials, and both Flarum 2.0.0-rc.4 and rc.5. The findings below are intended to help determine whether this belongs in Warble, Realtime, or an interaction between the two.
Environment
- Flarum 2.0.0-rc.5
- PHP 8.3.31
- MariaDB 11.8.8
The exact same behavior also occurred on Flarum 2.0.0-rc.4.
Reproduction
The following reproduces the issue every time on my installation.
Prerequisites
- Warble enabled
- Realtime enabled
- Administrator logged into the forum
Steps
- Administrator creates a discussion.
- A regular member replies to that discussion.
- Browser receives HTTP 500.
- The response contains:
(Status 413) Payload too large.
- Refreshing the page reveals that the reply was successfully saved.
Administrator Session Test
This was the only test that changed the outcome without changing extensions or configuration.
After completely signing the administrator out and closing the administrator session:
- A regular member successfully replied to the same discussion originally created by the administrator.
- No HTTP 500 occurred.
- No
(Status 413) Payload too large. response occurred.
Based on my testing so far, the administrator's active session appears to be a required condition for the issue to occur on my installation.
Control Tests
The following tests were repeated multiple times.
| Test | Result |
| ----------------------------------------------------------------- | ---------------------------------------------- |
| Administrator replies to administrator-created discussion | ✅ Works |
| Regular member replies to administrator-created discussion | ❌ HTTP 500 / 413 (reply appears after refresh) |
| Regular member creates discussion, another regular member replies | ✅ Works |
| Regular member creates discussion, administrator replies | ✅ Works |
Troubleshooting Performed
To eliminate extension conflicts, I individually disabled or removed the following extensions while testing:
- SEO
- Formatting
- Upload
- Anti-Spam
- reCAPTCHA
- Approval
- Audit
I also temporarily removed my Webhooks extension.
None of these changed the behavior while Realtime remained enabled.
Separating Warble from Realtime
I disabled both Warble and Realtime.
With both disabled:
- regular member posting worked normally
- administrator-created discussions worked normally
- discussion reply counts displayed correctly
- all discussions were visible
- no posting errors occurred
I then enabled Realtime while leaving Warble disabled.
The issue immediately returned.
On my installation, every successful reproduction required Realtime to be enabled.
Complete Remove / Reinstall Test
To eliminate the possibility of a corrupted installation, I performed a complete remove/reinstall test.
I:
- disabled Warble
- disabled Realtime
- removed both Composer packages
- confirmed Warble, Realtime, and Pusher packages were no longer installed
- cleared the Flarum cache
With those packages absent:
- all posting worked normally
- administrator-created discussions worked normally
- discussion reply counts displayed correctly
- all discussions remained visible
I then performed a fresh installation using:
composer require linkrobins/flarum-warble
Warble automatically reinstalled Realtime.
I also:
- rotated the Warble credentials
- updated the new app key and app secret in
config.php
- cleared the Flarum cache
I immediately repeated the reproduction steps.
The exact same HTTP 500 / (Status 413) Payload too large. error returned.
Additional Observation
While Warble/Realtime were enabled, I consistently observed another symptom.
A logged-in regular member would sometimes see:
- incorrect discussion reply counts
- tagged discussions missing from the discussion list
Opening a discussion immediately displayed the correct reply count.
Returning to the discussion list then displayed the correct count.
Logging out restored the complete discussion list.
This behavior never occurred prior to installing Warble/Realtime.
Debug Information
With debug enabled, I captured the broadcast generated by:
Flarum\Post\Event\Posted
The serialized payload appeared to contain substantially more than the newly created reply, including discussion relationships, users, permissions, SEO metadata, GeoIP information, extension-provided attributes, and a large included section.
Immediately afterward the log recorded:
(Status 413) Payload too large.
Conclusion
At this point I have been unable to attribute the issue to:
- another extension
- a corrupted installation
- stale Warble credentials
- the original installation process
The issue remains reproducible after a complete remove/reinstall and appears only while Realtime is enabled on my installation.
If there are any additional logs, payloads, or tests that would help isolate the issue further, I'd be happy to provide them.
`