fix: task slicing index range restraints

This commit is contained in:
2026-07-08 14:47:35 +08:00
parent 036519ca98
commit feb3020fba
2 changed files with 21 additions and 23 deletions
+4 -4
View File
@@ -379,7 +379,7 @@ $.set('#subcategory', 'change', (e) => {
});
$.set('#chunksize', 'change', (e) => {
let limit = Math.max(minor, major - 1);
let limit = Math.max(minor || major - 1, 0);
let value = Math.floor(limit / e.target.valueAsNumber);
$('#limit').value = value;
$('#offset').max = value;
@@ -448,11 +448,11 @@ while (await new Promise(o => setTimeout(o, 1000, true))) {
$('#send').classList.add('pulse');
$('#timezoneLabel').innerText = Temporal.Now.zonedDateTimeISO(locale.timezone).toLocaleString(locale.name);
let { done, skip, omit, email, subject, recipient } = await Rpc2.invoke('progress').catch(() => new Object());
let limit = minor || major - 1;
let { done, skip, email, subject, recipient } = await Rpc2.invoke('progress').catch(() => new Object());
let count = done + skip;
let limit = Math.max(minor || major - 1, 0);
let chunk = $('#chunksize').valueAsNumber;
let total = $('#slice').checked ? Math.min(chunk, limit - chunk * $('#offset').valueAsNumber) : limit;
let count = $('#slice').checked ? done + skip - omit : done + skip;
$('#progressLabel').innerText = `${parseFloat(count / total * 100).toFixed(2)}% (${count}/${total})`;
$('#subjectLabel').innerText = subject ?? '';