diff options
| author | Christophe Besson <cbesson@gmail.com> | 2026-09-14 11:17:42 +0200 |
|---|---|---|
| committer | Christophe Besson <cbesson@gmail.com> | 2026-09-14 11:17:42 +0200 |
| commit | 2fb66c5baecdd8b49be904f6244f66ba04f68061 (patch) | |
| tree | 3b80940e1819a811f6ec2c04831e3616a74a8eae /packages/meshbay-hub/src/meshbay_hub/static/locales | |
| parent | a294c1d338ba4c20d66873d593d1c101e69c5a40 (diff) | |
| download | meshbay-2fb66c5baecdd8b49be904f6244f66ba04f68061.tar.gz | |
feat(ui): an indexing dock above the music bar, on every page
Adding a large directory left the operator nothing to look at once they left
the Settings panel that started it, and nothing at all when it was added from
another machine. A band now sits above the music bar on every page: one row
per group with indexing under way, naming the root being walked, percent,
bytes and files, and the roots waiting their turn; "indexing finished" for a
few seconds at the end. A click opens the group's Settings, and × hides the
row until that group is idle.
Two sources feed it. On the node's own machine the desktop client polls the
loopback `GET /api/index-status` for every group, whatever the route. An
operator's group page forwards MNP `index_progress` pushes, resolving the
root from the roots table it opened; an ordinary member keeps the sidebar dot
only, and a page clears its row when it lets go of the group. Where both
describe a group, loopback wins.
Reconcile passes and watchdog bursts show only past 1 GB or 5 s, so a single
dropped file does not flash a bar. The logic lives in index-dock-model.js,
which has no imports and is tested under node. The dock publishes
`--index-dock-h` and the sidebar stops above it and the music bar.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01T6jPTeocXA1BePekdsgPya
Diffstat (limited to 'packages/meshbay-hub/src/meshbay_hub/static/locales')
10 files changed, 130 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 9d6fc61..8607011 100644 --- a/packages/meshbay-hub/src/meshbay_hub/static/locales/de.js +++ b/packages/meshbay-hub/src/meshbay_hub/static/locales/de.js @@ -722,6 +722,19 @@ export default { 'presence.offline': 'Kein Node für diese Gruppe erreichbar', 'presence.unknown': 'Noch nicht geprüft', 'presence.indexing': 'Indizierung läuft — {pct}%', + 'indexdock.kind_scan': "Indizierung", + 'indexdock.kind_rescan': "Erneutes Einlesen", + 'indexdock.kind_reconcile': "Abgleich", + 'indexdock.kind_watch': "Neue Dateien werden indiziert", + 'indexdock.waiting': "Wartet auf Indizierung", + 'indexdock.done': "Indizierung abgeschlossen", + 'indexdock.listing': "Dateien werden aufgelistet…", + 'indexdock.percent': "{pct} %", + 'indexdock.files': "{done} / {total} Dateien", + 'indexdock.next': "Danach: {roots}", + 'indexdock.next_count': "Wartend: {count}", + 'indexdock.open': "Einstellungen dieser Gruppe öffnen", + 'indexdock.hide': "Bis zur nächsten Indizierung ausblenden", 'chat.load_older': '{n} ältere Nachrichten laden', 'chat.start_of_history': 'Anfang des Gesprächs', 'chat.today': 'Heute', 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 a5dd5d4..fee6cc3 100644 --- a/packages/meshbay-hub/src/meshbay_hub/static/locales/en.js +++ b/packages/meshbay-hub/src/meshbay_hub/static/locales/en.js @@ -831,6 +831,19 @@ export default { 'presence.offline': 'No node is reachable for this group', 'presence.unknown': 'Not checked yet', 'presence.indexing': 'Indexing — {pct}% done', + 'indexdock.kind_scan': "Indexing", + 'indexdock.kind_rescan': "Re-reading", + 'indexdock.kind_reconcile': "Catching up", + 'indexdock.kind_watch': "Indexing new files", + 'indexdock.waiting': "Waiting to index", + 'indexdock.done': "Indexing finished", + 'indexdock.listing': "Listing files…", + 'indexdock.percent': "{pct}%", + 'indexdock.files': "{done} / {total} files", + 'indexdock.next': "Next: {roots}", + 'indexdock.next_count': "{count} more waiting", + 'indexdock.open': "Open this group's settings", + 'indexdock.hide': "Hide until the next indexing", 'chat.load_older': 'Load {n} older messages', 'chat.start_of_history': 'Beginning of the conversation', 'chat.today': 'Today', 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 6e8e191..b958da3 100644 --- a/packages/meshbay-hub/src/meshbay_hub/static/locales/es.js +++ b/packages/meshbay-hub/src/meshbay_hub/static/locales/es.js @@ -717,6 +717,19 @@ export default { 'presence.offline': 'Ningún node accesible para este grupo', 'presence.unknown': 'Aún sin comprobar', 'presence.indexing': 'Indexando — {pct}%', + 'indexdock.kind_scan': "Indexando", + 'indexdock.kind_rescan': "Releyendo", + 'indexdock.kind_reconcile': "Poniéndose al día", + 'indexdock.kind_watch': "Indexando archivos nuevos", + 'indexdock.waiting': "En espera de indexar", + 'indexdock.done': "Indexación terminada", + 'indexdock.listing': "Listando archivos…", + 'indexdock.percent': "{pct}%", + 'indexdock.files': "{done} / {total} archivos", + 'indexdock.next': "Después: {roots}", + 'indexdock.next_count': "En espera: {count}", + 'indexdock.open': "Abrir los ajustes de este grupo", + 'indexdock.hide': "Ocultar hasta la próxima indexación", 'chat.load_older': 'Cargar {n} mensajes anteriores', 'chat.start_of_history': 'Inicio de la conversación', 'chat.today': 'Hoy', 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 47de45f..c993d9c 100644 --- a/packages/meshbay-hub/src/meshbay_hub/static/locales/fr.js +++ b/packages/meshbay-hub/src/meshbay_hub/static/locales/fr.js @@ -720,6 +720,19 @@ export default { 'presence.offline': 'Aucun node joignable pour ce groupe', 'presence.unknown': 'Pas encore vérifié', 'presence.indexing': 'Indexation en cours — {pct} %', + 'indexdock.kind_scan': "Indexation", + 'indexdock.kind_rescan': "Relecture", + 'indexdock.kind_reconcile': "Rattrapage", + 'indexdock.kind_watch': "Indexation de nouveaux fichiers", + 'indexdock.waiting': "En attente d'indexation", + 'indexdock.done': "Indexation terminée", + 'indexdock.listing': "Liste des fichiers…", + 'indexdock.percent': "{pct} %", + 'indexdock.files': "{done} / {total} fichiers", + 'indexdock.next': "Ensuite : {roots}", + 'indexdock.next_count': "En attente : {count}", + 'indexdock.open': "Ouvrir les paramètres de ce groupe", + 'indexdock.hide': "Masquer jusqu'à la prochaine indexation", 'chat.load_older': 'Charger {n} messages plus anciens', 'chat.start_of_history': 'Début de la conversation', 'chat.today': 'Aujourd’hui', 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 660298e..3d4b502 100644 --- a/packages/meshbay-hub/src/meshbay_hub/static/locales/it.js +++ b/packages/meshbay-hub/src/meshbay_hub/static/locales/it.js @@ -719,6 +719,19 @@ export default { 'presence.offline': 'Nessun node raggiungibile per questo gruppo', 'presence.unknown': 'Non ancora verificato', 'presence.indexing': 'Indicizzazione in corso — {pct}%', + 'indexdock.kind_scan': "Indicizzazione", + 'indexdock.kind_rescan': "Rilettura", + 'indexdock.kind_reconcile': "Allineamento", + 'indexdock.kind_watch': "Indicizzazione dei nuovi file", + 'indexdock.waiting': "In attesa di indicizzazione", + 'indexdock.done': "Indicizzazione completata", + 'indexdock.listing': "Elenco dei file…", + 'indexdock.percent': "{pct}%", + 'indexdock.files': "{done} / {total} file", + 'indexdock.next': "Poi: {roots}", + 'indexdock.next_count': "In attesa: {count}", + 'indexdock.open': "Apri le impostazioni di questo gruppo", + 'indexdock.hide': "Nascondi fino alla prossima indicizzazione", 'chat.load_older': 'Carica {n} messaggi precedenti', 'chat.start_of_history': 'Inizio della conversazione', 'chat.today': 'Oggi', 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 ff5b693..3140527 100644 --- a/packages/meshbay-hub/src/meshbay_hub/static/locales/ja.js +++ b/packages/meshbay-hub/src/meshbay_hub/static/locales/ja.js @@ -707,6 +707,19 @@ export default { 'presence.offline': 'このグループに到達できる node がありません', 'presence.unknown': '未確認', 'presence.indexing': 'インデックス中 — {pct}%', + 'indexdock.kind_scan': "インデックス中", + 'indexdock.kind_rescan': "再読み込み中", + 'indexdock.kind_reconcile': "差分を取り込み中", + 'indexdock.kind_watch': "新しいファイルをインデックス中", + 'indexdock.waiting': "インデックス待ち", + 'indexdock.done': "インデックス完了", + 'indexdock.listing': "ファイルを一覧中…", + 'indexdock.percent': "{pct}%", + 'indexdock.files': "{done} / {total} ファイル", + 'indexdock.next': "次: {roots}", + 'indexdock.next_count': "待機中: {count}", + 'indexdock.open': "このグループの設定を開く", + 'indexdock.hide': "次のインデックスまで隠す", 'chat.load_older': '以前のメッセージを {n} 件読み込む', 'chat.start_of_history': '会話のはじまり', 'chat.today': '今日', 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 3c07b3e..1e55c8c 100644 --- a/packages/meshbay-hub/src/meshbay_hub/static/locales/nl.js +++ b/packages/meshbay-hub/src/meshbay_hub/static/locales/nl.js @@ -721,6 +721,19 @@ export default { 'presence.offline': 'Geen node bereikbaar voor deze groep', 'presence.unknown': 'Nog niet gecontroleerd', 'presence.indexing': 'Bezig met indexeren — {pct}%', + 'indexdock.kind_scan': "Indexeren", + 'indexdock.kind_rescan': "Opnieuw inlezen", + 'indexdock.kind_reconcile': "Bijwerken", + 'indexdock.kind_watch': "Nieuwe bestanden indexeren", + 'indexdock.waiting': "Wacht op indexering", + 'indexdock.done': "Indexeren voltooid", + 'indexdock.listing': "Bestanden oplijsten…", + 'indexdock.percent': "{pct}%", + 'indexdock.files': "{done} / {total} bestanden", + 'indexdock.next': "Daarna: {roots}", + 'indexdock.next_count': "Wachtend: {count}", + 'indexdock.open': "Instellingen van deze groep openen", + 'indexdock.hide': "Verbergen tot de volgende indexering", 'chat.load_older': '{n} oudere berichten laden', 'chat.start_of_history': 'Begin van het gesprek', 'chat.today': 'Vandaag', 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 2ff9b84..8486718 100644 --- a/packages/meshbay-hub/src/meshbay_hub/static/locales/pl.js +++ b/packages/meshbay-hub/src/meshbay_hub/static/locales/pl.js @@ -739,6 +739,19 @@ export default { 'presence.offline': 'Brak osiągalnego node dla tej grupy', 'presence.unknown': 'Jeszcze nie sprawdzono', 'presence.indexing': 'Indeksowanie — {pct}%', + 'indexdock.kind_scan': "Indeksowanie", + 'indexdock.kind_rescan': "Ponowny odczyt", + 'indexdock.kind_reconcile': "Uzupełnianie", + 'indexdock.kind_watch': "Indeksowanie nowych plików", + 'indexdock.waiting': "Oczekuje na indeksowanie", + 'indexdock.done': "Indeksowanie zakończone", + 'indexdock.listing': "Wyliczanie plików…", + 'indexdock.percent': "{pct}%", + 'indexdock.files': "Pliki: {done} / {total}", + 'indexdock.next': "Następnie: {roots}", + 'indexdock.next_count': "W kolejce: {count}", + 'indexdock.open': "Otwórz ustawienia tej grupy", + 'indexdock.hide': "Ukryj do następnego indeksowania", 'chat.load_older': 'Wczytaj {n} starszych wiadomości', 'chat.start_of_history': 'Początek rozmowy', 'chat.today': 'Dziś', 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 33fa2be..e51df81 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 @@ -718,6 +718,19 @@ export default { 'presence.offline': 'Nenhum node acessível para este grupo', 'presence.unknown': 'Ainda não verificado', 'presence.indexing': 'Indexando — {pct}%', + 'indexdock.kind_scan': "Indexando", + 'indexdock.kind_rescan': "Relendo", + 'indexdock.kind_reconcile': "Atualizando", + 'indexdock.kind_watch': "Indexando arquivos novos", + 'indexdock.waiting': "Aguardando indexação", + 'indexdock.done': "Indexação concluída", + 'indexdock.listing': "Listando arquivos…", + 'indexdock.percent': "{pct}%", + 'indexdock.files': "{done} / {total} arquivos", + 'indexdock.next': "Em seguida: {roots}", + 'indexdock.next_count': "Na fila: {count}", + 'indexdock.open': "Abrir as configurações deste grupo", + 'indexdock.hide': "Ocultar até a próxima indexação", 'chat.load_older': 'Carregar {n} mensagens anteriores', 'chat.start_of_history': 'Início da conversa', 'chat.today': 'Hoje', 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 b58ba64..cc22a70 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 @@ -694,6 +694,19 @@ export default { 'presence.offline': '本群组没有可达的 node', 'presence.unknown': '尚未检测', 'presence.indexing': '正在索引 — {pct}%', + 'indexdock.kind_scan': "正在索引", + 'indexdock.kind_rescan': "正在重新读取", + 'indexdock.kind_reconcile': "正在补录", + 'indexdock.kind_watch': "正在索引新文件", + 'indexdock.waiting': "等待索引", + 'indexdock.done': "索引完成", + 'indexdock.listing': "正在列出文件…", + 'indexdock.percent': "{pct}%", + 'indexdock.files': "{done} / {total} 个文件", + 'indexdock.next': "接下来:{roots}", + 'indexdock.next_count': "等待中:{count}", + 'indexdock.open': "打开此群组的设置", + 'indexdock.hide': "隐藏,直到下一次索引", 'chat.load_older': '加载更早的 {n} 条消息', 'chat.start_of_history': '对话开头', 'chat.today': '今天', |