From b600eeca5ed9d9fe0b1ea190f6a8b0021d903f4c Mon Sep 17 00:00:00 2001 From: Jan Eitzinger Date: Fri, 30 Jan 2026 16:31:09 +0100 Subject: [PATCH 1/3] Change web ui defaults and fix ui config json schema --- web/configSchema.go | 2 +- web/web.go | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/web/configSchema.go b/web/configSchema.go index cc59d95d..66e57195 100644 --- a/web/configSchema.go +++ b/web/configSchema.go @@ -155,7 +155,7 @@ const configSchema = `{ } } }, - "required": ["name", "sub-clusters"], + "required": ["name"], "minItems": 1 } } diff --git a/web/web.go b/web/web.go index 32d70a45..f3185abc 100644 --- a/web/web.go +++ b/web/web.go @@ -80,7 +80,7 @@ var UIDefaults = WebConfig{ ShowFootprint: false, }, NodeList: NodeListConfig{ - UsePaging: true, + UsePaging: false, }, JobView: JobViewConfig{ ShowPolarPlot: true, @@ -89,8 +89,8 @@ var UIDefaults = WebConfig{ ShowStatTable: true, }, MetricConfig: MetricConfig{ - JobListMetrics: []string{"flops_any", "mem_bw", "mem_used"}, - JobViewPlotMetrics: []string{"flops_any", "mem_bw", "mem_used"}, + JobListMetrics: []string{"cpu_load", "flops_any", "mem_bw", "mem_used"}, + JobViewPlotMetrics: []string{"cpu_load", "flops_any", "mem_bw", "mem_used"}, JobViewTableMetrics: []string{"flops_any", "mem_bw", "mem_used"}, }, PlotConfiguration: PlotConfiguration{ From 5e58c9f376e80c505e8aee5323674ef9cbb9a242 Mon Sep 17 00:00:00 2001 From: Jan Eitzinger Date: Fri, 30 Jan 2026 16:49:55 +0100 Subject: [PATCH 2/3] Adapt unit test to changed implementation --- web/webConfig_test.go | 49 ++++++++++++++++++++++++++++--------------- 1 file changed, 32 insertions(+), 17 deletions(-) diff --git a/web/webConfig_test.go b/web/webConfig_test.go index 82305f7c..c5c235c2 100644 --- a/web/webConfig_test.go +++ b/web/webConfig_test.go @@ -7,35 +7,48 @@ package web import ( "encoding/json" - "fmt" "testing" - - ccconf "github.com/ClusterCockpit/cc-lib/v2/ccConfig" ) -func TestInit(t *testing.T) { - fp := "../../configs/config.json" - ccconf.Init(fp) - cfg := ccconf.GetPackageConfig("ui") +func TestInitDefaults(t *testing.T) { + // Test Init with nil config uses defaults + err := Init(nil) + if err != nil { + t.Fatalf("Init failed: %v", err) + } - Init(cfg) - - if UIDefaultsMap["nodeList_usePaging"] == false { - t.Errorf("wrong option\ngot: %v \nwant: true", UIDefaultsMap["NodeList_UsePaging"]) + // Check default values are set + if UIDefaultsMap["jobList_usePaging"] != false { + t.Errorf("wrong option\ngot: %v \nwant: false", UIDefaultsMap["jobList_usePaging"]) + } + if UIDefaultsMap["nodeList_usePaging"] != false { + t.Errorf("wrong option\ngot: %v \nwant: false", UIDefaultsMap["nodeList_usePaging"]) + } + if UIDefaultsMap["jobView_showPolarPlot"] != true { + t.Errorf("wrong option\ngot: %v \nwant: true", UIDefaultsMap["jobView_showPolarPlot"]) } } func TestSimpleDefaults(t *testing.T) { const s = `{ "job-list": { - "show-footprint": false + "show-footprint": true } }` - Init(json.RawMessage(s)) + err := Init(json.RawMessage(s)) + if err != nil { + t.Fatalf("Init failed: %v", err) + } - if UIDefaultsMap["jobList_usePaging"] == true { - t.Errorf("wrong option\ngot: %v \nwant: false", UIDefaultsMap["NodeList_UsePaging"]) + // Verify show-footprint was set + if UIDefaultsMap["jobList_showFootprint"] != true { + t.Errorf("wrong option\ngot: %v \nwant: true", UIDefaultsMap["jobList_showFootprint"]) + } + + // Verify other defaults remain unchanged + if UIDefaultsMap["jobList_usePaging"] != false { + t.Errorf("wrong option\ngot: %v \nwant: false", UIDefaultsMap["jobList_usePaging"]) } } @@ -59,9 +72,11 @@ func TestOverwrite(t *testing.T) { } }` - Init(json.RawMessage(s)) + err := Init(json.RawMessage(s)) + if err != nil { + t.Fatalf("Init failed: %v", err) + } - fmt.Printf("%+v", UIDefaultsMap) v, ok := UIDefaultsMap["metricConfig_jobListMetrics"].([]string) if ok { if v[0] != "flops_sp" { From aa3fcbfe17740a0b369f29fbc7b7cdcaa4237cd1 Mon Sep 17 00:00:00 2001 From: Christoph Kluge Date: Fri, 30 Jan 2026 17:22:39 +0100 Subject: [PATCH 3/3] add compareJobs feature to user job list view --- web/frontend/src/User.root.svelte | 460 +++++++++++++++++------------- 1 file changed, 268 insertions(+), 192 deletions(-) diff --git a/web/frontend/src/User.root.svelte b/web/frontend/src/User.root.svelte index 96ee4704..669ca8bb 100644 --- a/web/frontend/src/User.root.svelte +++ b/web/frontend/src/User.root.svelte @@ -7,7 +7,7 @@ -->