← Blog
How We Build

For a while, leaving the phone field blank broke our booking form. Here's what we got wrong.

Prospects who typed a phone number got a meeting. Prospects who skipped it got an error and no meeting. We fixed the wrong thing seven times before we looked in the right place.

Bench3 min read

The short version

  1. Leaving the phone field blank on our booking form caused an error before the request was sent.
  2. People who typed a phone number booked fine. That split was the clue we missed.
  3. We fixed the server seven times. The server was never the problem.
  4. Now the first question is always: did the request leave the browser?

What happened

Our discovery booking form has a phone field, and it's optional. If you left it blank, the page threw an error before it ever sent your request to us. You saw a message saying the booking couldn't be confirmed. We never saw anything, because nothing was sent. People who typed a phone number booked fine. That split should have told us where to look, and for a while it didn't.

What we fixed first

We assumed the problem was on our end, in the part that talks to the calendar. We fixed that part. Seven times. Each fix looked right and changed nothing, because the calendar was never the problem. The request was dying in your browser, on the form itself, before it left. A blank optional field was being treated as text, and the code choked on it.

What we do differently now

First question on any "it didn't work" report: did the request ever leave the browser? If there's no record of it arriving, we stop looking at the server. Second: blank optional fields are always treated as empty text, never as nothing. Third: the error message says what's true. "We couldn't send that" is a different problem from "we couldn't confirm that," and the old message said the second when the first was happening.

Why we're telling you

Because if you filled out that form, left the phone blank, and got an error, that was us. We're sorry we missed it. And because this is what it looks like when we fix a bug: we don't stop at the symptom, we write down what kind of mistake it was, and we add a check so that kind can't come back.

Questions

Was the calendar down?

No. People who entered a phone number booked normally. The blank-phone path never sent a request at all.

Why didn't the first fixes work?

They fixed the part that talks to the calendar. The error happened in the browser before anything was sent, so nothing on our side could see it.

What changed?

Blank optional fields are treated as empty text. We check whether a request arrived before we blame the server. And the error message says what's true.

Keep going

Every Bench word above is on Glossary / FAQs, in plain English.

New posts

We'll email you when a new post lands.

Email signup opens soon. Until then, new posts show up right here.

More from the blog

Blog

Back to all posts

How Bench works. Notes on the models, the software, and the jobs we run.

Next step

See Bench on your pipeline.

You approve everything. Your data is yours — even if you leave. $249/mo, unlimited users.