Two bugs, one root: a visit to our own website
You know your own estate agent website by heart — and that is exactly why, at some point, you stop seeing it properly. Today we deliberately looked at it with a visitor's eyes, page by page. It paid off: two cosmetic bugs surfaced that we had never noticed.
The view from outside
The first find: the footer was missing on the login page. No contact, no link bars, no copyright — the page simply ended in nothing. The same picture on the logout page, the registration and the visitor profile. On every other page the footer was there as if nothing were wrong.
The second find: the property tiles on the home page had images of differing height — sometimes landscape, sometimes almost square, the row looking like a crooked shelf. The curious part: on the property overview the very same tiles were flawlessly even.
The hunt
Two bugs with nothing to do with each other? Quite the opposite. Our websites are built from modules: the footer is a module, the property tiles are one, the menu, the search — all building blocks that hook into fixed areas of the page.
The login page and its siblings, however, are special pages: they assemble their own frame instead of inheriting it from the normal page scaffold. And while assembling it they had simply forgotten to call the module areas — the footer had been there the whole time, it was just never asked.
With the tiles it was the other way round: the rule that brings all tile images to the same aspect ratio travelled in the luggage of the search form. On the property overview there is a search form — and there everything looked fine. On the home page there is none — and the tiles were missing their rule. They only ever looked good because the right neighbour happened to be standing next to them.
One rule instead of two patches
We could have patched both places individually. Instead we introduced a rule: every module brings its own tools. The tiles now carry their image rule in their own luggage, no matter which page they stand on. And the special pages call the same module areas as every other page.
So that nothing gets built in twice — ten tiles do not need to deliver their rule ten times — a gatekeeper now watches over every page: whatever has been installed once is politely turned away the second time. As on a good tool wall, every tool hangs exactly once in its place.
The balance
Found in the morning, understood at midday, fixed in the evening: all checks green, zero findings in the code analysis, test coverage stable. The footer now greets visitors who log in too, and the home page tiles stand in line.
And one more premiere on the side: the images of this post come from Adobe Firefly for the first time — uploaded at original size through exactly the interface whose creation we described in the last workshop report. The workshop now writes its own reports.