Beta ← Back to Home

What's New

Release notes for TheClosingCompanion beta. Updated as changes are deployed. If something feels off or you have a request, reach out directly to your beta coordinator.

v1.5.0 April 6, 2026 Major Update
New Transaction Wizard — Address Fields
Structured address entry — Street Address, City, Unit # (optional), State, and ZIP are now separate fields in Step 1. State defaults to WA. All five fields assemble into a single formatted address string stored on the transaction. A prefillAddressFields() helper parses existing addresses back into components when promoting a live listing to an active transaction.
Year Built field — optional field in Step 1 alongside State and ZIP. If 1978 or earlier, an amber warning note appears immediately and Form 22J (Lead-Based Paint Disclosure) is automatically added to the selected forms. 22J remains available for manual selection on newer homes.
New Transaction Wizard — Forms & Timeline
Cash auto-selects Evidence of Funds (22EF) — selecting Cash now removes Form 22A (Financing Addendum) and automatically adds Form 22EF (Evidence of Funds). Toggling cash off reverses both. The adjustment fires both when the Cash button is clicked and when Step 3 loads, so the order of operations doesn't matter.
Timing descriptions removed from form selector — the day-count explanations under each form in the Select Forms step have been removed. Days and rules are still applied correctly to deadlines; they just aren't shown during selection since they can change.
"Next → Adjust Timelines" now works — a ReferenceError in hubBuildTimelineAdjuster was referencing txn (which doesn't exist during wizard setup) when filtering ATI offset deadlines. Fixed by skipping ATI rows entirely during wizard setup, since they only apply mid-transaction.
Form 17 late delivery toggle — in Step 4 (Adjust Timelines), when Form 17 or 17C is selected, a banner appears with a checkbox: "Form 17 delivered after Mutual Acceptance." Checking it reveals a receipt date picker. The Buyer Rescission Deadline (3 BD) recalculates from the receipt date in real time instead of mutual acceptance. The F17 receipt date is stored on the transaction object.
Unit No. removed from Contract Details — the Unit No. field on the Form 28 (Condo) panel has been removed. Unit number is now captured in Step 1 as part of the address fields and baked into the assembled address string.
Wizard Step Indicator
Completed steps no longer show strikethrough — a global .done { text-decoration: line-through } CSS rule was bleeding into the wizard step indicator because completed steps used className = 'wstep done'. Renamed to wstep-done class to avoid the collision. Completed steps now appear grayed/teal only — no strikethrough.
Email Templates
Rich text editor — email template body fields now use contenteditable editors with a formatting toolbar: Bold, Italic, Underline, Font Size (Small/Normal/Large/X-Large), Text Color picker, and a variable inserter button. Formatting saves automatically to localStorage.
Copy Formatted button — each template has a teal "📋 Copy Formatted" button that copies the full template (subject + body + sign-off) to the clipboard as HTML + plain text simultaneously. Pasting into Gmail or Outlook preserves all formatting. Falls back to plain text copy on older browsers.
Import Template — an "⬆ Import Template" button at the top of the templates section opens a modal to paste content or upload a .txt / .html file. Choose which template field to import into. Auto-detects HTML vs plain text. Opens the relevant template card after import.
Auto-collapse on open — opening one template card now automatically collapses all others.
Section order — Emails tab now reads: Email Templates → Reminder Settings (collapsible) → Email Reminders. Templates are the primary editing surface; reminders are the action queue.
Reminder Settings collapsible — the three reminder toggles (Friday Updates, Closing Week, Review Requests) now live in a collapsible block below the templates.
Clients Tab — Search
Search collapsed by default — the full filter panel is hidden behind a compact "🔍 Search & Filter" pill. Click to expand, click again to collapse.
Search Bar
Search no longer overflows the header — the global search input now collapses to an icon-only button (32px) when unfocused and expands to 220px on focus. It expands leftward into available space rather than pushing content off the right edge of the screen.
Role Gate & Auth
Role selection now clickable after deploy — the auth modal (z-index 9999) was sitting on top of the role gate (also z-index 9999) in DOM order, blocking all clicks. Fixed by: bumping auth modal to z-index 10001, role gate to 10000, and deferring role gate display until after Supabase auth resolves — so the auth modal always completes before the role gate appears.
Bug Fixes
SyntaxError on load fixedhtmlToText() contained literal newline characters inside JS string arguments (a Python write artifact), causing a browser syntax error that crashed the entire script and surfaced as renderSidebar is not defined. Fixed by using proper escape sequences.
Settings drawer content no longer leaks onto page — a duplicate Appearance/theme block injected in a prior session caused the settings drawer's div counter to close prematurely, leaving Notifications, Role, TC, App, Account, and Data sections floating in the normal document flow at the bottom of every tab. Removed the stale block; drawer now closes correctly at the footer wordmark.
Edit button on client cards now works — two root causes: an orphaned CSS block was corrupting the stylesheet parser; and timeline overlay elements had z-index: 2–3 without pointer-events: none, sitting invisibly over the action buttons and swallowing clicks.
"Fallen" renamed to "Terminated / Canceled" — updated in the checklist sidebar, Clients tab card button, edit modal dropdown, status labels, confirm dialogs, and all toast messages.
Blueprint Pipeline Snapshot now populates — a temporal dead zone error in renderPaceBar() crashed the entire render chain before updateProgress() could run. currentQ was declared after it was used. Fixed by moving the declaration to the top of the function.
v1.4.0 April 6, 2026 Major Update
Checklist — Transaction Picker
Inline transaction switcher — a scrollable pill row now appears at the top of the Checklist tab showing all active transactions. Click any pill to switch without leaving the tab. Hidden when only one active transaction exists.
Checklist — Status Actions
Status buttons moved to sidebar — "Mark as Closed" and "Terminated / Canceled" removed from the top action bar and relocated below the Transaction Progress card in the right sidebar.
Navigation
Scroll resets on tab switch — switching to any tab now scrolls the content area back to the top automatically.
Settings Drawer
Account + Data footer consolidated — merged into a single clean footer with a faint "TheClosingCompanion" wordmark at the bottom.
v1.3.0 April 6, 2026 Major Update
Checklist — Transaction Header
Transaction identity card — a header card now appears above the checklist groups showing the full property address, client name, side (Buyer / Listing / Dual Agency), price, mutual acceptance date, closing date, and MLS#. Left border matches the transaction's assigned color. Clears when no transaction is selected.
Checklist — Action Bar
Streamlined action bar — reduced from 8 buttons to 5. Primary actions always visible: 👁 Client View, ✉ Portal, ✓ Closed, ✕ Fallen. Secondary actions (Email Summary, Export .ics, Print, Send to Blueprint) moved into a ··· overflow dropdown. No more horizontal overflow.
Emails Tab — Badge
Reminder badge on nav tab — a red count badge appears on the ✉ Emails tab whenever there are unsent reminders due today (Friday updates, closing week emails, or review requests within 3 days of close). Updates on every dashboard load. Disappears once all reminders are handled.
Blueprint → TCC Bridge
Correct pipeline routing — Blueprint clients sent to TCC now open the right modal. Sellers open the Upcoming Listing modal pre-filled with name and address. Buyers open the Upcoming Buyer modal pre-filled with name. Previously both were incorrectly routed to the full Active Transaction wizard.
Persistent dashboard banner — undismissed Blueprint pending clients now appear as a persistent amber banner on the dashboard in addition to the toast. Survives page reloads until acted on.
7-day expiry — stale pendingTcc records older than 7 days are automatically dismissed and no longer fire the toast on every load.
Clearer toast language — toast now says "Add to pipeline as an Upcoming Listing/Buyer?" instead of the generic "Start a TCC transaction?" so the destination is explicit before you click.
Blueprint — Import from TCC
Ignore button per record — each closed transaction in the import modal now has an Ignore button alongside the Q1–Q4 buttons. Ignoring marks it handled without adding it to Blueprint and dims the row. It won't reappear on future opens.
Import All button — imports every pending closed transaction at once, automatically assigning each to the correct quarter based on its closing date (Jan–Mar → Q1, Apr–Jun → Q2, etc.).
Blueprint — Pace Bar
Quarter label removed — the pace bar label now reads "X of Y closes" with no quarter reference.
Future quarter closes excluded — closes entered in future quarters (e.g. Q4 when it's only Q2) no longer count toward the current pace total. Only quarters that have already started are included.
History — Moved into Totals
History tab removed from nav bar — Transaction History now lives at the bottom of the Totals tab, below the CSV export buttons. History is reference data, not a daily workflow tab. The nav bar is now: Dashboard · Clients · Checklist · Emails · Contacts · Totals · Team.
History section in Totals — year tab filters, stats bar (closed count, volume, avg days, GCI), and full expandable transaction cards with parties, forms, commission, and Reopen button. All existing features preserved.
All history redirects updated — any part of the app that previously jumped to the History tab (mark closed, global search, CRM history button) now routes to Totals and scrolls to the History section.
Contacts — Custom Role
"+ Add New…" in role dropdown — selecting this option in the Add Contact modal reveals a text input to type any custom role. The custom value saves as the contact's role and appears correctly in the role filter pills.
Clients Tab
Section title updated — "Client Tracker" renamed to "Active Clients."
Header — Navigation
+ Create New always visible — moved to the left of the search bar and given flex-shrink:0 so it can never be pushed off screen regardless of viewport width.
Settings Drawer
Collapsible sections — Deadline Notifications, Pre-Listing Task Defaults, Buyer Checklist Defaults, and App sections are now collapsed by default. Click any section header to expand. Display, Appearance, and Role remain open.
Max-width capped on mobile — settings drawer now caps at 420px even on narrow viewports. Previously went full-width making it feel like a page takeover.
Notification thresholds hidden when disabled — the individual threshold rows (Overdue, Today, 1 day, etc.) are now fully hidden when Enable Notifications is off, not just grayed out.
Client app: duplicate theme cards removed — orphaned Midnight, Light, and Custom theme cards that were rendering twice in the client app settings drawer have been removed.
Index Page
Logo contrast fixed — "TheClosingCompanion" in the header was dark text on a dark background. Now renders in warm white for proper contrast against the semi-transparent dark header.
Feature bullets updated — hub and client app cards now reflect current capabilities including the Emails tab, seller three-phase portal, and production totals.
Version strip bumped — changelog strip updated to v1.3.0.
v1.2.0 April 5, 2026 Major Update
Emails Tab (New)
Dedicated Emails tab added to the hub nav bar. Three sections: Reminders, Templates, and Settings.
Friday Update reminder — fires every Friday for each active live listing. Shows address, seller, MLS#, and a "Due Today" badge. Pre-fills the compose modal with the listing's seller email, subject, narrative body, and NWMLS stats table structure. Once sent, the button becomes "↺ Resend."
Happy Closing Week reminder — fires on Monday of any week a transaction closes. Shows upcoming closings within 14 days so you can see them coming. Separate buyer and seller versions pre-filled based on transaction side.
Review Request reminder — appears for any transaction closed in the last 30 days. "Send Soon" badge for the first 3 days post-close. Pre-fills with your full review request letter including the Google review link.
Editable templates — Friday Update (opening narrative + sign-off fields), Happy Closing Week (buyer and seller versions), and Review Request all editable in-place. Changes save automatically. Each has a "↺ Reset to default" button. Variables like {address}, {seller}, {mls}, {dom}, {closing}, and {broker} are auto-filled at send time.
Reminder settings — toggle each reminder type on/off independently.
Client Portal — Seller Three-Phase Journey
Portal tab now live in the client app — ◎ Portal added to the nav bar for both buyer and seller clients. Previously built but hidden.
Seller portal — three-phase journey — sellers see all three phases of their sale in a single scrollable timeline: Pre-Listing (prep milestones), On Market (MLS#, DOM, price), and Under Contract → Closing (key dates with approximate deadlines). Phase progress pills in the hero update automatically as the transaction advances.
Collapsible phases — past phases collapse once the transaction moves on, but sellers can always click to expand and review their full journey from day one.
Buyer portal — buyers see a closing-focused view: days-to-close countdown, all 10 closing milestones with live completion status, team contacts, and a buyer FAQ (earnest money, inspection, financing contingency, walk-through, closing day).
Role-aware — the portal automatically detects whether the client is a buyer or seller based on their email and shows the appropriate view.
Dashboard
Closing Soon banner — a green alert row appears on the dashboard for any transaction closing within 3 days. Shows "Closing Today," "Closing Tomorrow," or "Closing in N days." Clickable to jump directly to that transaction's checklist.
Global Search
Search bar in the nav header — searches active transactions, closed history, upcoming buyers, upcoming listings, live listings, and contacts as you type. Results appear in a floating dropdown with section labels. Click any result to navigate directly. Esc to close, Enter to select the first result.
Live Listings — Price Reduction Log
📉 Price button on each live listing card. Opens a prompt for the new price, logs the change with date and previous price, and updates the listing's current price. Full price history displays inline on the card below the notes field.
Email Compose — Templates
Template picker in the compose modal — five one-click templates above the recipient selector: 🤝 Mutual Acceptance, 🔍 Inspection Reminder, 🔑 Closing Instructions, 💵 Earnest Money, 🚶 Walk-Through. Each pre-fills the subject and body using the transaction's actual data.
CRM — Client Cards
Next task is now clickable — the "Next: [task name] · [date]" line on CRM client cards navigates to the checklist and scrolls to that specific task, highlighting it with a 2-second teal flash.
Duplicate buttons removed — each active transaction card previously showed both "☑ Deadlines" and "☑ Tasks" doing the same thing. Consolidated to a single "☑ Tasks" button.
Fallen Through — Quick Action
✕ Fallen Through button added to the checklist action bar (alongside Mark Closed). Hidden when the transaction is already closed or fallen. Confirms before marking, then removes the transaction from the active pipeline.
✕ Fallen button added to CRM client cards for the same quick action without navigating to the checklist first.
History Tab
GCI on collapsed card headers — net commission now shows inline on each closed transaction card in amber without requiring a click to expand. Role-gated (brokers and team leaders only).
Contacts
New contact roles added — Stager, Photographer, Contractor, and Financial Advisor added to all contact role dropdowns and tag pills throughout the app.
Duplicate "Broker" option removed — the Broker role appeared twice in every role dropdown. Consolidated to a single entry.
Bug Fixes
Friday Update email crash — the Send button on Friday Update reminders called openComposeModal(null), which immediately threw an error trying to read escrow/lender off a null transaction. Fixed: Friday Update now drives the compose modal directly, wiring in the listing's seller email and bypassing the transaction lookup entirely.
Duplicate promoteToActiveFromLive — function declaration appeared twice in the pipeline script block after an injection, causing a parse error. Duplicate removed.
Duplicate openComposeModal — same injection issue caused this function to be declared twice. Duplicate removed.
v1.1.1 April 3, 2026 Bug Fix + Features
Client Portal — Invite Flow
Send Portal Link — new button in the transaction action bar. Opens a pre-filled email to the client with the portal URL, sign-in instructions (OTP), and a personal note from the broker. No client email on file? A toast explains where to add one.
Invite to Portal — new button on Live Listing cards (appears when a seller email is on file). Sends the seller a pre-filled invite to the client portal with listing-specific copy.
Blueprint — Referral Log
Edit entries — each referral log row now has an ✏ edit button. Clicking it populates the form with the existing entry values so you can update any field without deleting and re-adding. The form header and save button update to "Edit Entry" / "Save Changes" to make the mode clear.
Bug Fixes
Feedback link broken — the "send feedback" link on the index page was Cloudflare email-obfuscated and returned a dead URL. Replaced with a direct mailto link.
Timeline button dead link — the ◈ Timeline button on transaction cards opened a file that no longer exists (Timeline was retired as a standalone tool). Button replaced with ☑ Tasks/Deadlines, which navigates to the checklist tab.
? button non-functional in Client App — the How to Use modal was fully built but the openHowToUse() and closeHowToUse() JS functions were missing. Both added — button now opens the modal correctly.
v1.1.0 April 1, 2026 Feature Sprint
Co-Brokered Transactions
Co-broker opt-in added to Add and Edit Transaction modals. Check "Co-brokered transaction" to expand a section for the partner broker's name, brokerage, email, and phone — with contact autocomplete.
Primary Broker toggle — when two brokers share a deal, designate which one client communications come from. Defaults to the creating broker; swappable at any time. Drives the client portal "Your Broker" name, email sign-off, and notification routing.
Co-broker task ownership — "Co-Broker" added as a 6th owner option in the checklist task cycle, appearing only on transactions where a co-broker is enabled. Badge shows the co-broker's first name for clarity.
TC and Team Leader "Transaction Broker" field — when a TC or Team Leader enters a transaction, a broker-of-record field appears. The selected broker's name drives all client-facing communication, not the TC's.
Lead Source & Referral Tracking
Lead Source fields in TCC — every transaction now has a Lead Source dropdown (Referral, Past Client, Sphere, Open House, Online, Social Media, Sign Call, Agent Referral, Other), a Sub-Source detail field (placeholder updates per source), and a "Referred By" name field.
Referral & Lead Source Log in Blueprint — a dedicated collapsible panel below the Prior Year section. Log entries show client name, source, sub-source, referred-by name, date, notes, and a Thanked checkbox. Panel subtitle shows how many referrers still need a thank-you.
Searchable and filterable — search across client name, sub-source, referrer, and notes. Filter by source category. Blueprint is the source of truth; TCC entries sync to Blueprint automatically via the shared bridge on every page load.
Bridge sync — when a transaction with a lead source or referrer is saved in TCC, a referral entry is written to tcc_bridge_v1. Blueprint reads and deduplicates these on load and on every "Import from TCC."
Blueprint — Annual Pace Bar
Annual pace bar added below the bell curve. Shows total closes vs. annual goal with a fill bar, a pace-line tick at where you should be by now, and a pill — "N behind pace," "N ahead of pace," or "on pace."
Quarterly opportunity chips — when a quarter ends short, the shortfall rolls forward as a gold "+N opportunity" chip on the next quarter. Cumulative across all ended quarters. Chips start collapsed by default; click to expand the honest breakdown.
Exceeded quarters show a green "+N over goal" chip. The next quarter's goal is never modified — overages are celebrated, not redistributed.
Pace bar is hidden from print output.
Upcoming Listings
Add Upcoming Listing modal simplified — "Listing Agreement Expires," "Price Review Date," and "Pre-Listing Tasks" removed from the add modal. These fields remain available in the listing detail view after entry.
Pre-Listing Tasks moved to the detail view — tasks now live in the listing detail panel after the listing is created. Includes a text input to add custom one-off tasks (with × remove), and inline check/strikethrough without re-rendering the page.
Pre-Listing Task Defaults in Settings — set your standard tasks that auto-populate on every new listing. Add custom permanent items, remove defaults, or reset to the built-in six. Per-listing custom tasks are separate from defaults.
Est. List Price field now formats as currency ($650,000) on input, matching the main transaction price fields.
Upcoming Buyers
Add Upcoming Buyer modal stripped down — removed Target Price Range, Target Areas, Pre-Approval Expiration, Notes, and the old Buyer Milestones checklist. The add modal now has three fields: Buyer Name, BBSA Signed (checkbox), and WA Real Estate Pamphlet Sent.
BBSA expiration date — checking "BBSA Signed" reveals a date field for the expiry. An expiry chip appears in the buyer detail card when within 7 days.
Buyer Checklist in detail view — mirrors the Pre-Listing Tasks pattern. Default items (BBSA signed, WA pamphlet sent, Pre-approval obtained) plus a text input to add custom items per buyer with × remove.
Buyer Checklist Defaults in Settings — same management interface as Pre-Listing Task Defaults. Permanent custom items carry over to every new buyer.
Bug Fixes
Live Listing modal broken — the liveListingModal was nested inside listingModal due to a missing closing tag, making it invisible regardless of what the open function did. Both modals are now correctly structured as independent overlays.
Double-tab on date fields — Chrome's date input has two internal tab stops (the date segments and the calendar icon). All type="date" inputs now skip directly to the next field on Tab, bypassing the icon.
Contacts directory now starts with all category sections collapsed so the full group list is visible at a glance. Click any header to expand.
Index settings button removed — the index page is a gateway only, and theme syncs automatically via the shared key.
v1.0.0 March 29, 2026 Major Update
Blueprint — Settings & Navigation
⚙ Settings button moved to the header, next to the user email badge. Sign Out removed from the header and placed inside the Settings modal footer — only visible when cloud-synced.
Settings button removed from the bottom action bar — it was already accessible from the header.
Prior Year "Enter Data" moved out of Settings and into a dedicated tab inside the Prior Year panel. Saving auto-switches to the Summary tab and selects the newly entered year. Panel now shows even when no prior year data exists, with Enter Data as the default tab.
Appearance — Shared Theme Engine
Blueprint cream/gold palette is now the default for all four TCC products — Hub, Client App, Index, and Changelog. Background: #f8f4ef, surfaces: white, accent: gold #c9a84c.
Shared theme engine (v1) deployed across all pages. One storage key (tcc_theme_v1) so a theme choice on any page applies everywhere.
Three theme presets — Classic (Blueprint cream/gold, default), Dark (original TCC navy), and Slate (cool blue-grey light). Dark and Midnight are consolidated into a single Dark preset.
Custom theme — three independent color pickers: Background, Text color, and Accent color. Eight accent presets (Gold, Teal, Sky, Indigo, Violet, Pink, Orange, Green).
Blueprint Appearance section added to its Settings modal — matching Background and Accent color presets with live preview swatches. Defaults correctly to Classic on every load unless a preference has been saved.
Fixed service worker cache preventing new deploys from being visible. Both Hub and Client App now include a version-keyed cache-bust script that unregisters stale service workers and forces a clean reload on first visit after each deploy.
Settings — All Pages
Client App Settings drawer was non-functional — all settings functions (openSettings, closeSettings, font size, theme) were missing. Now fully wired.
Index Settings button was broken due to a truncated file from a prior partial edit. Index rebuilt cleanly with all theme and settings functions restored.
Settings theme options are now identical across Hub, Client App, and Index — Classic, Dark, Slate, and Custom — replacing the inconsistent mix of Dark, Midnight, Light, and Custom that varied per page.
Dashboard
Avg. Days to Close KPI card removed from the dashboard. The three remaining cards — Total Transactions, Deadlines This Week, and Overdue — are more immediately actionable.
Completed tasks no longer appear in Upcoming Deadlines. The default deadline view now excludes any task that has been checked off. Tasks remain visible in the Checklist tab and within each transaction. The week and overdue filtered views already had this exclusion — now consistent across all views.
v0.9.9 March 29, 2026 UX + Terminology
Contacts Directory — Rebuilt
Client added as a first-class contact role — now appears at the top of the role dropdown and as a tag option. Clients can also be Escrow Officers, Lenders, or Brokers simultaneously.
Multi-role support — contacts now have a primary role plus optional additional role tags. A contact appears in every category they belong to. Role tags display as colored pills on each contact card.
Role filter pills at the top of the directory — All, then one pill per role with a count badge. Click a pill to filter and expand that category. Search still works across all roles.
Collapsible category sections — all groups start collapsed so you see the full directory at a glance. Click any header to expand. Selecting a role filter pill auto-expands that category.
No Company field for Client contacts — the Company field hides automatically when Client is selected as the primary role, and returns when switching to a professional role.
Buyer's Agent / Seller's Agent consolidated to Broker — the directory no longer splits broker contacts by side. Which side a cooperating broker represents is determined at transaction creation, not in the contacts directory.
Removed duplicate renderContacts() function that was shadowing the active implementation.
Washington State Terminology
"Agent" replaced with "Broker" throughout the application — Washington State licenses real estate professionals as brokers, not agents. Updated: role gate, transaction modals, cooperating party fields, portal messaging, dual agency confirmation, and all UI labels.
"Cooperating Agent / Broker" → Cooperating Broker. "Your Agent" in the client portal → Your Broker. Role gate option → Broker.
v0.9.8 March 29, 2026 Feature + Fixes
Notification System
Notification panel now persists until acknowledged — no more auto-dismissing. Click any item to navigate directly to that transaction's checklist and see the overdue task highlighted.
New inline action sheet per notification item: Mark as Done, Extend Deadline (with date picker), or Skip for Today. Marking done checks the task in the checklist in real time.
Save for Later defers all reminders to next session. Panel auto-closes with a confirmation toast when all items are resolved.
Task Ownership
Every checklist task now has a responsible party badge — Agent, Client (Buyer), Client (Seller), TC, or Broker. Click the badge to cycle through owners. Overrides shown with dashed border.
Default assignments baked into NWMLS form library: EM Due → Client (Buyer), Insurance Application → Client (Buyer), HOA Document Review → Client (Buyer), Agreed Repairs → Client (Seller), all others → Agent.
Client Contact Fields
Client phone and email fields added to both Add Transaction (Step 1) and Edit Transaction modals. Data persists in localStorage and Supabase for future invite flow.
Bug Fixes
KPI overdue count now correctly excludes closed and fallen-through transactions. Previously showed inflated counts from unchecked tasks on closed deals.
Template literal syntax error in NWMLS form library corrected — caused renderSidebar is not defined console error on load.
v0.9.7 March 28, 2026 UX + Features
Checklist
Handoff summary removed from checklist view. Escrow and Lender don't own tasks in this tool — the checklist now fills the full page with contract deadlines only.
Assign button removed from checklist items. Will be re-evaluated once the task ownership model is fully defined.
Settings & Auth
Sign Out moved to Settings — now appears under the Account section at the bottom of the Settings drawer. Header shows email badge only.
Settings Account section shows signed-in email with green sync indicator. Hidden when running in local (offline) mode.
Dashboard
Pipeline stat numbers are clickable — Active and Closing Soon navigate to Clients tab with status filter applied; Closed navigates to History tab. Numbers only clickable when > 0.
Overdue KPI count now matches the filtered list when clicked — was counting tasks from closed transactions.
Client App
Listing Notes and Agent Notes removed from client-facing views. These are internal agent tools and should not be visible to clients.
Contact tab now works — was calling renderContact() but the function was never defined. Now shows Agent, Escrow, and Lender cards with Call and Email buttons.
Notification Panel
Replaced individual toast stacking with a single consolidated panel. Items grouped by Overdue, Due Today, and Coming Up. Per-item dismiss + Save for Later for the whole panel.
v0.9.6 March 27, 2026 Major Features
Access Control & Auth
Full OTP authentication system via Supabase — magic link login, allowed_emails and blocked_emails tables, Edge Functions for approve/block/request-access via Resend.
Role-based access: Broker/Agent, Team Leader, Transaction Coordinator. Each role sees different features and data scope.
Transaction Management
ATI (Additional Time for Inspections) — prompt fires on inspection period expiry day with three options: Satisfied, Terminated, or ATI Initiated (with date picker). Adds separate ATI deadline to checklist.
Waived/N/A toggle column in the deadline adjuster for IVP, Form 17, HOA Delivery, HOA Review, and other key deadlines.
Closing group added to checklist — Final Walkthrough moved from Financing to Closing (pink). Closing Date also in this group.
Form 17 Seller Disclosure Delivery row removed — Buyer Rescission now calculates directly from mutual (3 BD). Form 22D HOA Delivery corrected to BD rule.
Dashboard KPI Cards
KPI cards are now clickable. Total Transactions shows all active deals with click-to-checklist. Deadlines This Week filters to 7-day window. Overdue filters to past-due unchecked tasks.
Blueprint Two-Way Bridge
TCC ↔ Blueprint cross-match system — fuzzy name matching between active transactions and Blueprint pipeline clients. Link, dismiss, or mark as already-in-both. "📋 Blueprint" button in checklist action bar for manual re-sync.
UI / UX
Timeline redesign — no overlapping labels. Three-zone layout: Today label above track, dots on track, all date labels below. Fill bar shifts amber >75%, rose if overdue.
Sidebar accordion fills full available height. One section open at a time, scrollable content.
Client name logic corrected for seller-side transactions — cards, sidebar, portal greeting, and print header all use the right name based on commission side.
Avatar/initials removed from transaction cards. Color picker moved to top-right dot per card.
Sidebar hidden on Clients, History, Contacts, Totals, and Team tabs — only shown where relevant.
v0.9.5 March 22, 2026 Infrastructure + Launch
Deployment & Infrastructure
theclosingcompanion.com launched — domain via IONOS, DNS migrated to Cloudflare, deployed to Netlify free plan via GitHub connection.
Supabase backend live at hrrmokcgyuxethpomwuf.supabase.co — all transaction data, check states, custom tasks, notes, contacts synced to cloud when signed in.
PWA support for both Hub and Client apps — install to home screen, offline-capable, service worker registered.
Business Planning Blueprint
Blueprint tool launched at /blueprint — pipeline snapshot, per-client commission/GCI tracking, bell curve visualization, duplicate client feature, and Team Leader role with per-agent tabs.
TCC ↔ Blueprint shared localStorage bridge (tcc_bridge_v1) enables cross-app data awareness.
v0.9.0 March 15, 2026 Initial Beta
Core Transaction Management
NWMLS form library — all major NWMLS addenda (Forms 21, 22A, 22AA, 22D, 22EF, 22J, 22K, 22S, 22T, 22VV, 35, 35F, 38A, 65A, 65B, and more) with dynamic BD/CD deadline calculation tied to mutual acceptance date.
Five PSA types — Residential (Form 21), Condo (28), Vacant Land (25), Commercial (20), MH/Park (23). Each PSA pre-selects appropriate forms.
Commission tracking — gross commission (% or flat), agent split, net calculation. Compensation card on checklist. Buyer/Seller/Dual Agency side support.
Checklist with progress ring — grouped by form category (Financing, Inspection, Disclosure, Title, Contingency, Occupancy, Closing). BD/CAL indicator per task. Custom tasks per group.
Pipeline sidebar — upcoming listings, upcoming buyers, live listings, and active transactions. Stat counters for Active, Closing Soon, and Closed YTD.
Team Leader mode — multi-agent pipeline view, per-agent KPI cards, assign transactions to agents. TC assignment per transaction.
Client portal preview — agent can preview what the client-facing checklist and timeline will look like before sharing. Portal tab in checklist view.
MileLog PWA — standalone voice-enabled mileage tracker with odometer entry, toll tracking, IRS-formatted reports, and CSV export.