fix(tui): move all store writes out of Update into tea.Cmds
Deletes, pause toggles, maintenance end, theme/collapse prefs, and all four form submits wrote to the store synchronously on the UI goroutine; with busy_timeout=5000 a contended DB froze input for up to 5s. Writes now run through a writeCmd helper returning writeDoneMsg. The in-memory engine/model mutations stay in Update so rows react instantly; the reply logs failures and reloads tab data, so the UI converges on what was actually written. Closures capture snapshotted values only — never the model.
This commit was merged in pull request #102.
This commit is contained in:
@@ -54,3 +54,11 @@ type slaDataMsg struct {
|
||||
periodIdx int
|
||||
changes []models.StateChange
|
||||
}
|
||||
|
||||
// writeDoneMsg reports a store mutation that ran off the UI goroutine. op
|
||||
// names the action for the error log; the handler reloads tab data so the UI
|
||||
// converges on what was actually written.
|
||||
type writeDoneMsg struct {
|
||||
op string
|
||||
err error
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user