diff --git a/frontend/dashboard.js b/frontend/dashboard.js index 6ea3679..a636e48 100644 --- a/frontend/dashboard.js +++ b/frontend/dashboard.js @@ -3413,11 +3413,11 @@ } async function refreshPhotoDraftInbox() { - try { await photoDraftInbox.refresh(draftInbox.list()); refreshMyWorkView({ reconcileSession:false }); } + try { await photoDraftInbox.refresh(draftInbox.list()); refreshMyWorkView({ reconcileSession:false, refreshFirstTask:false }); } catch (_error) { /* Local photo inventory must not break My Work. */ } } - function refreshMyWorkView({ reconcileSession = true } = {}) { + function refreshMyWorkView({ reconcileSession = true, refreshFirstTask = true } = {}) { lastDrafts = listDrafts(); const actionableMyWork = filedHistoryTabs.prepare(lastMyWork); const partitioned = laterWork.partition(actionableMyWork, { @@ -3471,7 +3471,7 @@ }); mobileStartDay.render(); mobileTaskDock.updateQueues(counts); - mobileFirstTask.refresh(); + if (refreshFirstTask) mobileFirstTask.refresh(); mobileTaskDock.updateWork(mobileWorkEntry.mode()); mobileTaskDock.updateAttention(countMyWork(activeMyWork).attention); const activeQueue = qs('[data-work-filter="' + selectedWorkFilter + '"]'); diff --git a/tests/test_photo_draft_inbox.py b/tests/test_photo_draft_inbox.py index d4a6984..599f1e2 100644 --- a/tests/test_photo_draft_inbox.py +++ b/tests/test_photo_draft_inbox.py @@ -102,6 +102,7 @@ def test_mobile_my_work_discovers_reopens_and_discards_photo_only_reply_drafts() assert "const photoDraftInbox = createPhotoDraftInbox({" in dashboard assert "draftInbox.list().concat(photoDraftInbox.list(), unfiled)" in dashboard assert "await photoDraftInbox.refresh(draftInbox.list())" in dashboard + assert "refreshMyWorkView({ reconcileSession:false, refreshFirstTask:false })" in dashboard assert "void refreshPhotoDraftInbox();" in dashboard assert "onChange:() => { void refreshPhotoDraftInbox(); }" in dashboard assert "await searchReplyDraftStore.save(target, attachments);\n void refreshPhotoDraftInbox();" in dashboard