Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

FEAT GUI: Share image, audio, and video previews with datasets

Aperta
#2,749 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
45/100
Tipo di issue
Funzionalità
Chiarezza
Specificata chiaramente
Stato di attività
Attiva
Stack tecnologico
python, typescript

Direzione di ricerca

Start with frontend/src/components/Chat/MessageList.tsx, especially ImageWithSpinner and MediaWithFallback, then inspect frontend/src/utils/media.ts, pyrit/backend/routes/media.py, and the URL helpers in pyrit/backend/mappers/attack_mappers.py. Run the relevant frontend and Python tests before changing behavior; done means shared previews work for dataset details and chat, media remains lazy and safe, and mapping and failure cases are covered without cloud credentials.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

feature-request GUI not ready yet
Is your feature request related to a problem? Please describe.

The dataset detail view must display images and play audio/video, but the GUI already implements much of this in chat. Duplicating media rendering or treating stored file paths as browser URLs would produce inconsistent behavior.

Work item 5 of 17 in #2744. Technical prerequisite: item 4's detail view and the seed detail API. Keep not ready yet until promoted.

Describe the solution you'd like

Extract shared preview components and narrowly reusable media-URL mapping so chat and dataset details use the same behavior.

  • Render supported images and use native audio/video playback controls. Load media lazily/on demand; never autoplay. Stop playback when leaving or dismissing a preview.
  • Expose client-fetchable seed asset URLs through the existing media-serving/signing mechanisms. Keep stable source references separate from expiring display URLs.
  • Preserve linked text/media in one example. Show useful loading, missing-file, expired/inaccessible-link, and unsupported-format states, with retry/download where supported.
  • Keep existing allowed storage roots, inline-media allowlists, authentication, and content-security rules. Do not enable arbitrary local files or active HTML/SVG rendering to make a preview work.
  • Keep chat behavior intact while extracting its helpers. Do not refactor unrelated message rendering.

Acceptance criteria:

  • Image, audio, and video fixtures work in dataset details and still work in chat.
  • Local stored assets and signed blob URLs use the existing backend paths correctly.
  • Media is not eagerly downloaded for every dataset/table row and never starts playing automatically.
  • Broken assets and unsupported codecs fail visibly without breaking the table.
  • Tests cover shared preview behavior and media URL mapping without real cloud credentials.
Describe alternatives you've considered, if relevant

Do not introduce a new media store, video transcoding service, separate chat/dataset players, or broader filesystem access. Unsupported formats can remain downloadable rather than requiring new codecs.

Additional context

Start with frontend\src\components\Chat\MessageList.tsx (ImageWithSpinner and MediaWithFallback), frontend\src\utils\media.ts, pyrit\backend\routes\media.py, and the URL resolution/signing helpers in pyrit\backend\mappers\attack_mappers.py. The media route already recognizes seed-prompt-entries. Follow the frontend, Python, and relevant test instructions.

Lingua principale
Python
Stelle
4.5k
Fork
896
Merge medio
3g 8h
PR unite (30g)
191

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di microsoft/PyRIT

Tutte le issue di microsoft/PyRIT

Issue simili

Altre issue su Python

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.