71a71fa56b
feat(calls): verify Answer-intent token + harden native ring lifecycle
...
Every Answer PendingIntent now carries a per-install secret (CallActionToken, private prefs); the JS consumer and MainActivity over-lock verify it before auto-joining, blocking a forged hot-mic join from another local app. MainActivity marks the Telecom session answered natively on a shade Answer, and its over-lock onResume backstop waits a settle window. Native ring start runs fully under telecomLock (no orphan slot), a Telecom failure degrades to notification-only instead of killing the ring, the full-screen ring timeout tracks the real lifetime, and IncomingRing.data is a ConcurrentHashMap. FGS notification/channel strings localized via PushStrings; dead Call.accept key dropped. From the internal multi-agent review.
2026-07-04 02:14:08 +03:00
80c64e0760
refactor(notifications): drop bundled Cinny message chime + DM-call ring audio; alerts now system-owned (native ringtone, web push)
2026-06-29 19:57:28 +03:00
5d908bc04a
feat(calls): ring incoming calls through Do Not Disturb — bypass-DND notification channel gated on policy access, with one-time grant prompt
2026-06-24 02:09:04 +03:00
492e950245
feat(calls): polish call surfaces — unify Answer verb, single live-green, over-lock entrance, press feedback, aria-live phases
2026-06-24 02:08:20 +03:00
3d10fc2d3e
feat(calls): over-lock call screen — answer without unlocking (element-x pattern), minimize + live timer
2026-06-24 00:43:39 +03:00
c7dc1d51de
feat(i18n): localise hardcoded English across calls, lobby, device verification, moderation, editor and email stage, syncing en/ru keys
2026-06-15 02:57:32 +03:00
b500afc8a9
fix: harden client against crafted-event crashes and audit-found hardening gaps
2026-06-12 13:04:19 +03:00
6d48ed0341
feat(channels): split bridge-space rooms into collapsible chats/groups/channels sections with tinted icons, counts, and an indented tree guide
2026-06-10 22:10:04 +03:00
47255c6bf1
fix(stream-header): fix the Android WebView pull-to-refresh flicker and rework the dancing-mascot loop and dwell
2026-06-08 22:29:04 +03:00
901bec2e9a
feat(stream-header): swap the curtain search-peek for a pull-to-refresh dancing mascot with a radar-pulse ripple
2026-06-08 16:08:50 +03:00
717928154b
feat(proxy): route Android WebView and native traffic through a user-supplied HTTP/SOCKS5 proxy via an authed loopback relay
2026-06-08 02:18:44 +03:00
4b7ad11620
feat(room): redesign the 1:1 DM timeline as a bubble chat with sticky date pills, grouped timestamps, a tap action rail and read status
2026-06-06 14:35:15 +03:00
7e7630bba4
feat(room): add voice messages with an in-composer recorder, playback bubble, and per-room disable toggle
2026-06-05 18:08:03 +03:00
0ff06e577b
feat(calls): redesign the DM voice-call rail with a loudspeaker toggle, live duration and explicit accept/decline, dropping the deafen control
2026-06-05 01:07:08 +03:00
0beb98e4d1
style(settings): redesign the room and space settings nav rail with a violet active accent and eyebrow header
2026-06-04 02:39:23 +03:00
2ff6166b1a
feat(i18n): localize space settings nav, titles and the full permission tree into Russian
2026-06-04 01:14:55 +03:00
baf23f9a45
feat(i18n): add keys for autocomplete headers, search shortcuts, the new-chat form and notification controls
2026-06-04 00:59:03 +03:00
8989c0d7f7
feat(i18n): localize the emoji and sticker picker into English and Russian
2026-06-03 16:32:00 +03:00
a334612734
update privacy
2026-06-03 01:20:32 +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
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
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
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
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
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
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
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
3c7c79fb6c
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
2dac76f9af
chore(i18n): rename DM direct-stream segment label to Direct
2026-05-13 23:30:42 +03:00
5d4a50f593
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
30e477d2cd
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
11c46d9250
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
c27f8a7cc2
chore(mascot): re-encode as 2s VP9 cycle and center auth drop-shadow on character
2026-05-13 04:17:14 +03:00
ffb80bff88
chore(bundle): trim web bundle by dropping unused Twemoji TTF, Prism languages, and MediaPipe blur wasm
2026-05-13 04:17:03 +03:00
635fb91022
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
626a7c2d1d
feat(profile): inline-expand hero avatar in desktop side pane instead of swapping the whole card to full-view
2026-05-11 01:11:09 +03:00
d4b05619a8
feat(channels): ship M6 workspace switcher dropdown with rename-reactive trigger and rows for multi-space users
2026-05-10 20:56:14 +03:00
e80453785e
feat(channels): ship M4 per-thread unread with thread receipts mute-aware atom and architectural cleanup
2026-05-10 14:35:51 +03:00
307af24d1e
feat(channels): ship M3 channel timeline avatar-name layout with thread summary cards and drawer header counter polish
2026-05-10 01:06:29 +03:00
4632be30f7
feat(channels): ship M2 thread drawer + composer + shareable thread URL with cold-load relations repair
2026-05-09 22:49:53 +03:00
851f3d30a3
feat(channels): drop NEW badge from Каналы segment per product call
2026-05-09 15:09:24 +03:00
efe58dc2e2
feat(channels): ship M1 — Каналы segment with /channels/ routes and channels-mode RoomTimeline filter
2026-05-09 15:06:13 +03:00