iFloor

Changelog

What shipped, in plain words.

Every release, versioned by the day it went live. Written for the people who use it, not as a commit log. Anything marked live elsewhere on this site is in this list — and if it is not here, it did not ship.

Newest: 2026.08.18-29 · 38 releases

August 18, 2026

2026.08.18-29 Fixed Customer portalStaff app

Your customers' page reads cleanly in dark mode (still light by default)

The customer's project page had a set of colours that only worked on a light background — blue headings and links that faded on dark cards, pale yellow and green boxes that glowed, one message bubble that vanished entirely. Every one of them now follows the same light-or-dark colour rules as the rest of the app, and the light version got two small legibility improvements too (grey captions and the amber/green notice text are a step darker). Customers still see the light page; the dark version is ready for the owner to review.

2026.08.18-28 Fixed Staff app

Labour: the side-menu filters open the right list, every time

Two things were wrong with the Labour side-menu filters. "Approved" opened the Pending Review list instead of the Approved one, and clicking a second filter while already on the page changed the web address but not the list. Both fixed: the address is now the single source of truth for which list you see, so the side menu and the page always agree. On desktop the row of pills above the list is gone — the side menu already carries the same filters; on phones (where the side menu is hidden) the pills stay.

2026.08.18-27 Fixed Staff appInstaller

The app agrees with itself about what day it is

Eighteen screens worked out "today" from the clock in London rather than in Vancouver, so from about five in the afternoon the dashboard windows, the installer's today list, the calendar highlight, the phone nav badge, the labour sheet and the project page all quietly believed it was tomorrow. Every one now reads the same business-day rule the customer's page uses. Two more things from the same rule: the dashboard calls a measurement "late" only once its day is over (the way the customer sees it), and an installer is no longer offered "request a new date" for a visit whose day has passed — mark it done or move it to Pending Booking instead.

2026.08.18-26 Improved EveryoneCustomer portal

Your store's phone, hours, address and logo come from your settings

The phone number in customer texts and the email footer, the hours in the away-message, the logo on the customer's page and the city the assistant describes were still typed into the software in a few places. They now all come from the store's own settings — the phone you set under Admin → Settings wins everywhere. Nothing changes for this store today; a new store sees its own details on day one.

2026.08.18-25 Improved Everyone

Signing in happens on the server now

Until today the app checked your password in the browser, which meant the password hashes had to travel to it. Sign-in and the invite link now run on the server; the hashes never leave the database. Nothing changes about how you sign in — same screen, same PIN or password. This is the first step of locking down who can read what; the next steps are done with the owner watching.

2026.08.18-24 New Staff app

Messages shows you who went quiet

The right-hand side of the messages page used to say "Select a conversation" — half the screen describing something you could already see. It now lists the customers you messaged who never replied, longest silence first, with the last thing you said to each one. On live data it found six people, the oldest waiting forty-three days. Clicking one opens their thread. If everyone has answered, it says so instead.

2026.08.18-23 Improved Staff app

One New button, and filters on your messages

A customer page had four separate "Start new…" buttons scattered down it, each in its own section, all saying the same thing. They are one **New** button in the header now, next to Book Job. On the messages list there are All / Unread / SMS filters above both halves — Unread shows only what you have not answered across customers and team, and SMS narrows to customer texts.

2026.08.18-22 Improved Everyone

Your staff list is data, not code

The people on your team — who gets copied on a new order, who is the salesperson behind the initials on a sheet, who an installer notification names — used to be written into the software itself. They now come from the same team list you manage in the app. For this store nothing changes; a new store starts with its own people on day one instead of somebody else's.

2026.08.18-21 Improved Staff app

Tidier calls and messages lists

Every row in the messages list is now the same height instead of three different ones, and each row shows one time — how long since the last message — rather than two that disagreed. Hovering the little dot beside someone still tells you when they were last online. On the calls page the team is a single row of names rather than a block of cards, and the day summary is back to four figures; the missed count now sits on the Missed filter beside it.

2026.08.18-20 Fixed Staff app

The customer page stops contradicting itself

A customer who had paid in full could show "No payment data" a few inches from a panel reading $12,404 and a summary saying the balance was settled — three answers to one question on one screen. The payment figure now simply does not appear when we hold no record, which is what the labour sheet version of the same panel already did. The journey down the left now reads top to bottom with each date beside its step instead of scrolling sideways, and the two panels that only ever said "nothing here yet" no longer take up room until they have something.

2026.08.18-19 Improved Everyone

Every automation now reads the store from the deployment — zero left

The last fourteen places — follow-up sequences, the missed-call auto-reply, installer day-before reminders and the automation engine — no longer have the first store's name written in. Sixty places were fixed today across the whole server side; the check that counts them is now a hard zero, so one can never creep back. Nothing changes for this store; a new store's app will find its own settings everywhere on day one.

2026.08.18-18 Improved Everyone

Text-message handling no longer assumes one shop

The part of the system that receives and reads customer texts had the first store's name written into three settings lookups. It now reads the store from the deployment. Nothing changes for this store's texts; the next store's message settings will be found instead of ignored.

2026.08.18-17 Improved Everyone

Customer reminders and follow-ups no longer assume one shop

The nightly and hourly automations that send install reminders, quote follow-ups and balance nudges had the first store's name written into twenty-one places. They now read the store from the deployment. For this store nothing changes — the same messages go out at the same times; for the next store, the automations will find their settings instead of silently doing nothing.

2026.08.18-16 Improved Everyone

Groundwork for new stores: 22 fewer places assume one shop

Behind the scenes, twenty-two places in the server code had the first store's name written in as the key that picks its rate card, settings and jobs. They now read the store from the deployment instead. Nothing changes for the current store; for the next store it means those screens will not come back empty. The remaining places are on the messaging paths and are being done one file at a time, watched.

2026.08.18-15 Fixed Customer portal

A measurement date that has passed stops asking you to change it

If a customer's measurement day went by and nobody had marked the visit done, their portal kept showing the old date with a "Change this time" button — a door that led nowhere, sometimes for weeks. It now says their measurement date has passed and their salesperson will reach out shortly with final pricing, and the change-time button is gone. Nothing is assumed about whether the visit happened; staff still set the real status. The date is judged in your store's own timezone, so an evening appointment never reads as yesterday's.

2026.08.18-14 New Staff app

Copy a customer their portal link, from the quote

The quote screen can now hand you the link to the customer's own view of their job — one item in the quote menu, copied straight to your clipboard so you can paste it into a text or an email you are already writing. It copies rather than opening, because opening it would put YOU in their portal and count as them looking at it. A quote that is not attached to a job yet has no portal, and the menu says so instead of handing back a broken link.

2026.08.18-13 New Staff app

A suggestion while you are still on the call

When a customer pushes back on price, names a deadline, or mentions another company, a card now appears under the call bar with one sentence you could say next — the actual words, ready to read aloud, not advice about what to do. It only appears when there is something worth saying: on a call going fine you see nothing at all. One card at a time, never more than one every eight seconds, and you can dismiss it if you have already handled it.

2026.08.18-12 Improved Everyone

ifloor.app: the website, refreshed

The public site now looks like the product it sells: the same warm light and dark themes as the app (it follows your device, or pick one in the header), the real staff screen on the home page instead of a drawing, a nine-chapter tour of every screen, and a changelog page. Try the colour swatches on the home page — the app frames repaint in that store's colour. Nothing about the app itself changed in this release; this is the website (ifloor-web 5a462fe).

2026.08.18-11 New Staff app

Listen, whisper, or jump into a call

Listening in on someone else's call was silent-only — you could hear the trouble and do nothing about it. An admin listening can now switch to Whisper, where only your rep hears you and the customer does not, or Jump in, which makes it a three-way call. A band beside the controls says in plain words who can hear you at that moment, and Jump in is the only red button on the screen.

2026.08.18-10 Improved Staff app

The customer page has a shape

A customer's page was thirteen full-width bands stacked in the order they were built, and Communications appeared on it TWICE — a full timeline near the top and a second SMS-only list at the bottom, together more than half the page. It is now three columns: where they are in your process on the left, everything ever said in the middle, and what you sold them plus what we know on the right. The duplicate list is gone (every message was already in the timeline), sections that had nothing to say no longer take up space, and the page is roughly half as long.

2026.08.18-9 Improved Staff app

Watch a colleague’s call as it happens

Opening someone else’s live call in the call centre used to show their transcript up to fifteen seconds late — long enough that by the time you read what the customer objected to, your colleague had already answered. Their words now appear as they are spoken, and the label says “live” instead of “a few seconds behind”. If you open a call that started earlier you still get the part you missed first, then the rest as it happens.

2026.08.18-8 Improved Staff app

Call transcripts say who was speaking

Live transcripts were one block of text with both voices run together, so you could not tell a customer’s question from the answer. Each line is now marked “You” or “Them”, and the saved transcript on the call record is labelled the same way. The alert for a call going wrong now only listens to the CUSTOMER — before, reading a complaint back to someone could set it off yourself.

2026.08.18-7 Improved Staff app

Hold gets louder, and you can’t transfer to an empty chair

A call left on hold now turns amber after a minute and red after two, because a timer that looks the same at five seconds and four minutes is how somebody ends up waiting. The transfer list shows who is actually available: people who are offline are still listed, so you know where they are, but you cannot hand a customer to them and leave the customer listening to nothing.

2026.08.18-6 Improved Staff app

Calls page: the log stops being the page

The call log had grown to 83% of the page — 59 rows, nearly 3,000px, above everything else. It now shows the newest twenty with a button that says exactly how many older calls there are ("Show 39 more"), so nothing is hidden and the filter row does the scanning past that point. The whole page now follows one design rather than a new section stacked on an old one.

2026.08.18-5 Fixed Staff app

Calls page readable in dark mode

In dark mode more than half of the calls page was unreadable — the word "Calls" and customer names were painted the same colour as their background. The cause was an old template stylesheet the app had never used but which still defined colour names other files borrowed. Fixed at the root, so every page that borrowed those names is fixed with it.

2026.08.18-4 Improved Staff app

Messages: your customers' texts are front and centre

Forty-four customer SMS conversations were folded behind one row labelled "SMS Inbox" while staff and installer chats sat at the top. Customers are now at the top level of the Messages list, where the people who pay you belong.

2026.08.18-3 Fixed Staff app

The quote page: the number and the total were invisible in dark

On a quote in dark mode the quote number and the project total were painted the same colour as their background. Eighteen colour failures on that page traced to one stylesheet written against a palette the app does not use; it now reads the app's own tokens in both themes.

2026.08.18-2 Fixed Staff app

"Send to customer" no longer shows $0.00

The send dialog could preview a $0.00 total for a real quote because it read the figure from the wrong place. It now shows the same total the quote does. No customer received a wrong number — the dialog only previews.

2026.08.18-1 Improved Staff app

The floating toolbar answers two questions

Nine controls at six different heights became four at one height. Your name, settings and profile now sit at the bottom of the side menu; open tasks and notifications are one bell with two tabs and one combined count. Found and fixed on the way: the notification panel had been unreadable in dark mode since dark mode shipped.

August 17, 2026

2026.08.17-4 Improved Staff app

Dashboard: the rest of the page, not just the top

The dashboard's second pass: a two-column layout (work on the left, review on the right), fourteen jobs visible without scrolling, tall widgets capped with their own scroll, and 165 hard-coded colours replaced so dark mode holds everywhere on the page. Page height 4,359 → 3,190px.

2026.08.17-3 Improved Staff app

Quotes list: one line per quote, oldest unanswered first

Every quote is one 44px row with its age in the first column. Quotes that were read and not answered float to the top — the most actionable state there is. Eighteen quotes now fit on one screen; the page went from 2,010px to 1,075px.

2026.08.17-2 New Staff app

Dashboard: one job, one row

Thirty-nine cards describing about fifteen jobs became one row per job — who, what it is worth, where it is on a five-dot track, and the one thing it needs from you. Late · Quoting · Doing · Closing. Nobody appears twice any more.

2026.08.17-1 Fixed Staff app

The quote page gets the side menu

The quote page was the one staff page without the side menu. A check of all 58 routes proved it was the only miss (public customer pages and print views are bare on purpose).

August 16, 2026

2026.08.16-5 Improved Everyone

Old web address redirects to the new one

Any link to the old app address now lands on builddirect.ifloor.app with the same path. Old links in texts and emails keep working.

2026.08.16-4 New Staff appInstaller

Dark mode, everywhere

Light, dark, or follow your device — one toggle in the toolbar, applied before the page paints so nothing flashes. Every staff and installer screen was measured for readability in both themes. The customer portal stays light until its dark version has been reviewed.

2026.08.16-3 Improved Staff app

The brand moves into the side menu; the toolbar floats

The logo lives at the top of the side menu so menu and brand scroll as one; the top bar became a floating pill of controls (search, inbox, alerts, you). The side menu can be shrunk to icons and its sub-menus fold.

2026.08.16-2 Improved Staff app

One standard for every dialog

Every pop-up dialog in the app now uses one component with four sizes, the same header/footer grammar and the same buttons in the same places — sixteen dialogs and about 120 buttons checked one by one so nothing was lost in the move.

2026.08.16-1 New Staff app

The side menu

Every section of the business moved from top tabs into one left side menu with sub-menus. The old top tabs are gone on every page.

How this list is made. Every change to the app is committed with a written story — who it affected, the cause, what was verified. The line you read here is that story distilled, with a version stamped the day it went live: YYYY.MM.DD-n, the n-th release of that day.