FireForNet.Firebase.RemoteConfig.Blazor
1.0.1-preview.22
Prefix Reserved
dotnet add package FireForNet.Firebase.RemoteConfig.Blazor --version 1.0.1-preview.22
NuGet\Install-Package FireForNet.Firebase.RemoteConfig.Blazor -Version 1.0.1-preview.22
<PackageReference Include="FireForNet.Firebase.RemoteConfig.Blazor" Version="1.0.1-preview.22" />
<PackageVersion Include="FireForNet.Firebase.RemoteConfig.Blazor" Version="1.0.1-preview.22" />
<PackageReference Include="FireForNet.Firebase.RemoteConfig.Blazor" />
paket add FireForNet.Firebase.RemoteConfig.Blazor --version 1.0.1-preview.22
#r "nuget: FireForNet.Firebase.RemoteConfig.Blazor, 1.0.1-preview.22"
#:package FireForNet.Firebase.RemoteConfig.Blazor@1.0.1-preview.22
#addin nuget:?package=FireForNet.Firebase.RemoteConfig.Blazor&version=1.0.1-preview.22&prerelease
#tool nuget:?package=FireForNet.Firebase.RemoteConfig.Blazor&version=1.0.1-preview.22&prerelease
FireForNet.Firebase.RemoteConfig.Blazor
Blazor integration for FireForNet Firebase Remote Config.
About FireForNet
FireForNet is a platform-agnostic, .NET-native Firebase Client SDK developed as part of the Circuids ecosystem. It provides a consistent Firebase client development experience across .NET application environments, while allowing platform-specific implementations where Firebase requires them.
About This Package
This package provides IJSRuntime-based browser persistence for Firebase Remote Config, working across all Blazor hosting models: WebAssembly, Server, Hybrid (MAUI/WPF/WinForms), and Auto.
Package Boundary
This package uses IJSRuntime for all JavaScript interop and is the correct choice for any Blazor hosting model.
For framework-independent WASM environments (Uno Platform, Avalonia WASM, pure .NET WASM), use FireForNet.Firebase.RemoteConfig.Browser instead — it uses [JSImport] for direct WASM-to-JS interop without a Blazor dependency.
Installation
dotnet add package FireForNet.Firebase.RemoteConfig.Blazor
Targets net10.0. References FireForNet.Firebase.RemoteConfig transitively.
Usage
services.AddFirebaseRemoteConfig()
.UseBlazor(options =>
{
options.LocalStoreKind = LocalStoreKind.IndexedDb;
});
UseBlazor() also configures FireForNet.Firebase.Installations.Blazor when the current IInstallationStore is still the core in-memory default, so the Firebase Installation ID survives the same browser restart as the Remote Config cache. Explicit consumer IInstallationStore registrations are preserved.
Options
| Option | Default | Description |
|---|---|---|
LocalStoreKind |
IndexedDb |
Storage backend: IndexedDb or LocalStorage. IndexedDb falls back to localStorage when IndexedDB is unavailable or security-blocked. |
IndexedDbDatabaseName |
"FireForNet.RemoteConfig" |
IndexedDB database name |
IndexedDbVersion |
1 |
IndexedDB schema version |
Platform / Framework Support
| Platform / Framework | Status |
|---|---|
| Blazor WebAssembly | Preview |
| Blazor Server | Preview |
| Blazor Hybrid (MAUI/WPF/WinForms) | Preview |
| Blazor Auto | Preview |
Documentation
Comprehensive FireForNet documentation is being prepared for the Release Candidate stage.
Project Status
FireForNet is currently available as a Preview release and is approaching its Release Candidate milestone. APIs, package structure, and implementation details may continue to evolve before RC and GA.
The RC milestone will be followed by an extensive cross-platform validation and testing phase before the first GA release.
All FireForNet packages are part of a coordinated release train and share the same version number.
Source Availability
FireForNet is currently being developed in a private source repository during the Preview development phase. The source will be made publicly available as the project approaches its open-source phase, with the public repository established from the appropriate release milestone.
Until then, NuGet Preview packages provide the public distribution channel for evaluating and using FireForNet.
License
This package is licensed under the Apache-2.0 license.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- FireForNet.Firebase.Installations.Blazor (>= 1.0.1-preview.22)
- FireForNet.Firebase.RemoteConfig (>= 1.0.1-preview.22)
- Microsoft.JSInterop (>= 10.0.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.0.1-preview.22 | 47 | 9/27/2026 |
| 1.0.1-preview.21 | 54 | 9/22/2026 |
| 1.0.1-preview.20 | 57 | 9/18/2026 |
| 1.0.1-preview.19 | 60 | 9/12/2026 |
| 1.0.1-preview.18 | 71 | 8/24/2026 |
| 1.0.1-preview.17 | 85 | 8/9/2026 |
| 1.0.1-preview.16 | 82 | 8/9/2026 |
| 1.0.1-preview.15 | 72 | 8/8/2026 |
| 1.0.1-preview.14 | 78 | 8/8/2026 |
| 1.0.1-preview.13 | 73 | 7/23/2026 |
| 1.0.1-preview.12 | 94 | 7/9/2026 |
| 1.0.1-preview.11 | 85 | 6/29/2026 |
| 1.0.1-preview.10 | 83 | 6/25/2026 |
| 1.0.1-preview.9 | 80 | 6/24/2026 |
| 1.0.1-preview.8 | 78 | 6/23/2026 |
| 1.0.1-preview.7 | 86 | 6/9/2026 |
| 1.0.1-preview.6 | 74 | 6/8/2026 |
| 1.0.1-preview.5 | 86 | 6/8/2026 |
| 1.0.1-preview.4 | 74 | 6/8/2026 |
| 1.0.1-preview.3 | 70 | 6/8/2026 |
v1.0.1-preview.22
- Metadata persistence stores RemoteConfigMetadata directly with FetchStatus wire strings; unknown persisted status strings now fail loudly (previously fell back to NoFetchYet).
v1.0.1-preview.21
- No functional changes; synchronized with the framework-free MAUI integration sweep.
v1.0.1-preview.20
- Synchronized package version with the preview.20 release.
v1.0.1-preview.19
- Synchronized package version with the preview.19 release.
v1.0.1-preview.18
- Synchronized package version with the preview.18 release.
v1.0.1-preview.17
- Synchronized package version with the preview.17 release.
v1.0.1-preview.16
- Synchronized package version with the preview.16 release.
v1.0.1-preview.15
- Synchronized package version with the preview.15 release.
v1.0.1-preview.14
- Synchronized package version with the preview.14 release.
v1.0.1-preview.13
- Synchronized package version with the preview.13 release.
v1.0.1-preview.12
- Synchronized package version with the preview.12 release.
v1.0.1-preview.11
- Synchronized package version with the preview.11 release.
v1.0.1-preview.10
- Synchronized package version with the preview.10 release.
v1.0.1-preview.9
- Synchronized package version with the preview.9 release.
v1.0.1-preview.8
- Synchronized package version with the preview.8 release.
v1.0.1-preview.7
- Synchronized package version with the preview.7 release.
v1.0.1-preview.6
- Synchronized package version with the preview.6 release.
v1.0.1-preview.5
- Synchronized package version with the preview.5 release.
v1.0.1-preview.4
- Migrated BlazorRemoteConfigIndexedDbInterop to lazy ES-module import via Lazy<Task<IJSObjectReference>> for thread-safe concurrent access
- Added dual disposal (IDisposable + IAsyncDisposable) to BlazorLifecycleMonitor
- Added JSDisconnectedException handling in disposal for all interop classes
v1.0.1-preview.3
- Added BlazorVisibilityMonitor implementing IRealtimeLifecycleMonitor: monitors document.visibilitychange via IJSRuntime to disconnect the realtime stream when the tab is hidden and reconnect when visible.
- Registered by UseBlazor() to replace the no-op IRealtimeLifecycleMonitor default.
v1.0.1-preview.2
- Added BlazorRemoteConfigHeadersInterceptor to strip browser-unsafe headers (X-Firebase-RC-Fetch-Type, X-Google-GFE-Can-Retry, X-Accept-Response-Streaming) that trigger CORS preflight failures.
- Registered via UseBlazor() so the interceptor is only active when the Blazor integration is opted in.
v1.0.1-preview.1
- Initial release.
- IJSRuntime-based IndexedDB and localStorage persistence for Remote Config containers, settings, and metadata.
- UseBlazor() extension method on FirebaseRemoteConfigBuilder for service registration.
- Replaces in-memory stores with persistent browser storage across all Blazor hosting models (WASM, Server, Hybrid, Auto).
- Automatically configures FireForNet.Firebase.Installations.Blazor when the installation store is still the core in-memory default; explicit IInstallationStore overrides are preserved.
- IndexedDB persistence is isolated per configured database name and falls back to localStorage when IndexedDB is unavailable or security-blocked.
- No dependency on FireForNet.Firebase.RemoteConfig.Browser — uses IJSRuntime modules directly.