-
-
Notifications
You must be signed in to change notification settings - Fork 0
ディレクトリ一覧の大規模エントリ対応 #421
Copy link
Copy link
Open
Labels
enhancementNew feature or requestNew feature or requestlow低い問題: 軽微な問題、UXへの影響小低い問題: 軽微な問題、UXへの影響小tauri-migrationElectron to Tauri 2.0 migrationElectron to Tauri 2.0 migration
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or requestlow低い問題: 軽微な問題、UXへの影響小低い問題: 軽微な問題、UXへの影響小tauri-migrationElectron to Tauri 2.0 migrationElectron to Tauri 2.0 migration
背景
Issue #46(大規模ペイロード向けWebSocketベースのIPCストリーミング)の分割Issue。
AS IS(現状)
fs_read_dirが全エントリを一度にJSON配列で返すnode_modulesのような大規模ディレクトリ(数万エントリ)ではレスポンスが巨大関連コード
src-tauri/src/commands/filesystem.rs—fs_read_dirコマンドsrc/vs/platform/files/node/diskFileSystemProvider.ts— 本家のreaddir実装(参考)TO BE(目標状態)
想定アプローチ
本家(Electron版)の実装
実装
fs.promises.readdir()で全件一括返しPromise.allで並列処理(symlinkはstat()でタイプ解決)インターフェース
関連コード(本家)
src/vs/platform/files/node/diskFileSystemProvider.ts—readdir()実装src/vs/platform/files/common/fileService.ts—toFileStat()内でreaddir呼び出し参考