Accumulate OpenCode settings restarts behind Apply & Restart

Defer OpenCode reloads after settings mutations, track pending changes,
and expose a top-right Apply & Restart OpenCode action with a counter so
sessions stay available until the user explicitly applies.

Co-authored-by: Serhii Dziupin <makeittech@users.noreply.github.com>
This commit is contained in:
Cursor Agent
2026-08-03 06:56:38 +00:00
co-authored by Serhii Dziupin
parent 775da6e9f4
commit 57819dd164
31 changed files with 869 additions and 167 deletions
@@ -40,6 +40,14 @@ export const settingsDict = {
'settings.view.badge.beta': 'beta',
'settings.view.actions.reloadOpenCode': 'Reload OpenCode',
'settings.view.actions.reloadOpenCodeTooltip': 'Restart OpenCode and reload its configuration.',
'settings.view.actions.applyAndRestartOpenCode': 'Apply & Restart OpenCode',
'settings.view.actions.applyAndRestartOpenCodeTooltipSingle': 'Apply 1 pending configuration change and restart OpenCode.',
'settings.view.actions.applyAndRestartOpenCodeTooltipPlural': 'Apply {count} pending configuration changes and restart OpenCode.',
'settings.view.pendingRestart.applying': 'Applying changes and restarting OpenCode…',
'settings.view.pendingRestart.applied': 'OpenCode restarted with pending configuration changes.',
'settings.view.pendingRestart.applyFailed': 'Failed to apply configuration changes.',
'settings.view.pendingRestart.manualRestartRequired': 'Saved on disk. Restart your connected OpenCode server to apply the changes.',
'settings.view.pendingRestart.saved': 'Saved. Restart OpenCode to apply.',
'settings.view.actions.backToSettings': 'Back to Settings',
'settings.view.actions.closeSettings': 'Close settings',
'settings.view.actions.openSectionList': 'Open section list',