Skip to content

feat: ensure extensions for file outputs#1867

Merged
OrKoN merged 3 commits intomainfrom
orkon/ensure-extensions
Apr 16, 2026
Merged

feat: ensure extensions for file outputs#1867
OrKoN merged 3 commits intomainfrom
orkon/ensure-extensions

Conversation

@OrKoN
Copy link
Copy Markdown
Collaborator

@OrKoN OrKoN commented Apr 15, 2026

This PR ensures the extensions for the file outputs of different types minimizing the chance of misuse. The input filePath, thus, might be modified but it should not be an issue for clients as the final output path is returned to the clients in the response.

Closes #1864

@OrKoN OrKoN requested a review from Lightning00Blade April 15, 2026 13:38
@OrKoN OrKoN force-pushed the orkon/ensure-extensions branch 2 times, most recently from 8a1214e to 1d3179e Compare April 15, 2026 13:42
@OrKoN OrKoN force-pushed the orkon/ensure-extensions branch from 1d3179e to fd19710 Compare April 15, 2026 13:42
Copy link
Copy Markdown
Collaborator

@Lightning00Blade Lightning00Blade left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM with comments

  • Did you miss the memory snapshot place?
  • Feature work: Should we ban the use of fs/path in the repo and create our wrappers to manage this in one place?

Comment thread src/utils/files.ts Outdated
Comment thread tests/utils/files.test.ts Outdated
Co-authored-by: Nikolay Vitkov <34244704+Lightning00Blade@users.noreply.github.com>
@OrKoN
Copy link
Copy Markdown
Collaborator Author

OrKoN commented Apr 15, 2026

Did you miss the memory snapshot place?

Yep, fixed!

Feature work: Should we ban the use of fs/path in the repo and create our wrappers to manage this in one place?

Note sure, I think there could legitimate uses of fs/path but if we can lint all places where we read/write tools for tools (excluding daemons, cli, metrics). I think it would be great. Yeah maybe we can just ban it in tools/. With Puppeteer APIs it is not so straightforward.

Co-authored-by: Nikolay Vitkov <34244704+Lightning00Blade@users.noreply.github.com>
@OrKoN OrKoN force-pushed the orkon/ensure-extensions branch from 171e42f to d2989b0 Compare April 15, 2026 14:50
@OrKoN OrKoN requested a review from Lightning00Blade April 15, 2026 14:50
@OrKoN OrKoN added this pull request to the merge queue Apr 16, 2026
Merged via the queue into main with commit e7a0d50 Apr 16, 2026
20 checks passed
@OrKoN OrKoN deleted the orkon/ensure-extensions branch April 16, 2026 06:16
beaufortfrancois pushed a commit to beaufortfrancois/chrome-devtools-mcp that referenced this pull request Apr 16, 2026
This PR ensures the extensions for the file outputs of different types
minimizing the chance of misuse. The input filePath, thus, might be
modified but it should not be an issue for clients as the final output
path is returned to the clients in the response.

Closes ChromeDevTools#1864

---------

Co-authored-by: Nikolay Vitkov <34244704+Lightning00Blade@users.noreply.github.com>
wolfib pushed a commit that referenced this pull request Apr 16, 2026
This PR ensures the extensions for the file outputs of different types
minimizing the chance of misuse. The input filePath, thus, might be
modified but it should not be an issue for clients as the final output
path is returned to the clients in the response.

Closes #1864

---------

Co-authored-by: Nikolay Vitkov <34244704+Lightning00Blade@users.noreply.github.com>
github-merge-queue Bot pushed a commit that referenced this pull request Apr 17, 2026
wolfib pushed a commit that referenced this pull request Apr 20, 2026
OrKoN pushed a commit that referenced this pull request Apr 21, 2026
🤖 I have created a release *beep* *boop*
---


##
[0.22.0](chrome-devtools-mcp-v0.21.0...chrome-devtools-mcp-v0.22.0)
(2026-04-21)


### 🎉 Features

* add update notification to both binaries
([#1783](#1783))
([e01e333](e01e333))
* auto handle dialogs during script evaluation
([#1839](#1839))
([da33cb5](da33cb5))
* ensure extensions for file outputs
([#1867](#1867))
([e7a0d50](e7a0d50))
* experimental click_at(x,y) tool
([#1788](#1788))
([c4f5471](c4f5471))
* support Chrome extensions debugging
([#1922](#1922))
([3ff21cf](3ff21cf))
* support DevTools header redactions as an option
([#1848](#1848))
([5c398c4](5c398c4))
* **webmcp:** Add experimental tool to execute WebMCP tool
([#1873](#1873))
([0aff266](0aff266))
* **webmcp:** Add experimental tool to list WebMCP tools page exposes
([#1845](#1845))
([f97b573](f97b573))


### 🛠️ Fixes

* avoid showing update notification for local builds
([#1889](#1889))
([3f0cf10](3f0cf10)),
closes
[#1886](#1886)
* **cli:** correct WebP MIME type check in handleResponse ('webp' →
'image/webp')
([#1899](#1899))
([e3a5f6b](e3a5f6b)),
closes
[#1898](#1898)
* ignore unmapped PerformanceIssue events
([#1852](#1852))
([ea57e86](ea57e86))
* **network:** trailing data in Network redirect chain
([#1880](#1880))
([2f458c1](2f458c1))
* remove double space in navigate error message
([#1847](#1847))
([429e0ca](429e0ca))


### 📄 Documentation

* clarify tools included into CLI
([#1925](#1925))
([76ab9fa](76ab9fa))
* document network response and request extensions
([#1887](#1887))
([796d6f2](796d6f2))
* fix skill and reference documentation issues
([#1249](#1249))
([9236834](9236834))
* Include Mistral Vibe setup in README
([#1801](#1801))
([582c9e0](582c9e0))
* Rename project and enhance README content
([#1856](#1856))
([c066488](c066488))
* update the README on installing as a VS code agent plugin
([#1796](#1796))
([1b5dcae](1b5dcae))


### 🏗️ Refactor

* move waitForEventsAfterAction to McpPage
([#1780](#1780))
([c7c8f50](c7c8f50))
* use puppeteer Extension API
([#1911](#1911))
([ec895f1](ec895f1))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Enforce a file extension for files saved by the MCP server

2 participants