v.lagerev
|
f8ef53f911
|
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 |
|
v.lagerev
|
ac072a1ddc
|
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 |
|
v.lagerev
|
347241264b
|
docs(android): document MessagingStyle pipeline, channel split, callId-session dedup and edit-collapse defer rationale
|
2026-05-17 02:42:45 +03:00 |
|
v.lagerev
|
b197e354f5
|
fix(push): close E2EE-flip race by re-checking room encryption at reply send time, pre-flight credentials before optimistic echo, share callId-dedup helpers between FCM and Worker
|
2026-05-17 02:41:27 +03:00 |
|
v.lagerev
|
75022b9331
|
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 |
|
v.lagerev
|
ac572afb32
|
fix(push): dedup re-rings within one call session via composite (roomId, callSessionId) key so a participant rejoin doesn't re-alert
|
2026-05-17 02:22:20 +03:00 |
|
v.lagerev
|
23b49d4230
|
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 |
|
v.lagerev
|
ab27244579
|
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 |
|
v.lagerev
|
8f54bb47b9
|
update gitignore with Vite config
|
2026-05-16 22:06:35 +03:00 |
|
v.lagerev
|
03fb01cc7b
|
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 |
|
v.lagerev
|
8123df0103
|
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 |
|
v.lagerev
|
ff01a045e3
|
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 |
|
v.lagerev
|
bf05696336
|
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 |
|
v.lagerev
|
88d3db2b24
|
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 |
|
v.lagerev
|
45f5392a92
|
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 |
|
v.lagerev
|
6b454e004e
|
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 |
|
v.lagerev
|
5711829895
|
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 |
|
v.lagerev
|
015ae06aa1
|
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 |
|
v.lagerev
|
ffd9cad2ad
|
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 |
|
v.lagerev
|
c96d0061f0
|
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 |
|
v.lagerev
|
3fb5f012e5
|
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 |
|
v.lagerev
|
b4f77b6f80
|
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 |
|
v.lagerev
|
dbda311af9
|
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 |
|
v.lagerev
|
ec593f34ef
|
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 |
|
v.lagerev
|
ba33c9e463
|
fix(page-nav): hold min-height:0 on scrolling middle and shrink-no on Direct bottom rows so flex pressure no longer squashes them below their NavItem floor
|
2026-05-14 01:05:21 +03:00 |
|
v.lagerev
|
15b5fb3a28
|
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 |
|
v.lagerev
|
093a908571
|
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 |
|
v.lagerev
|
eb36d8b457
|
chore(i18n): rename DM direct-stream segment label to Direct
|
2026-05-13 23:30:42 +03:00 |
|
v.lagerev
|
5455d9e289
|
fix(dm-name): drop matrix-js-sdk mxid disambiguation suffix from DM room names by using peer rawDisplayName
|
2026-05-13 22:54:26 +03:00 |
|
v.lagerev
|
14087e4723
|
fix(i18n): track system language on every launch instead of caching first-seen value in localStorage
|
2026-05-13 22:54:06 +03:00 |
|
v.lagerev
|
7b5a99cdce
|
feat(legal): publish Privacy Policy and account-deletion pages with About-screen link and Play Store feature graphic
|
2026-05-13 22:53:58 +03:00 |
|
v.lagerev
|
21657c75dd
|
chore(versioning): derive Android versionName from git describe to match __APP_VERSION__ from vite
|
2026-05-13 22:53:48 +03:00 |
|
v.lagerev
|
9ec670b8cf
|
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 |
|
v.lagerev
|
c9ea22d2d4
|
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 |
|
v.lagerev
|
3f873a5041
|
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 |
|
v.lagerev
|
cab6b788e3
|
feat(channels): replace workspace switcher popout with sliding horseshoe sheet and inline create-channel row, retire sidebar CreateTab
|
2026-05-13 14:21:39 +03:00 |
|
v.lagerev
|
dce683291c
|
chore(mascot): re-encode as 2s VP9 cycle and center auth drop-shadow on character
|
2026-05-13 04:17:14 +03:00 |
|
v.lagerev
|
bf113eaca0
|
chore(android): enable R8 shrinker with keep rules, set up release signing, and strip sourcemaps from APK
|
2026-05-13 04:17:09 +03:00 |
|
v.lagerev
|
dcb080ec6a
|
chore(bundle): trim web bundle by dropping unused Twemoji TTF, Prism languages, and MediaPipe blur wasm
|
2026-05-13 04:17:03 +03:00 |
|
v.lagerev
|
b1b9631724
|
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 |
|
v.lagerev
|
e5a85b9b88
|
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 |
|
v.lagerev
|
a7d6fc2cb2
|
feat(settings): replace Modal500 with /settings route plus mobile bottom-up horseshoe sheet overlaying DM list via clip-path mask
|
2026-05-13 00:01:26 +03:00 |
|
v.lagerev
|
ecb790eaa1
|
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 |
|
v.lagerev
|
573e992c7d
|
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 |
|
v.lagerev
|
77bb72d2af
|
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 |
|
v.lagerev
|
3af516f093
|
feat(direct-tabs): spread DM/Channels/Bots tabs edge-to-edge and underline active segment with purple bar on the header's grey rule
|
2026-05-11 21:04:07 +03:00 |
|
v.lagerev
|
74d32ebc1b
|
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 |
|
v.lagerev
|
2bce6a791d
|
fix(composer): re-anchor timeline scrollTop when overlay composer height changes via prop-driven layout effect
|
2026-05-11 18:10:56 +03:00 |
|
v.lagerev
|
7aaba05e46
|
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 |
|
v.lagerev
|
212a6084c5
|
feat(chat): invert canvas/bubble tones and darken timeline rail and media frames
|
2026-05-11 15:16:53 +03:00 |
|