actualbudget / actualbudget/actual

[Bug]: New transactions and payees don't appear when network is lost mid-session — save is written locally but UI never reflects it (all platforms)

Aberta
#8,785 0 comentários 0 reações 0 responsáveis Ver no GitHub
user interface
Linguagem predominante
TypeScript
Estrelas
28.7k
Forks
3k
Merge médio
2d 11h
PRs com merge (30d)
65

Descrição

### What happened?

When the network connection is lost **while the app is already open** (airplane mode, DevTools → Network → Offline, WiFi drop), saving a new transaction does not reflect in the UI:

1. The transaction never appears in the transactions list.
2. A newly created payee is not suggested by the autocomplete, so typing the same name again creates a duplicate payee. (not sure if this should be a separate bug)
3. No error is shown to the user; the write IS persisted locally (the transaction appears after reloading the page / restarting the app).

The same action works fine if the app is opened **when there is already no network** (e.g. launch with airplane mode enabled) — that's the expected local-first flow.

This also happens with a local budget file (no sync server). It is not specific to iOS: reproduced on desktop web (Chrome, DevTools offline), iOS PWA (Safari, Firefox for iOS, Arc — all WebKit).

### Console output when submitting the transaction

```
PostError: network-failure
at postBinary (post.ts:225:11)
at async _fullSync (index.ts:721:21)
at async index.ts:605:16
Caused by: TypeError: Failed to fetch
at fetch$1 (index.ts:10:37)
at postBinary (post.ts:216:17)
at _fullSync (index.ts:721:27)
at async index.ts:605:16 (1/2)
```

### How can we reproduce the issue?

1. Open Actual with a budget file loaded (server mode or local mode).
2. While the app is open, disconnect the network (airplane mode / DevTools → Network → Offline).
3. Create a transaction → it never appears in the list for the used account.
4. Create a transaction with a NEW payee name → it doesn't get entered, allowing you to re-type the same, allowing a duplicate with the same name.
5. Reload the page (still offline) → both the transaction and the payee are now there (write was persisted, UI just never refreshed).

**Expected:** the transaction should appear immediately and payees should be visible right after creation, offline or not.

### Where are you hosting Actual?

Other

### What browsers are you seeing the problem on?

Firefox, Chrome, Safari, Microsoft Edge

### Operating System

Mobile Device

Guia de contribuição

Abrir o guia de contribuição

Avaliação

Esta issue ainda não foi avaliada.

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.