Is your feature request related to a problem? Please describe.
Configuring the client SDK to use snapshot can be a bit confusing given the amount of context settings available.
The initial idea was to be flexible when handling snapshot files, which lead to various constraints created in order for the client SDK to understand how to use snapshot internally.
Many configuration options are available to handle snapshots such as
- snapshotFile
- snapshotLocation
- snapshotAutoLoad
- snapshotAutoUpdateInterval
- silentMode
- offlineMode
Those options are highly coupled and need a certain combination to work as intended.
The client SDK can handle the validation, however, the learning curve to use all these possibilities will add to the learning curve and simplicity, which is the main focus of the Switcher API.
Describe the solution you'd like
Eliminate options that do not add value to the flexibility of the SDK.
Remove snapshotFile, as this option should be compliant with the snapshotLocation + environment.
Allow snapshots to be in-memory managed only.
Some applications may not have permission to write in a volume, therefore, options such as zero-latency will no longer be an option.
When snapshotLocation is not specified, the snapshot should be stored in memory.
Remove constraints imposed by contextValidation and pre-define settings given feature intent.
For example, if developers want to use silentMode, it's fundamental that snapshotAutoLoad needs to be enabled, otherwise, when the silentMode is triggerd, the snapshot was not load.
Similarly, the snapshotAutoUpdateInterval should automatically enable that option when a valid value is used.
Is your feature request related to a problem? Please describe.
Configuring the client SDK to use snapshot can be a bit confusing given the amount of context settings available.
The initial idea was to be flexible when handling snapshot files, which lead to various constraints created in order for the client SDK to understand how to use snapshot internally.
Many configuration options are available to handle snapshots such as
Those options are highly coupled and need a certain combination to work as intended.
The client SDK can handle the validation, however, the learning curve to use all these possibilities will add to the learning curve and simplicity, which is the main focus of the Switcher API.
Describe the solution you'd like
Eliminate options that do not add value to the flexibility of the SDK.
Remove
snapshotFile, as this option should be compliant with thesnapshotLocation+environment.Allow snapshots to be in-memory managed only.
Some applications may not have permission to write in a volume, therefore, options such as zero-latency will no longer be an option.
When
snapshotLocationis not specified, the snapshot should be stored in memory.Remove constraints imposed by contextValidation and pre-define settings given feature intent.
For example, if developers want to use
silentMode, it's fundamental thatsnapshotAutoLoadneeds to be enabled, otherwise, when the silentMode is triggerd, the snapshot was not load.Similarly, the
snapshotAutoUpdateIntervalshould automatically enable that option when a valid value is used.