You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Patch failure analysis. A new Failures tab rolls up FAILED installs by
patch across the fleet — for each failing patch you see the affected-device count,
the affected devices, and the most recent failure — so a fleet-wide install
problem (e.g. "this update failed on 23 devices") is visible at a glance instead of
buried in the detail rows. It populates when the FAILED status is part of the
query; the Excel export gains a matching Patch Failures sheet with the complete
device list.
Compliance charts + shareable report. The Compliance tab now leads with
charts — per-organization compliance bars, a pending-patch severity breakdown, and
a pending-patch age histogram — above the per-org table. Export report saves a
self-contained HTML executive summary (the same charts plus failure and reboot
tables) that you can open in any browser and print to PDF for management or
auditors. Like the Excel export, the report needs a live query in the desktop app.
Clearer result scope. The filter panel now labels its Device scope section
(organization / location / role / OS type — applies to every tab) separately from Patch filters (status / severity / search / dates — Patches & Failures only),
and each results tab carries a one-line note on what scope it reflects, so it's
obvious that the compliance and reboot rollups span the whole device scope rather
than the narrowed patch list.
Live web demo. The frontend now also runs as a browser-only demo published to
GitHub Pages at https://tiredithumans.github.io/ninjaone-patch-toolkit/, backed
by a representative fictional fleet so you can explore the UI with no install,
account, or sign-in (and with no real fleet data exposed). It starts empty and
lists patches when you press Run query, exactly like the real app, and the
filter controls work against the sample: Organization, Location, Device Role, OS
Type, status, severity, type, search, and the date windows all filter it just like
a live query would; Compliance and Needs-Reboot stay representative, narrowing by
organization. Sign-in, live NinjaOne queries, and Excel export need the native
backend, so they're disabled in the demo. The downloadable desktop app is
unaffected — it's the production tool, with no sample-data mode.
Changed
Instant re-filtering between queries. The device inventory and current patches
are now fetched once for the whole fleet and cached, so changing the organization,
location, role, OS type, severity, or patch type and pressing Run query re-filters
the data on the spot instead of making a fresh round trip to NinjaOne every time —
switching scope feels immediate. Live patch state still stays current: the existing Auto-refresh dropdown refetches on the cadence you choose, a new ↻ Refresh
button pulls fresh data on demand, and a "patch data as of …" stamp shows how current
the figures are. The device list — which changes rarely — is reused for ~15 minutes,
so an auto-refresh during a patching operation re-pulls only the patch data that's
actually moving.
Faster Failed/Installed queries. When you filter to a single install result
(just Failed, or just Installed), the toolkit now asks NinjaOne for only
those records instead of downloading the entire install history for the window and
discarding the rest. On a healthy fleet — where successful installs vastly
outnumber failures — a Failures query in particular pulls far less data and
returns noticeably quicker. Large fleets also page through patch reports in bigger
chunks (fewer round trips), trimming overall query time.