Umbraco.Community.WhoIsHere 0.9.2

dotnet add package Umbraco.Community.WhoIsHere --version 0.9.2
                    
NuGet\Install-Package Umbraco.Community.WhoIsHere -Version 0.9.2
                    
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="Umbraco.Community.WhoIsHere" Version="0.9.2" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Umbraco.Community.WhoIsHere" Version="0.9.2" />
                    
Directory.Packages.props
<PackageReference Include="Umbraco.Community.WhoIsHere" />
                    
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 Umbraco.Community.WhoIsHere --version 0.9.2
                    
#r "nuget: Umbraco.Community.WhoIsHere, 0.9.2"
                    
#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 Umbraco.Community.WhoIsHere@0.9.2
                    
#: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=Umbraco.Community.WhoIsHere&version=0.9.2
                    
Install as a Cake Addin
#tool nuget:?package=Umbraco.Community.WhoIsHere&version=0.9.2
                    
Install as a Cake Tool

WhoIsHere

Downloads NuGet License: MIT

Shows, live on the document edit screen, which other backoffice users have the same document open, and which field each of them is in. It is a soft lock: it warns but never blocks editing or saving.

  • Avatars of the other editors in the workspace footer, each in their own colour, with a list of where they are.
  • A chip under the label of the field someone is in, including fields inside blocks.
  • A notice when someone else saves the document you have open, with a Reload button.

Requires Umbraco 18.

Installation

dotnet add package Umbraco.Community.WhoIsHere

No other steps are needed.

Configuration

Everything is optional. Defaults:

{
  "WhoIsHere": {
    "Enabled": true,
    "HeartbeatSeconds": 20,
    "TimeoutSeconds": 60
  }
}
Setting Meaning
Enabled false skips registration entirely. The hub is not mapped, and the client quietly shows nothing.
HeartbeatSeconds How often each open document tells the server it is still there. The client reads this value from the server, so you only set it in one place.
TimeoutSeconds How long a presence can go without a heartbeat before it is dropped. This only matters for clients that vanish without disconnecting, such as a frozen tab or a sleeping laptop. Closing a tab normally clears the presence within a second.

The sweeper runs every TimeoutSeconds / 4, so a dead client lingers for up to 25% longer than the timeout. With the defaults that is 60–75 seconds.

Known limitations

  • Single server only by default; see Load balancing below.
  • Presence is per document, not per culture or variant.
  • If two people save at almost the same moment, the save notice may name the wrong person or not appear.
  • Someone who loses access to a document while it is open keeps seeing who else is there until they leave it.
  • Field highlighting adds its chip to Umbraco's property markup directly, as there is no extension point for it. A future Umbraco change to that markup could break the highlighting, but presence and the footer would keep working.
  • Block names in modals are read from the modal title, so occasionally the block's type name is shown instead.
  • Field highlighting follows keyboard focus, so fields that never take focus don't show a chip.
  • Only documents are supported, not media or members.

Load balancing

Presence is held in memory on each server, so a load-balanced backoffice needs a SignalR backplane (such as Redis or Azure SignalR Service) and a shared IPresenceStore. Register your store before WhoIsHere's composer runs and it will be used instead.

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

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
0.9.2 85 10/20/2026
0.9.1 79 10/19/2026
0.9.0 81 10/19/2026