elsa-workflows / elsa-workflows/elsa-studio

Core: Persistence Service Abstraction (`IStudioSettings`)

Open
#705 0 comments 0 reactions 0 assignees View on GitHub
triaged
Dominant language
C#
Stars
301
Forks
181
Avg merge
17h 12m
Merged PRs (30d)
42

Description

### Why
Create a reusable Blazor service for reading and writing user preferences and UI state, pluggable with `LocalStorage` and `SessionStorage` out of the box (and extendable for profile/server storage).

### Acceptance Criteria
- Service exposes async Get/Set/Remove/Watch for each setting definition
- Service dynamically selects `localStorage` or `sessionStorage` based on setting definition
- JSON store envelope includes version, validation & migration (auto-migration during get)
- Debounced writes supported for high-frequency settings
- Provider class abstraction for future extensibility
- Unit test project covering basic use cases

### Deliverables
- `IStudioSettings` interface & implementation (e.g. in `Elsa.Studio.Core`)
- JavaScript interop implementation for storage (add to DomInterop if needed)
- Example of each: reading, writing, clearing a setting
- Unit test project

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.