Skip to main content

v0.4.0 — Pre go-live QA

Pre go-live QA release incorporating unsaved changes protection, session management, AI model resilience, trial management, and significant performance improvements — server bundle size reduced by 63%.

Added

  • Unsaved changes protection — navigating away from the DPP wizard while there are unsaved changes now triggers a confirmation dialog. Accidental navigation no longer discards work in progress.

  • Session timeout warning — a five-minute countdown warning appears before an idle session expires. Operators can extend their session with a single click, avoiding the frustration of losing form state after a period of inactivity.

  • Product search URL sync — the product list search query is now synchronised to the URL as a ?search= parameter. Search results are bookmarkable and survive page refreshes.

  • Print styles for DPP viewer — published DPP pages now include print-optimised styles. Printing or saving as PDF from the browser produces a clean, structured document suitable for regulatory submissions.

  • Portal 404 page — the Company Portal now shows a purpose-built 404 page for unrecognised routes, with links back to the main sections of the portal.

  • AI model fallback with validation — if the primary AI model returns a response that fails schema validation, the platform automatically falls back to a validated safe response rather than surfacing an error to the operator.

  • AI usage analytics — platform administrators can now view a breakdown of AI feature usage by operator and document type, supporting cost monitoring and capacity planning.

  • Trial management — trial account expiry is handled automatically: a drip email sequence starts three days before expiry, and a cron job handles account state transitions at the expiry moment.

  • Last-admin protection — team management now prevents the last administrator on an account from being demoted or removed, preventing accounts from becoming permanently inaccessible.

Changed

  • Bulk product import — CSV import now uses a batched strategy with automatic fallback to individual record creation when batch insert fails, improving reliability on large import files.
  • Deep merge on product updates — updating a product via the API or wizard now deep-merges the incoming data with the existing record, preventing partial updates from wiping fields that weren't included in the update payload.
  • Wizard refactored into modules — the DPP wizard has been split into distinct modules for auto-save, AI extraction, and array field handling. This makes the wizard easier to maintain and extends cleanly to new battery categories.

Performance

  • Server bundle reduced 63% — server-side asset size reduced from 41 MB to 15 MB, significantly improving cold-start performance and reducing memory usage on edge function deployments.