|
|
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 |
|
|
|
a4429d9c31
|
replace the hand-rolled markdown renderer with goldmark/bluemonday and harden the ai-bot against quota abuse and third-party leaks
|
2026-05-31 20:39:10 +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 |
|
|
|
4158f9a232
|
update vojo grok system promt
|
2026-05-31 16:32:29 +03:00 |
|
|
|
5c64fc435c
|
update vojo grok system promt
|
2026-05-31 16:25:33 +03:00 |
|
|
|
3b5f3567f2
|
update vojo grok system promt
|
2026-05-31 16:22:30 +03:00 |
|
|
|
1385123b55
|
docs(ai): record the in-repo ai-bot Synapse appservice (Vojo AI) and the single-file bind-mount / non-root registration gotchas
|
2026-05-31 15:40:47 +03:00 |
|
|
|
add6107d66
|
feat(ai-bot): add the Vojo AI Matrix appservice (xAI Grok backend) with push transactions, mention/DM replies, self-generated registration and spend limiter
|
2026-05-31 15:36:00 +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 |
|
|
|
0e87787f95
|
docs(ai): actualize architecture.md against current vojo/dev code after the Channels, Bots, threads and settings-route redesign
|
2026-05-30 22:43:19 +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 |
|
|
|
de9ab8198f
|
chore: merge 3af516f into vojo/dev, keeping its edge-to-edge --vojo-safe-top safe-area and superseding the abandoned ca34e026 approach
|
2026-05-30 01:39:08 +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 |
|
|
|
153860bb38
|
chore(assets): downscale the embedded raster in the three vojo logo SVGs from 690px to 256px
|
2026-05-29 02:36:41 +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 |
|
|
|
aca33f470d
|
fix(telegram-widget): embed password reveal as in-input eye icon matching the main auth form so the toggle no longer overflows on native
|
2026-05-27 18:24:24 +03:00 |
|
|
|
6c052bbff9
|
feat(bridge-widgets): format phone input with libphonenumber-js AsYouType, show country flag, soft-warn on invalid before letting bridgev2 arbitrate
|
2026-05-27 01:56:22 +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 |
|
|
|
408b9eefc3
|
chore(eslint): give widget apps their own Preact-aware root config so host airbnb and react rules stop flagging valid Preact code in pre-commit
|
2026-05-21 14:08:21 +03:00 |
|
|
|
8d8b39e897
|
fix(telegram-widget): stack password row column on mobile so the show toggle does not overflow off the right edge
|
2026-05-21 13:43:11 +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 |
|