Skip to content

merge with milva master#1

Open
bbesli wants to merge 9 commits into
devoplus:masterfrom
Milvasoft:master
Open

merge with milva master#1
bbesli wants to merge 9 commits into
devoplus:masterfrom
Milvasoft:master

Conversation

@bbesli
Copy link
Copy Markdown
Member

@bbesli bbesli commented May 22, 2026

Description

Please provide a brief description of the changes in this PR.

Related Issue

Fixes #(issue number)

Type of Change

  • Bug fix (non-breaking change that fixes an issue)
  • New feature (non-breaking change that adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Documentation update
  • Performance improvement
  • Code refactoring
  • Test update

Changes Made

  • Change 1
  • Change 2
  • Change 3

Testing

Describe the tests you ran to verify your changes:

  • Unit tests pass
  • Integration tests pass
  • Manual testing performed

Test Configuration:

  • OS:
  • .NET Version:

Checklist

  • My code follows the project's style guidelines
  • I have performed a self-review of my code
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings
  • I have added tests that prove my fix is effective or that my feature works
  • New and existing unit tests pass locally with my changes
  • Any dependent changes have been merged and published

Screenshots (if applicable)

Add screenshots to help explain your changes.

Additional Notes

Add any additional notes for reviewers.

Introduce cursor-based pagination for job occurrences and enhance
workflow triggering with per-step job data overrides.

* Add `.env` and `.env.local` to `.gitignore` for local environment management.
* Add `GetJobOccurenceListCursorQuery` and handler for cursor-based pagination.
* Update `JobsController` with `GetJobOccurrencesCursorAsync` endpoint.
* Add `StepJobData` to `WorkflowRuns` via `WorkflowJobDataOverride` migration.
* Enhance `WorkflowStepDto` with `WorkerId` and `JobNameInWorker`.
* Refactor `GetWorkflowDetailQueryHandler` to include job info for steps.
* Add `TriggerWorkflowCommand` and handler for per-step job data overrides.
* Implement `MergeJobData` method in `WorkflowEngineService`.
* Update `OccurrenceTable` and `ExecutionList` for cursor-based pagination.
* Add `TriggerWorkflowModal` for workflow triggering with step overrides.
* Update `WorkflowDetail` and `WorkflowList` to integrate the modal.
* Enhance `occurrenceService` and `workflowService` for new features.
* Upgrade NuGet dependencies for improved functionality and compatibility.
* Update unit tests to reflect changes in `JobDataMap` handling.
* Add new CSS styles for `TriggerWorkflowModal` and pagination updates.
Introduce `BasePath` for hosting under a sub-path.

* Add `BasePath` property to `MilvaionConfig.cs` for configuration.
* Update `docker-compose.yml` and `Dockerfile` to support `VITE_BASE_PATH`.
* Modify `Program.cs` to use `UsePathBase` middleware for routing.
* Update `vite.config.js` to dynamically configure `base` and proxy settings.
* Update `.env` files to include `VITE_BASE_PATH` for local and production builds.
* Refactor React components to use `useNavigate` for base path compatibility.
* Update `api.js` and `signalRService.js` to construct URLs dynamically.
* Add integration tests (`BasePathIntegrationTests.cs`) to validate sub-path hosting.
* Document `BasePath` configuration in `06-configuration.md`.
* Update PWA settings to respect the base path.

These changes enable deployment flexibility by allowing the application to be hosted under a configurable sub-path.
Refactor startup recovery to improve dispatcher responsiveness:
* Add `CleanupZombieOccurrencesAsync` to handle zombie cleanup in the background.
* Remove inline zombie cleanup logic from `PerformStartupRecoveryAsync`.
* Update log messages to indicate background zombie cleanup.
* Enhance XML documentation for `PerformStartupRecoveryAsync` and add documentation for `CleanupZombieOccurrencesAsync`.

This change allows the dispatcher to start immediately while zombie cleanup runs asynchronously, improving system performance and maintainability.
Introduce /config.js endpoint to serve runtime base path and settings for the frontend. Update React app to read base path from window.__MILVAION_CONFIG__ for routing, API, and SignalR. Adjust documentation and docker-compose.yml to reflect new runtime configuration approach.
- Added ManagementEnabled and ManagementPort to RabbitMQOptions and appsettings.json. - Introduced RabbitMQManagementClient for querying queue stats via the Management HTTP API.
- Updated QueueDepthMonitor to use the Management API for detailed queue statistics and dynamic queue discovery, with fallback to AMQP when unavailable.
- Updated DI registration and XML docs accordingly.
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