Commit graph

142 commits

Author SHA1 Message Date
e66d8cf7bf fix(ai-chat): make the new-chat composer text-only so a sticker or file first move cannot strand the user 2026-06-04 12:42:09 +03:00
5d023147c5 fix(composer): reset the docked emoji board when crossing the breakpoint so it cannot silently re-open 2026-06-04 12:27:10 +03:00
fa17029a45 fix(composer): isolate the web emoji pop-out state so opening it no longer re-renders the whole composer 2026-06-04 02:45:04 +03:00
18eddec405 feat(composer): dock the emoji and sticker picker inline at the top of the composer on native 2026-06-04 02:38:42 +03:00
4c6f662939 style(autocomplete): Dawn popover with mono handles, a fleet row highlight and a violet self-mention chip 2026-06-04 00:59:31 +03:00
ad730b1538 style(message): swap the action-menu folds glyphs for custom stroke icons matching the rail 2026-06-03 17:02:50 +03:00
cd050c309b fix(message): give the action rail bigger buttons, icons and spacing on mobile for comfortable touch 2026-06-03 15:12:06 +03:00
ebc7ec87f0 fix(message): give the action rail custom stroke icons, drop its inline reactions, and lift it above the bubble 2026-06-03 13:40:05 +03:00
78f9b84850 feat(message): surface one-tap quick-reactions inline in the hover action rail 2026-06-03 13:25:41 +03:00
b730ccb0f3 style(message): restyle the hover action bar as a flat Dawn strip and tuck it against the message corner 2026-06-03 12:45:15 +03:00
06afe034c5 refactor(settings): drop three orphan settings with no UI and strip them via a one-shot migration 2026-06-03 11:53:30 +03:00
77959167fa feat(ai-chat): add a minimal privacy notice and redesign the history panel, centering the transcript and composer on web 2026-06-02 13:31:13 +03:00
185d0a60a7 feat(ai): replace the Vojo AI widget with a native, isolated ChatGPT-style chat surface (threads, history, typing) 2026-06-02 01:49:31 +03:00
a5fcce4d77 fix(composer): shorten long input placeholders and split the mirror joke across the rotation so phrases no longer truncate 2026-05-31 23:11:18 +03:00
9c3287165f fix bot DMs vanishing from Direct under lazy member-loading and hide invite in bot control rooms 2026-05-31 20:39:36 +03:00
f6e374d551 feat(room): redesign the group/channel chat into a Discord-style layout with plain-text messages, avatar/timestamp grouping and the 1:1 media renderer 2026-05-30 00:28:31 +03:00
0f882567c5 feat(room): rework the 1:1 DM timeline into a VS Code-style rail with bold author labels, bubble-less own messages and same-sender run grouping 2026-05-29 23:45:18 +03:00
bfe2f89a28 perf(timeline): memoize message rows and cache the per-render call-aggregate scan and HTML body parse 2026-05-29 02:36:13 +03:00
297b55f693 feat(timeline): replace empty-chat RoomIntro with context-aware placeholder for 1:1, group and bridged rooms 2026-05-29 00:07:18 +03:00
aa3dbc13ef feat(members): replace MembersDrawer with Dawn-styled members sheet and group hero for every non-1:1 room and channel 2026-05-28 20:51:37 +03:00
1665cb185f feat(timeline): use Channel avatar+bubble layout for every non-1:1 room and shift 1:1 Stream rail ~4px left on desktop 2026-05-28 18:07:23 +03:00
9a9880d63c feat(typing): replace composer-covered overlay strip with inline shimmer system-line in the timeline, aligned to the composer's left horseshoe curve 2026-05-28 02:03:26 +03:00
61fdf06126 fix(android): pad content root by WindowInsets.tappableElement so 3-button nav clears UI while gesture mode stays edge-to-edge 2026-05-28 01:57:13 +03:00
53acca3755 fix(stream-bubble): shrink bubble to text width and equalise bubble-to-bubble gap at ~14px regardless of same-sender grouping 2026-05-28 00:30:54 +03:00
443213b4b6 fix(android): apply env(safe-area-inset-bottom) so 3-button nav stops covering bottom-anchored UI 2026-05-27 22:44:16 +03:00
770609b964 feat(media): make the desktop right-side media pane resizable with a smart max that subtracts chat-list width and a chat-column reservation 2026-05-16 20:45:54 +03:00
f2ecca64da feat(share): receive Android system share intents and drop the payload into the next chat the user opens via a top banner cue 2026-05-16 19:33:06 +03:00
6982ec374e chore(lint): close all typecheck and eslint tech debt to enable husky pre-commit hook with --max-warnings 0 2026-05-16 17:22:53 +03:00
45c69317ff feat(message): paint non-own bubbles via --vojo-peer-bubble-bg in Stream + Channel layouts and Stream rail/day-divider via --vojo-timeline-rail 2026-05-16 13:13:28 +03:00
8e2db986b4 feat(composer): tighten action-row padding, extract button JSX, and rotate placeholder across 12 hour-keyed variants 2026-05-15 00:13:51 +03:00
646cb7b124 feat(members): carve rounded TL/BL on members drawer with 12px void seam to chat and extract VoidGap helper consolidating four per-pane seams 2026-05-14 21:11:36 +03:00
8400ef54ee feat(syslines): render membership and room-state events as sender-anchored chat bubbles via StreamLayout instead of thin rail syslines 2026-05-14 01:39:51 +03:00
3c7c79fb6c fix(calls): split per-session bubbles by joined-count boundary with expiry-aware ongoing, post-ring duration, and same-caller retry merging 2026-05-14 00:27:38 +03:00
f5e992daad fix(time): use Intl numeric day-month-year everywhere so chat day dividers follow the system locale instead of hardcoded English full-month 2026-05-13 23:30:52 +03:00
30e477d2cd feat(calls): render m.call.member events as one aggregate chat bubble per call aligned to initiator side 2026-05-13 15:57:23 +03:00
6a6b7acf15 feat(channels): rebuild thread drawer and channel rows as chat-style bubble cards that merge thread-summary into the bubble footer 2026-05-13 15:21:13 +03:00
3dee9f099f feat(thread-drawer): wrap in horseshoe seam with rounded TL/BL and add pointer/keyboard resize clamped to viewport/3 2026-05-13 14:42:15 +03:00
663aece487 feat(media-viewer): atom-driven horseshoe shell over chat replacing Overlay modal for image+video with anchor-aware pinch/wheel zoom and swipe prev/next 2026-05-13 02:47:04 +03:00
4654836092 feat(chat): hide composer on scroll-up past 200px and replace jump-to-latest chip with circular FAB that pulses on incoming live messages 2026-05-13 01:36:29 +03:00
c6bb66958d feat(profile-rail): size mobile user-card rail to measured content height with 85vh cap and inner scroll only on overflow 2026-05-12 02:06:10 +03:00
149382299a feat(safe-area): extend Android edge-to-edge top inset via --vojo-safe-top var and collapse profile horseshoe header with measured height 2026-05-12 01:54:30 +03:00
ce82d66883 feat(safe-area): paint Android edge-to-edge top/bottom strips with the active surface tone instead of a fixed body bg 2026-05-11 23:13:56 +03:00
785b679b61 feat(horseshoe): add 12px void gap between chat and profile pane with rounded TL/BL on profile, drop page-nav right rounding 2026-05-11 20:33:51 +03:00
de2354f1da fix(composer): re-anchor timeline scrollTop when overlay composer height changes via prop-driven layout effect 2026-05-11 18:10:56 +03:00
41a9af19e3 feat(composer): floating overlay above timeline with Gemini-style two-row layout and Android-WebView stuck-hover gate 2026-05-11 17:47:37 +03:00
2337b05140 feat(chat): invert canvas/bubble tones and darken timeline rail and media frames 2026-05-11 15:16:53 +03:00
ab6c65a4e0 fix(profile): keep desktop user-room-profile pane open on outside clicks, close only via × or Esc 2026-05-11 14:09:07 +03:00
e3e61afd4c feat(profile): merge 1:1 header avatar and title into single identity button so name taps open the profile sheet 2026-05-11 14:09:07 +03:00
c992e910ee feat(profile): add mouse drag for mobile horseshoe via pointer events with origin-tagged drag state and userSelect:none on viewports 2026-05-11 02:22:28 +03:00
117bb9fba4 refactor(profile): rebuild mobile horseshoe as single silhouette wrapper with Vaul ease curves replacing the two-radius emerge handoff 2026-05-11 02:00:04 +03:00