Skip to content

Releases: suenot/vasyaapp

Vasyapp v0.8.0

13 Jun 00:24

Choose a tag to compare

[0.8.0] - 2026-06-12

Web

  • Vasyapp now runs in the browser. The same React UI talks to a remote vasya-server over HTTP/SSE instead of the in-process Tauri engine. Self-host it from backend/deploy/; connect with your server URL + a JWT (email/password against the backend) or an access token. Builds can pre-fill the API origin via the VITE_VASYA_API_URL build var.

Features

  • Date separators in the message list — Telegram-style "Today / Yesterday / 10 June" day dividers between messages of different calendar days.
  • Rich link previews — pages shared in chat render a card (site name, title, description) instead of a bare "Link Preview" placeholder. vasya-server now extracts the Telegram webPage metadata; the desktop backend still shows the minimal preview (parity pending).

Server / infra

  • Telegram over a SOCKS5 proxy — set TELEGRAM_PROXY_URL (e.g. socks5://user:pass@127.0.0.1:1080) to route MTProto through an egress when the host's own IP has Telegram blocked. Unset = direct connection (unchanged). Enabled via grammers' proxy feature in vasya-core.

[0.7.7] - 2026-06-10

Security

  • Telegram sessions are now encrypted at rest (ChaCha20-Poly1305). The master key lives in the OS keychain (Keychain / Credential Manager), with a 0600 key-file fallback. Existing plaintext sessions are migrated automatically on first launch and the plaintext file is deleted.
  • Per-user account isolation on the sync backend: data routes accept a personal JWT and an account is bound to the first user who syncs it; other users get 403. Legacy shared-API-key mode still works unless REQUIRE_USER_AUTH=true.
  • Rate limiting on backend login/register (per-IP); JWT_SECRET fails fast if set but shorter than 32 chars.
  • Calls are now behind an off-by-default "Experimental" toggle (VoIP audio is not end-to-end encrypted yet).
  • Local Whisper is the default STT provider — no audio leaves the device unless you opt into Deepgram.
  • Tightened CSP (object-src/frame-src 'none', base-uri/form-action 'self').

Features

  • My QR Code: share your contact via a t.me QR like the native Telegram app (sidebar header → QR icon).
  • Backend account sign-in/registration in Settings → Storage (issues the JWT used for synced data).

Performance

  • File sending uses raw IPC (binary body) instead of a JSON number array — ~4× smaller bridge payload.

Fixes

  • Login phone field now formats per country (libphonenumber as-you-type) like the native Telegram apps — e.g. +998 90 829 55 93 instead of the mis-grouped +9 989 082 95 59 3.

[0.7.6] - 2026-06-10

Security

  • Deepgram API key is no longer embedded in the binary — add your own key in Settings → STT (or use local Whisper)
  • Validate transcription file paths (must stay inside app data dir)
  • Mask phone numbers in logs; remove stale .bak/patch files
  • Allowlist URL schemes in rendered messages (http/https/tg/mailto) — blocks javascript:/data:/file: links
  • Narrow asset protocol scope to the media directory; disable devtools and withGlobalTauri

Performance

  • Virtualized chat list and message list (@tanstack/react-virtual) — long chats no longer render thousands of DOM nodes
  • Chat list updates live on incoming messages: preview, unread badge, chat moves to top
  • Fixed re-render hotspots: proper Zustand selectors, rAF-throttled call audio levels, batched avatar updates, memoized translations, stable hotkey handlers
  • Autoscroll on new messages only when already near the bottom

Mobile (iOS/Android)

  • The app can no longer be dragged down past the top (document rubber-band) — native WKWebView bounce disabled + CSS overscroll-behavior
  • Pinch/double-tap zoom of the UI is disabled (in-app image viewer zoom still works)
  • Media auto-download is viewport-scoped: only photos/stickers/voice actually on screen are fetched; scrolling away cancels queued downloads; tap-to-download jumps the queue

Vasyapp v0.7.5

02 Apr 21:36

Choose a tag to compare

See the assets below to download and install this version.

Vasyapp v0.7.4

02 Apr 13:05

Choose a tag to compare

See the assets below to download and install this version.

Vasyapp v0.7.3

16 Mar 08:10

Choose a tag to compare

Bug Fixes

  • Fix Android keyboard squishing entire app — switch from resizes-content to overlays-content
  • Keyboard now overlays content instead of compressing it; input lifts above keyboard via --keyboard-height CSS var
  • Auto-scroll messages to bottom when keyboard opens on mobile

Vasyapp v0.7.2

16 Mar 07:04

Choose a tag to compare

Bug Fixes

  • Fix Android keyboard pushing content up by using visualViewport API
  • Add interactive-widget=resizes-content viewport meta for proper keyboard handling
  • Replace 100dvh with var(--app-height) CSS variable computed from visualViewport.height
  • Fix MessageInput padding-bottom override (safe-area-inset-bottom was being ignored)

Vasyapp v0.7.1

15 Mar 07:35

Choose a tag to compare

See the assets below to download and install this version.

Vasyapp v0.7.0

15 Mar 23:39

Choose a tag to compare

See the assets below to download and install this version.

Vasyapp v0.6.0

15 Mar 23:39

Choose a tag to compare

See the assets below to download and install this version.

v0.5.0 — Message Bubbles, Unread Badges, Enhanced Search

14 Mar 17:48

Choose a tag to compare

What's New

Telegram-Style Message Bubbles

  • Rounded bubble shapes with tail effect for outgoing/incoming messages
  • Colored sender names in group chats (8-color palette)
  • Message grouping: consecutive messages from same sender within 3min
  • Sender avatars in group chats
  • Inline time + read status inside bubbles

Unread Badges

  • Unread message count on each chat in the list
  • Gray badges for muted chats, accent color for normal
  • Unread chat count on folder/tab icons in sidebar

Enhanced Search

  • 3 sections like Telegram: Contacts & Chats, Global Search, Messages
  • Global user/channel search via Telegram API
  • Message search across all chats
  • "Show more" for global results

Media & Voice

  • Voice recorder with waveform visualization (OGG/Opus)
  • Attachment menu: photo/video, document, camera capture
  • Microphone button when input is empty (Telegram-style)

Hotkeys & Navigation

  • Arrow Up/Down to navigate chat list
  • 27 Telegram-like hotkeys (Cmd+K, Cmd+F, Ctrl+Tab, etc.)
  • Hotkeys settings page with categories

Other

  • Placeholder call buttons (coming soon)
  • Disabled autocomplete/autocorrect on all inputs
  • Changelog page on landing site

Full Changelog: v0.4.0...v0.5.0

v0.4.0 — Forum Topics Support

14 Mar 14:52

Choose a tag to compare

What's New

Telegram Forum Topics Support

Full support for Telegram forum-style supergroups (topics/темы):

  • Forum detection — forum groups are detected and marked with a badge icon in the chat list
  • Topic list — clicking a forum group shows its topics with colored icons, pinned/closed indicators, and unread counts
  • Topic messaging — read and send messages within individual topics
  • Navigation — seamless chat → topics → messages flow with back navigation and Escape key support

Technical Details

  • Backend: raw TL API calls (messages.GetForumTopics, messages.GetReplies) via grammers
  • Frontend: new TopicList component, updated MessageList/MessageInput with topicId support
  • SQLite migration adding is_forum column
  • i18n: English + Russian translations

Full Changelog: v0.3.0...v0.4.0