Table of Contents

Class IssueClaimResponse

Namespace
Quilt4Net.Toolkit.Features.Issue
Assembly
Quilt4Net.Toolkit.dll

Who says they are working on an issue, and from which machine.

public record IssueClaimResponse : IEquatable<IssueClaimResponse>
Inheritance
IssueClaimResponse
Implements
Inherited Members

Remarks

Metadata the caller stated, not an identity the server checked. A team API key carries no user, so the server records whatever the X-Quilt4Net-User and X-Quilt4Net-Machine headers (or explicit arguments) said. That is enough for what a claim is for — seeing that another session already has the issue in hand — and it is why taking a claim somebody else holds warns rather than refuses.

The same user on two machines is two claimants. The collision this exists to show is two sessions working one issue, and that happens far more often on one person's two machines than between two people.

Properties

ClaimedUtc

When this claimant took the issue (UTC). Kept when the same claimant claims again.

public required DateTime ClaimedUtc { get; init; }

Property Value

DateTime

IsStale

Whether the holder has gone quiet long enough that the claim should not be trusted.

public required bool IsStale { get; init; }

Property Value

bool

Remarks

Judged by the server, so every client applies the same threshold rather than each choosing its own. A session that dies mid-issue leaves its claim behind and nothing else would ever clear it; a stale claim is drawn faded so a reader can tell "being worked on" from "was".

LastSeenUtc

The claimant's last write to the issue (UTC). Every transition, claim or update by the holder moves it.

public required DateTime LastSeenUtc { get; init; }

Property Value

DateTime

Machine

The stated machine. Empty for a claim taken from a browser, which has none to name.

public required string Machine { get; init; }

Property Value

string

User

The stated user. Empty when only a machine was stated.

public required string User { get; init; }

Property Value

string