Insight O' Mate

Changelog

Notable user-facing changes to Insight O' Mate — desktop app, portal, and NLP engine.

All notable user-facing changes to Insight O' Mate. The format follows Keep a Changelog and we use Semantic Versioning.

Pre-1.0 releases follow the 1.0.0-beta.N track until we cut a public GA. Beta releases are still production-quality — the suffix signals "API shape may change" not "expect crashes".

Feature and stability release for the Insight O' Mate desktop application and local sidecar, introducing the Query Inspector Drawer with telemetry, expanded AI summary insight limits and hybrid synthesis, off-thread Web Worker performance optimizations, interactive dashboard props, multi-window support, spreadsheet ingestion enhancements, in-app product campaign updates, and system-wide Reduce Motion accessibility.

Added

Query Inspector Drawer & Telemetry
  • Widget Query Inspector Drawer: Added QueryInspectorDrawer to inspect comprehensive query execution telemetry, natural language prompt, executed NoSQL aggregation pipeline, latency, row counts, field corrections, and error diagnostics.
  • Footer-Only Inspect Trigger: Added an "Inspect" button to the hover footer of query widgets in both normal and stale/error states, maintaining a clean card header with zero clutter.
AI Summary Widget & Expanded Synthesis
  • Expanded Insight Limits: Increased the character length limit for Line 1 (primary cumulative synthesis) from 70 to 100 characters, and allowed subsequent detailed observation bullet points up to 250 characters each for deeper business context.
  • Adaptive Line Capping & Token Scaling: Increased sidecar completion token cap to 500 tokens with adaptive post-processing (capLine) enforcing the 100-character single-line limit and 250-character detailed bullet limit.
  • Cumulative Multi-Widget Synthesis: Rewrote the insight generation prompt in dashboardInsights.js to analyze and synthesize metrics across all active widgets into a unified executive summary rather than focusing solely on the first widget.
  • Full AI Report Modal: Added an expandable modal dialog with segmented category breakdown cards and actionable bullet points, adhering to the app's modal design language.
  • Non-Editable AI Bar Treatment: Fixed the AI summary bar height, explicitly exempting it from drag-and-drop resize and edit wiggle/glow animations.
Web Worker Offloading & Performance
  • Off-Thread Query Processing: Added queryWorker.js to offload heavy dataset transformations, date/numeric sorting, loss/gain calculations, and deep result diffing (isSameResult) from the main UI thread.
  • OffscreenCanvas Game Worker: Added runnerWorker.js to run the MRR Runner arcade prop on a dedicated background thread using HTML5 OffscreenCanvas at a locked 60 FPS.
Interactive Dashboard Props & Windows
  • Interactive Props: Enhanced MRR Runner, Digital Clock, and Pixel Bonsai widgets with custom Web Audio synthesizers, audio toggles, and responsive fullscreen expansion.
  • Dashboard Windows Panel: Added useDashboardWindows hook and DashboardWindowsPanel for multi-window management, persistent layouts, and quick switching.
Excel Adapter & Local Data Ingestion
  • Spreadsheet Parsing Engine: Built parseWorkbook.js for robust Excel/Spreadsheet workbook parsing, header detection, schema inferencing, and comprehensive unit tests.
In-App Campaign Notifications
  • Product Update Synchronization: Background sync in the desktop app (helpers/campaigns.js) to fetch, deduplicate, and display active product announcements in the Notification Center and trigger native OS alerts.
  • New Notification Categories & Actions: Added campaign, update, and announcement categories with distinct icons and brand colors in NotificationCenter.jsx, plus deep link and external URL action handling (open_url).
Accessibility & Motion Controls
  • System-Wide Reduce Motion Unification: Centralized reducedMotion preference in Zustand store with localStorage persistence and OS media query auto-sync. Instantaneously suppresses CSS keyframes, moving slit masks, and edit wiggles while preserving loading spinners.
  • Recharts Dynamic Animation Toggle: Passed isAnimationActive={!reducedMotion} to <Line>, <Bar>, <Pie>, and <Area> charts to eliminate transition delays when reduced motion is requested.
Dashboard & Settings
  • Dashboard Local AI Assistant Gating: Dedicated toggle under Dashboard Settings to selectively gate the AI summary widget, collapsing row height and pausing background analysis intervals when disabled.
  • Connection Auto-Refresh Control: Added a setting to gate whether dashboard widgets automatically refresh on database connection.
  • Row Capacity Cap: Capped dashboard capacity at 13 rows with AI insight active to prevent bottom menu overflow.

Fixed

  • Immersive Mode Toggle: Resolved an issue preventing the immersive mode toggle in Settings from properly switching window chrome styles.
  • Widget Scheduler Teardown: Hardened timer cleanup during connection reset and test teardowns.