Update pending Go and frontend dependencies, including gRPC, OpenTelemetry
and SVGO security fixes. Raise the minimum Go version to 1.26.6 and update
x/image and x/mod to patched versions.
Use moby/go-archive directly for image build contexts so its vulnerable
v0.1.0 replacement can be removed and v0.3.0 used. Regenerate Go module
checksums with go mod tidy and refresh the npm lockfile.
Validation: Linux amd64 builds, existing Go tests and go mod verify pass
for core and agent; frontend production build passes; npm audit reports
zero vulnerabilities. Frontend type-check reports the same nine errors
with the original and updated lockfiles.
Go scanning still flags two advisories in the legacy Docker SDK, which
has no patched release on its current module path. A separate SDK
migration and host Docker daemon updates remain necessary.
- new export tab between monitor and settings with time range, metric,
device/interface/gpu selection and format choice
- files are generated in the browser from existing monitor apis; no new
backend endpoints
- csv with utf-8 bom, escaping and formula sanitization; multiple metrics
are zipped; xlsx uses one worksheet per metric with real date cells and
row-limit warnings; json emits flat row objects
- share downloadBlob in utils/file with delayed url revocation
- use the 60s monitor timeout and node header for gpu queries
Co-authored-by: ssongliu <sloooop1x@gmail.com>
* perf(monitor): improve monitor query and chart performance for large ranges
- enable LTTB sampling in the shared line chart to bound rendered points
- empty io/network in monitor search now means no name filter, returning
all device rows in one query instead of fanning out per device
- merge device names recorded in the monitor db into io/network/gpu
options so removed devices stay selectable; move logic to service layer
- add composite indexes (name, created_at) on monitor_ios/monitor_networks
and (product_name, created_at) on monitor_gpus
- stop migrating the unused MonitorGPU model into MonitorDB
- fix the memory param which was compared against "mem" and never matched
* chore(monitor): remove monitor test fixtures
---------
Co-authored-by: ssongliu <sloooop1x@gmail.com>
The SSH log page formatted dates with the browser timezone, so logs looked shifted when the client timezone differed from the server. Format the timestamp with the offset returned by the API so the page matches auth.log, the terminal and the CSV export. Refs #13860.
* feat: Remote download supports server file name options and improves error handling
* feat: Remote download supports server file name options and improves error handling