π¬ Chat & Channel β Enterprise NEW
Enterprise polish pass: friends-first Create Group (members β name), enterprise New Chat, the steady WhatsApp-grade composer (only micβsend), and a denser Chats header. 5 screens, light+dark.
ποΈ Voice Messages NEW
Hold-to-talk + slide-to-cancel + slide-to-lock, live waveform while recording, and a real per-message waveform bubble with scrub + 1Γ/1.5Γ/2Γ speed. 5 states, light+dark.
β¨ Chat Motion & Interaction NEW
Interactive motion spec β press-scale, sliding tabs, chip spring, micβsend, shimmerβcontent, stagger, JoinβJoined. Tap to feel it before we build.
π’ Channels β Discovery & Create
Channels top-tab beside Chats, location-first discovery feed, compact rows, category browse, and the priority-first create flow. 7 screens, light+dark.
βοΈ Channel / Group Info β current ACTIVE
The active Channel Info design (improved pass, 2026-06-30): role-branched β admin (Manage + Delete) vs viewer (read-only), plus the admin-only Manage screen. 7 frames.
π In-chat Message Pinning G3
Pin a message inside a channel/group: always-on pinned bar under the app bar, admin-only Pin in the long-press menu, multi-pin cycle, jump-to-message glow, and an all-pins bottom sheet. 5 states, light+dark.
π Channel @handle G10
Bare @handle (Telegram-style) on top of the existing /channel/id. Claim-handle picker (available/taken + suggests), header @villagenotice Β· subs, share sheet (QR + nyburs.com/@villagenotice), and open-by-handle landing. 5 states, light+dark.
π΄ Live in Channel G12 Β· Phase 0
Admin goes live; an in-chat card surfaces it to subscribers. Scheduled card β LIVE-now card + banner β viewer (channel chat = live chat) β ended summary β admin Go-Live sheet. 5 states, light+dark.
π¬ Thread-reply Badge G5
Reply badge on the parent bubble (count + last-replier avatars), live-bump when a reply arrives (fixes the stale-count bug), and the thread view. 3 states, light+dark.
π Post View Counts NEW
Telegram-style π impression count on channel broadcast posts. Recommended meta-row placement next to the time (3 Β· 1.2k Β· 18k) vs two alternatives, coexisting with the comment footer + reaction chips, and the counting/who-sees/lazy-update rules. 3 panels + notes, light+dark.
ποΈ Archive Chats NEW
WhatsApp-style archiving: long-press β select β Archive; a quiet Archived row at the LIST BOTTOM (not a top folder); archived list with swipe/long-press to unarchive; a new message keeps a chat archived and only bumps the row's count. DMs & channels both. 4 panels + notes, light+dark.
π Sticky Parent in Threads NEW
In a long thread the original message scrolls away; a slim ~48px header slides in showing the parent's author + first line (ellipsized), tap-to-jump-to-parent. Appears only once the parent scrolls out, never covers content (replies scroll under), jump = the dismiss. 4 panels + notes, light+dark.
πΌοΈ Shared Media Strip NEW
Info page shared-media upgrade: today's count-only "Media 2" row β a horizontal 4-thumbnail strip above it (square thumbs, +N on the last when more), tap thumb β viewer, tap row β full page. Plus empty (no strip, "No media"), exactly-4, and photos-only edge cases. Lazy-loaded, hidden at zero. 4 panels + notes, light+dark.
π’ Slow Mode G9
Admin interval picker (OffΒ·10sΒ·30sΒ·1mΒ·5m, admins exempt), member cooldown composer with circular countdown + on-brand toast (2 copy options), and ready-again. 3 states, light+dark.
πΌοΈ Chat background β decision record kept as-is
Decision (2026-07-01): KEEP the current doodle wallpaper for now; user-pickable wallpaper (Option D) + neutral/contrast polish = FUTURE. Comparison kept as the record: today's clash vs A doodle Β· B clean Β· C brand Β· D picker. Light+dark.
β¦ Reactions & Reply β LIVE prototype interactive
The real motion, not static frames. Long-press β anchored bar springs up; tap an emoji β it flies onto the badge with a pop + confetti; double-tap β heart burst; swipe a bubble β reply docks. Includes an Auto-play. This is how it actually works.
π Reactions β anchored overlay M1
Effortless reactions, every state: resting badges (+N overflow), long-press β anchored quick-bar (not a bottom sheet), double-tap β€οΈ, optimistic apply, error/offline retry, who-reacted list, and a designed reactions-off state. 7 states, light+dark.
π¬ Reply vs Thread M2
The two-verb model: swipe-right = quick inline reply (main flow); a message with a discussion grows a distinct π¬ thread footer (count Β· last-replier Β· unread) that opens the thread. Plus start/empty, channel Comments mode, and comments-off / follow-to-comment states. 6 states, light+dark.
π§© Message states M3
The states that make chat feel finished: send lifecycle (clockβsentβread), recoverable failed-send (Retry/Delete), deleted-message tombstone, edited marker, incoming-media with no layout jump + broken-media retry, and read-only/not-joined footers explained instead of a hidden 0-px box. 6 states, light+dark.
π§΅ Threads inbox β redesign M4
The existing global threads surface, card-stack β scannable list: per-row parent snippet, reply count, last-replier avatars, unread dot, time; reply-in-place, mark-all-read, filters, follow/mute, and real empty vs error vs loading states. 6 states, light+dark.
β― Long-press menu & swipe M5
Complete context surface: full menu with Report (missing today) + correct Pin icon, role/mode-aware actions (Edit/Pin/Comment/Delete), swipe-to-reply, and a jump-to-quote that loads older messages instead of dead-tapping. 4 states, light+dark.