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
64517a73f7
fix(calls): close glare cross-call races and lifecycle gaps
...
Re-dial after a crossed/cancelled DM call now rings again: DM 'ongoing' is peer-scoped so a stale own membership no longer forces a join_existing intent (which drops the ring), and an outgoing start waits for our own membership to leave; zombie same-room dispose first gives the widget a bounded chance to send its leave. Plus: incoming-ring suppress ignores stale own-device membership, useCallJoined resets per embed, no-answer timer re-anchors to the ring actually sent, mute mirror tracks last-sent state, SW self-dismiss checks eventId, Telecom disconnect clears a dead-widget atom, and a same-room join marks the native session answered. From the internal multi-agent review.
2026-07-04 02:06:31 +03:00
b88e056dcd
test(ai-bot): extend routereval golden set to 30 items with live-harvested Gemini verdicts
2026-07-03 00:04:51 +03:00
bbf2e55165
fix(bots): AI typing indicator — 45s receipt expiry (5s died mid-generation, Synapse doesn't re-emit unchanged m.typing); avatar ring spinner in header replaces dots
2026-07-03 00:04:34 +03:00
0a538a9e0b
feat(ai-bot): local LLM voice backend — OpenAI-compatible adapter, health-probed failover to Grok, billing by actual serving model ($0 local), LOCAL_LLM_* config
2026-07-03 00:04:18 +03:00
ddc5cd2cad
refactor(bots): drop the iframe touch-forwarding side-channel; swipe-back over the widget body now falls back to system/hardware back
2026-07-02 00:59:28 +03:00
d599c98a62
feat(search): open listing search as a full-stage overlay over the tabs — right-side close ✕, hardware-back/Escape dismiss, flush result clip
2026-06-29 21:48:43 +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
628618aafe
fix(calls): bound + unclip the answer drag — disc rides a clamped track (trackMax/lateralMax), clipChildren=false up the chain, halo follows; no clip-square, no full-screen runaway
2026-06-24 03:00:30 +03:00
fe32bed081
fix(calls): harden DM signaling — Doze ring ceiling, FGS onCreate crash, logout teardown, role-aware grace, web ring withdrawal, caller-cancel
2026-06-24 02:44:52 +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
aa83b05a31
feat(calls): polish native incoming ring — axis-locked slide-to-answer (up only), color-morph + 3-rung haptics, breathing avatar halo, decline tap-only, reduced-motion
2026-06-24 02:07:12 +03:00
501ed9ac96
docs(calls): telecom migration journal + DM-calls techdebt closeout
2026-06-24 00:43:39 +03:00
99c309d493
feat(calls): native full-screen incoming ring UI + drag-to-answer with glow/chevron animation
2026-06-24 00:43:39 +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
fa09674748
feat(calls): incoming via Telecom + answer-from-killed (session mgmt, FCM ring bridge, phoneCall FGS, JS sync)
2026-06-24 00:43:39 +03:00
2c3dfcb965
refactor(calls): drop TELECOM_ENABLED flag, retire AudioRoute plugin, bump minSdk to 26
2026-06-24 00:43:39 +03:00
f2eb363db4
feat(calls): native self-managed Telecom backend for Android (Phase A/B, flag-gated off, validated on Samsung)
2026-06-23 02:47:17 +03:00
9aaa0b1833
update tasks
2026-06-23 01:11:00 +03:00
cd93f4df04
docs(ai): update architecture for the composer, settings, logout and bot-widget swipe refactors
2026-06-15 02:57:32 +03:00
53515ea427
style(message): tighten channel layout and channels list for mobile touch and rework the jump-to-message highlight
2026-06-15 02:57:32 +03:00
67a275561d
style(emoji-board): restyle the emoji board as an overlay window and drop the inline dock variant
2026-06-15 02:57:32 +03:00
ecfb02a221
refactor(event-readers): rebuild the read-receipts card as a self-contained Vojo overlay with per-reader timestamps
2026-06-15 02:57:32 +03:00
e1d8e18176
feat(user-profile): add back/close affordances to profile cards, show the mxid localpart, and scope members-sheet auto-open per room
2026-06-15 02:57:32 +03:00
f2ce9d4cd9
refactor(room): rebuild the room and bot action menus onto a shared inline notifications mode-picker tray
2026-06-15 02:57:32 +03:00
0956e58cfd
refactor(settings): restructure user settings into a profile hero with tinted menu rows and a near-fullscreen mobile sheet
2026-06-15 02:57:32 +03:00
df9cac8f5c
refactor(settings): replace the shared LogoutDialog with a self-contained localised logout-dialog card
2026-06-15 02:57:32 +03:00
caff65d9ee
refactor(room-settings): collapse room settings into a single Modal500 page, dropping the per-room permissions and developer surfaces
2026-06-15 02:57:32 +03:00
abae93170a
refactor(room): fold message editing and file attachments into the composer, removing the floating MessageEditor and UploadBoard
2026-06-15 02:57:32 +03:00
180021b9ad
feat(bots): forward bot-widget iframe touches over a side-channel so swipe-back works across the widget body on mobile
2026-06-15 02:57:32 +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
99391d9f28
feat(ai-bot): expand the product KB into a verified how-to manual with bilingual UI paths and raise its size cap
2026-06-12 15:44:02 +03:00
1a949e9a80
feat(ai-bot): improve answer quality and cost accounting across routing, web grounding, conversation memory, prompts, and telemetry feedback
2026-06-12 14:27:06 +03:00
b500afc8a9
fix: harden client against crafted-event crashes and audit-found hardening gaps
2026-06-12 13:04:19 +03:00
3abbe893e0
fix(telegram): backport probe and cooldown race fixes and make the QR long-poll survive background WebView freezes
2026-06-12 00:47:00 +03:00
0095df358c
feat(whatsapp): rewrite the widget onto the bridge provisioning API with OpenID auth, a pairing-code panel, and background-resilient login polling
2026-06-12 00:46:25 +03:00
5c67c4d78e
feat(refresh): host the mascot chrome as a strip singleton and draw the radar rings on one canvas, zeroing WebView tile-memory warnings
2026-06-11 22:35:33 +03:00
7bf177751b
fix(direct): hide fresh bridge-ghost invites while the double puppet auto-accepts them
2026-06-10 22:25:06 +03:00
a286d1e2c6
feat(telegram): rewrite the widget onto the bridge provisioning API with OpenID auth, a contacts picker, and MSC4039 avatars
2026-06-10 22:24:23 +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
4dcfe7fd1d
feat(media): rework viewer paging into a persistent no-remount slide filmstrip with drag-anywhere-to-close and rounded sheet corners
2026-06-09 14:39:52 +03:00
b210f2b3a2
feat(stream-header): spawn an echo pulse ring when the user taps the refresh mascot
2026-06-08 23:13:33 +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
b6ffa03891
feat(media): rework the viewer — smaller rounded chat previews, a draggable desktop window, a fullscreen mobile sheet, and swipe animation
2026-06-08 16:17:59 +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
f41ea049cc
feat(ai-bot): rebuild the @ai overflow menu to match 1-1 chats, restyle the chats-list panel, and slim the notification button
2026-06-07 03:29:59 +03:00
ae387c735d
update sysmtem promt
2026-06-07 03:29:16 +03:00
f9f16dcf4f
update system promts
2026-06-07 02:56:30 +03:00