Conversation: aligned authors, @ and / in the composer, swipe left, long press, task notices with source, agent thinking
Maintainers usually reply within 1 day
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 35/100
- Issue type
- Feature
- Clarity
- Clearly specified
- Activity status
- Active
- Tech stack
- python, typescript
- Domain
- accessibility, frontend, testing
Research direction
Read the design guide’s §5 and §4, then inspect app/apps/web/src/work/inline.tsx, app/ConversationStream.tsx, app/project-conversation.css, assistant/ConversationParts.tsx, typing/TypingNotice.tsx, and app/ProjectConversation.tsx. The issue says the owner confirms before starting and depends on #338 and #339; coordinate with the owner and check those dependencies first. Run the named UI tests with ./scripts/check_ui.sh, then compare desktop and phone renders and verify keyboard, touch, reduced motion, and contrast against the acceptance criteria.
Written by the indexing model from the issue text.
Description
Part of #336 (F-026, founder direction 2026-10-07). Design guide: docs/design/final (§5 behaviour · §4 structure and navigation; until #337 merges, read the pinned copy). Interactive boards (light/dark toggle, notes): design canvas, page "Prostota".
Outcome
The conversation reads like a calm messenger, and every action on a message is one gesture or key away.
Final design

Acceptance criteria
- AC-1. Every author, person or agent, has a 32 px avatar and their full name in the same position, whether they wrote a message or triggered an event. Cards, bubbles and event text share one left edge (avatar column plus 12 px on the computer, 10 px on the phone). 20 px avatars appear only as owners in task rows.
- AC-2. The composer offers
@to mention and/for actions (/task,/decide,/handoff,/file) and has no separate Ask or Cite buttons (S5). Mention chips align to the text baseline. - AC-3. On the computer, hovering a message shows its actions. On the phone, swipe left reveals Done, Not now, Hand off and Reply in thread, and long press opens Reply in thread, Create task, Hand off to an agent, Cite and Copy text. Nothing swipes right.
- AC-4. A "Since you left: …" line jumps to the first unread item (S7). Several task updates in a row fold into one expandable line (S8).
- AC-5. A new task is announced in one line with its source (P5): "made a task from Jonas's message", "added a task in Tasks", "added 3 tasks on the Map". While an agent composes, a row shows its Kreska thinking expression and Stop.
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
work/inline.tsxMessageActions(always-visible Task / Decision / Result / Details, "⋯" on touch) → hover actions on the computer, swipe left and long press on the phone.app/ConversationStream.tsxNoticeItem("New task · ") → one line with source;streamEntriesfolds consecutive task updates (S8).- Avatars 32 px on both devices (today 27 px on the computer and hidden on the phone,
app/project-conversation.css) and one left edge. assistant/ConversationParts.tsxWorkingLine → Kreska thinking row with Stop.typing/TypingNotice.tsxshows people typing (#155 AC-2, never agents) and keeps doing so.
Remove
- The separate "Sources" (cite) and ✦ ask buttons and the
/aihint in the composer (app/ProjectConversation.tsx).
New
@and/menus in the composer (/task,/decide,/handoff,/file).- The "Since you left" jump line in the stream.
- Agent question cards with ready-made answers (S14).
Tests to rewrite
test_shared_composer.py,test_task_announcements.py,test_file_messages.py,test_one_conversation.py,test_motion.py,test_work_associations.py,test_personal_assistant.py.
Depends on
#338, #339 (tokens and shared components first; independent parts can start earlier).
Related: #154 (the task notice is separate from the first real message; AC-5 draws that behaviour), #155 (typing presence and motion).
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.
Updated 2026-10-07: current avatar sizes and the typing line corrected; cross-links to #154 and #155 added.
- Dominant language
- TypeScript
- Stars
- 3
- Forks
- 0
- Avg merge
- 14h 40m
- Merged PRs (30d)
- 242
Getting set up
- No Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from ColdPhase/flux
-
good first issue
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
Maintainers usually reply within 1 day
-
good first issue
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
Maintainers usually reply within 1 day
-
good first issue
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
Maintainers usually reply within 1 day
-
good first issue
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
Maintainers usually reply within 1 day
-
F-027 A10 — Connect AI order and labels in Settings (rest of #410)Possibly taken @Zamojski5 claimed this today. Open
ColdPhase/flux#493 · 1 comment · 1 assignee ·
Maintainers usually reply within 1 day
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 77/100
Maintainers usually reply within 1 day
-
Difficulty 1/5 Under an hour Newbie friendliness 72/100
cline/mcp-marketplace#2932 ·
-
community first-timers-only good first issue hacktoberfest help wanted low hanging fruit up-for-grabs
Difficulty 1/5 Under an hour Newbie friendliness 82/100
lingdojo/kana-dojo#32188 · 1 comment · 5 reactions ·
Maintainers usually reply within 1 day
-
triage
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
Portkey-AI/gateway#1844 ·
Maintainers usually reply within 1 day
-
needs triage
Difficulty 2/5 1-3 hours Newbie friendliness 61/100
rjsf-team/react-jsonschema-form#5495 ·
Maintainers usually reply within 2 days