fix(ui): create user/node returns after validate; loading feedback; deferred Mihomo restart
Symptom: confirm button seemed dead, refresh showed the create had succeeded —
HTTP waited on full core restart and often timed out after DB write.
- ApplyConfigDeferredRestart: save+validate sync, restart async
- Listener path uses deferred apply so create/delete respond quickly
- Users modal: confirmLoading + disable while submitting
- Listeners: always toast errors; refresh list without blocking success path
fix(ui): create user/node returns after validate; loading feedback; deferred Mihomo restart
Symptom: confirm button seemed dead, refresh showed the create had succeeded —
HTTP waited on full core restart and often timed out after DB write.
- ApplyConfigDeferredRestart: save+validate sync, restart async
- Listener path uses deferred apply so create/delete respond quickly
- Users modal: confirmLoading + disable while submitting
- Listeners: always toast errors; refresh list without blocking success path
fix(ui): create user/node returns after validate; loading feedback; deferred Mihomo restart
Symptom: confirm button seemed dead, refresh showed the create had succeeded —
HTTP waited on full core restart and often timed out after DB write.
- ApplyConfigDeferredRestart: save+validate sync, restart async
- Listener path uses deferred apply so create/delete respond quickly
- Users modal: confirmLoading + disable while submitting
- Listeners: always toast errors; refresh list without blocking success path
fix(ui): create user/node returns after validate; loading feedback; deferred Mihomo restart
Symptom: confirm button seemed dead, refresh showed the create had succeeded —
HTTP waited on full core restart and often timed out after DB write.
- ApplyConfigDeferredRestart: save+validate sync, restart async
- Listener path uses deferred apply so create/delete respond quickly
- Users modal: confirmLoading + disable while submitting
- Listeners: always toast errors; refresh list without blocking success path
fix(ui): create user/node returns after validate; loading feedback; deferred Mihomo restart
Symptom: confirm button seemed dead, refresh showed the create had succeeded —
HTTP waited on full core restart and often timed out after DB write.
- ApplyConfigDeferredRestart: save+validate sync, restart async
- Listener path uses deferred apply so create/delete respond quickly
- Users modal: confirmLoading + disable while submitting
- Listeners: always toast errors; refresh list without blocking success path
fix(ui): create user/node returns after validate; loading feedback; deferred Mihomo restart
Symptom: confirm button seemed dead, refresh showed the create had succeeded —
HTTP waited on full core restart and often timed out after DB write.
- ApplyConfigDeferredRestart: save+validate sync, restart async
- Listener path uses deferred apply so create/delete respond quickly
- Users modal: confirmLoading + disable while submitting
- Listeners: always toast errors; refresh list without blocking success path
fix(ui): create user/node returns after validate; loading feedback; deferred Mihomo restart
Symptom: confirm button seemed dead, refresh showed the create had succeeded —
HTTP waited on full core restart and often timed out after DB write.
- ApplyConfigDeferredRestart: save+validate sync, restart async
- Listener path uses deferred apply so create/delete respond quickly
- Users modal: confirmLoading + disable while submitting
- Listeners: always toast errors; refresh list without blocking success path
fix(ui): create user/node returns after validate; loading feedback; deferred Mihomo restart
Symptom: confirm button seemed dead, refresh showed the create had succeeded —
HTTP waited on full core restart and often timed out after DB write.
- ApplyConfigDeferredRestart: save+validate sync, restart async
- Listener path uses deferred apply so create/delete respond quickly
- Users modal: confirmLoading + disable while submitting
- Listeners: always toast errors; refresh list without blocking success path
fix(ui): create user/node returns after validate; loading feedback; deferred Mihomo restart
Symptom: confirm button seemed dead, refresh showed the create had succeeded —
HTTP waited on full core restart and often timed out after DB write.
- ApplyConfigDeferredRestart: save+validate sync, restart async
- Listener path uses deferred apply so create/delete respond quickly
- Users modal: confirmLoading + disable while submitting
- Listeners: always toast errors; refresh list without blocking success path
fix(ui): create user/node returns after validate; loading feedback; deferred Mihomo restart
Symptom: confirm button seemed dead, refresh showed the create had succeeded —
HTTP waited on full core restart and often timed out after DB write.
- ApplyConfigDeferredRestart: save+validate sync, restart async
- Listener path uses deferred apply so create/delete respond quickly
- Users modal: confirmLoading + disable while submitting
- Listeners: always toast errors; refresh list without blocking success path
fix(ui): create user/node returns after validate; loading feedback; deferred Mihomo restart
Symptom: confirm button seemed dead, refresh showed the create had succeeded —
HTTP waited on full core restart and often timed out after DB write.
- ApplyConfigDeferredRestart: save+validate sync, restart async
- Listener path uses deferred apply so create/delete respond quickly
- Users modal: confirmLoading + disable while submitting
- Listeners: always toast errors; refresh list without blocking success path
fix(ui): create user/node returns after validate; loading feedback; deferred Mihomo restart
Symptom: confirm button seemed dead, refresh showed the create had succeeded —
HTTP waited on full core restart and often timed out after DB write.
- ApplyConfigDeferredRestart: save+validate sync, restart async
- Listener path uses deferred apply so create/delete respond quickly
- Users modal: confirmLoading + disable while submitting
- Listeners: always toast errors; refresh list without blocking success path