diff --git a/package/share/ahriman/templates/utils/bootstrap-scripts.jinja2 b/package/share/ahriman/templates/utils/bootstrap-scripts.jinja2 index 4d8bf0c3..d769d1ce 100644 --- a/package/share/ahriman/templates/utils/bootstrap-scripts.jinja2 +++ b/package/share/ahriman/templates/utils/bootstrap-scripts.jinja2 @@ -198,13 +198,16 @@ function updateTable(table, rows) { // instead of using load method here, we just update rows manually to avoid table reinitialization const currentData = table.bootstrapTable("getData").reduce((accumulator, row) => { - accumulator[row.id] = row["0"]; + accumulator[row.id] = {state: row["0"], status: row.status}; return accumulator; }, {}); - // insert or update rows + // insert or update rows, skipping ones whose status hasn't changed rows.forEach(row => { if (Object.hasOwn(currentData, row.id)) { - row["0"] = currentData[row.id]; // copy checkbox state + if (row.status === currentData[row.id].status) { + return; + } + row["0"] = currentData[row.id].state; // copy checkbox state table.bootstrapTable("updateByUniqueId", { id: row.id, row: row,