Commit graph

1098 commits

Author SHA1 Message Date
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
067417050c perf(bundle): code-split heavy routes and the emoji picker and add cacheable vendor chunks to shrink first-load 2026-05-29 02:35:33 +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
2a24ee60ff fix(presence): gate /sync set_presence on app foreground state so background long-polls stop marking idle users as online 2026-05-28 17:22:59 +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
67ee378b39 fix(stream-header): block body's drag-up from closed so pinning the directs/channels/bots header now requires the dedicated pin handle 2026-05-28 00:28:38 +03:00
fda6c7bd7e fix(channels): render rooms list non-virtualized so re-picking a workspace on native doesn't strand the list empty after a remount 2026-05-27 23:49:41 +03:00
136aacded1 fix(stream-header): tighten Segment paddings and cluster gaps so plus/search icons stop clipping past the right edge on 360 px Android viewports 2026-05-27 23:48:49 +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
7b3a4145a7 fix(channels): back active-workspace persistence with a jotai atom so the native pager sees switcher picks instead of a stale memoized localStorage read 2026-05-22 01:18:15 +03:00
765445c091 feat(discord-widget): render Open-in-Channels card after login via VOJO-LOGIN-SPACE-V1 sentinel and generic open-matrix-to widget action 2026-05-21 14:08:50 +03:00
055b7d3692 fix(workspace-switcher): switch space rows to SurfaceVariant so inactive bg blends with the sheet silhouette instead of reading as dark cards 2026-05-21 01:05:34 +03:00
78504262d3 feat(stream-header): flatten web curtain to a tabsRow-border divider pixel-aligned with PageHeader at WEB_TABS_ROW_PX=54 and gate keyboard probe to native 2026-05-20 23:20:17 +03:00
cde50cff0f fix(bots): pad BotStatePage wrapper with safe-top so the mobile back-arrow header clears the Android status bar on the connect-bot empty state 2026-05-20 02:39:21 +03:00
6ca6b69d48 feat(stream-header): contextual Plus on Channels opens create-channel inside workspace and create-community on landing via StreamHeader.primaryAction 2026-05-20 01:59:04 +03:00
240bb54c29 refactor(stream-header): reset live drag on gesture teardown, drop dead pinned-local fallback, narrow commit() to peek|closed, add exhaustive transition guards and align stale comments 2026-05-20 00:59:17 +03:00
8fb885df1b feat(stream-header): free-range curtain drag through full pin↔closed↔peek range with bottomPinned-aware body bail and native-only handle 2026-05-20 00:26:10 +03:00
ab283e9788 refactor(stream-header): unify curtain gestures onto dual handle+body surfaces with 1:1 handle and rubber-band body, scroll-aware bail 2026-05-19 23:27:19 +03:00
e866cd3830 feat(stream-header): move pin/unpin gesture onto dedicated 32px drag-handle with 1:1 finger tracking and desktop-style grabber animation 2026-05-19 18:26:37 +03:00
7c5a1f2ee7 fix(mobile-tabs-pager): restore segment-button taps in pager mode via opacity-0 per-pane row and route their commits through an instant no-transition strip jump 2026-05-19 14:28:56 +03:00
0422a9832f feat(stream-header): pin chats curtain over static pager header on drag-up with per-tab atom, native-only rubber-band gesture and pinned-aware horseshoe sheet coordination 2026-05-19 11:50:31 +03:00
4a9d5f6384 fix(mobile-tabs-pager): paint Background.OnContainer on pagerRoot so panes mounted outside PageRoot inherit readable text on native 2026-05-18 22:58:53 +03:00
870e13d895 feat(mobile-tabs-pager): swipe between Direct, Channels and Bots on Capacitor native with static header, 24px gap, atom-bridged action icons and inert offscreen panes 2026-05-18 22:00:53 +03:00
727a53a776 fix(horseshoe): extend mobile DM and Channels wrappers up over the safe-top zone so the StreamHeader curtain paints the status-bar strip on drag-up 2026-05-18 15:14:58 +03:00
af97549e48 tweak(stream-header): require curtain drag past 90% of full peek travel to commit so short drags snap back as accidental 2026-05-18 02:12:55 +03:00
0c704aac38 tweak(bubbles): paint peer bg and horseshoe void pure black and flip own/peer flat-corner to bottom-left/top-left at 16px radius 2026-05-18 02:04:39 +03:00
b26340fa7d feat(electron): add desktop wrapper packaging Vojo as Windows zip with privileged vojo:// scheme, HashRouter override and native chrome 2026-05-18 01:50:16 +03:00
5dbe83aa9d feat(push): real sender+room avatars via MXC bridge with adaptive shortcut icons, plus review fixes (GROUP_ALERT_ALL, eventId dedup, isEncrypted privacy default, structured roomname parse, mark-as-read optimistic docs) 2026-05-17 17:39:19 +03:00
06778702b2 feat(push): inline RemoteInput reply on per-room notifications for cleartext rooms with optimistic local echo and encryption-state re-dump 2026-05-17 02:29:20 +03:00
38d24e5527 feat(push): group room messages into a per-room MessagingStyle conversation with DM/group channels, mark-as-read action and receipt-driven dismiss 2026-05-17 02:06:21 +03:00
408f165f60 feat(push): add WorkManager polling fallback that delivers notifications via /_matrix/client/v3/notifications when FCM is blocked 2026-05-17 01:27:55 +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
ebf2cfe07b fix(sidebar): raise resizable page-nav min width from 320 to 384px so StreamHeader segments and action icons stop clipping at the floor 2026-05-16 20:31:11 +03:00
2d101a40fc fix(channels): collapse /channels/ index into one mobile pane and add Create-community CTA next to Find-community on empty state 2026-05-16 20:25:01 +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
c78984a6d8 fix(direct): exclude bridged portal rooms from Direct tab so Telegram chats live exclusively in their per-bridge personal filtering space 2026-05-16 00:31:38 +03:00
bfd72dc1ff tweak(stream-header): collapse peek1/peek2 into single peek snap so one drag reveals both action chips at once 2026-05-15 23:47:40 +03:00
0eb2e056c0 feat(stream-header): rebuild Direct/Channels/Bots header as a curtain layered above tabs with peek chips, inline forms, and VisualViewport keyboard compensation 2026-05-15 23:05:34 +03:00
81d23be61f feat(theme): ship Settings picker with system/light/dark and Vojo light palette reshading sidebar, chat, bubbles, horseshoe void and PWA chrome 2026-05-15 01:06:49 +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
a893e86d92 tweak(direct): dial DM list avatars down to 48px with 68px row height for a less heavy density 2026-05-14 01:12:17 +03:00
2d74848509 feat(direct): enlarge DM list avatars to size 500 with 80px row height and matched virtualizer estimate for a denser two-line layout 2026-05-14 01:05:32 +03:00