+
+ MeterVault @latest is available — this instance runs @running.
+
+ @_command
+
+
+
+}
+
+@code {
+ private UpdateStatus? _status;
+ private string _command = "";
+
+ protected override void OnInitialized()
+ {
+ // Cached answer only — awaiting the check here would hold the dashboard's first paint open
+ // for the length of an HTTP timeout on a cold start, or whenever the repo is unreachable.
+ _status = Updates.Current;
+ _command = UpdateCommandHint();
+ }
+
+ protected override async Task OnAfterRenderAsync(bool firstRender)
+ {
+ if (!firstRender)
+ {
+ return;
+ }
+
+ var refreshed = await Updates.GetAsync();
+ if (refreshed != _status)
+ {
+ _status = refreshed;
+ StateHasChanged();
+ }
+ }
+
+ ///