mirror of
https://github.com/Zproger/Aurum.git
synced 2026-10-27 10:46:53 +07:00
fix: устранить баги в проверке дублей и смене кодировки при импорте CSV
- Кэш проверки дублей не сбрасывался после импорта: повторный импорт того же файла в течение 30 секунд (staleTime) сверялся со списком транзакций, полученным ДО первого импорта, и не находил ни одного дубля — ровно тот случай, ради которого проверка и делалась. - Кнопку импорта можно было нажать, пока проверка дублей ещё шла или шёл фоновый рефетч: дубли проходили мимо фильтра. Теперь кнопка заблокирована на время запроса, а его ошибка больше не проглатывается молча, а показывается предупреждением. - Ручная смена кодировки ломала уже выбранные колонки: заголовки перечитывались, старый выбор указывал на несуществующее имя, indexOf давал -1, и все строки молча отбрасывались как «не удалось распознать дату». Маппинг переугадывается при изменении состава заголовков. - Текст «Они не будут импортированы» противоречил включённой галочке «Всё равно импортировать их».
This commit is contained in:
@@ -15,6 +15,11 @@ function useInvalidateAfterTransactionChange() {
|
||||
const queryClient = useQueryClient();
|
||||
return () => {
|
||||
queryClient.invalidateQueries({ queryKey: ["transactions"] });
|
||||
// Without this, a second CSV import of the same date range within
|
||||
// staleTime (see main.tsx) would check for duplicates against a cached
|
||||
// list from *before* the first import finished — and find none, which
|
||||
// is exactly the case the duplicate check exists to catch.
|
||||
queryClient.invalidateQueries({ queryKey: ["transactions-duplicate-check"] });
|
||||
queryClient.invalidateQueries({ queryKey: ["transaction-years"] });
|
||||
queryClient.invalidateQueries({ queryKey: ["dashboard-summary"] });
|
||||
queryClient.invalidateQueries({ queryKey: ["net-worth-summary"] });
|
||||
|
||||
Reference in New Issue
Block a user