|
|
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 |
|
|
|
5f2bac7ad6
|
style: move reaction chips and url-preview links onto the Dawn surface and accent palette
|
2026-06-03 12:01:08 +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 |
|
|
|
8fcb94e956
|
refactor: delete the dead SidebarNav rail and its sidebar tab and primitive subtree
|
2026-06-03 11:53:06 +03:00 |
|
|
|
1faffad3e6
|
fix(settings): center the content in a 720px column and add a shared --font-mono token
|
2026-06-03 11:52:44 +03:00 |
|
|
|
a3dbe0df78
|
feat(settings): redesign settings as a grouped Dawn list and drop the Developer Tools tab
|
2026-06-03 00:27:29 +03:00 |
|
|
|
3662afd81d
|
fix(ai-chat): cast the history panel shadow only when open so it stops bleeding a dark sliver onto the right edge while closed
|
2026-06-02 22:04:50 +03:00 |
|
|
|
6256048ddd
|
style(ai-chat): keep the consent text readable, only the frame gold (match WhatsApp about-warn-callout)
|
2026-06-02 13:37:52 +03:00 |
|
|
|
5f940af9f7
|
style(ai-chat): give the privacy consent line a gold frame matching the WhatsApp bridge
|
2026-06-02 13:35:24 +03:00 |
|
|
|
d92f6dc1ca
|
feat(mobile): add swipe-right-to-go-back on chat screens, sliding the chat over the static listing pager
|
2026-06-02 13:31:57 +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 |
|
|
|
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 |
|