diff --git a/.github/workflows/packages.yml b/.github/workflows/packages.yml
index a7fc2f5b..bded8b4b 100644
--- a/.github/workflows/packages.yml
+++ b/.github/workflows/packages.yml
@@ -95,23 +95,23 @@ jobs:
# Upload nuget packages
- name: Upload nuget packages
- uses: actions/upload-artifact@v3
+ uses: actions/upload-artifact@v4
with:
name: elsa-studio-nuget-packages
path: ./packages/nuget/*nupkg
# Upload npm wasm package
- name: Upload npm wasm package
- uses: actions/upload-artifact@v3
+ uses: actions/upload-artifact@v4
with:
name: elsa-studio-npm-packages
path: ./packages/wasm/wwwroot/*.tgz
# Upload npm react wrapper package
- name: Upload npm react wrapper package
- uses: actions/upload-artifact@v3
+ uses: actions/upload-artifact@v4
with:
- name: elsa-studio-npm-packages
+ name: elsa-studio-npm-react-packages
path: ./src/wrappers/wrappers/react-wrapper/*.tgz
publish_npm_preview_feedzio:
@@ -121,19 +121,36 @@ jobs:
timeout-minutes: 10
if: ${{ github.event_name == 'release' || github.event_name == 'push'}}
steps:
- - name: Download Packages
- uses: actions/download-artifact@v3
+ - name: Setup Node.js
+ uses: actions/setup-node@v3
+ with:
+ node-version: 18.12.1
+ registry-url: ${{ env.npm_feed_feedzio }}
+
+ - name: Download npm Packages
+ uses: actions/download-artifact@v4
with:
name: elsa-studio-npm-packages
path: elsa-studio-npm-packages
- - uses: actions/setup-node@v3
+ - name: Publish npm packages to feedz.io
+ run: |
+ for file in ./elsa-studio-npm-packages/*.tgz
+ do
+ npm publish "$file" --access public
+ done
+ env:
+ NODE_AUTH_TOKEN: ${{secrets.FEEDZ_API_KEY_BASE64}}
+
+ - name: Download npm react Packages
+ uses: actions/download-artifact@v4
with:
- node-version: 18.12.1
- registry-url: ${{ env.npm_feed_feedzio }}
+ name: elsa-studio-npm-react-packages
+ path: elsa-studio-npm-react-packages
- - run: |
- for file in ./elsa-studio-npm-packages/*.tgz
+ - name: Publish npm react packages to feedz.io
+ run: |
+ for file in ./elsa-studio-npm-react-packages/*.tgz
do
npm publish "$file" --access public
done
@@ -147,19 +164,34 @@ jobs:
timeout-minutes: 10
if: ${{ github.event_name == 'release' && github.event.action == 'published' }}
steps:
- - name: Download Packages
- uses: actions/download-artifact@v3
+ - name: Setup Node.js
+ uses: actions/setup-node@v3
+ with:
+ node-version: 18.12.1
+ registry-url: ${{ env.npm_feed_npm }}
+
+ - name: Download npm Packages
+ uses: actions/download-artifact@v4
with:
name: elsa-studio-npm-packages
path: elsa-studio-npm-packages
- - uses: actions/setup-node@v3
+ - run: |
+ for file in ./elsa-studio-npm-packages/*.tgz
+ do
+ npm publish "$file" --access public
+ done
+ env:
+ NODE_AUTH_TOKEN: ${{ secrets.NPM_API_KEY }}
+
+ - name: Download npm react Packages
+ uses: actions/download-artifact@v4
with:
- node-version: 18.12.1
- registry-url: ${{ env.npm_feed_npm }}
+ name: elsa-studio-npm-react-packages
+ path: elsa-studio-npm-react-packages
- run: |
- for file in ./elsa-studio-npm-packages/*.tgz
+ for file in ./elsa-studio-npm-react-packages/*.tgz
do
npm publish "$file" --access public
done
@@ -174,7 +206,7 @@ jobs:
if: ${{ github.event_name == 'release' || github.event_name == 'push'}}
steps:
- name: Download Packages
- uses: actions/download-artifact@v3
+ uses: actions/download-artifact@v4
with:
name: elsa-studio-nuget-packages
path: elsa-studio-nuget-packages
@@ -190,7 +222,7 @@ jobs:
if: ${{ github.event_name == 'release' && github.event.action == 'published' }}
steps:
- name: Download Packages
- uses: actions/download-artifact@v3
+ uses: actions/download-artifact@v4
with:
name: elsa-studio-nuget-packages
path: elsa-studio-nuget-packages
diff --git a/src/framework/Elsa.Studio.Translations/Translations.fr.resx b/src/framework/Elsa.Studio.Translations/Translations.fr.resx
index 9d9cbc36..2f030184 100644
--- a/src/framework/Elsa.Studio.Translations/Translations.fr.resx
+++ b/src/framework/Elsa.Studio.Translations/Translations.fr.resx
@@ -190,4 +190,37 @@
Utilisé
+
+ Activités
+
+
+ Agent
+
+
+ Agents
+
+
+ Sauvegarde automatique
+
+
+ Fermer
+
+
+ Créer une clé d'API
+
+
+ Date
+
+
+ Configuration par défaut
+
+
+ HTTP
+
+
+ ID
+
+
+ Information
+
\ No newline at end of file
diff --git a/src/modules/Elsa.Studio.Workflows/Components/WorkflowDefinitionEditor/Components/WorkflowProperties/Tabs/Properties/Sections/Settings/Settings.razor b/src/modules/Elsa.Studio.Workflows/Components/WorkflowDefinitionEditor/Components/WorkflowProperties/Tabs/Properties/Sections/Settings/Settings.razor
index 3ff0e0fa..50a63f89 100644
--- a/src/modules/Elsa.Studio.Workflows/Components/WorkflowDefinitionEditor/Components/WorkflowProperties/Tabs/Properties/Sections/Settings/Settings.razor
+++ b/src/modules/Elsa.Studio.Workflows/Components/WorkflowDefinitionEditor/Components/WorkflowProperties/Tabs/Properties/Sections/Settings/Settings.razor
@@ -28,7 +28,7 @@
}
-
@foreach (var strategy in _logPersistenceStrategyDescriptors)
{
- @(strategy.DisplayName)
+ @(strategy.DisplayName ?? "Inherit")
}
diff --git a/src/modules/Elsa.Studio.Workflows/Components/WorkflowDefinitionEditor/Components/WorkflowProperties/Tabs/Properties/Sections/Settings/Settings.razor.cs b/src/modules/Elsa.Studio.Workflows/Components/WorkflowDefinitionEditor/Components/WorkflowProperties/Tabs/Properties/Sections/Settings/Settings.razor.cs
index b66d1436..6443e790 100644
--- a/src/modules/Elsa.Studio.Workflows/Components/WorkflowDefinitionEditor/Components/WorkflowProperties/Tabs/Properties/Sections/Settings/Settings.razor.cs
+++ b/src/modules/Elsa.Studio.Workflows/Components/WorkflowDefinitionEditor/Components/WorkflowProperties/Tabs/Properties/Sections/Settings/Settings.razor.cs
@@ -46,6 +46,7 @@ public partial class Settings
private ICollection _logPersistenceStrategyDescriptors = new List();
private WorkflowActivationStrategyDescriptor? _selectedActivationStrategy;
private IncidentStrategyDescriptor? _selectedIncidentStrategy;
+ private LogPersistenceStrategyDescriptor? _selectedLogPersistenceStrategy;
private LogPersistenceConfiguration? _logPersistenceConfiguration;
///
@@ -55,15 +56,10 @@ protected override async Task OnInitializedAsync()
var incidentStrategies = (await IncidentStrategiesProvider.GetIncidentStrategiesAsync()).ToList();
_incidentStrategies = new IncidentStrategyDescriptor?[] { default }.Concat(incidentStrategies).ToList();
_logPersistenceStrategyDescriptors = (await LogPersistenceStrategyService.GetLogPersistenceStrategiesAsync()).ToList();
-
_selectedActivationStrategy = _activationStrategies.FirstOrDefault(x => x.TypeName == WorkflowDefinition!.Options.ActivationStrategyType) ?? _activationStrategies.FirstOrDefault();
_selectedIncidentStrategy = _incidentStrategies.FirstOrDefault(x => x?.TypeName == WorkflowDefinition!.Options.IncidentStrategyType) ?? _incidentStrategies.FirstOrDefault();
- }
-
- protected override Task OnParametersSetAsync()
- {
_logPersistenceConfiguration = GetLogPersistenceConfiguration();
- return base.OnParametersSetAsync();
+ _selectedLogPersistenceStrategy = _logPersistenceStrategyDescriptors.FirstOrDefault(x => x.TypeName == _logPersistenceConfiguration?.StrategyType) ?? _logPersistenceStrategyDescriptors.FirstOrDefault();
}
private LogPersistenceMode? GetLegacyGetLogPersistenceMode()
@@ -134,13 +130,14 @@ private async Task OnIncidentStrategyChanged(IncidentStrategyDescriptor? value)
await RaiseWorkflowUpdatedAsync();
}
- private async Task OnLogPersistenceStrategyChanged(string? value)
+ private async Task OnLogPersistenceStrategyChanged(LogPersistenceStrategyDescriptor? value)
{
+ _selectedLogPersistenceStrategy = value;
var currentConfig = _logPersistenceConfiguration;
var newConfig = new LogPersistenceConfiguration
{
EvaluationMode = LogPersistenceEvaluationMode.Strategy,
- StrategyType = value,
+ StrategyType = value?.TypeName,
Expression = currentConfig?.Expression
};
await UpdateLogPersistenceConfigAsync(newConfig);
diff --git a/src/modules/Elsa.Studio.Workflows/Components/WorkflowInstanceList/WorkflowInstanceList.razor.cs b/src/modules/Elsa.Studio.Workflows/Components/WorkflowInstanceList/WorkflowInstanceList.razor.cs
index c5e5cea3..b0e598b4 100644
--- a/src/modules/Elsa.Studio.Workflows/Components/WorkflowInstanceList/WorkflowInstanceList.razor.cs
+++ b/src/modules/Elsa.Studio.Workflows/Components/WorkflowInstanceList/WorkflowInstanceList.razor.cs
@@ -58,7 +58,9 @@ public partial class WorkflowInstanceList : IAsyncDisposable
protected override async Task OnInitializedAsync()
{
await LoadWorkflowDefinitionsAsync();
- StartElapsedTimer();
+
+ // Disable auto refresh until we implement a way to maintain the selected state, pagination etc.
+ //StartElapsedTimer();
}
private async Task LoadWorkflowDefinitionsAsync()
diff --git a/src/modules/Elsa.Studio.Workflows/Components/WorkflowInstanceViewer/Components/ActivityDetailsTab.razor.cs b/src/modules/Elsa.Studio.Workflows/Components/WorkflowInstanceViewer/Components/ActivityDetailsTab.razor.cs
index 97a0c29f..2643c8af 100644
--- a/src/modules/Elsa.Studio.Workflows/Components/WorkflowInstanceViewer/Components/ActivityDetailsTab.razor.cs
+++ b/src/modules/Elsa.Studio.Workflows/Components/WorkflowInstanceViewer/Components/ActivityDetailsTab.razor.cs
@@ -21,14 +21,14 @@ public record ActivityExecutionRecordTableRow(int Number, ActivityExecutionRecor
[Parameter] public int VisiblePaneHeight { get; set; }
/// The activity to display details for.
- [Parameter] public JsonObject Activity { get; set; } = default!;
+ [Parameter] public JsonObject Activity { get; set; } = null!;
/// The latest activity execution record. Used for displaying the last state of the activity.
[Parameter] public ActivityExecutionRecord? LastActivityExecution { get; set; }
- [Inject] private IActivityRegistry ActivityRegistry { get; set; } = default!;
+ [Inject] private IActivityRegistry ActivityRegistry { get; set; } = null!;
- private ActivityExecutionRecord? SelectedItem { get; set; } = default!;
+ private ActivityExecutionRecord? SelectedItem { get; set; } = null!;
private IDictionary ActivityInfo { get; set; } = new Dictionary();
private IDictionary ActivityData { get; set; } = new Dictionary();
@@ -66,9 +66,9 @@ private void CreateDataModels()
var activityName = activity.GetName();
var activityType = activity.GetTypeName();
var execution = LastActivityExecution;
- var activityVersion = execution?.ActivityTypeVersion;
+ var activityVersion = activity.GetVersion();
var exception = execution?.Exception;
- var workflowDefinitionId = activity.GetIsWorkflowDefinitionActivity() ? activity.GetWorkflowDefinitionId() : default;
+ var workflowDefinitionId = activity.GetIsWorkflowDefinitionActivity() ? activity.GetWorkflowDefinitionId() : null;
var activityInfo = new Dictionary
{
@@ -99,11 +99,15 @@ private void CreateDataModels()
foreach (var outputDescriptor in outputDescriptors)
{
var outputValue = outputs != null
- ? outputs.TryGetValue(outputDescriptor.Name, out var value) ? value : default
- : default;
+ ? outputs.TryGetValue(outputDescriptor.Name, out var value) ? value : null
+ : null;
outputData[outputDescriptor.Name] = new(outputValue?.ToString());
}
}
+ else
+ {
+ activityInfo["Status"] = new("Not executed");
+ }
var exceptionData = new Dictionary();
@@ -112,7 +116,7 @@ private void CreateDataModels()
exceptionData["Message"] = new(exception.Message);
exceptionData["InnerException"] = new(exception.InnerException != null
? exception.InnerException.Type + ": " + exception.InnerException.Message
- : default);
+ : null);
exceptionData["StackTrace"] = new(exception.StackTrace);
}
@@ -123,7 +127,7 @@ private void CreateDataModels()
{
foreach (var inputDescriptor in activityDescriptor.Inputs)
{
- var inputValue = activityState.TryGetValue(inputDescriptor.Name, out var value) ? value : default;
+ var inputValue = activityState.TryGetValue(inputDescriptor.Name, out var value) ? value : null;
activityStateData[inputDescriptor.Name] = new(inputValue?.ToString());
}
}
@@ -151,7 +155,7 @@ private void CreateSelectedItemDataModels(ActivityExecutionRecord? record)
var outcomesData = record.Payload?.TryGetValue("Outcomes", out var outcomesValue) == true
? new Dictionary { ["Outcomes"] = outcomesValue.ToString()! }
- : default;
+ : null;
var outputData = new Dictionary();
diff --git a/src/modules/Elsa.Studio.Workflows/Components/WorkflowInstanceViewer/Components/WorkflowInstanceDesigner.razor.cs b/src/modules/Elsa.Studio.Workflows/Components/WorkflowInstanceViewer/Components/WorkflowInstanceDesigner.razor.cs
index 70970316..b6d9a5a2 100644
--- a/src/modules/Elsa.Studio.Workflows/Components/WorkflowInstanceViewer/Components/WorkflowInstanceDesigner.razor.cs
+++ b/src/modules/Elsa.Studio.Workflows/Components/WorkflowInstanceViewer/Components/WorkflowInstanceDesigner.razor.cs
@@ -267,6 +267,10 @@ private async Task> GetActivityExecu
var lastRecord = records.Last();
LastActivityExecution = await ActivityExecutionService.GetAsync(lastRecord.Id);
}
+ else
+ {
+ LastActivityExecution = null;
+ }
return records;
}