From 2dc4451458503ee3b634c2fe4e5baadf627740a2 Mon Sep 17 00:00:00 2001 From: chris-young Date: Tue, 4 Aug 2026 09:12:16 -0700 Subject: [PATCH] fix(cli): narrow plugin-toggle toast to restart-required semantics MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The toast said the change 'takes effect for new sessions', but plugins are scanned once at process start — a new chat under the same gateway still sees the old plugin set (#71595 repro). Rename the key to match (toggleTakesEffectAfterRestart) and say only what is true: restart the gateway to apply the change. --- web/src/i18n/af.ts | 4 ++-- web/src/i18n/de.ts | 4 ++-- web/src/i18n/en.ts | 4 ++-- web/src/i18n/es.ts | 4 ++-- web/src/i18n/fr.ts | 4 ++-- web/src/i18n/ga.ts | 4 ++-- web/src/i18n/hu.ts | 4 ++-- web/src/i18n/it.ts | 4 ++-- web/src/i18n/ja.ts | 4 ++-- web/src/i18n/ko.ts | 4 ++-- web/src/i18n/pt.ts | 4 ++-- web/src/i18n/ru.ts | 4 ++-- web/src/i18n/tr.ts | 4 ++-- web/src/i18n/types.ts | 2 +- web/src/i18n/uk.ts | 4 ++-- web/src/i18n/zh-hant.ts | 4 ++-- web/src/i18n/zh.ts | 4 ++-- web/src/pages/PluginsPage.tsx | 4 ++-- 18 files changed, 35 insertions(+), 35 deletions(-) diff --git a/web/src/i18n/af.ts b/web/src/i18n/af.ts index fe1a3e5680..29c9abf230 100644 --- a/web/src/i18n/af.ts +++ b/web/src/i18n/af.ts @@ -324,8 +324,8 @@ export const af: Translations = { disableRuntime: "Deaktiveer", enableAfterInstall: "Aktiveer ná installasie", enableRuntime: "Aktiveer", - toggleTakesEffectNextSession: - "Gestoor — geld vir nuwe sessies. Herbegin die gateway om dit oral toe te pas.", + toggleTakesEffectAfterRestart: + "Gestoor — herbegin die gateway om die verandering toe te pas.", forceReinstall: "Forseer herinstallasie (skrap eers bestaande gids)", headline: "Ontdek, installeer, aktiveer en werk Hermes-inproppe op (`hermes plugins` ekwivalent).", diff --git a/web/src/i18n/de.ts b/web/src/i18n/de.ts index c05e89031b..183037a467 100644 --- a/web/src/i18n/de.ts +++ b/web/src/i18n/de.ts @@ -324,8 +324,8 @@ export const de: Translations = { disableRuntime: "Deaktivieren", enableAfterInstall: "Nach Installation aktivieren", enableRuntime: "Aktivieren", - toggleTakesEffectNextSession: - "Gespeichert — gilt für neue Sitzungen. Gateway neu starten, um es überall anzuwenden.", + toggleTakesEffectAfterRestart: + "Gespeichert — Gateway neu starten, um die Änderung anzuwenden.", forceReinstall: "Neuinstallation erzwingen (bestehenden Ordner zuerst löschen)", headline: "Hermes-Plugins entdecken, installieren, aktivieren und aktualisieren (entspricht `hermes plugins`).", diff --git a/web/src/i18n/en.ts b/web/src/i18n/en.ts index a5036f1cef..6357a64259 100644 --- a/web/src/i18n/en.ts +++ b/web/src/i18n/en.ts @@ -398,8 +398,8 @@ export const en: Translations = { disableRuntime: "Disable", enableAfterInstall: "Enable after install", enableRuntime: "Enable", - toggleTakesEffectNextSession: - "Saved — takes effect for new sessions. Restart the gateway to apply it everywhere.", + toggleTakesEffectAfterRestart: + "Saved — restart the gateway to apply the change.", forceReinstall: "Force reinstall (delete existing folder first)", headline: "Discover, install, enable, and update Hermes plugins (`hermes plugins` parity).", diff --git a/web/src/i18n/es.ts b/web/src/i18n/es.ts index 35e19eb286..df429c9967 100644 --- a/web/src/i18n/es.ts +++ b/web/src/i18n/es.ts @@ -325,8 +325,8 @@ export const es: Translations = { disableRuntime: "Deshabilitar", enableAfterInstall: "Habilitar tras instalar", enableRuntime: "Habilitar", - toggleTakesEffectNextSession: - "Guardado: surte efecto en nuevas sesiones. Reinicia el gateway para aplicarlo en todas partes.", + toggleTakesEffectAfterRestart: + "Guardado: reinicia el gateway para aplicar el cambio.", forceReinstall: "Forzar reinstalación (eliminar carpeta existente primero)", headline: "Descubre, instala, habilita y actualiza complementos de Hermes (equivalente a `hermes plugins`).", diff --git a/web/src/i18n/fr.ts b/web/src/i18n/fr.ts index 54c7498b3a..213bbdbb1f 100644 --- a/web/src/i18n/fr.ts +++ b/web/src/i18n/fr.ts @@ -325,8 +325,8 @@ export const fr: Translations = { disableRuntime: "Désactiver", enableAfterInstall: "Activer après l'installation", enableRuntime: "Activer", - toggleTakesEffectNextSession: - "Enregistré — prend effet pour les nouvelles sessions. Redémarrez la passerelle pour l'appliquer partout.", + toggleTakesEffectAfterRestart: + "Enregistré — redémarrez la passerelle pour appliquer la modification.", forceReinstall: "Forcer la réinstallation (supprimer d'abord le dossier existant)", headline: "Découvrez, installez, activez et mettez à jour les plugins Hermes (parité avec `hermes plugins`).", diff --git a/web/src/i18n/ga.ts b/web/src/i18n/ga.ts index 3448823672..36815d968f 100644 --- a/web/src/i18n/ga.ts +++ b/web/src/i18n/ga.ts @@ -332,8 +332,8 @@ export const ga: Translations = { disableRuntime: "Díchumasaigh", enableAfterInstall: "Cumasaigh tar éis suiteála", enableRuntime: "Cumasaigh", - toggleTakesEffectNextSession: - "Sábháilte — i bhfeidhm do sheisiúin nua. Atosaigh an gateway chun é a chur i bhfeidhm i ngach áit.", + toggleTakesEffectAfterRestart: + "Sábháilte — atosaigh an gateway chun an t-athrú a chur i bhfeidhm.", forceReinstall: "Cuir iallach ar athshuiteáil (scrios an fillteán atá ann ar dtús)", headline: "Faigh, suiteáil, cumasaigh agus nuashonraigh plugins Hermes (paireacht le `hermes plugins`).", diff --git a/web/src/i18n/hu.ts b/web/src/i18n/hu.ts index 17fbe45aee..625e2f728d 100644 --- a/web/src/i18n/hu.ts +++ b/web/src/i18n/hu.ts @@ -324,8 +324,8 @@ export const hu: Translations = { disableRuntime: "Letiltás", enableAfterInstall: "Engedélyezés a telepítés után", enableRuntime: "Engedélyezés", - toggleTakesEffectNextSession: - "Mentve — az új munkamenetekre érvényes. Indítsa újra az átjárót, hogy mindenhol érvénybe lépjen.", + toggleTakesEffectAfterRestart: + "Mentve — indítsa újra az átjárót a módosítás alkalmazásához.", forceReinstall: "Kényszerített újratelepítés (a meglévő mappa előbb törlődik)", headline: "Hermes-bővítmények felfedezése, telepítése, engedélyezése és frissítése (a `hermes plugins` paritás).", diff --git a/web/src/i18n/it.ts b/web/src/i18n/it.ts index 8f95946e1e..dd35370a44 100644 --- a/web/src/i18n/it.ts +++ b/web/src/i18n/it.ts @@ -324,8 +324,8 @@ export const it: Translations = { disableRuntime: "Disabilita", enableAfterInstall: "Abilita dopo l'installazione", enableRuntime: "Abilita", - toggleTakesEffectNextSession: - "Salvato: ha effetto nelle nuove sessioni. Riavvia il gateway per applicarlo ovunque.", + toggleTakesEffectAfterRestart: + "Salvato: riavvia il gateway per applicare la modifica.", forceReinstall: "Forza reinstallazione (elimina prima la cartella esistente)", headline: "Scopri, installa, abilita e aggiorna i plugin Hermes (parità con `hermes plugins`).", diff --git a/web/src/i18n/ja.ts b/web/src/i18n/ja.ts index f8f4d00b2c..aa9b777932 100644 --- a/web/src/i18n/ja.ts +++ b/web/src/i18n/ja.ts @@ -323,8 +323,8 @@ export const ja: Translations = { disableRuntime: "無効化", enableAfterInstall: "インストール後に有効化", enableRuntime: "有効化", - toggleTakesEffectNextSession: - "保存しました — 新しいセッションから有効になります。すべてに適用するにはゲートウェイを再起動してください。", + toggleTakesEffectAfterRestart: + "保存しました — 変更を適用するにはゲートウェイを再起動してください。", forceReinstall: "強制再インストール (既存のフォルダを先に削除)", headline: "Hermes プラグインを発見、インストール、有効化、更新します (`hermes plugins` 相当)。", diff --git a/web/src/i18n/ko.ts b/web/src/i18n/ko.ts index e7f54440f5..bdd3f1e597 100644 --- a/web/src/i18n/ko.ts +++ b/web/src/i18n/ko.ts @@ -323,8 +323,8 @@ export const ko: Translations = { disableRuntime: "비활성화", enableAfterInstall: "설치 후 활성화", enableRuntime: "활성화", - toggleTakesEffectNextSession: - "저장됨 — 새 세션부터 적용됩니다. 모든 곳에 적용하려면 게이트웨이를 다시 시작하세요.", + toggleTakesEffectAfterRestart: + "저장됨 — 변경 사항을 적용하려면 게이트웨이를 다시 시작하세요.", forceReinstall: "강제 재설치 (기존 폴더를 먼저 삭제)", headline: "Hermes 플러그인을 검색, 설치, 활성화 및 업데이트합니다 (`hermes plugins` 동등).", diff --git a/web/src/i18n/pt.ts b/web/src/i18n/pt.ts index dfb05aa784..5f77f8c1fd 100644 --- a/web/src/i18n/pt.ts +++ b/web/src/i18n/pt.ts @@ -325,8 +325,8 @@ export const pt: Translations = { disableRuntime: "Desativar", enableAfterInstall: "Ativar após instalação", enableRuntime: "Ativar", - toggleTakesEffectNextSession: - "Salvo — entra em vigor em novas sessões. Reinicie o gateway para aplicar em todos os lugares.", + toggleTakesEffectAfterRestart: + "Salvo — reinicie o gateway para aplicar a alteração.", forceReinstall: "Forçar reinstalação (eliminar pasta existente primeiro)", headline: "Descobrir, instalar, ativar e atualizar plugins Hermes (paridade com `hermes plugins`).", diff --git a/web/src/i18n/ru.ts b/web/src/i18n/ru.ts index 9b57274d3e..df94e1380f 100644 --- a/web/src/i18n/ru.ts +++ b/web/src/i18n/ru.ts @@ -324,8 +324,8 @@ export const ru: Translations = { disableRuntime: "Отключить", enableAfterInstall: "Включить после установки", enableRuntime: "Включить", - toggleTakesEffectNextSession: - "Сохранено — вступит в силу для новых сессий. Перезапустите шлюз, чтобы применить везде.", + toggleTakesEffectAfterRestart: + "Сохранено — перезапустите шлюз, чтобы применить изменение.", forceReinstall: "Принудительная переустановка (сначала удалить существующую папку)", headline: "Поиск, установка, включение и обновление плагинов Hermes (аналог `hermes plugins`).", diff --git a/web/src/i18n/tr.ts b/web/src/i18n/tr.ts index 2d9bbfaa54..5ea52416de 100644 --- a/web/src/i18n/tr.ts +++ b/web/src/i18n/tr.ts @@ -324,8 +324,8 @@ export const tr: Translations = { disableRuntime: "Devre dışı bırak", enableAfterInstall: "Yüklemeden sonra etkinleştir", enableRuntime: "Etkinleştir", - toggleTakesEffectNextSession: - "Kaydedildi — yeni oturumlarda geçerli olur. Her yerde uygulamak için ağ geçidini yeniden başlatın.", + toggleTakesEffectAfterRestart: + "Kaydedildi — değişikliği uygulamak için ağ geçidini yeniden başlatın.", forceReinstall: "Yeniden yüklemeyi zorla (önce mevcut klasörü sil)", headline: "Hermes eklentilerini keşfedin, yükleyin, etkinleştirin ve güncelleyin (`hermes plugins` ile eşdeğer).", diff --git a/web/src/i18n/types.ts b/web/src/i18n/types.ts index bb84f4c3fc..79966bd980 100644 --- a/web/src/i18n/types.ts +++ b/web/src/i18n/types.ts @@ -345,7 +345,7 @@ export interface Translations { disableRuntime: string; enableAfterInstall: string; enableRuntime: string; - toggleTakesEffectNextSession: string; + toggleTakesEffectAfterRestart: string; forceReinstall: string; headline: string; identifierLabel: string; diff --git a/web/src/i18n/uk.ts b/web/src/i18n/uk.ts index 41f2f807bd..c38f57b6b5 100644 --- a/web/src/i18n/uk.ts +++ b/web/src/i18n/uk.ts @@ -325,8 +325,8 @@ export const uk: Translations = { disableRuntime: "Вимкнути", enableAfterInstall: "Увімкнути після встановлення", enableRuntime: "Увімкнути", - toggleTakesEffectNextSession: - "Збережено — набуде чинності для нових сесій. Перезапустіть шлюз, щоб застосувати всюди.", + toggleTakesEffectAfterRestart: + "Збережено — перезапустіть шлюз, щоб застосувати зміну.", forceReinstall: "Примусово перевстановити (спершу видалити наявну теку)", headline: "Знаходьте, встановлюйте, вмикайте та оновлюйте плагіни Hermes (паритет з `hermes plugins`).", diff --git a/web/src/i18n/zh-hant.ts b/web/src/i18n/zh-hant.ts index ab6dbb9d65..85085604f1 100644 --- a/web/src/i18n/zh-hant.ts +++ b/web/src/i18n/zh-hant.ts @@ -323,8 +323,8 @@ export const zhHant: Translations = { disableRuntime: "停用", enableAfterInstall: "安裝後啟用", enableRuntime: "啟用", - toggleTakesEffectNextSession: - "已儲存 — 對新工作階段生效。重新啟動閘道以套用到所有工作階段。", + toggleTakesEffectAfterRestart: + "已儲存 — 重新啟動閘道以套用變更。", forceReinstall: "強制重新安裝(先刪除既有資料夾)", headline: "探索、安裝、啟用並更新 Hermes 外掛(對齊 `hermes plugins` CLI)。", diff --git a/web/src/i18n/zh.ts b/web/src/i18n/zh.ts index 4a233b9932..7eeefea9f1 100644 --- a/web/src/i18n/zh.ts +++ b/web/src/i18n/zh.ts @@ -320,8 +320,8 @@ export const zh: Translations = { disableRuntime: "禁用", enableAfterInstall: "安装后启用", enableRuntime: "启用", - toggleTakesEffectNextSession: - "已保存 — 对新会话生效。重启网关以应用到所有会话。", + toggleTakesEffectAfterRestart: + "已保存 — 重启网关以应用更改。", forceReinstall: "强制重装(先删除已有目录)", headline: "发现、安装、启用和更新 Hermes 插件(对齐 `hermes plugins` CLI)。", identifierLabel: "Git 地址或 owner/repo", diff --git a/web/src/pages/PluginsPage.tsx b/web/src/pages/PluginsPage.tsx index 809f3487f5..e54f50710f 100644 --- a/web/src/pages/PluginsPage.tsx +++ b/web/src/pages/PluginsPage.tsx @@ -1126,7 +1126,7 @@ function PluginRowCard(props: PluginRowCardProps) { const res = await api.disableAgentPlugin(row.name); showToast( res.restart_required - ? t.pluginsPage.toggleTakesEffectNextSession + ? t.pluginsPage.toggleTakesEffectAfterRestart : t.pluginsPage.disableRuntime, "success", ); @@ -1145,7 +1145,7 @@ function PluginRowCard(props: PluginRowCardProps) { const res = await api.enableAgentPlugin(row.name); showToast( res.restart_required - ? t.pluginsPage.toggleTakesEffectNextSession + ? t.pluginsPage.toggleTakesEffectAfterRestart : t.pluginsPage.enableRuntime, "success", );