Add a creation time column to the container list. The column uses the backend createdAt order field and displays the existing createTime value. It follows the standard three-state sort cycle, starting with newest first.
* fix: stop translating the built-in Default group name
* fix: resolve default cronjob group by flag
---------
Co-authored-by: ssongliu <sloooop1x@gmail.com>
* feat(container): support local image uploads and improve import task logs
* feat(container): support local image uploads and improve import task logs
* fix(container): remove duplicate image load response helper
The closable card tabs animated the close icon width between active and inactive tabs, so each tab switch reflowed the tab bar and caused the page to jitter. Reserve the close icon slot and toggle it with opacity instead, matching the terminal tab implementation.
Replace database rule synchronization with native rule operations and file-based backup, import, and recovery. Update firewall management views, descriptions, whitelist handling, and translations.
Include terminal reconnect fixes and xpack build tags for Darwin build targets. Remove temporary regression test files before committing.
- 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>