Changelog

Changelog - plg_system_rca_osbj2c

1.0.12 - 2026-10-05

Added

  • README.md and FEATURES.md for JED and site admins.
  • Marketing images in media/images/ (canonical URLs under https://recreatinganew.com/images/rca/osbj2c/); reimagined graphic refreshed for the osbj2c folder.
  • Entry-point stub rca_osbj2c.php and refreshed user documentation (product, user guide, FAQ).

Changed

  • Language manifest lists only standard en-GB.en-GB.plg_system_rca_osbj2c.* files (duplicate unprefixed copies removed).
  • File header @version tags aligned with manifest version.

Fixed

  • Special-price SQL null-date comparison uses a quoted literal instead of $db->getNullDate() for J6-safe publish_up/down checks.

1.0.11 - 2026-09-01

Changed

  • More times reveals 3 rows per click (rows × current column count) instead of all remaining slots. Show less collapses back to the initial row count.

1.0.10 - 2026-09-01

Fixed

  • Booking page hang: MutationObserver no longer loops on bridge-injected slot buttons and More times toggles.

1.0.9 - 2026-09-01

Added

  • Responsive timeslot grid: 3 columns on wide desktop, 2 columns on narrow desktop (≤1024px) and mobile (≤767px); full-width slot buttons.
  • "More times" / "Show less" expansion when more slots exist than the initial visible count (9 desktop / 6 mobile by default).
  • Plugin parameters for initial visible counts, column layout, mobile breakpoint, and expansion toggle.

1.0.8 - 2026-08-31

Fixed

  • Template custom.css can override bridge/OSB styles without !important: bridge CSS loads via WebAssetManager only (before Document stylesheets); onBeforeCompileHead at lowest priority moves template css/custom.css to the end of the Document stylesheet list.

Added

  • Installer: failure messages state which prerequisite is missing (OSB or J2Commerce) and remind to back up; success/update notices with step-by-step links to Plugins, Install, and Manage, including sid_map setup.

1.0.7 - 2026-08-27

  • Embedded {osbtable} no longer throws PaymentMethods is not defined. OSB prints new PaymentMethods() inline; the bridge defines the constructors in that same script block (native loadMedia() is still skipped to avoid Colorbox-before-jQuery)

1.0.6 - 2026-08-27

  • Timeslot hold returns clean JSON (OSB PHP 8.4 notices no longer prefix the ajax body), so Continue to Checkout can appear
  • If native OSB addToCart() throws after insert (special-rate divide-by-zero), the hold is still kept; a direct temp-row insert is used when needed
  • J2Commerce add-to-cart uses a decoded form action and task=carts.addItem; cart failure no longer hides the checkout button
  • Past start times are hidden; request keys slotStart / slotEnd avoid Joomla start pagination collisions
  • Update feed <infourl> is the full public feed URL, not the site root

1.0.5 - 2026-08-27

  • Embedded {osbtable} calendars no longer dump OSB PHP 8.4 deprecations or undefined-key warnings into the article HTML
  • Colorbox is not loaded before jQuery on those pages (native OSB loadMedia() order), so the console no longer throws jQuery is not defined / .colorbox is not a function
  • Article menus without date_from and services without a posted cid get safe defaults so OSB defaultLayout does not warn

1.0.4 - 2026-08-27

  • Render {osbtable} from the bridge so OSB cart() is not left uncaught when special rates divide by an empty slot list (HTTP 500 / error document on Full Consultation)
  • Load OSB payment classes needed for the embedded calendar; keep a display-only OSB session so a live hold does not crash the article

1.0.3 - 2026-08-27

  • Keep a successful OSB temp hold when native addToCart throws after insert, then auto-add the mapped J2Commerce product and show Continue to Checkout
  • Hide occupied label-only timeslots (including midnight 00:00 with no checkbox) and the OSB multi-select; 12-hour AM/PM buttons remain the only start-time UI
  • Populate OSB hidden booking fields with unix strings instead of clicking native checkboxes, so midnight is never treated as empty

1.0.2 - 2026-08-27

  • Renamed package to plg_system_rca_osbj2c (element rca_osbj2c)
  • After a valid slot hold, auto-add the mapped J2Commerce product and show Continue to Checkout (native J2C Add to Basket form stays hidden)
  • Midnight 00:00 is a valid start: parse unix from data-start / checkbox id, never treat 0 as "no time selected"
  • Timeslot buttons use 12-hour AM/PM labels; OSB range labels stay in the DOM but are hidden

1.0.1 - 2026-08-27

  • JED listing name is ASCII System - OSB J2C Bridge ({Type} - {Extension Name})
  • Add public update server and changelog URL (RCA feeds)
  • Rename assert* helpers so JED Checker Pattern 17 does not flag them as obfuscation
  • Fresh CSRF token via POST bridgeTask=token; ajax responses send Cache-Control: no-store
  • Reject past and overlapping appointment slots server-side before the OSB hold

1.0.0 - 2026-08-27

  • Initial free release: OS Services Booking appointments, J2Commerce cart and payment