{ "wildcard_super_import": [], "desktop_feature_thread_spawn": [ {"path": "crates/nyaterm-desktop/src/features/ai/agent_management.rs", "max_count": 1, "reason": "The cancellation unit test uses a temporary waiter thread and joins it before returning."}, {"path": "crates/nyaterm-desktop/src/features/app_state/store_runtime.rs", "max_count": 1, "reason": "The GPUI shutdown responsiveness test uses a watchdog thread and joins it before returning."} ], "desktop_thread_builder": [ {"path": "crates/nyaterm-desktop/src/blocking_jobs.rs", "max_count": 1, "reason": "BlockingJobScheduler owns and joins its bounded worker pool."}, {"path": "crates/nyaterm-desktop/src/lib.rs", "max_count": 1, "reason": "The one-shot i18n preload worker is joined before preload_i18n returns."}, {"path": "crates/nyaterm-desktop/src/thread_owner.rs", "max_count": 1, "reason": "The central named-thread factory returns join handles to explicit lifecycle owners."}, {"path": "crates/nyaterm-desktop/src/models/connections.rs", "max_count": 1, "reason": "CredentialAutofillMatchPipeline owns, stops, and joins its matcher worker."}, {"path": "crates/nyaterm-desktop/src/models/recording.rs", "max_count": 1, "reason": "RecordingWritePipeline owns, stops, and joins its writer worker."}, {"path": "crates/nyaterm-desktop/src/models/session_event_bridge.rs", "max_count": 1, "reason": "SessionEventBridge owns, signals, and joins its bridge worker."}, {"path": "crates/nyaterm-desktop/src/models/terminal/mod.rs", "max_count": 1, "reason": "TerminalFramePipeline owns, closes, and joins its frame worker."}, {"path": "crates/nyaterm-desktop/src/features/remote_desktop/keyboard_capture.rs", "max_count": 1, "reason": "Windows keyboard capture owns the hook thread, posts WM_QUIT, unhooks, and joins it."}, {"path": "crates/nyaterm-desktop/src/features/root.rs", "max_count": 1, "reason": "The ignored root-render benchmark joins its large-stack test thread."}, {"path": "crates/nyaterm-desktop/src/features/pages/workspace/group_tests.rs", "max_count": 1, "reason": "The workspace stack-regression test uses a named one-MiB-stack thread and joins it before returning."}, {"path": "crates/nyaterm-desktop/src/features/session/auth_runtime.rs", "max_count": 1, "reason": "The prompt broker test joins its named request thread."}, {"path": "crates/nyaterm-desktop/src/app_shell/session_hub/ssh_connections.rs", "max_count": 1, "reason": "SshConnectionPool owns its process-wide disconnect worker and DisconnectWorker joins it during shutdown."}, {"path": "crates/nyaterm-desktop/src/features/session/trzsz_runtime.rs", "max_count": 3, "reason": "Per-session trzsz state owns, stops, and joins prepare, upload, and download workers."}, {"path": "crates/nyaterm-desktop/src/features/session/xymodem_runtime.rs", "max_count": 1, "reason": "Per-session X/YMODEM state owns, stops, and joins its upload worker."} ], "raw_scroll_container": [ {"path": "crates/nyaterm-desktop/src/features/panels/session_overlays.rs", "max_count": 1, "reason": "Session information keeps its ScrollHandle in SessionFeatureState for close/reopen reset, tracks it on the in-flow body, and attaches vertical_scrollbar to the non-scrolling parent outside the header and footer."}, {"path": "crates/nyaterm-desktop/src/features/file_manager/view/table.rs", "max_count": 1, "reason": "File manager table tracks a caller-owned horizontal ScrollHandle and attaches NyaHorizontalScrollbar to the non-scrolling viewport alongside its independent virtual-list scrollbar."}, {"path": "crates/nyaterm-desktop/src/features/ai/panel.rs", "max_count": 3, "reason": "AI mention, model, and history lists use caller-owned ScrollHandles for keyboard reveal and attach visible vertical scrollbars to those handles."}, {"path": "crates/nyaterm-desktop/src/features/layout/workspace/surface/assets.rs", "max_count": 1, "reason": "Asset table uses a caller-owned horizontal scroll handle with an explicit NyaHorizontalScrollbar overlay."}, {"path": "crates/nyaterm-desktop/src/features/layout/workspace/surface/tabs.rs", "max_count": 1, "reason": "Session tabs use a caller-owned scroll handle and attach a visible horizontal scrollbar to the non-scrolling parent."}, {"path": "crates/nyaterm-desktop/src/features/pages/connections/editor/connection/mod.rs", "max_count": 1, "reason": "Connection editor content tracks its caller-owned ScrollHandle for section anchors and keyboard reveal; connection_editor_frame in connection/layout.rs attaches vertical_scrollbar to the non-scrolling parent."}, {"path": "crates/nyaterm-desktop/src/features/pages/transfers/browser/view.rs", "max_count": 1, "reason": "Browser uses a caller-owned horizontal scrollbar."}, {"path": "crates/nyaterm-desktop/src/features/pages/transfers/path_bar.rs", "max_count": 1, "reason": "Transfer path menu uses a caller-owned ScrollHandle and attaches an explicit vertical scrollbar to the scrolling child."}, {"path": "crates/nyaterm-ui/src/settings.rs", "max_count": 1, "reason": "Settings content tracks an explicit scroll handle and attaches a visible vertical scrollbar to the non-scrolling parent."}, {"path": "crates/nyaterm-ui/src/widgets.rs", "max_count": 2, "reason": "Reusable widgets own caller-positioned scrollbar overlays."} ] }