Commit Graph
48 Commits
Author SHA1 Message Date
moebiusbandandClaude Opus 5 d0d9d49012 feat(frontend): add display smoothing filter for metric plots
cc-lib's resamplers cannot smooth: validateFrequency bails out when the new
frequency is not coarser than the old one, and every algorithm produces an
output strictly shorter than its input. They consolidate for transport,
which is a separate job from filtering for display, and they only act at all
once a series exceeds the target point count - shorter jobs arrive raw.

Add a centered, NaN-aware moving average in the plot layer, applied after
whatever downsampling the backend performed. It preserves length and index
alignment, so the X array, the visible point count and the zoom-resampling
hook are unaffected. NaN and null samples are skipped, an all-NaN window
stays NaN so gaps keep rendering, and the window shrinks at the series edges
rather than introducing new gaps there.

The window is a user setting in data points, defaulting to 3, and is
orthogonal to the resample algorithm - it stacks on top of average
consolidation rather than replacing it. All series of a stats plot are
smoothed together, since smoothing only some would break the
min <= mid <= max invariant the plot bands rely on. Smoothing is display
only: reported statistics and job footprints come from JobMetric.Statistics
and are untouched. The uPlot cursor readout does show the smoothed value.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-27 12:18:14 +02:00
moebiusbandandClaude Opus 5 769da61570 fix(frontend): drop dead resample trigger/resolutions config
config.ResampleConfig stopped emitting the trigger and resolutions fields,
but MetricPlot still read them. resampleResolutions and resampleMinimum
were therefore always null, which made the array-based resolution branch in
the setScale hook unreachable and the timestep !== resampleMinimum guard
always true. Keep only the policy-based branch and derive the zoom trigger
straight from targetPoints.

configs/config-large.json still carried the removed minimum-points, trigger
and resolutions keys, which DisallowUnknownFields now rejects, so starting
against it aborted. Replace them with the current keys and add a test that
loads the file, so the example configs cannot drift out of the schema
unnoticed again.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-27 12:17:34 +02:00
moebiusband ffbe171327 Merge branch 'main' into feature/526-average-resample 2026-06-18 07:17:41 +02:00
moebiusbandandClaude Opus 4.8 411bc9b317 feat(web): make footer legal links configurable
Add a "main.footer-links" config option so the footer Imprint and
Privacy Policy links can point at internal pages (default) or external
URLs. External http(s) targets open in a new tab; empty/unset values
fall back to the built-in /imprint and /privacy routes, keeping the
existing ./var/*.tmpl override mechanism intact.

Closes #517

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Entire-Checkpoint: c5dca72c848f
2026-06-17 17:29:50 +02:00
moebiusband 0069c86e81 Replace explicit resampling config with policy based approach
Entire-Checkpoint: f69e38210bb1
2026-03-20 05:34:12 +01:00
moebiusband 624746f34b Fix 404 handler route 2026-02-07 18:29:27 +01:00
moebiusband b600eeca5e Change web ui defaults and fix ui config json schema 2026-01-30 16:31:09 +01:00
moebiusband 1d4c79c821 Unify JSON attribute naming ot use kebab style case. Cleanup configuration. 2026-01-20 09:47:13 +01:00
moebiusband b6f0faa97f Make polarplot default in Jobview 2026-01-15 15:47:40 +01:00
Christoph Kluge 5d376e6865 fix clustername array init size 2026-01-14 16:03:34 +01:00
moebiusband 0ea0270fe1 Reintroduce Clusters as string list of cluster names 2026-01-14 10:37:07 +01:00
moebiusband 4cec933349 Remove obsolete cluster config section 2026-01-13 06:28:33 +01:00
moebiusband 8576ae458d Switch to cc-lib v2 2025-12-24 09:24:18 +01:00
moebiusband 89055506d6 Revert changes to ui config init 2025-10-15 08:54:16 +02:00
Christoph Kluge e296cd7ca0 add web init with uiconfig file path, add cli flag 2025-10-08 16:25:50 +02:00
Christoph Kluge 32429f1481 adapt frontend for new uiConfig keys, add nodeOverview mutation 2025-10-02 18:10:33 +02:00
moebiusband e58b0fa015 Add ui config tests and fix bugs 2025-09-30 09:01:54 +02:00
moebiusband 015583f1cd Add incremental configuration 2025-09-28 08:26:18 +02:00
moebiusband 50d000e7e2 Implement UI config handling 2025-09-27 09:26:42 +02:00
moebiusband 0754ba5292 Port configuration to ccConfig scheme
Decentralize config validation
Modularize configuration handling
2025-07-07 13:09:12 +02:00
moebiusband 639e1b9c6d Port to cc-lib. Extend legal header. 2025-06-30 12:06:35 +02:00
Christoph Kluge bd0cc69668 Review fatalf log calls and messages 2025-02-27 18:10:04 +01:00
Christoph Kluge e55798944e add navbar select, add continous scroll, paging persistance 2025-01-10 18:02:54 +01:00
Christoph Kluge 38ce40ae7d feat: redirect to requested page after login, solves #281 2024-11-26 16:21:16 +01:00
Christoph Kluge 21e4870e4c feat: add configurability to frontend plot zoom 2024-09-24 11:13:39 +02:00
moebiusband fb8bbea99d Remove year in copyright notice 2024-04-11 23:04:30 +02:00
moebiusband 87ce4f63d4 Refactor auth module
Separate parts
Add user repository
Add user schema
2023-08-17 10:29:00 +02:00
moebiusband c6a0d442cc feat: Add optional notification banner on homepage
Fixes #185
2023-07-19 08:25:14 +02:00
Christoph Kluge 45a3346783 Merge branch 'master' into hotfix: Bring branch up to date 2023-06-23 10:41:59 +02:00
moebiusband 8eda4b306d Unify and cleanup message template 2023-06-22 18:09:40 +02:00
moebiusband 82b8e8c284 Fix bug in SearchBar Handler
Introduce Message boxes
Incomplete and needs cleanup
2023-06-22 16:26:09 +02:00
moebiusband eb867528e3 feat - Allow to overwrite login template 2023-06-22 07:01:29 +02:00
moebiusband 29b6022f97 Allow to overwrite legal texts 2023-06-12 16:45:23 +02:00
Christoph Kluge f37e7c26f6 Rework roles as enum, change AuthSource to enum 2023-03-06 11:44:38 +01:00
Christoph Kluge e0e51813ad Merge branch 'master' into 40_45_82_update_roles 2023-02-21 17:17:41 +01:00
Christoph Kluge 68efe871c7 Centralize project filter for manager role
- Remove all unnecessary frontend code for managerfilters
2023-02-20 11:24:18 +01:00
Christoph Kluge 397ab08b3b Add support for multiple projects per manager
- Handled like roles in admin view
- !! NEW COLUMN CHANGED TO "projects"
2023-02-17 15:45:31 +01:00
Christoph Kluge a885e69125 Adapt loglevel for logs, shorten strings, fix formats, streamline
- Switched to Warn for most errors, reduces bloat, improves log control
2023-02-01 11:58:27 +01:00
Christoph Kluge b2aed2f16b Add 'project' to user table, add 'manager' role, conditional web render
- Addresses issues #40 #45 #82
- Reworked Navigation Header for all roles
- 'Manager' role added, can be assigned a project-id in config by admins
- BREAKING! -> Added 'project' column in SQLite3 table 'user'
- Manager-Assigned project will be added to all graphql filters: Only show Jobs and Users of given project
- 'My Jobs' Tab for all Roles
- Switched from Bool "isAdmin" to integer authLevels
- Removed critical data frontend logging
- Reworked repo.query.SecurityCheck()
2023-01-27 18:36:58 +01:00
Christoph Kluge 25286ff068 Small addition to page-config infolog
- Adresses issue #26
2023-01-20 09:58:16 +01:00
Christoph Kluge 24a4244f19 add more information to existing errors logs and panics
- '$ROOT/$FILE' for better localization in the code
- add text where none was given
- fix unnecessary sprintf nesting in influxv2 and prometheus metricrepo logging
2023-01-19 16:59:14 +01:00
Christoph Kluge 24f9d4f934 Add buildInfo to frontend footer 2022-09-27 09:56:17 +02:00
Jan EitzingerandGitHub 918a07735d Merge branch 'master' into dev-job-archive-module 2022-09-26 15:12:46 +02:00
Jan Eitzinger 9a4d279c5a Inject cluster config in header variable 2022-09-12 13:35:42 +02:00
Jan Eitzinger fc76eed899 Refactor package structure
Builds but not tested
2022-09-05 17:46:38 +02:00
Michael Schwarz 84bac7e520 Add new role support. This enables designated users to see all jobs. 2022-08-25 12:45:11 +02:00
Jan Eitzinger 26df1e7c14 Add copyright and license header. Update license year 2022-07-29 06:29:21 +02:00
Lou Knauer 4f61580b2b embed frontend files into binary (issue #2) 2022-07-06 14:55:39 +02:00