From 2fb66c5baecdd8b49be904f6244f66ba04f68061 Mon Sep 17 00:00:00 2001 From: Christophe Besson Date: Mon, 14 Sep 2026 11:17:42 +0200 Subject: feat(ui): an indexing dock above the music bar, on every page MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 Claude-Session: https://claude.ai/code/session_01T6jPTeocXA1BePekdsgPya --- packages/meshbay-hub/src/meshbay_hub/static/locales/pl.js | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'packages/meshbay-hub/src/meshbay_hub/static/locales/pl.js') 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ś', -- cgit v1.2.3