Files, references and photos inside the message
I maintainer di solito rispondono entro 1 giorno
@Zamojski5 ci sta già lavorando.
Dal 8/10/2026.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 52/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Attiva
- Stack tecnologico
- react, typescript
- Ambito
- accessibility, design, frontend
Direzione di ricerca
Read the design guide's §6 and inspect app/apps/web/src/composer/Files.tsx (MessageFiles) and composer/composer.css; review test_file_messages.py and test_shared_composer.py before changing them. The work also spans new attachment, photo, reference, picker and viewer interactions, with dependencies on #338 and #343. Run ./scripts/check_ui.sh and compare the rendered states at the specified viewport sizes; done means the acceptance criteria and interaction, accessibility, and visual checks pass.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Part of #336 (F-026, founder direction 2026-10-07). Design guide: docs/design/final (§6 files references and photos; until #337 merges, read the pinned copy). Interactive boards (light/dark toggle, notes): design canvas, page "Prostota".
Outcome
Files, links, references and photos are part of their message and are clear at a glance.
Final design

Acceptance criteria
- AC-1. A file row shows the page icon (the pictogram below the fold, and a mono label: PDF with an inverted band, CSV, XLSX, DOCX, MD, code, ZIP, audio, video, image, other), the name, "type · detail · size" and Download. A voice note shows a waveform and Play.
- AC-2. References to Flux objects are cards (task, Wiki page, decision, map thought, cited message) with their state. Inline chips (
@person,#4, a Wiki page) align to the text baseline. A link shows its preview. - AC-3. A photo has no file frame: radius 16 with its caption below. 2–4 photos form a grid with "+N". Sending, waiting offline ("sends when you're back") and failure (Retry) show on the photo.
- AC-4. Before sending, thumbnails with × sit in the composer. On the phone the picker numbers choices in send order. Dropping files onto the conversation attaches them.
- AC-5. The full-screen viewer is always dark, with Reply, Create task, Save and Share.
What changes in the code today
From a read of main at 3c553b79; the owner confirms before starting. Paths are under app/apps/web/src, public/ is app/apps/web/public, root scripts/ and tests/ are the repository's, and UI tests are in app/tests/ui.
Change
composer/Files.tsxMessageFiles(plain links with a "doc" icon, name and size;composer/composer.css) → file rows with type icons and Download; pending files list → composer thumbnails.
New
- Folded-corner file icons per type, voice waveform, reference cards and inline chips, link previews.
- Image rendering: 2–4 photo grid with "+N", on-photo progress/offline/Retry, numbered phone picker, dark full-screen viewer.
Tests to rewrite
test_file_messages.py,test_shared_composer.py.
Depends on
#338, #343 (tokens and shared components first; independent parts can start earlier).
How to test
./scripts/check_ui.sh # browser suite; add the new or changed tests
./scripts/check_application.sh # when API or data paths change
python3 scripts/check_agent_setup.py && git diff --check
Compare with the renders above at 1440 × 900 and 390 × 844 CSS px, in light and dark, on ./flux demo data, then get an independent visual review with a neutral brief (guide §9). Screenshots do not prove interaction or accessibility, so also test keyboard, touch (Chromium and WebKit emulation), reduced motion and contrast in the running app.
Owner: whoever claims it (assign yourself and comment once). Evaluator: the other agent. The design is a founder direction: implement it as drawn; raise a conflict with a functional contract on #336 instead of changing the design.
- Lingua principale
- TypeScript
- Stelle
- 3
- Fork
- 0
- Merge medio
- 18h 3m
- PR unite (30g)
- 254
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di ColdPhase/flux
-
good first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 86/100
I maintainer di solito rispondono entro 1 giorno
-
good first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
I maintainer di solito rispondono entro 1 giorno
-
good first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
I maintainer di solito rispondono entro 1 giorno
-
good first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
I maintainer di solito rispondono entro 1 giorno
-
Live platform rows: Firefox Join fails at ICE on native Linux Docker (child of #63 AC-3)Forse già presa @Zamojski5 l’ha presa 1 giorno fa. Aperta
ColdPhase/flux#496 · 1 commento · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di ColdPhase/flux
Issue simili
-
Add: VIVE TVApertaapproved check:passed streams:add
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 72/100
iptv-org/iptv#55293 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
bug needs-triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
Fission-AI/OpenSpec#2084 ·
I maintainer di solito rispondono entro 2 giorni
-
Contrib indemnité de départ à la retraite : faire le pont avec le simulateur sur la page génériqueApertaP1
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
SocialGouv/code-du-travail-numerique#7561 ·
I maintainer di solito rispondono entro 1 giorno
-
beginner bug
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100
hiero-ledger/hiero-sdk-js#4517 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
kubernetes-sigs/headlamp#7950 ·
I maintainer di solito rispondono entro 3 giorni