diff --git a/packages/desktop-client/src/components/ManageRules.tsx b/packages/desktop-client/src/components/ManageRules.tsx index bc9e235075..903cd58fa7 100644 --- a/packages/desktop-client/src/components/ManageRules.tsx +++ b/packages/desktop-client/src/components/ManageRules.tsx @@ -232,8 +232,8 @@ export function ManageRules({ isModal, payeeId }: ManageRulesProps) { const { mutate: deleteRule } = useDeleteRuleMutation(); - async function onDeleteRule(id: string) { - await deleteRule( + function onDeleteRule(id: string) { + deleteRule( { id }, { onSuccess: () => { diff --git a/packages/desktop-client/src/components/filters/FiltersMenu.tsx b/packages/desktop-client/src/components/filters/FiltersMenu.tsx index a9b87894cf..2579497212 100644 --- a/packages/desktop-client/src/components/filters/FiltersMenu.tsx +++ b/packages/desktop-client/src/components/filters/FiltersMenu.tsx @@ -616,7 +616,10 @@ export function FilterEditor({ dispatch={dispatch} onApply={cond => { // @ts-expect-error - fix me - cond = unparse({ ...cond, type: FIELD_TYPES.get(cond.field) }); + cond = unparseConditions({ + ...cond, + type: FIELD_TYPES.get(cond.field), + }); if (cond.type === 'date' && cond.options) { if ( diff --git a/packages/desktop-client/src/components/mobile/rules/MobileRulesPage.tsx b/packages/desktop-client/src/components/mobile/rules/MobileRulesPage.tsx index 7e2b46269c..3df96be8c8 100644 --- a/packages/desktop-client/src/components/mobile/rules/MobileRulesPage.tsx +++ b/packages/desktop-client/src/components/mobile/rules/MobileRulesPage.tsx @@ -128,7 +128,7 @@ export function MobileRulesPage() { }, ); }, - [dispatch, showUndoNotification, t, refetchRules], + [deleteRule, showUndoNotification, t, refetchRules], ); return ( diff --git a/packages/desktop-client/src/components/mobile/transactions/TransactionEdit.tsx b/packages/desktop-client/src/components/mobile/transactions/TransactionEdit.tsx index dd526ade26..362cab71e0 100644 --- a/packages/desktop-client/src/components/mobile/transactions/TransactionEdit.tsx +++ b/packages/desktop-client/src/components/mobile/transactions/TransactionEdit.tsx @@ -735,7 +735,7 @@ const TransactionEditInner = memo( } : unserializedTransaction; - await createSingleTimeScheduleFromTransaction( + createSingleTimeScheduleFromTransaction( { transaction: transactionForSchedule, }, @@ -789,6 +789,7 @@ const TransactionEditInner = memo( unserializedTransactions, upcomingLength, t, + createSingleTimeScheduleFromTransaction, ]); const onUpdateInner = useCallback( @@ -1475,7 +1476,7 @@ function TransactionEditUnconnected({ ); setTransactions(newTransactions); }, - [dateFormat, transactions], + [dateFormat, transactions, runRulesAsync], ); const onSave = useCallback( diff --git a/packages/desktop-client/src/components/modals/MergeUnusedPayeesModal.tsx b/packages/desktop-client/src/components/modals/MergeUnusedPayeesModal.tsx index 149203a2ce..e2ba66853d 100644 --- a/packages/desktop-client/src/components/modals/MergeUnusedPayeesModal.tsx +++ b/packages/desktop-client/src/components/modals/MergeUnusedPayeesModal.tsx @@ -79,7 +79,7 @@ export function MergeUnusedPayeesModal({ return ruleId; }, - [shouldCreateRule, isEditingRule, payees], + [shouldCreateRule, isEditingRule, payees, addPayeeRenameRuleAsync], ); const onMergeAndCreateRule = useCallback( diff --git a/packages/desktop-client/src/components/transactions/TransactionList.tsx b/packages/desktop-client/src/components/transactions/TransactionList.tsx index 967099820f..da79fc2729 100644 --- a/packages/desktop-client/src/components/transactions/TransactionList.tsx +++ b/packages/desktop-client/src/components/transactions/TransactionList.tsx @@ -292,7 +292,12 @@ export function TransactionList({ await saveDiff({ added: newTransactions }, isLearnCategoriesEnabled); onRefetch(); }, - [isLearnCategoriesEnabled, onRefetch, promptToConvertToSchedule], + [ + isLearnCategoriesEnabled, + onRefetch, + promptToConvertToSchedule, + createSingleTimeScheduleFromTransaction, + ], ); const onSave = useCallback( @@ -348,7 +353,13 @@ export function TransactionList({ await saveTransaction(); }, - [isLearnCategoriesEnabled, onChange, onRefetch, promptToConvertToSchedule], + [ + isLearnCategoriesEnabled, + onChange, + onRefetch, + promptToConvertToSchedule, + createSingleTimeScheduleFromTransaction, + ], ); const onAddSplit = useCallback( @@ -436,7 +447,7 @@ export function TransactionList({ } return newTransaction; }, - [dispatch], + [dispatch, runRulesAsync], ); const onManagePayees = useCallback( diff --git a/packages/desktop-client/src/hooks/usePreviewTransactions.ts b/packages/desktop-client/src/hooks/usePreviewTransactions.ts index 0b5aed58fb..7234a7c4b2 100644 --- a/packages/desktop-client/src/hooks/usePreviewTransactions.ts +++ b/packages/desktop-client/src/hooks/usePreviewTransactions.ts @@ -140,7 +140,13 @@ export function usePreviewTransactions({ return () => { isUnmounted = true; }; - }, [scheduleTransactions, schedules, statuses, upcomingLength]); + }, [ + scheduleTransactions, + schedules, + statuses, + upcomingLength, + runRulesAsync, + ]); const returnError = error || scheduleQueryError; return { diff --git a/packages/desktop-client/src/rules/mutations.ts b/packages/desktop-client/src/rules/mutations.ts index fb6066aa19..e7e040b1c8 100644 --- a/packages/desktop-client/src/rules/mutations.ts +++ b/packages/desktop-client/src/rules/mutations.ts @@ -379,7 +379,7 @@ export function useCreateSingleTimeScheduleFromTransaction() { const ruleId = schedules?.data?.[0]?.rule; if (ruleId) { - const rule = await allRules.find(r => r.id === ruleId); + const rule = allRules.find(r => r.id === ruleId); if (rule) { const linkScheduleActions = rule.actions.filter( diff --git a/packages/loot-core/src/server/schedules/app.ts b/packages/loot-core/src/server/schedules/app.ts index 440cb003b4..cfab903660 100644 --- a/packages/loot-core/src/server/schedules/app.ts +++ b/packages/loot-core/src/server/schedules/app.ts @@ -3,7 +3,7 @@ import * as d from 'date-fns'; import deepEqual from 'deep-equal'; import { v4 as uuidv4 } from 'uuid'; -import { type WithRequired } from 'loot-core/types/util'; +import type { WithRequired } from 'loot-core/types/util'; import { captureBreadcrumb } from '../../platform/exceptions'; import * as connection from '../../platform/server/connection'; diff --git a/upcoming-release-notes/7070.md b/upcoming-release-notes/7070.md index f08cea6208..816615c142 100644 --- a/upcoming-release-notes/7070.md +++ b/upcoming-release-notes/7070.md @@ -1,5 +1,5 @@ --- -category: Features +category: Maintenance authors: [joel-jeremy] ---