|
|
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 |
|
|
|
fe8ba2878b
|
feat(bots): add the Vojo AI bot widget and its capability-gated add-to-chat room picker
|
2026-05-31 18:30:52 +03:00 |
|
|
|
0a62fa8e1d
|
feat(room): colour the DM stream rail per side — white own nick/dots, purple peer nick, gray peer dots, green own dot while awaiting a reply
|
2026-05-31 13:46:14 +03:00 |
|
|
|
a84c534179
|
style(room): lead the 1:1 stream row with the rail+dot, move the timestamp beside the nick and tint the peer nick lavender
|
2026-05-30 14:35:41 +03:00 |
|
|
|
109941e0dd
|
fix(media): deliver session to the service worker on controllerchange and drop the poisoned handshake promise on timeout so authenticated media stops 401ing
|
2026-05-30 13:23:19 +03:00 |
|
|
|
cdd2570ff1
|
fix(router): import the Channels and Bots listing tabs eagerly again to kill the web tab-switch flicker regression from their lazy-split
|
2026-05-30 13:07:13 +03:00 |
|
|
|
45535a0dba
|
feat(direct): show a green online dot on 1:1 chat avatars in the direct list, matching the profile card indicator
|
2026-05-30 01:21:27 +03:00 |
|
|
|
54f96112ff
|
style(room): drop the 1:1 peer name chip and restore the plain bold author label
|
2026-05-30 01:12:33 +03:00 |
|
|
|
b4d49d3b03
|
style(room): match the 1:1 peer name chip corner radius to the message bubble
|
2026-05-30 00:59:56 +03:00 |
|
|
|
170c78fb83
|
feat(room): give the 1:1 peer name its own dark chip matching the message bubble and round both with a minimal all-corners radius
|
2026-05-30 00:52:47 +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 |
|
|
|
3f76336e57
|
fix(profile): load the hero avatar as a sharp scale thumbnail and keep full-res only for the expanded view
|
2026-05-29 02:36:28 +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 |
|
|
|
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 |
|