Compare commits

...
2 Commits
Author SHA1 Message Date
Qiufeng 4c71861813 fix: prevent duplicate update submissions
TallyNote release / linux-x64 (push) Successful in 6m47s
2026-09-05 10:08:49 +08:00
Qiufeng 3a9f809f46 fix: show update rate limits as toast
TallyNote release / linux-x64 (push) Successful in 6m42s
2026-09-05 09:39:10 +08:00
2 changed files with 13 additions and 5 deletions
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "tallynote",
"version": "1.2.0",
"version": "1.2.2",
"private": true,
"type": "module",
"packageManager": "pnpm@9.0.6",
+11 -3
View File
@@ -25,7 +25,7 @@ import {
} from "lucide-react";
import { Button, Card, Dialog, RadioGroup, Radio, Steps, Tag, Tooltip } from "tdesign-react";
import { Page, Surface } from "../common";
import { api } from "../../services/api";
import { api, ApiError } from "../../services/api";
import { dateText } from "../../utils/date";
import type { MockScenario, MockUpdateState } from "./mockData";
@@ -420,7 +420,11 @@ export default function UpdatePage({
setLiveInfo(await api<UpdateInfo>("/api/update/check", { method: "POST" }));
notify?.("版本检查完成", "info");
} catch (e) {
if (e instanceof ApiError && e.status === 429) {
notify?.((e as Error).message, "error");
} else {
setError((e as Error).message);
}
} finally {
setChecking(false);
checkInFlight.current = false;
@@ -446,7 +450,8 @@ export default function UpdatePage({
// Start download action
const startDownload = async () => {
if (!latest) return;
if (!latest || actionInFlight.current || hasActiveJob || canApply) return;
actionInFlight.current = true;
setActionBusy(true);
setError("");
setModalError("");
@@ -465,12 +470,14 @@ export default function UpdatePage({
notify?.(msg, "error");
} finally {
setActionBusy(false);
actionInFlight.current = false;
}
};
// Start apply action
const startApply = async () => {
if (!latest) return;
if (!latest || !job || job.status !== "staged" || job.operation !== "download" || actionInFlight.current) return;
actionInFlight.current = true;
setActionBusy(true);
setError("");
setModalError("");
@@ -488,6 +495,7 @@ export default function UpdatePage({
notify?.(msg, "error");
} finally {
setActionBusy(false);
actionInFlight.current = false;
}
};