Release Notes - 04/23/26
In CRM v1.1.1, CMS v1.3.2, and CMS v1.4.0, we closed 28 tickets focused on tightening lead workflows and assignment, improving Listing Alerts card design and email filtering, enhancing website search and OmniSearch usability, polishing dashboard and search widget UX, and stabilizing listing-details performance, navigation, and location/URL handling across CRM and CMS.
In CRM v1.1.2, CMS v1.4.1, CMS v1.5.0, and CMS v1.5.1, we focused on tightening auto‑login + session handling across CRM and CMS, stabilizing Listing Alerts email delivery + templates, improving listing-details performance / page-speed, and addressing a range of UI/UX issues across authentication, navigation, and search.
-
Total issues: 49
-
Bugs fixed: 23
-
Improvements / enhancements / new capabilities: 26
Across these four releases we:
-
Improved auto-login reliability and reduced confusing auth states (stuck sessions, incorrect modals, misleading toasts).
-
Standardized Listing Alerts emails with a system-wide template + updated card designs and dynamic branding.
-
Improved listing details speed via caching, parallel API calls, PageSpeed-driven improvements, and configuration tuning.
-
Polished UI quality (toasts, icons, profile initials, mobile dropdowns, skeleton loaders).
Release v1.1.2 – CRM Pipeline
This release improves Listing Alerts email consistency and delivery reliability, strengthens auto‑login security, and fixes several CRM workflow issues around contacts, inbox, and email syncing.
Highlights
-
Moved Listing Alerts to a system-wide email template so design and behavior are consistent across agencies. (CRM-337)
-
Implemented the updated Listing Alerts card design + dynamic branding based on the assigned contact owner. (CRM-340)
-
Tightened auto-login token security so expired tokens aren’t accepted. (CRM-362)
Top issues and stability improvements
-
Fixed “could not load quick filters” errors on Contact → Listings (404/bounceback), restoring reliable filter loading. (CRM-381)
-
Ensured emails sent from Contacts → Collections → Listings use the latest system-wide design (not a legacy template). (CRM-377)
-
Updated the “Adjust your filters” CTA destination so it routes to the saved-search management view (not the public website saved-search page). (CRM-356)
-
Improved outbound email reliability when SendGrid showed “sent/delivered” but recipients didn’t receive messages (better handling + diagnosis of delivery gaps). (CRM-363)
-
Prevented expired listing-alert links (3–5 days old) from successfully auto-logging users in; now expiry is enforced as expected. (CRM-362)
-
Fixed a production crash in
SendThrottledAlertEmailCommand(undefined context/domain handling), reducing missed/delayed alert sends. (CRM-313) -
Corrected Inbox navigation so opening or composing email no longer redirects users back to Contacts unexpectedly. (CRM-319)
-
Fixed synced email ordering so the CRM timeline respects the original email sent/received date (not import time). (CRM-330)
-
Addressed a CRM lock-up/unresponsive scenario triggered by a specific contact/search flow. (CRM-352)
-
Added missing Property Type to listing cards for manual alerts, matching automated alert content. (CRM-366)
-
Center-aligned the “Adjust your filters” section in the email layout for consistency with the design spec. (CRM-367)
-
Updated email footer styling (color) to match the latest Figma design. (CRM-369)
System-wide template implementation (supporting work)
-
Implemented the updated template HTML structure per design system constraints for email clients. (CRM-341)
-
Created the system-level template asset/config so it can be reused consistently. (CRM-342)
-
Mapped placeholders to listing + agency/agent data so templates render correct dynamic values. (CRM-343)
-
Updated backend selection logic to use the system template when sending saved search alerts. (CRM-344)
-
Embedded contact/lead auth tokens in alert cards so deep links can authenticate correctly. (CRM-345)
-
Added a service to generate auto-login URLs for listing-alert links. (CRM-346)
Release v1.4.1 – Website (CMS)
This release introduces CMS auto-login support and improves saved search stability, while beginning performance work for listing details (layout caching + API caching).
Highlights
-
Added auto-login support on CMS so email deep links can authenticate users via CRM. (GGMI-3600)
-
Improved Saved Search + dynamic tag behavior to prevent save/update errors and missing saved searches. (GGMI-3598)
-
Started performance improvements for listing details via caching investigations and implementation. (GGMI-3588, GGMI-3580)
Top issues and stability improvements
-
Implemented CMS handling for
autoLoginParamto exchange tokens with CRM and establish a valid CMS session. (GGMI-3600) -
Fixed a session/auth mismatch where auto-logged-in users looked logged in but could not perform authenticated actions (save/share/hide/request tour). (GGMI-3624)
-
Prevented the Sign In modal from appearing while the auto-login request is still in progress (only shown when truly needed). (GGMI-3623)
-
Added clear user feedback when a listing-alert link requires login due to expiry, including a more understandable “session expired” flow. (GGMI-3622)
-
Matched “Signing in…” toast timing to the actual auto-login API lifecycle so it doesn’t disappear prematurely. (GGMI-3621)
-
Fixed the auth modal state after logout so Sign In/Sign Up components don’t render mixed together. (GGMI-3619)
-
Fixed saved-search update issues with dynamic tags (e.g., false “name not provided” errors and saved searches not appearing after save). (GGMI-3598)
-
Improved layout caching strategy (longer cache time + site-level cache key) to increase cache hits across requests. (GGMI-3588)
-
Added server-side caching for listing-details API responses so revisiting a listing is measurably faster. (GGMI-3580)
Release v1.5.0 – Website (CMS)
This release expands email deep-link functionality (auto-login + filters + modals + saved search actions) and improves performance through caching and parallel API calls.
Highlights
-
Implemented email deep-link behaviors (auto-login, filter application, modals, saved-search actions). (GGMI-3634)
-
Optimized caching via
Cache.phpimprovements and performance tuning. (GGMI-3648) -
Reduced listing-details wait time by running layout + listing-details API requests in parallel. (GGMI-3632)
Top issues and stability improvements
-
Implemented deep-link parameter handling across listing pages (e.g., auto-login, “View all matching listings” filters, tour modal, saved search open/unsubscribe flows). (GGMI-3634)
-
Improved
Cache.phpto make API caching more reliable and effective (reviewed existing logic and optimized behavior). (GGMI-3648) -
Parallelized layout + listing details API calls and shifted property-details mapping back to the established client-side mapping to reduce SSR overhead. (GGMI-3632)
-
Added PageSpeed accessibility-driven improvements for listing-details pages based on audit suggestions. (GGMI-3613)
-
Fixed a broken auth state after an expired auto-login token + refresh (no sign-in prompt, persistent “Signing in…”, blocked actions). (GGMI-3641)
-
Removed misleading “Signing in…” toast when the user is already authenticated. (GGMI-3640)
-
Updated “Ask a Question” styling so the background matches the intended transparent design. (GGMI-3630)
Release v1.5.1 – Website (CMS)
This release focuses heavily on listing-details speed and UI stability, with additional refinements to authentication, mobile navigation, search toasts, and loading states.
Highlights
-
Addressed severe production slowness on listing details (multi-minute load times) and implemented speed-focused improvements. (GGMI-3625, GGMI-3594, GGMI-3592)
-
Improved perceived stability by fixing flicker, skeleton gaps, and overflow UI issues. (GGMI-3616, GGMI-3582, GGMI-3599)
-
Improved mobile usability via navigation dropdown sizing and link behavior. (GGMI-3637, GGMI-3644)
Top issues and stability improvements
-
Fixed the missing/incorrect password visibility toggle icon in auth forms. (GGMI-3651)
-
Reduced the delay on sign-out so logout completes and UI updates more immediately. (GGMI-3646)
-
Updated Similar Listings / Featured Properties behavior so listing cards open in the same tab (single-page flow). (GGMI-3644)
-
Increased the page navigation dropdown width on mobile to prevent truncation and improve selection usability. (GGMI-3637)
-
Resolved a critical issue where listing-details pages could take ~2–4 minutes to fully load in production. (GGMI-3625)
-
Fixed profile menu initials rendering so new users no longer see a “?” placeholder. (GGMI-3618)
-
Eliminated Advanced Search flicker on refresh for iPad/mobile by stabilizing initial render states. (GGMI-3616)
-
Prevented long OmniSearch errors from overflowing toast containers (improved wrapping/clamping for readability). (GGMI-3599)
-
Ran PageSpeed audits on listing-details pages and implemented best-practice recommendations to improve scores and responsiveness. (GGMI-3594)
-
Disabled WP Rocket “JS Defer” where it harmed first render and retested for better real-world speed. (GGMI-3592)
-
Fixed cases where removing collection/ACF fields updated results but left the UI state stale (map boundary, selected value, title). (GGMI-3583)
-
Filled loading-state layout gaps by adding missing skeleton loaders so sections don’t render blank while data loads. (GGMI-3582)
-
Fixed default Map/List view so it works without requiring Advanced Search to be enabled/installed. (GGMI-3173)