Skip to content

FEMS Backports 2026-02-18#3568

Open
sfeilmeier wants to merge 46 commits intodevelopfrom
feature/fems-backports
Open

FEMS Backports 2026-02-18#3568
sfeilmeier wants to merge 46 commits intodevelopfrom
feature/fems-backports

Conversation

@sfeilmeier
Copy link
Contributor

No description provided.

sfeilmeier and others added 30 commits February 17, 2026 21:31
- Problem: Existing predictor persistence models, which are used for fallback, are not added to the PredictorManager
- Solution:
  - The PersistenceModel is now packed into the app "Default Prediction", which is installed automatically
  - It is also added with the lowest priority to the PredictorManager during installation

Reviewed-by: Michael Grill <59126309+michaelgrill@users.noreply.github.com>
Reviewed-by: Stefan Feilmeier <3515268+sfeilmeier@users.noreply.github.com>
Co-authored-by: Leonhard Anderle <132663596+leonhardanderle@users.noreply.github.com>
Co-committed-by: Leonhard Anderle <132663596+leonhardanderle@users.noreply.github.com>
- Improve test coverage
- Reuse logic from EVCS for EVSE implementation
- No implementation for Phase-Switching yet
- Switch Architecture via App Center

Co-authored-by: Stefan Feilmeier <3515268+sfeilmeier@users.noreply.github.com>
Co-authored-by: Alex Belke <233420507+alexbelkedev@users.noreply.github.com>
Co-authored-by: Sebastian Asen <47855186+sebastianasen@users.noreply.github.com>
Reviewed-by: Victor Nagy <11665068+v-nagy@users.noreply.github.com>
Co-authored-by: Johann Kaufmann <165755282+johannk24@users.noreply.github.com>
Co-committed-by: Johann Kaufmann <165755282+johannk24@users.noreply.github.com>
Co-authored-by: Leon Blenk <168936274+LaBlanko@users.noreply.github.com>
Co-authored-by: Sebastian Asen <47855186+sebastianasen@users.noreply.github.com>
Reviewed-by: Sebastian Asen <47855186+sebastianasen@users.noreply.github.com>
Reviewed-by: Stefan Feilmeier <3515268+sfeilmeier@users.noreply.github.com>
Co-authored-by: Leon Blenk <168936274+LaBlanko@users.noreply.github.com>
Co-committed-by: Leon Blenk <168936274+LaBlanko@users.noreply.github.com>
- added contentHeight to form
- added additional request and check for the specific car
- added notification if there is an error with configuration

Co-authored-by: DerMuaaa <102706922+Andreas Mur@users.noreply.github.com>
Reviewed-by: Lukas Rieger <73471197+lukasrgr@users.noreply.github.com>
Reviewed-by: Stefan Feilmeier <3515268+sfeilmeier@users.noreply.github.com>
Co-authored-by: Andreas Mur <102706922+DerMuaaa@users.noreply.github.com>
Co-committed-by: Andreas Mur <102706922+DerMuaaa@users.noreply.github.com>
Co-authored-by: Sebastian Asen <47855186+sebastianasen@users.noreply.github.com>
Co-authored-by: Stefan Feilmeier <3515268+sfeilmeier@users.noreply.github.com>
Reviewed-by: Michael Grill <59126309+michaelgrill@users.noreply.github.com>
Reviewed-by: Stefan Feilmeier <3515268+sfeilmeier@users.noreply.github.com>
Co-authored-by: Alex Belke <233420507+alexbelkedev@users.noreply.github.com>
Co-committed-by: Alex Belke <233420507+alexbelkedev@users.noreply.github.com>
Reviewed-by: Lukas Rieger <73471197+lukasrgr@users.noreply.github.com>
Reviewed-by: Hanna Späth <198875998+HaSp97@users.noreply.github.com>
Reviewed-by: Stefan Feilmeier <3515268+sfeilmeier@users.noreply.github.com>
Co-authored-by: Anas Shetla <141644226+AnasShetla@users.noreply.github.com>
Co-committed-by: Anas Shetla <141644226+AnasShetla@users.noreply.github.com>
https://docs.gradle.org/current/userguide/lazy_configuration.html

Reviewed-by: Stefan Feilmeier <3515268+sfeilmeier@users.noreply.github.com>
Co-authored-by: Kai Jeschek <99220919+da-Kai@users.noreply.github.com>
Co-committed-by: Kai Jeschek <99220919+da-Kai@users.noreply.github.com>
- Improve visibility of chart views for [WCAG 1.4.4](https://www.w3.org/WAI/WCAG21/Understanding/resize-text.html)
- fix height calculation throughout ui
- use `oe-footer-subnavigation` in charts, to enable dynamic scaling of chart canvas and stop overflowing content

Co-authored-by: DerMuaaa <102706922+Andreas Mur@users.noreply.github.com>
Co-authored-by: Andreas Mur <102706922+DerMuaaa@users.noreply.github.com>
Reviewed-by: Hanna Späth <198875998+HaSp97@users.noreply.github.com>
Reviewed-by: Andreas Mur <102706922+DerMuaaa@users.noreply.github.com>
Reviewed-by: Stefan Feilmeier <3515268+sfeilmeier@users.noreply.github.com>
Co-authored-by: Lukas Rieger <73471197+lukasrgr@users.noreply.github.com>
Co-committed-by: Lukas Rieger <73471197+lukasrgr@users.noreply.github.com>
Reviewed-by: Pooran Chandrashekaraiah <46567310+pooran-c@users.noreply.github.com>
Reviewed-by: Lukas Rieger <73471197+lukasrgr@users.noreply.github.com>
Reviewed-by: Stefan Feilmeier <3515268+sfeilmeier@users.noreply.github.com>
Co-authored-by: Sagar Venu <32655208+venu-sagar@users.noreply.github.com>
Co-committed-by: Sagar Venu <32655208+venu-sagar@users.noreply.github.com>
…e channels

### Purpose
Add diagnostic channels to SOH cycle controller for better visibility into battery state of health:
- **SOH_PERCENT** - State of Health percentage (0-100%)
- **SOH_RAW_DEBUG** - Raw SoH value (may exceed 100%, for debugging)

Additionally, add battery balancing diagnostic channels to help identify null value issues:
- **BALANCING_DELTA_MV_DEBUG** - Cell voltage delta (mV)
- **BALANCING_REASON** - Explains balance check failures (BASELINE_MIN_MISSING, MAX_VOLTAGE_UNDEFINED, DELTA_NEGATIVE, etc.)

### Changes
- New enum: `BatteryBalanceReason` with 7 diagnostic states
- Enhanced: `CheckBalancingHandler` to track and persist diagnostic reasons
- Updated: `Context.java` to calculate and set diagnostic channels
- **Improved voltage tracking**: Changed cell voltage delta calculation. Now it captures maximum values for the maximum and minimum cell voltages and compare them in the Check Balancing Cycle.
- Tests: 5 test cases covering all balance check failure paths

### Impact
- ✅ Backward compatible
- ✅ No behavior changes
- ✅ Diagnostics persist after cycle completion
- ✅ Enables root cause analysis without log parsing

Co-authored-by: Stefan Feilmeier <3515268+sfeilmeier@users.noreply.github.com>
Co-authored-by: Sebastian Asen <47855186+sebastianasen@users.noreply.github.com>
Reviewed-by: Sebastian Asen <47855186+sebastianasen@users.noreply.github.com>
Reviewed-by: Stefan Feilmeier <3515268+sfeilmeier@users.noreply.github.com>
Co-authored-by: Alex Belke <233420507+alexbelkedev@users.noreply.github.com>
Co-committed-by: Alex Belke <233420507+alexbelkedev@users.noreply.github.com>
- Noticed during refactoring of charts, that not all exceptions are catched

Reviewed-by: Andreas Mur <102706922+DerMuaaa@users.noreply.github.com>
Reviewed-by: Stefan Feilmeier <3515268+sfeilmeier@users.noreply.github.com>
Co-authored-by: Lukas Rieger <73471197+lukasrgr@users.noreply.github.com>
Co-committed-by: Lukas Rieger <73471197+lukasrgr@users.noreply.github.com>
Co-authored-by: Lukas Rieger <73471197+lukasrgr@users.noreply.github.com>
Reviewed-by: Hanna Späth <198875998+HaSp97@users.noreply.github.com>
Reviewed-by: Lukas Rieger <73471197+lukasrgr@users.noreply.github.com>
Reviewed-by: Andreas Mur <102706922+DerMuaaa@users.noreply.github.com>
Reviewed-by: Stefan Feilmeier <3515268+sfeilmeier@users.noreply.github.com>
Co-authored-by: Sagar Venu <32655208+venu-sagar@users.noreply.github.com>
Co-committed-by: Sagar Venu <32655208+venu-sagar@users.noreply.github.com>
…t yet have READ_ONLY

- If a Charging Station does not yet have "READ_ONLY" yet, default to false to allow older systems to switch architecture

Reviewed-by: Michael Grill <59126309+michaelgrill@users.noreply.github.com>
Reviewed-by: Stefan Feilmeier <3515268+sfeilmeier@users.noreply.github.com>
Co-authored-by: Johann Kaufmann <165755282+johannk24@users.noreply.github.com>
Co-committed-by: Johann Kaufmann <165755282+johannk24@users.noreply.github.com>
- Add Chart Plotter to `RunOptimizerFromLogApp` and `RunOptimizerApp`
- Simplify inheritance;  GlobalOptimizationContext: add Periods class
- Add `consumptionRiskAdjusted` by Risk Factor
- More conservative predictions
- Higher target-SoC per RiskFactor

Co-authored-by: Leonhard Anderle <132663596+leonhardanderle@users.noreply.github.com>
Co-authored-by: Andreas Mur <102706922+Andreas Mur@users.noreply.github.com>
Reviewed-by: Lukas Rieger <73471197+lukasrgr@users.noreply.github.com>
Reviewed-by: Stefan Feilmeier <3515268+sfeilmeier@users.noreply.github.com>
Co-authored-by: Andreas Mur <102706922+DerMuaaa@users.noreply.github.com>
Co-committed-by: Andreas Mur <102706922+DerMuaaa@users.noreply.github.com>
Co-authored-by: Sagar Venu <32655208+venu-sagar@users.noreply.github.com>
Co-committed-by: Sagar Venu <32655208+venu-sagar@users.noreply.github.com>
- Casting to `short` lead to non identified hashes
Reviewed-by: Andreas Mur <102706922+DerMuaaa@users.noreply.github.com>
Reviewed-by: Stefan Feilmeier <3515268+sfeilmeier@users.noreply.github.com>
Co-authored-by: Lukas Rieger <73471197+lukasrgr@users.noreply.github.com>
Co-committed-by: Lukas Rieger <73471197+lukasrgr@users.noreply.github.com>
Reviewed-by: Alex Belke <233420507+alexbelkedev@users.noreply.github.com>
Reviewed-by: Stefan Feilmeier <3515268+sfeilmeier@users.noreply.github.com>
Co-authored-by: Kai Jeschek <99220919+da-Kai@users.noreply.github.com>
Co-committed-by: Kai Jeschek <99220919+da-Kai@users.noreply.github.com>
Reviewed-by: Sebastian Asen <47855186+sebastianasen@users.noreply.github.com>
Reviewed-by: Stefan Feilmeier <3515268+sfeilmeier@users.noreply.github.com>
Co-authored-by: Lukas Rieger <73471197+lukasrgr@users.noreply.github.com>
Co-committed-by: Lukas Rieger <73471197+lukasrgr@users.noreply.github.com>
- Add library JFreeChart for plotting
- Use JFreeChart to plot SimulationResult

Co-authored-by: Stefan Feilmeier <3515268+sfeilmeier@users.noreply.github.com>
Reviewed-by: Stefan Feilmeier <3515268+sfeilmeier@users.noreply.github.com>
Co-authored-by: Leonhard Anderle <132663596+leonhardanderle@users.noreply.github.com>
Co-committed-by: Leonhard Anderle <132663596+leonhardanderle@users.noreply.github.com>
Co-authored-by: Stefan Feilmeier <3515268+sfeilmeier@users.noreply.github.com>
Reviewed-by: Michael Grill <59126309+michaelgrill@users.noreply.github.com>
Reviewed-by: Stefan Feilmeier <3515268+sfeilmeier@users.noreply.github.com>
Co-authored-by: Lukas Rieger <73471197+lukasrgr@users.noreply.github.com>
Co-committed-by: Lukas Rieger <73471197+lukasrgr@users.noreply.github.com>
- fix local monitoring not calling `getEdges` and not being rerouted to `/live`

Reviewed-by: Alex Belke <233420507+alexbelkedev@users.noreply.github.com>
Reviewed-by: Andreas Mur <102706922+DerMuaaa@users.noreply.github.com>
Reviewed-by: Stefan Feilmeier <3515268+sfeilmeier@users.noreply.github.com>
Co-authored-by: Lukas Rieger <73471197+lukasrgr@users.noreply.github.com>
Co-committed-by: Lukas Rieger <73471197+lukasrgr@users.noreply.github.com>
SoH Cycle dependency was added to Fenecon Home and Commercial Apps:

- Home
  - FeneconHome10
  - FeneconHome10Gen2
  - FeneconHome15
  - FeneconHome20
  - FeneconHome30
  - FeneconHome6

- Commercial
  - FeneconCommercial100
  - FeneconCommercial50Gen3

Reviewed-by: Sebastian Asen <47855186+sebastianasen@users.noreply.github.com>
Reviewed-by: Stefan Feilmeier <3515268+sfeilmeier@users.noreply.github.com>
Co-authored-by: Alex Belke <233420507+alexbelkedev@users.noreply.github.com>
Co-committed-by: Alex Belke <233420507+alexbelkedev@users.noreply.github.com>
Add build files for BackendEdge
* add gradle build task
* remove unnecessary bundle dependencies
* Use io.openems.core.logger
* add docker image build

Co-authored-by: Stefan Feilmeier <3515268+sfeilmeier@users.noreply.github.com>
Reviewed-by: Michael Grill <59126309+michaelgrill@users.noreply.github.com>
Reviewed-by: Stefan Feilmeier <3515268+sfeilmeier@users.noreply.github.com>
Co-authored-by: Kai Jeschek <99220919+da-Kai@users.noreply.github.com>
Co-committed-by: Kai Jeschek <99220919+da-Kai@users.noreply.github.com>
Reviewed-by: Stefan Feilmeier <3515268+sfeilmeier@users.noreply.github.com>
Co-authored-by: Leonhard Anderle <132663596+leonhardanderle@users.noreply.github.com>
Co-committed-by: Leonhard Anderle <132663596+leonhardanderle@users.noreply.github.com>
Reviewed-by: Kai Jeschek <99220919+da-Kai@users.noreply.github.com>
Reviewed-by: Michael Grill <59126309+michaelgrill@users.noreply.github.com>
Reviewed-by: Stefan Feilmeier <3515268+sfeilmeier@users.noreply.github.com>
Co-authored-by: Alex Belke <233420507+alexbelkedev@users.noreply.github.com>
Co-committed-by: Alex Belke <233420507+alexbelkedev@users.noreply.github.com>
- Made it possible to include parameters to other data in channelDoc text.
- It does not inform the UI about the text update, but that should not be relevant for error messages and it was not implemented in the old goodwe dynamic text as well.
- Implemented to include detected and expected model names in "The device type you selected does not match the discovered Shelly model ..." state message

Reviewed-by: Leonhard Anderle <132663596+leonhardanderle@users.noreply.github.com>
Reviewed-by: Stefan Feilmeier <3515268+sfeilmeier@users.noreply.github.com>
Co-authored-by: Franz Reiter <1498918+Howaner@users.noreply.github.com>
Co-committed-by: Franz Reiter <1498918+Howaner@users.noreply.github.com>
- Consumption prediction:
  - Fix wrong method call in consumption prediction
- RiskLevel:
  - Change RiskLevel to Environment (BETA, PRODUCTION and TEST (stable environment for unit tests))
- Optimization:
  - Punish CHARGE_GRID when ess is full
  - Add mode preference ranks, to prefer specific modes when there is no difference in costs

Reviewed-by: Stefan Feilmeier <3515268+sfeilmeier@users.noreply.github.com>
Co-authored-by: Leonhard Anderle <132663596+leonhardanderle@users.noreply.github.com>
Co-committed-by: Leonhard Anderle <132663596+leonhardanderle@users.noreply.github.com>
- car now gets identified via query parameters

Co-authored-by: DerMuaaa <102706922+Andreas Mur@users.noreply.github.com>
Reviewed-by: Lukas Rieger <73471197+lukasrgr@users.noreply.github.com>
Reviewed-by: Stefan Feilmeier <3515268+sfeilmeier@users.noreply.github.com>
Co-authored-by: Andreas Mur <102706922+DerMuaaa@users.noreply.github.com>
Co-committed-by: Andreas Mur <102706922+DerMuaaa@users.noreply.github.com>
sfeilmeier and others added 16 commits February 17, 2026 22:25
# Problem

Switching the KEBA app between EVCS (legacy) and EVSE (new architecture) could leave the system in an inconsistent state.

Observed issues:

- App marked as “Defekte App erkannt”
- Missing controllers after switch (e.g. ctrlEvseSingle0, cluster controller)
- Validation errors due to mixed architectures:
  - expected `Evse.ChargePoint.Keba.Modbus`, got `Evcs.Keba.P40`
  - missing required property `wiring`
- Scheduler still referencing removed controllers (`ctrlEvcs0`)
- Rollback (Toggle OFF) could permanently break the app configuration

Root cause was a non-atomic architecture switch in SwitchArchitecture, including:

- incorrect lifecycle ordering (config deleted while scheduler/controllers still active)
- incomplete EVCS → EVSE migration (missing components & properties)
- unsafe rollback path

# Solution

- Fixed the EVCS ↔ EVSE migration logic in SwitchArchitecture
- Ensured atomic and consistent architecture switching
- Corrected lifecycle order:
  - scheduler/controller dependencies are updated before configuration removal
- Ensured all required EVSE components are created:
  - EVSE ChargePoint
  - EVSE Single Controller
  - EVSE Cluster Controller
  - Vehicle App instance
- Initialized required EVSE properties (e.g. wiring)
- Extracted migration logic into a static, testable method
- Added unit test reproducing the previous failure and validating the fix

**Question**: Why does SwitchArchitecture line 658 explicitly set wiring = "THREE_PHASE" when EvseProps.wiring() already has .setDefaultValue(Wiring.THREE_PHASE)?

**Answer**: The default value in EvseProps is only used when creating components through the normal app installation flow, not during migration.

Fixed "[object Object]" error messages appearing in snackbars when errors occur during app operations. Implemented proper error message extraction from various error object structures.

Co-authored-by: Sebastian Asen <47855186+sebastianasen@users.noreply.github.com>
Reviewed-by: Sebastian Asen <47855186+sebastianasen@users.noreply.github.com>
Reviewed-by: Andreas Mur <102706922+DerMuaaa@users.noreply.github.com>
Reviewed-by: Stefan Feilmeier <3515268+sfeilmeier@users.noreply.github.com>
Co-authored-by: Alex Belke <233420507+alexbelkedev@users.noreply.github.com>
Co-committed-by: Alex Belke <233420507+alexbelkedev@users.noreply.github.com>
- Replace the **MODE** with **isRunning** logic for more convenience
- When Controller during running would be set to **IsRunning** **false** it immediately stops and returns to **IDLE** state. (_This can be used as cancel/stop button_)

Fixed errors:

- Reset SOH_PERCENT and SOH_RAW_DEBUG by starting new cycle
- show error logs if power details are not available

Co-authored-by: Sebastian Asen <47855186+sebastianasen@users.noreply.github.com>
Reviewed-by: Sebastian Asen <47855186+sebastianasen@users.noreply.github.com>
Reviewed-by: Stefan Feilmeier <3515268+sfeilmeier@users.noreply.github.com>
Co-authored-by: Alex Belke <233420507+alexbelkedev@users.noreply.github.com>
Co-committed-by: Alex Belke <233420507+alexbelkedev@users.noreply.github.com>
- rm runtime warnings
- refactor component class names and selectors to avoid

Reviewed-by: Andreas Mur <102706922+DerMuaaa@users.noreply.github.com>
Reviewed-by: Stefan Feilmeier <3515268+sfeilmeier@users.noreply.github.com>
Co-authored-by: Lukas Rieger <73471197+lukasrgr@users.noreply.github.com>
Co-committed-by: Lukas Rieger <73471197+lukasrgr@users.noreply.github.com>
- Use `MaximumGridFeedInLimit` from `_meta`; required for Industrial
1. Fix hostnames
Adhere to [RFC1035](https://datatracker.ietf.org/doc/html/rfc1035)

2. Update default config

Reviewed-by: Stefan Feilmeier <3515268+sfeilmeier@users.noreply.github.com>
Co-authored-by: Kai Jeschek <99220919+da-Kai@users.noreply.github.com>
Co-committed-by: Kai Jeschek <99220919+da-Kai@users.noreply.github.com>
- fixes rerouting after refresh for users which are not authenticating per oauth

Reviewed-by: Andreas Mur <102706922+DerMuaaa@users.noreply.github.com>
Reviewed-by: Stefan Feilmeier <3515268+sfeilmeier@users.noreply.github.com>
Co-authored-by: Lukas Rieger <73471197+lukasrgr@users.noreply.github.com>
Co-committed-by: Lukas Rieger <73471197+lukasrgr@users.noreply.github.com>
- adding new icons for Offline status, Time of use "dynamischer Stromtarif"

Co-authored-by: Lukas Rieger <73471197+lukasrgr@users.noreply.github.com>
Reviewed-by: Hanna Späth <198875998+HaSp97@users.noreply.github.com>
Reviewed-by: Lukas Rieger <73471197+lukasrgr@users.noreply.github.com>
Reviewed-by: Stefan Feilmeier <3515268+sfeilmeier@users.noreply.github.com>
Co-authored-by: Anas Shetla <141644226+AnasShetla@users.noreply.github.com>
Co-committed-by: Anas Shetla <141644226+AnasShetla@users.noreply.github.com>
DELAY_DISCHARGE mode stops discharging the battery, but allows charging. (i.e. ESS::DcDischargePower <= 0);
unless peak-shaving to "gridSoftLimit" is required, then it also allows discharging.

For Energy Scheduler v2: Switching from DELAY_DISCHARGE to charging (with BALANCING) did not work properly for hybrid systems.
- enabled getCurrentLanguage for doc links mapping and update offline firewall description link
- enable german and english docs pages

Co-authored-by: Lukas Rieger <73471197+lukasrgr@users.noreply.github.com>
Reviewed-by: Lukas Rieger <73471197+lukasrgr@users.noreply.github.com>
Reviewed-by: Stefan Feilmeier <3515268+sfeilmeier@users.noreply.github.com>
Co-authored-by: Victor Nagy <11665068+v-nagy@users.noreply.github.com>
Co-committed-by: Victor Nagy <11665068+v-nagy@users.noreply.github.com>
- Use Next Available Id to avoid exceptions with existing components

Co-authored-by: Sebastian Asen <47855186+sebastianasen@users.noreply.github.com>
Co-authored-by: Stefan Feilmeier <3515268+sfeilmeier@users.noreply.github.com>
Reviewed-by: Leon Blenk <168936274+LaBlanko@users.noreply.github.com>
Reviewed-by: Stefan Feilmeier <3515268+sfeilmeier@users.noreply.github.com>
Co-authored-by: Johann Kaufmann <165755282+johannk24@users.noreply.github.com>
Co-committed-by: Johann Kaufmann <165755282+johannk24@users.noreply.github.com>
- added P30 to EVSE Configuration of App.Evcs.Keba
- added P30 Components to SwitchArchitecture and removed only P40 check from canSwitch

Co-authored-by: Sebastian Asen <47855186+sebastianasen@users.noreply.github.com>
Reviewed-by: Michael Grill <59126309+michaelgrill@users.noreply.github.com>
Reviewed-by: Stefan Feilmeier <3515268+sfeilmeier@users.noreply.github.com>
Co-authored-by: Johann Kaufmann <165755282+johannk24@users.noreply.github.com>
Co-committed-by: Johann Kaufmann <165755282+johannk24@users.noreply.github.com>
- Improving Scheduler for EVSE, adding option for monthly tasks
- includes `Controller.Evse.Single` ui-implementation for js calendar
- adds `monthly` to `Controller.Evse.Single` (also daily available)

Co-authored-by: Andreas Mur <102706922+Andreas Mur@users.noreply.github.com>
Reviewed-by: Fabian Brandtner <10850256+fabian94533@users.noreply.github.com>
Reviewed-by: Andreas Mur <102706922+DerMuaaa@users.noreply.github.com>
Reviewed-by: Stefan Feilmeier <3515268+sfeilmeier@users.noreply.github.com>
Co-authored-by: Lukas Rieger <73471197+lukasrgr@users.noreply.github.com>
Co-committed-by: Lukas Rieger <73471197+lukasrgr@users.noreply.github.com>
- Readded line to delete second evcs

Reviewed-by: Stefan Feilmeier <3515268+sfeilmeier@users.noreply.github.com>
Co-authored-by: Johann Kaufmann <165755282+johannk24@users.noreply.github.com>
Co-committed-by: Johann Kaufmann <165755282+johannk24@users.noreply.github.com>
@codecov
Copy link

codecov bot commented Feb 17, 2026

Codecov Report

❌ Patch coverage is 78.31325% with 432 lines in your changes missing coverage. Please review.

Additional details and impacted files
@@              Coverage Diff              @@
##             develop    #3568      +/-   ##
=============================================
- Coverage      59.41%   58.59%   -0.81%     
  Complexity       105      105              
=============================================
  Files           3069     3091      +22     
  Lines         133076   134005     +929     
  Branches        9815     9882      +67     
=============================================
- Hits           79049    78508     -541     
- Misses         51045    52590    +1545     
+ Partials        2982     2907      -75     
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant