@@ -427,7 +437,9 @@ exports[`ask-boolean given started when asking question when user closes notific
-
+
No new updates available
diff --git a/src/renderer/components/status-bar/auto-update-status-bar-item.tsx b/src/renderer/components/status-bar/auto-update-component.tsx
similarity index 82%
rename from src/renderer/components/status-bar/auto-update-status-bar-item.tsx
rename to src/renderer/components/status-bar/auto-update-component.tsx
index 765d7f855f..6cb89fd87e 100644
--- a/src/renderer/components/status-bar/auto-update-status-bar-item.tsx
+++ b/src/renderer/components/status-bar/auto-update-component.tsx
@@ -44,33 +44,35 @@ const EndNote = ({ version, note }: EndNoteProps) => {
return note(version ?? "");
};
+const DivWithTestId = (text: string) =>
{text}
;
+
const checking = () => (
<>
-
{"Checking for updates..."}
+ {DivWithTestId("Checking for updates..." )}
>
);
-const available = (version: string) =>
{`${version ?? "Update"} is available`}
;
+const available = (version: string) => DivWithTestId(`${version ?? "Update"} is available`);
-const notAvailable = () =>
{"No new updates available"}
;
+const notAvailable = () => DivWithTestId("No new updates available");
const downloading = (version: string, percentDone: number) => {
if ( percentDone === 0 ) {
return (
<>
-
{`Download for version ${version} started `}
+ {DivWithTestId(`Download for version ${version} started...`)}
>
);
}
- return
{`Download for version ${version} ${percentDone}%...`}
;
+ return DivWithTestId(`Download for version ${version} ${percentDone}%...`);
};
-const downloadSucceeded = (version: string) =>
{`Download for version ${version} complete`}
;
+const downloadFailed = (errMsg: string) => DivWithTestId(errMsg);
-const idle = () => <>>;
+const idle = () => DivWithTestId("");
export const NonInjectedAutoUpdateComponent = observer(({
@@ -81,15 +83,13 @@ export const NonInjectedAutoUpdateComponent = observer(({
}: Dependencies) => {
const discoveredVersion = discoveredVersionState.value.get();
+ const { percentage, failed } = progressOfUpdateDownload.value.get();
+
if (downloadingUpdateState.value.get()) {
assert(discoveredVersion);
- const roundedPercentage = Math.round(progressOfUpdateDownload.value.get().percentage);
-
- if ( roundedPercentage > 99 ) {
- return
;
- }
+ const roundedPercentage = Math.round(percentage);
return downloading(discoveredVersion.version, roundedPercentage);
}
@@ -102,6 +102,10 @@ export const NonInjectedAutoUpdateComponent = observer(({
return
;
}
+ if ( failed ) {
+ return
;
+ }
+
return
;
});
diff --git a/src/renderer/components/status-bar/auto-update-status-bar-item.injectable.tsx b/src/renderer/components/status-bar/auto-update-status-bar-item.injectable.ts
similarity index 77%
rename from src/renderer/components/status-bar/auto-update-status-bar-item.injectable.tsx
rename to src/renderer/components/status-bar/auto-update-status-bar-item.injectable.ts
index 3b9e3a20a0..b9ba28de89 100644
--- a/src/renderer/components/status-bar/auto-update-status-bar-item.injectable.tsx
+++ b/src/renderer/components/status-bar/auto-update-status-bar-item.injectable.ts
@@ -4,15 +4,14 @@
*/
import { getInjectable } from "@ogre-tools/injectable";
import { computed } from "mobx";
-import React from "react";
-import { AutoUpdateComponent } from "./auto-update-status-bar-item";
+import { AutoUpdateComponent } from "./auto-update-component";
import { statusBarItemInjectionToken } from "./status-bar-item-injection-token";
const autoUpdateStatusBarItemInjectable = getInjectable({
id: "quit-app-separator-tray-item",
instantiate: () => ({
- component: () =>
,
+ component: AutoUpdateComponent,
position: "left" as const,
visible: computed(() => true),
}),