During project#ready, the listDependencyFiles and listProjectFiles tasks are started in parallel. However a problem occurs when listProjectFiles finished before listDependencyFiles, and the watcher notices a file has been modified. Since this.#watcherReady has been set to true it will emit a fileModified event, which will try to read the file. This in turn will try to find the file: uri protocol, but that is only registered at the end of listDependencyFiles, and it is possible that hasn't finished yet.
[Project] [read] Failed creating TextDocument for file:///<workspace>/spyglass.json Error: The protocol “file:” is unsupported.
at FileServiceImpl.getSupportedProtocol (c:\<extension>\packages\core\src\service\FileService.ts:102:10)
at FileServiceImpl.readFile (c:\<extension>\packages\core\src\service\FileService.ts:119:25)
at createTextDocument (c:\<extension>\packages\core\src\service\Project.ts:713:50)
at getCacheHandlingPromise (c:\<extension>\packages\core\src\service\Project.ts:741:21)
at _Project.read (c:\<extension>\packages\core\src\service\Project.ts:772:10)
at _Project.ensureBindingStarted (c:\<extension>\packages\core\src\service\Project.ts:882:26)
at EventEmitter.<anonymous> (c:\<extension>\packages\core\src\service\Project.ts:378:16)
at EventEmitter.emit (node:events:531:35)
at _Project.emit (c:\<extension>\packages\core\src\service\Project.ts:285:29)
at ChokidarWatcherWrapper.<anonymous> (c:\<extension>\packages\core\src\service\Project.ts:562:12)
During
project#ready
, thelistDependencyFiles
andlistProjectFiles
tasks are started in parallel. However a problem occurs whenlistProjectFiles
finished beforelistDependencyFiles
, and the watcher notices a file has been modified. Sincethis.#watcherReady
has been set totrue
it will emit afileModified
event, which will try to read the file. This in turn will try to find thefile:
uri protocol, but that is only registered at the end oflistDependencyFiles
, and it is possible that hasn't finished yet.