Fixes the race condition where `pushAction`/`clear`/`undo` could run before `init()` loaded DB history, causing persisted state to be overwritten.
**Changes:**
- `UndoService`: store a `_ready` future set by `init()`; all mutating methods `await _ready` before operating
- All UI call-sites wrapped with `unawaited()` (pushAction is now `Future<void>`)
- 3 new unit tests: restart persistence, append-after-restart, and concurrent init+push race
Closes part of #19
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Fixes the race condition where
pushAction/clear/undocould run beforeinit()loaded DB history, causing persisted state to be overwritten.Changes:
UndoService: store a_readyfuture set byinit(); all mutating methodsawait _readybefore operatingunawaited()(pushAction is nowFuture<void>)Closes part of #19