Pull Request Overview
- Opened on September 18, 2026
- Status Merged
- Commit count 1 with first commit September 18, 2026
Total Delta
Open Days
Test Delta
How long has this pull request spent in each phase of its lifecycle?
| Fraction of total time | Business days | Phase |
|---|---|---|
| N/A | 1148.8 days | Issue creation to work beginning |
|
|
0.0 days | Authoring 1 commit before pull request opened for review |
|
|
0.0 days | Awaiting first review |
|
|
0.4 days | Revising work with 0 commits in response to 3 reviews that left 1 comment |
|
|
0.1 days | Merge to deploy (still awaiting deployment) |
Total time for pull request
0.4 business days
from first commit authored to merge
Still awaiting deployment
Improve named pipes
Fix #148034
Issue Type: <b>Bug</b>
The presence of a named pipe (created via mkfifo on Linux) results in undesirable IDE behaviour; on (at least) Linux (possibly also macos)
mkdir x && cd x
mkfifo this-is-a-named-pipe
code .
You now have

Problems: * the pull "doing something" indicator on editor tab never stops ... doing... - IMHO, it should not even attempt doing anything with pipes. * "Unknown File Type" - yeah, it's a named pipe ;) * Trying to delete the pipe from vscode results in the operation never completing
None of that is really breaking, and you'd be right in wondering why I would actually have named pipes in a directory (hierarchy) which vscode touches, but then ...
I think the overall expectation is
* don't try to open named pipes
* perhaps show "Named Pipe" if you encounter one (find -type p)
* make delete work
VS Code version: Code 1.66.2 (dfd34e8260c270da74b5c2d86d61aee4b6d56977, 2022-04-11T07:49:24.808Z) OS version: Linux x64 5.17.4-200.fc35.x86_64 Restricted Mode: No
<details> <summary>System Info</summary>
|Item|Value| |---|---| |CPUs|Intel(R) Core(TM) i7-7820HQ CPU @ 2.90GHz (8 x 2903)| |GPU Status|2d_canvas: enabled<br>canvas_oop_rasterization: disabled_off<br>direct_rendering_display_compositor: disabled_off_ok<br>gpu_compositing: enabled<br>multiple_raster_threads: enabled_on<br>oop_rasterization: disabled_off<br>opengl: enabled_on<br>rasterization: disabled_software<br>raw_draw: disabled_off_ok<br>skia_renderer: enabled_on<br>video_decode: disabled_software<br>video_encode: disabled_software<br>vulkan: disabled_off<br>webgl: enabled<br>webgl2: enabled| |Load (avg)|1, 1, 0| |Memory (System)|31.32GB (20.93GB free)| |Process Argv|. --crash-reporter-id 80e0ae97-0bc4-4a76-8337-f435f2ec1554| |Screen Reader|no| |VM|100%| |DESKTOP_SESSION|/usr/share/xsessions/plasmax11| |XDG_CURRENT_DESKTOP|KDE| |XDG_SESSION_DESKTOP|KDE| |XDG_SESSION_TYPE|x11| </details><details><summary>Extensions (20)</summary>
Extension|Author (truncated)|Version ---|---|--- project-manager|ale|12.5.0 path-intellisense|chr|2.8.0 xml|Dot|2.5.1 gitlens|eam|12.0.6 vscode-drawio|hed|1.6.4 vscode-peacock|joh|4.0.1 milkdown|mir|0.0.12 vscode-docker|ms-|1.22.0 python|ms-|2022.4.1 vscode-pylance|ms-|2022.4.2 remote-containers|ms-|0.231.6 remote-ssh|ms-|0.78.0 remote-ssh-edit|ms-|0.80.0 vscode-remote-extensionpack|ms-|0.21.0 vscode-commons|red|0.0.6 vscode-xml|red|0.20.0 vscode-yaml|red|1.6.0 code-spell-checker|str|2.1.11 code-spell-checker-german|str|2.0.3 shellcheck|tim|0.19.2
</details><details> <summary>A/B Experiments</summary>
vsliv368:30146709
vsreu685:30147344
python383:30185418
vspor879:30202332
vspor708:30202333
vspor363:30204092
vswsl492cf:30256860
pythonvspyl392:30443607
pythontb:30283811
pythonptprofiler:30281270
vshan820:30294714
vstes263:30335439
pythondataviewer:30285071
vscod805:30301674
pythonvspyt200:30340761
binariesv615:30325510
bridge0708:30335490
bridge0723:30353136
vsaa593:30376534
vsc1dst:30438360
pythonvs932:30410667
wslgetstarted:30449410
pythonvsnew555:30457759
vscscmwlcmt:30465135
cppdebugcf:30475217
</details>
<!-- generated by issue reporter -->
Comments Threads Pending Resolution
## Copilot review overview
### 🟢 Approval recommended
The implementation addresses blocking FIFO reads and deletion behavior with focused regression coverage.
**Review effort:** Balanced (auto)
**Findings:** None
> [!NOTE]
> Copilot is running an experiment and ran this review at Balanced.
What changed in this PR
Hardens filesystem and Explorer deletion behavior for Unix named pipes, preventing blocking reads and invalid undo restoration.
**Changes:**
- Opens reads non-blockingly and rejects non-regular files.
- Skips undo capture for unknown file types and warns that deletion is irreversible.
- Adds named-pipe and bulk-delete regression tests.
| File | Description |
| ---- | ----------- |
| `src/vs/base/node/pfs.ts` | Adds descriptor-based read and stat helpers. |
| `src/vs/platform/files/node/diskFileSystemProvider.ts` | Validates read handles before reading. |
| `src/vs/platform/files/test/node/diskFileSystemProvider.test.ts` | Tests regular and non-regular reads. |
| `src/vs/platform/files/test/node/fixtures/readNamedPipe.ts` | Isolates potentially blocking FIFO tests. |
| `src/vs/workbench/contrib/bulkEdit/browser/bulkFileEdits.ts` | Prevents undo reads for non-regular files. |
| `src/vs/workbench/contrib/bulkEdit/test/browser/bulkFileEdits.test.ts` | Tests deletion and undo behavior. |
| `src/vs/workbench/contrib/files/browser/fileActions.ts` | Marks unknown-type deletion as irreversible. |
---
💡 Add a `code-review` agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Resolved Comment Threads
No resolved comments have been left on this PR.