aboutsummaryrefslogtreecommitdiffstats
path: root/packages/meshbay-hub/src/meshbay_hub/static/locales/en.js
diff options
context:
space:
mode:
authorChristophe Besson <cbesson@gmail.com>2026-10-14 10:17:49 +0200
committerChristophe Besson <cbesson@gmail.com>2026-10-14 10:17:49 +0200
commit80ac882346b474bb7ea4e8c8afd4694bd13dd9dd (patch)
tree3aebf475a23dc3e44dff1a6c577d8af82418d024 /packages/meshbay-hub/src/meshbay_hub/static/locales/en.js
parentaf542a40aec6ffe0ac06798d99abd00a24eb9c50 (diff)
downloadmeshbay-80ac882346b474bb7ea4e8c8afd4694bd13dd9dd.tar.gz
feat(node): skip a file the disk stops answering for, then pause its root
A Windows tester's scan stuck for good on one directory of a large disk: one read that never returned held the indexer's only thread, and with it every root behind that one. - A disk call is timed by its silence, not its length: each directory entry listed and each megabyte read counts as an answer. After 60 s of silence the call is abandoned on its daemon thread, the file is noted unread and the scan goes on. - Three silent files in a row pause the root (not persisted). Resume skips the files already known to give no answer; a restart, a replug or a change to the file retries them. - The walk is per directory with os.scandir: a subdirectory that cannot be listed costs itself, and a listing that stops answering pauses the root at once. A scan no longer stats anything from the event loop. - The log names the file after 10 s of silence, the indexing band shows it, and Group settings shows the paused root, where it stuck and the unread files with their reason, on the node's machine only. - generate_http_api.py writes LF on Windows too. Verified with real kernel-blocked opens (an unacknowledged oplock) in the installed frozen app. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Diffstat (limited to 'packages/meshbay-hub/src/meshbay_hub/static/locales/en.js')
-rw-r--r--packages/meshbay-hub/src/meshbay_hub/static/locales/en.js6
1 files changed, 6 insertions, 0 deletions
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 b4346b9..642d3e2 100644
--- a/packages/meshbay-hub/src/meshbay_hub/static/locales/en.js
+++ b/packages/meshbay-hub/src/meshbay_hub/static/locales/en.js
@@ -993,6 +993,7 @@ export default {
'indexdock.open': "Open this group's settings",
'indexdock.hide': "Hide until the next indexing",
'indexdock.pause': "Pause indexing this folder",
+ 'indexdock.slow': "No answer from the disk for {secs} s: {file}",
'chat.load_older': 'Load {n} older messages',
'chat.start_of_history': 'Beginning of the conversation',
'chat.today': 'Today',
@@ -1070,6 +1071,11 @@ export default {
'node.root_pause': "Pause indexing",
'node.root_resume': "Resume indexing",
'node.root_paused': "indexing paused",
+ 'node.root_stalled': "disk not answering",
+ 'node.root_stalled_hint': "The node paused indexing of {name}: its disk gave no answer at {file}. Check the disk, or move that file out, then resume indexing.",
+ 'node.unread_summary': "Files that could not be read: {count}",
+ 'node.unread_no_answer': "no answer from the disk",
+ 'node.unread_more': "And {count} more.",
'node.root_remove_last': 'A group needs at least one directory',
'node.root_path': 'Path',
'node.root_added': 'Directory added.',