Release pack published: 23.07.2026
Release 1.26.7
Devices page: visible sync status, compact round row buttons on phone
- The sync/toggle result message on the Devices page rendered at the very bottom of the LAST section (pairing) — on the phone, tapping «Синхронизация» on a device row at the top left the outcome («Устройство не найдено в локальной сети…») invisible below the fold (field report: "система подвисает, потом в невидимом подвале пишет что устройства не в сети"). Device-list actions (sync, enable/disable, rename, list load, sync-mode) now report into a status line right under the device list; the bottom slot keeps only pairing messages.
- On the phone, the per-device action buttons (sync, enable/disable) are no longer full-width stacked bars: they are small round icon buttons (34px) in a row, like the attachment-card transfer actions. Desktop keeps the labeled buttons.
---
Version history
Version 1.26.6
About: no more redundant version line
- The About dialog no longer prints "Latest version: X · you have X" — with both versions equal the line was pure tautology, and the running version is already shown right above it. The update checker now shows a single status line: "You have the newest version." when up to date («У вас самая новая версия»), or "A new version is available — updating is recommended." («Есть новая версия, желательно обновить») when the manifest carries a newer one. about.latestVersion / about.yourVersion keys removed, about.upToDate / about.updateRecommended reworded in all 20 locales.
Version 1.26.5
Notes («Заметки») now sync between own devices
- Device sync never carried the Notes self-chat (field report): notes, note attachments and note edits/deletes were stored locally without a sync-journal event, and mutation dispatch exited on the "no peer" branch before journaling. Notes are now journaled as canonical message_out / mutation events under the account's OWN public key — exactly how the self conversation is addressed everywhere else — and the replay side locates the Notes chat by chat MEMBERSHIP (the sibling's chat lives under its own self-contact id; a contact row is no longer required, though it remains a fallback that can create the chat). Replayed notes arrive already 'read'. Pre-fix notes were never journaled and stay device-local (ratified journal rule: history exists from the version that writes it).
Version 1.26.4
Auth screens polish; stale import flag ate the password field; contacts empty state
- CRITICAL (desktop, multi-profile): cancelling the backup-file picker after "Импорт профиля" on the profile selector left the import-into-new-profile flag set forever — every later profile unlock then rendered the brand tagline and a "back to profiles" link with NO password field and NO button. The flag is now reset when the picker is cancelled and when reading the picked file fails.
- Auth headers: the create-profile screen is titled "Добавить профиль" (was "Создание профиля"), and the import flow shows "Импорт профиля" instead of the brand tagline.
- Import mode hints ("привязать"/"восстановить") now say «сетевой идентификатор» instead of «сетевую идентичность» (all 20 locales use the identifier term).
Version 1.26.3
Debug builds: opt-level 1 (the real fix for slow media crypto)
- The 1.26.2 per-package opt-level overrides barely moved the needle (field: the 942 MB video still opened in 5-7 s on the debug APK, ~3 MB/s streaming). Host bench proved why: RustCrypto's generic cipher cores monomorphize into the application crate and compile at its opt-level, so optimizing the dependency crates gives 7.5 → 11 MB/s only. [profile.dev] opt-level = 1 puts the same bench at 804 MB/s (release: ~2 GB/s) while keeping debug asserts and usable debuginfo. Release builds unchanged — they were always fast; the slow media path only ever affected debug installs.
Version 1.26.2
Veyra.exe binary name; desktop "Close" menu item; fast crypto in debug builds
- Windows: the installed executable is now Veyra.exe instead of veyra-messenger.exe (mainBinaryName in tauri.conf.json — tauri v2 keeps the cargo crate name unless overridden). Applies to the NSIS install, the portable exe and the Linux binary; buildall collection paths, run-test-clients.cmd and BUILD.md updated.
- Debug builds: the chunked-attachment AEAD ran at ~2-3 MB/s under opt-level 0 (field: the 942 MB video on the debug APK buffered for tens of seconds — ~75 ms per 256 KB chunk; release builds are fast). Crypto crates (chacha20/poly1305/aead/cipher and friends) are now compiled with opt-level 3 in the dev profile.
- Desktop hamburger menu: new "Закрыть" item that fully quits the app (same path as the tray "Выйти", bypassing close-to-tray). Reason: Ubuntu's stock GNOME shows no tray icon, so after closing the window with the X the app kept running with no reachable way to open or stop it. New quit_app command; the quitting flag moved to a process-wide static so both exits share it. Locales ×20.