Files
harbor-net/docs/product/frontend-operations.md
T
dokril 34d8b681ad
Build and Deploy Gateway / build-and-push (push) Failing after 2s
Build and Deploy Gateway / deploy (push) Has been skipped
Refactor VPN proxy client implementation
2026-08-09 00:41:52 +03:00

1.4 KiB

Frontend operation registry

Harbor tracks active browser mutations by operation key instead of one global busy flag:

  • connection: start, stop and restart;
  • serverApply: apply the selected server;
  • subscriptionImport, subscriptionRefresh, subscriptionDelete;
  • gatewayAuto: change the active route preference.

Each entry is { status: "running", startedAt }. A repeated operation key receives the same in-flight Promise, so a double click sends one request. A conflicting key resolves to false without starting its action. The symmetric conflict matrix lives in src/web/state/operations.ts.

The registry only disables controls that can mutate the same domain state. Copy actions, instruction navigation and local tabs remain available during subscription refresh. Progress is announced with role="status"; the structured error from TASK-004 remains role="alert" after failure.

Subscription URL validation is local and accepts only well-formed http and https URLs. It does not contact the provider; the explicit import operation performs the single provider request and reports provider failures through the structured subscription error.

The registry is local transport/UI state. It does not replace backend snapshot.operation, change revisions or persist data. Rollback is frontend-only. A diagnostics key is intentionally deferred until TASK-016 adds a diagnostics operation to run.