Honua.Sdk.Offline 1.13.1

dotnet add package Honua.Sdk.Offline --version 1.13.1
                    
NuGet\Install-Package Honua.Sdk.Offline -Version 1.13.1
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Honua.Sdk.Offline" Version="1.13.1" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Honua.Sdk.Offline" Version="1.13.1" />
                    
Directory.Packages.props
<PackageReference Include="Honua.Sdk.Offline" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Honua.Sdk.Offline --version 1.13.1
                    
#r "nuget: Honua.Sdk.Offline, 1.13.1"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Honua.Sdk.Offline@1.13.1
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Honua.Sdk.Offline&version=1.13.1
                    
Install as a Cake Addin
#tool nuget:?package=Honua.Sdk.Offline&version=1.13.1
                    
Install as a Cake Tool

Honua.Sdk.Offline

Provider-neutral offline sync engine. Pulls feature pages from any IHonuaFeatureQueryClient, applies queued edits through IHonuaFeatureEditClient, and tracks conflicts, checkpoints, retries, and state through the storage contracts in the Honua.Sdk.Offline.Abstractions namespace, shipped by Honua.Sdk.Abstractions.

Part of the Honua .NET SDK — see the repo README for the full package catalog, browser/WASM support, authentication, and release policy.

Install

Stable releases are on nuget.org and install anonymously. An unversioned add resolves to the newest stable release (the current SDK version is in the repo README). Prereleases stay on the authenticated GitHub Packages feed; see INSTALL.md.

dotnet add package Honua.Sdk.Offline

Quick usage

using Honua.Sdk.Abstractions.Features;
using Honua.Sdk.Offline;
using Honua.Sdk.Offline.Abstractions;

// Bring your own provider-neutral query/edit clients (FeatureServer, gRPC, OGC, ...)
// plus the storage adapters from your host (SQLite, IndexedDB, in-memory, ...).
IHonuaFeatureQueryClient queryClient = /* from your provider package */;
IHonuaFeatureEditClient editClient = /* from your provider package */;
IOfflineFeatureStore featureStore = /* host-provided */;
IOfflineChangeJournal changeJournal = /* host-provided */;
IOfflineSyncCheckpointStore checkpoints = /* host-provided */;

var engine = new OfflineSyncEngine(
    queryClient,
    editClient,
    featureStore,
    changeJournal,
    checkpoints,
    new OfflineSyncEngineOptions());

var manifest = new OfflinePackageManifest
{
    PackageId = "field-pkg-1",
    Sources = [/* OfflineSourceDescriptor entries */],
};

OfflinePushResult pushed = await engine.PushAsync(manifest.PackageId, cancellationToken);
OfflinePullResult pulled = await engine.PullAsync(manifest, cancellationToken);
OfflineSyncRunResult run = await engine.SyncAsync(manifest, cancellationToken);

Replica delta downloads

Use ReplicaSyncClient for server-driven replica changes. A synchronization downloads changes and advances the server's delivery cursor. The returned ServerGen describes that delivery; it does not mean the changes were applied to your local store.

Pass the generation already applied locally as receivedServerGen. Apply all LayerChanges (including DeleteIds tombstones) and persist the returned generation together with those changes in your local transaction. If local application fails, retry with the preceding applied generation so the server can redeliver that window even if its stored cursor has advanced.

// Begin with the generation of the replica snapshot stored locally.
long appliedGeneration = /* load the local replica checkpoint */;
SynchronizeResult delivery;
do
{
    delivery = await replicaClient.SynchronizeReplicaAsync(
        serviceId, replicaId, receivedServerGen: appliedGeneration,
        cancellationToken: cancellationToken);

    // In one local transaction: apply adds/updates/deletes from LayerChanges,
    // then save delivery.ServerGen as the checkpoint. Commit before continuing.
    await ApplyAndCheckpointAsync(delivery.LayerChanges, delivery.ServerGen, cancellationToken);
    appliedGeneration = delivery.ServerGen;
} while (delivery.ExceededTransferLimit);

ExceededTransferLimit means another delivery remains. LayerServerGens retains the generations delivered for individual layers. ExtractChangesAsync also exposes this metadata; after applying an extract, pass its delivered generation to synchronization and apply that synchronization's changes too, since remote edits may arrive between the two requests.

Documentation

License

Apache 2.0

Product 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on Honua.Sdk.Offline:

Package Downloads
Honua.Sdk

Umbrella / meta package for the Honua .NET SDK. Installing this package brings in every other Honua.Sdk.* package and exposes a single AddHonua(o => o.BaseAddress = ...) DI registration that fans out across every enabled sub-package. Use the narrower per-package facades (Honua.Sdk.Grpc, Honua.Sdk.Admin, etc.) directly if you want to depend on less.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.13.1 191 10/26/2026
1.12.0 1,688 10/19/2026
1.11.1 2,542 10/13/2026
1.11.0 1,891 10/12/2026
1.10.4 889 10/7/2026
1.10.3 278 10/5/2026
1.10.2 201 10/4/2026
1.10.1 465 9/29/2026
1.10.0 284 9/25/2026
1.9.0 125 9/25/2026
1.8.0 122 9/16/2026
1.7.0 145 9/15/2026
1.6.4 179 9/12/2026