Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

Conversation editor never revokes blob URLs of removed attachments

クローズ
#3,185 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 2 日以内に返信

@ManoharPaturi がすでに取り組んでいます。

2026年10月13日 から。

  • #3186 @ManoharPaturi による — オープン

評価

難易度
2/5
見積もり時間
1〜3時間
初心者へのやさしさ
25/100
issue の種類
バグ
明瞭さ
明確に書かれている
活発さ
活発
領域
frontend

調査の方向性

Start with ChatInputArea.changeAttachments, which already revokes dropped blob URLs, and compare it with useConversationDraft.changeAttachments, which the ConversationEditor piece editor calls without revoking anything. The attachment chip URLs are created in PromptEditor with URL.createObjectURL. Done means removing an attachment in the draft editor calls URL.revokeObjectURL right away. Pull request #3186 is already open against this issue, so review or build on that work rather than starting a parallel fix.

索引モデルが issue の本文から書いたものです。

説明

Describe the bug

In the conversation editor, removing an attachment from a media piece never revokes the attachment's blob object URL. The blob: URL and its File payload stay alive until the whole draft is discarded or the editor unmounts.

ChatInputArea.changeAttachments handles the same removal correctly by revoking dropped blob URLs, but the draft editor path (ConversationEditor piece editor calling useConversationDraft.changeAttachments) forwards the new attachment list straight through with no revocation. Attaching and removing a large file repeatedly during one editing session pins every dropped File in memory.

Steps/Code to Reproduce
  1. Open a conversation in the editor and pick a media piece.
  2. Attach a file (the attachment chip gets a blob: URL from URL.createObjectURL in PromptEditor).
  3. Remove the attachment with the chip's dismiss button.
  4. URL.revokeObjectURL is never called for that URL until the draft is discarded or the editor unmounts.

Repeat 2-3 in one session and the dropped Files accumulate.

Expected Results

Removing an attachment in the editor revokes its blob object URL immediately, the same way the chat composer does.

Actual Results

The URL stays valid and the File payload stays pinned until the draft is discarded or unmounted.

Screenshots

N/A

Versions

OS: macOS
Browser: Chrome
Python version: 3.14
PyRIT version: installed from main (66c41fa)

主要言語
Python
スター
4.6k
フォーク
944
平均マージ
2日 16時間
マージ済み PR(30日)
350

環境構築

Codespaces で開く

このプロジェクトの開発コンテナを、あなたの GitHub アカウントでブラウザ上に起動します。

  • Dockerfile・Docker Compose ファイルなし
  • プルリクエストのテンプレートあり
  • コントリビューションガイドなし

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

microsoft/PyRIT のほかの issue

microsoft/PyRIT の issue をすべて見る

似ている issue

Python の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。