Skip to content

Conversation

atomicgamedeveloper
Copy link
Contributor

@atomicgamedeveloper atomicgamedeveloper commented Sep 19, 2025

Pull Request Template

Title

Finalize Implementation of Concurrent Digital Twin Execution with IndexedDB Integration

Type of Change

  • New feature
  • Bug fix
  • Documentation update
  • Refactoring
  • Security patch
  • UI/UX improvement

Description

This PR finalizes the implementation of the concurrent execution for Digital Twins with IndexedDB integration. Users can now start multiple executions of the same Digital Twin simultaneously, with execution history persisted in the browser's IndexedDB. The implementation includes a new execution history data model, IndexedDB service, and UI components to display and manage execution history.

New is that it merges recent changes of the up-coming version 0.8 of DTaaS such as settings menu and new interface design.

Working on Testing

  • Added unit tests for the IndexedDB service and Redux store
  • Manually tested concurrent execution functionality
  • Verified persistence of execution history across browser sessions
  • Fixed existing tests to accommodate the new functionality

Impact

  • Improves user experience by allowing multiple executions to run in parallel
  • Adds local persistence of execution history using IndexedDB
  • Enhances the UI with execution history list and status indicators

Additional Information

This PR builds on top of #1235 by Microchesst.

Checklist

  • My code adheres to the coding and style guidelines of the project.
  • I have added tests for all the new code and any changes made to existing code.
  • I have made corresponding changes to the documentation.

Copy link

codecov bot commented Sep 19, 2025

Codecov Report

❌ Patch coverage is 84.23855% with 148 lines in your changes missing coverage. Please review.
✅ Project coverage is 92.50%. Comparing base (6802dbd) to head (5372c1e).

⚠️ Current head 5372c1e differs from pull request most recent head 70a9d39

Please upload reports for the commit 70a9d39 to get more accurate results.

Files with missing lines Patch % Lines
.../backend/gitlab/services/ExecutionStatusService.ts 13.15% 33 Missing ⚠️
...del/backend/gitlab/state/executionHistory.slice.ts 77.58% 26 Missing ⚠️
client/src/database/digitalTwins.ts 84.00% 20 Missing ⚠️
...e/digitaltwins/execution/executionStatusManager.ts 77.21% 18 Missing ⚠️
...oute/digitaltwins/execution/executionUIHandlers.ts 71.18% 17 Missing ⚠️
.../src/model/backend/gitlab/execution/logFetching.ts 68.29% 13 Missing ⚠️
.../src/components/execution/ExecutionHistoryList.tsx 93.69% 7 Missing ⚠️
client/src/preview/util/digitalTwin.ts 91.80% 5 Missing ⚠️
...preview/route/digitaltwins/manage/DeleteDialog.tsx 85.71% 2 Missing ⚠️
...lient/src/store/selectors/digitalTwin.selectors.ts 66.66% 2 Missing ⚠️
... and 5 more
Additional details and impacted files
@@                     Coverage Diff                      @@
##           feature/distributed-demo    #1328      +/-   ##
============================================================
- Coverage                     95.72%   92.50%   -3.23%     
============================================================
  Files                           103      113      +10     
  Lines                          2875     3534     +659     
  Branches                        483      570      +87     
============================================================
+ Hits                           2752     3269     +517     
- Misses                          120      262     +142     
  Partials                          3        3              
Files with missing lines Coverage Δ
client/src/components/asset/HistoryButton.tsx 100.00% <100.00%> (ø)
client/src/database/types.ts 100.00% <100.00%> (ø)
...odel/backend/gitlab/digitalTwinConfig/constants.ts 100.00% <100.00%> (ø)
...c/model/backend/gitlab/execution/statusChecking.ts 100.00% <100.00%> (ø)
...rc/model/backend/gitlab/state/digitalTwin.slice.ts 100.00% <ø> (ø)
...t/src/model/backend/interfaces/sharedInterfaces.ts 100.00% <ø> (ø)
client/src/preview/components/asset/AssetBoard.tsx 97.82% <100.00%> (ø)
client/src/preview/components/asset/AssetCard.tsx 88.70% <100.00%> (ø)
...lient/src/preview/components/asset/StartButton.tsx 100.00% <100.00%> (ø)
...eview/route/digitaltwins/create/CreateDTDialog.tsx 100.00% <100.00%> (ø)
... and 21 more

... and 2 files with indirect coverage changes

Components Coverage Δ
Website 92.50% <84.23%> (-3.23%) ⬇️
Lib Microservice ∅ <ø> (∅)
🚀 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.

Copy link

Quality Gate Failed Quality Gate failed

Failed conditions
6.7% Duplication on New Code (required ≤ 3%)

See analysis details on SonarQube Cloud

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.

2 participants