aboutsummaryrefslogtreecommitdiffstats
path: root/packages/meshbay-hub/src/meshbay_hub/static/locales
diff options
context:
space:
mode:
authorChristophe Besson <cbesson@gmail.com>2026-09-07 01:50:14 +0200
committerChristophe Besson <cbesson@gmail.com>2026-09-07 01:50:14 +0200
commit375419c041a4523614b3a1b98fa54fb5acb1b8bf (patch)
tree51086cd1e29a3f78f352dc2080847392a42fc37a /packages/meshbay-hub/src/meshbay_hub/static/locales
parent435f54b382004de28196aa44c9b1d2c7368ae212 (diff)
downloadmeshbay-375419c041a4523614b3a1b98fa54fb5acb1b8bf.tar.gz
fix(client): Save in the app panes was invisible, and Chat's never landed
Two defects behind one report — "you cannot always click Save, you do not notice, and it does not work". **It did not work, for Chat, systematically.** `_dispatch` resolves an admin ack against the pending request and returns, which is right for an op whose caller already knows the value it chose. Chat's pane calls `transport.setChatDirectory` itself, so nothing told `group-page` anything: the node saved it, every *other* connected client learned it from the broadcast, and the one that asked went on showing an unsaved-looking draft. Clicking Save again just re-sent it. Same shape as the root-ack bug, in a different message — so the set is now `BROADCAST_ACK_TYPES`, named for the property that makes it true, and covers `chat_directory`, `chat_link_preview` and `app_directories`. **You could not notice, because Save was not visibly a button.** It carried `btn btn-small btn-secondary`, and there is no `.btn` rule in the stylesheet at all — so it took `.btn-secondary`: no background, a transparent border, dim grey text. Enabled it already looked like a disabled control; disabled it was the same thing at 40% opacity. Measured on a real page: enabled is now accent on white, disabled is grey text on a plain border, and an inert one says why ("No changes to save") rather than leaving the reader to guess what the pane counts as a change. Videos' second Save — the TMDB one — is the same control, because two Save buttons in one pane that do not look alike is worse than either looking wrong. Verified by driving the real pane in Electron through the whole cycle: inert, pick a folder, live, save, and the node's answer coming back to disable it again. Four earlier readings said the enabled button was transparent; all four were taken inside python's directory-listing page, which the app never runs in — my scaffolding, not the code. Hub suite only: the node package is untouched by this. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011pvMdvLBG92jyhvD5pD6us
Diffstat (limited to 'packages/meshbay-hub/src/meshbay_hub/static/locales')
-rw-r--r--packages/meshbay-hub/src/meshbay_hub/static/locales/de.js1
-rw-r--r--packages/meshbay-hub/src/meshbay_hub/static/locales/en.js1
-rw-r--r--packages/meshbay-hub/src/meshbay_hub/static/locales/es.js1
-rw-r--r--packages/meshbay-hub/src/meshbay_hub/static/locales/fr.js1
-rw-r--r--packages/meshbay-hub/src/meshbay_hub/static/locales/it.js1
-rw-r--r--packages/meshbay-hub/src/meshbay_hub/static/locales/ja.js1
-rw-r--r--packages/meshbay-hub/src/meshbay_hub/static/locales/nl.js1
-rw-r--r--packages/meshbay-hub/src/meshbay_hub/static/locales/pl.js1
-rw-r--r--packages/meshbay-hub/src/meshbay_hub/static/locales/pt-BR.js1
-rw-r--r--packages/meshbay-hub/src/meshbay_hub/static/locales/zh-CN.js1
10 files changed, 10 insertions, 0 deletions
diff --git a/packages/meshbay-hub/src/meshbay_hub/static/locales/de.js b/packages/meshbay-hub/src/meshbay_hub/static/locales/de.js
index d05d3a3..d47762e 100644
--- a/packages/meshbay-hub/src/meshbay_hub/static/locales/de.js
+++ b/packages/meshbay-hub/src/meshbay_hub/static/locales/de.js
@@ -840,6 +840,7 @@ export default {
'folder_tree.read_only_blocked': 'Nur lesen — kein Schreiben möglich',
'settings_app.save': 'Speichern',
'settings_app.saving': 'Wird gespeichert…',
+ 'settings_app.no_changes': 'Keine Änderungen zu speichern',
'settings_app.disabled_hint': 'Schalten Sie diese App ein, um sie zu konfigurieren.',
'settings_app.video_directories_label': 'Video-Ordner',
'settings_app.video_directories_hint': 'Wo die Filme und Serien dieser Gruppe liegen. Nichts außerhalb erscheint im Videos-Tab.',
diff --git a/packages/meshbay-hub/src/meshbay_hub/static/locales/en.js b/packages/meshbay-hub/src/meshbay_hub/static/locales/en.js
index 6dbb70f..932aad3 100644
--- a/packages/meshbay-hub/src/meshbay_hub/static/locales/en.js
+++ b/packages/meshbay-hub/src/meshbay_hub/static/locales/en.js
@@ -628,6 +628,7 @@ export default {
'folder_tree.read_only_blocked': 'Read-only — cannot be written to',
'settings_app.save': 'Save',
'settings_app.saving': 'Saving…',
+ 'settings_app.no_changes': 'No changes to save',
'settings_app.disabled_hint': 'Turn this app on to configure it.',
'settings_app.video_directories_label': 'Video folders',
'settings_app.video_directories_hint': 'Where this group\'s films and shows live. Nothing outside them appears in the Videos tab.',
diff --git a/packages/meshbay-hub/src/meshbay_hub/static/locales/es.js b/packages/meshbay-hub/src/meshbay_hub/static/locales/es.js
index aa950cc..ca912a4 100644
--- a/packages/meshbay-hub/src/meshbay_hub/static/locales/es.js
+++ b/packages/meshbay-hub/src/meshbay_hub/static/locales/es.js
@@ -836,6 +836,7 @@ export default {
'folder_tree.read_only_blocked': 'Solo lectura: no se puede escribir',
'settings_app.save': 'Guardar',
'settings_app.saving': 'Guardando…',
+ 'settings_app.no_changes': 'Sin cambios que guardar',
'settings_app.disabled_hint': 'Activa esta aplicación para configurarla.',
'settings_app.video_directories_label': 'Carpetas de vídeo',
'settings_app.video_directories_hint': 'Dónde están las películas y series de este grupo. Nada fuera de ellas aparece en la pestaña Vídeos.',
diff --git a/packages/meshbay-hub/src/meshbay_hub/static/locales/fr.js b/packages/meshbay-hub/src/meshbay_hub/static/locales/fr.js
index daa9f94..ccd9e25 100644
--- a/packages/meshbay-hub/src/meshbay_hub/static/locales/fr.js
+++ b/packages/meshbay-hub/src/meshbay_hub/static/locales/fr.js
@@ -854,6 +854,7 @@ export default {
'folder_tree.read_only_blocked': 'Lecture seule — écriture impossible',
'settings_app.save': 'Enregistrer',
'settings_app.saving': 'Enregistrement…',
+ 'settings_app.no_changes': 'Aucune modification à enregistrer',
'settings_app.disabled_hint': 'Activez cette application pour la configurer.',
'settings_app.video_directories_label': 'Dossiers vidéo',
'settings_app.video_directories_hint': 'Où vivent les films et séries de ce groupe. Rien en dehors n\'apparaît dans l\'onglet Vidéos.',
diff --git a/packages/meshbay-hub/src/meshbay_hub/static/locales/it.js b/packages/meshbay-hub/src/meshbay_hub/static/locales/it.js
index 364c26c..c1c3d52 100644
--- a/packages/meshbay-hub/src/meshbay_hub/static/locales/it.js
+++ b/packages/meshbay-hub/src/meshbay_hub/static/locales/it.js
@@ -850,6 +850,7 @@ export default {
'folder_tree.read_only_blocked': 'Sola lettura: non vi si può scrivere',
'settings_app.save': 'Salva',
'settings_app.saving': 'Salvataggio…',
+ 'settings_app.no_changes': 'Nessuna modifica da salvare',
'settings_app.disabled_hint': 'Attiva questa applicazione per configurarla.',
'settings_app.video_directories_label': 'Cartelle video',
'settings_app.video_directories_hint': 'Dove si trovano film e serie di questo gruppo. Nulla al di fuori compare nella scheda Video.',
diff --git a/packages/meshbay-hub/src/meshbay_hub/static/locales/ja.js b/packages/meshbay-hub/src/meshbay_hub/static/locales/ja.js
index f778fc4..e5392a3 100644
--- a/packages/meshbay-hub/src/meshbay_hub/static/locales/ja.js
+++ b/packages/meshbay-hub/src/meshbay_hub/static/locales/ja.js
@@ -834,6 +834,7 @@ export default {
'folder_tree.read_only_blocked': '読み取り専用 — 書き込みできません',
'settings_app.save': '保存',
'settings_app.saving': '保存中…',
+ 'settings_app.no_changes': '保存する変更はありません',
'settings_app.disabled_hint': 'このアプリを有効にすると設定できます。',
'settings_app.video_directories_label': '動画フォルダー',
'settings_app.video_directories_hint': 'このグループの映画や番組がある場所です。それ以外は動画タブに表示されません。',
diff --git a/packages/meshbay-hub/src/meshbay_hub/static/locales/nl.js b/packages/meshbay-hub/src/meshbay_hub/static/locales/nl.js
index 6e6842e..09e3e8d 100644
--- a/packages/meshbay-hub/src/meshbay_hub/static/locales/nl.js
+++ b/packages/meshbay-hub/src/meshbay_hub/static/locales/nl.js
@@ -852,6 +852,7 @@ export default {
'folder_tree.read_only_blocked': 'Alleen-lezen — kan niet worden beschreven',
'settings_app.save': 'Opslaan',
'settings_app.saving': 'Opslaan…',
+ 'settings_app.no_changes': 'Geen wijzigingen om op te slaan',
'settings_app.disabled_hint': 'Zet deze app aan om hem in te stellen.',
'settings_app.video_directories_label': 'Videomappen',
'settings_app.video_directories_hint': 'Waar de films en series van deze groep staan. Niets daarbuiten verschijnt op het tabblad Video\'s.',
diff --git a/packages/meshbay-hub/src/meshbay_hub/static/locales/pl.js b/packages/meshbay-hub/src/meshbay_hub/static/locales/pl.js
index c8cbd16..34847e1 100644
--- a/packages/meshbay-hub/src/meshbay_hub/static/locales/pl.js
+++ b/packages/meshbay-hub/src/meshbay_hub/static/locales/pl.js
@@ -878,6 +878,7 @@ export default {
'folder_tree.read_only_blocked': 'Tylko do odczytu — nie można zapisywać',
'settings_app.save': 'Zapisz',
'settings_app.saving': 'Zapisywanie…',
+ 'settings_app.no_changes': 'Brak zmian do zapisania',
'settings_app.disabled_hint': 'Włącz tę aplikację, aby ją skonfigurować.',
'settings_app.video_directories_label': 'Foldery wideo',
'settings_app.video_directories_hint': 'Gdzie znajdują się filmy i seriale tej grupy. Nic poza nimi nie pojawi się w zakładce Wideo.',
diff --git a/packages/meshbay-hub/src/meshbay_hub/static/locales/pt-BR.js b/packages/meshbay-hub/src/meshbay_hub/static/locales/pt-BR.js
index 6eb2242..fc211c9 100644
--- a/packages/meshbay-hub/src/meshbay_hub/static/locales/pt-BR.js
+++ b/packages/meshbay-hub/src/meshbay_hub/static/locales/pt-BR.js
@@ -837,6 +837,7 @@ export default {
'folder_tree.read_only_blocked': 'Somente leitura — não é possível gravar',
'settings_app.save': 'Salvar',
'settings_app.saving': 'Salvando…',
+ 'settings_app.no_changes': 'Nenhuma alteração para salvar',
'settings_app.disabled_hint': 'Ative este aplicativo para configurá-lo.',
'settings_app.video_directories_label': 'Pastas de vídeo',
'settings_app.video_directories_hint': 'Onde ficam os filmes e séries deste grupo. Nada fora delas aparece na aba Vídeos.',
diff --git a/packages/meshbay-hub/src/meshbay_hub/static/locales/zh-CN.js b/packages/meshbay-hub/src/meshbay_hub/static/locales/zh-CN.js
index 044611e..9db7cc7 100644
--- a/packages/meshbay-hub/src/meshbay_hub/static/locales/zh-CN.js
+++ b/packages/meshbay-hub/src/meshbay_hub/static/locales/zh-CN.js
@@ -821,6 +821,7 @@ export default {
'folder_tree.read_only_blocked': '只读 — 无法写入',
'settings_app.save': '保存',
'settings_app.saving': '正在保存…',
+ 'settings_app.no_changes': '没有需要保存的更改',
'settings_app.disabled_hint': '启用该应用后即可配置。',
'settings_app.video_directories_label': '视频文件夹',
'settings_app.video_directories_hint': '该群组的影片和剧集所在位置。其外的内容不会出现在「视频」标签页。',