The Upload That Vanished
During a large cPanel migration test, the upload finished and the page then came back blank, with no error and no new account. What happened The new upload…
Read more →Notes from building KNJ Panel, in the order it actually happened.
blog /blɒɡ/ noun — 1. A web log. 2. Here: a build log. What we built, what broke, and what we learned.
During a large cPanel migration test, the upload finished and the page then came back blank, with no error and no new account. What happened The new upload…
Read more →The upload limit fix from Phase 166 had to be applied by hand on the first server, which raised the question of how similar fixes would reach other…
Read more →Saving PHP Settings in WHM wrote the configuration correctly but returned a 502 to the browser, and the page then showed stale values. Cause The save reloaded PHP-FPM…
Read more →A migration test with a large cPanel backup failed partway through the upload, even though the feature advertises a 4GB limit. The cause The panel’s own web service…
Read more →Text boxes on several pages had text sitting right at the edge of the field. Rather than patch one page, we audited every form field in the view…
Read more →During readiness testing, we created a disposable account with one mailbox, confirmed DNS sync and mail delivery, then deleted it and checked that nothing was left behind. DNS…
Read more →Subscribers had real-time stats, but nothing pushed activity to the owner. Feedback asked for a daily email, sent to a chosen address at a chosen time, summarising a…
Read more →Shipping a proxy change surfaced a smaller issue: the generated web-server snippet for account sites was only rewritten when an admin saved Nginx Settings. Upgrading the panel did…
Read more →Visiting a customer domain’s /webmail redirected the browser to the panel’s own hostname. A white-label host should keep the customer’s own domain in the address bar. From redirect…
Read more →Feedback from running a multi-server stack led to three changes shipped together. phpMyAdmin: installed everywhere except where it mattered phpMyAdmin worked on the development server but was missing…
Read more →Deploy from Git had been tested against disposable domains and framework starters. This time we used it for a real Laravel application with a frontend build step, using…
Read more →A readiness test on a multi-server test install created an account for the panel’s own domain, attached it to the admin login, and added three mailboxes. Mail worked…
Read more →After fixing the “Attach to an existing login” uniqueness bug (Phase 156) and shipping it, a live re-test of the same form and mode gave a brand-new error:…
Read more →A live bug report: Create Account, with “Attach to an existing login” selected instead of “Create a new login,” failed every time with “The owner email has already…
Read more →v0.17.6 shipped to fix a confirmed bug: the mail transfer agent on an already-provisioned Mail Only satellite could not reach the mailbox server’s authentication service, because the stock…
Read more →Testing a single-server install had turned up fixes for one Roundcube bug and one mail-server plugin bug that week. The next report, outbound sending failing on a multi-server…
Read more →Testing webmail on a single-server install turned up a second, unrelated bug. Roundcube logged in fine, then showed random-looking “Internal error occurred” banners. The mail server’s own log…
Read more →The webmail failure turned out to be a compatibility clash between a bundled webmail component and a newer PHP release. The component ships a small helper written for…
Read more →With error capture enabled, the real error finally appeared: the bundled webmail component declares a helper function that newer PHP versions now provide natively, which stops the page…
Read more →While tracking down a webmail failure, we found that fatal errors from the webmail worker pool were not being captured anywhere. Earlier changes in this investigation had been…
Read more →