Що нового Що нового у VoiceHotKey — нотатки про випуски для Mac, Windows, iOS, Android та Linux. Фільтруйте за своєю платформою.
Усі
Mac
Windows
Linux
iPhone
Android Блискітки у рядку меню під час дій ШІ Анімація блискіток для дій ШІ на іконці у рядку меню. Виправлення вставки кирилиці в Telegram Виправлення
вставка кирилиці в Telegram — мульти-форматний буфер обміну (CF_TEXT + CF_UNICODETEXT), HGLOBAL-и GMEM_FIXED, ANSI-кодова сторінка з урахуванням писемності. Імена мікрофонів у UI: прибрано локалізований префікс «Microphone» для чистоти списку. У комплекті йде ScSignTool, тож підписування релізу більше не залежить від системного PATH. Повторна перевірка буфера обміну після закриття і таймер відновлення на 1 с. Новий пункт меню «Голос у текст» з розумною обробкою кліку по рядку стану. Налаштування «Show Floating Animation» дозволяє приховати оверлей під час запису. Виправлення
місце вставки при диктуванні в Notion. Скасування транскрипції тапом по обертовій анімації (з пільговим періодом 1 с). «Cancelled» відображається червоним в історії. Покращення
таймаут читання/запису OkHttp зменшено з 2 хв до 1 хв. Налаштовувані кольори Air Button Налаштовувані градієнтні кольори для Air Button, з вибором кольору прямо в налаштуваннях. Іконка в рядку меню стала анімованим SwiftUI-виглядом у стилі AirButton. Виправлення
смуги амплітуди завмирали після заповнення аудіобуфера. Увесь рядок інструментів ШІ тепер клікабельний для перемикання кожного чекбокса. Вибір кольору Вибір кольору в налаштуваннях для кастомізації кольорів мікрофона та градієнта анімації. Динамічні кольори Material You для мікрофона. Живий попередній перегляд при перетягуванні повзунків кольору. Опція показу кнопки скасування під час запису. Жестове меню ШІ, анімації як у macOS Рефакторинг процесу запису — вибір дії ШІ після запису через жести. Радіальна анімація OK для запису, як у macOS. Іконка AirButton, як у macOS. Обертовий дуговий спінер, як у macOS. Опція ставити звук інших застосунків на паузу під час запису. Перемикання між буфером обміну та прямою вставкою тексту для диктування. Правий клік у будь-якому місці оверлея запису скасовує його (лівий клік більше не скасовує). Радіальні смуги амплітуди тепер починаються одразу за колом OK для кращої видимості шепоту. Archive script: виправлення нотаризації через notarytool submit, stapling та перевірку. Air Button стає за замовчуванням Air Button за замовчуванням відображається розміром 32 px, діапазон повзунка 16–32 px. До підстановок додано опцію чутливості до регістру. Кнопки ретранскрипції за кожною мовою в елементах історії. Обертовий дуговий спінер у стилі macOS. Програмна іконка Air Button з концентричними колами (більше не PNG). Правий клік для скасування запису на анімаційному оверлеї. Air Button, перетягуваний оверлей, обертовий спінер Air Button став перетягуваним; оверлей запису уніфікований і можна змінювати його позицію. Обертовий дуговий спінер замінює крапки транскрибування. Радіальні смуги амплітуди замінюють кругові кільця гучності під час запису. Кнопка OK і кругова анімація гучності замінюють хвильову форму запису. Покращення
чутливість безперервного мовлення. Виправлення
періодичний збій вставки (Cmd+V тепер надсилається синхронно). Автовибір моделі за замовчуванням з сервера (прибрано захардкоджений gpt-4o-mini). Виправлення
вхід за email-посиланням (long-poll тепер справді працює). Виправлення
диктований текст вставлявся у неправильне місце при курсорі в середині речення. Виправлення
диктування не зберігалося в Google Keep. Air Button перероблено з програмними концентричними колами і трьома розривами у зовнішньому кільці. Постобробні хоткеї camelCase і Title Case. Використовує джерела введення клавіатури для вибору мов транскрипції за замовчуванням при першому запуску. Виправлення
зовнішній USB-мікрофон перекривався вбудованим мікрофоном MacBook. Чергування кольорів рядків у списку хоткеїв з урахуванням теми. Налаштування «Show press-and-hold option» — приховати чекбокс «утримання» за замовчуванням. Виправлення
відображення хоткеїв показувало модифікатори після звичайних клавіш (наприклад, 1+Ctrl). Виправлення
вставка друкувала одну літеру замість Ctrl+V на російській розкладці. Виправлення
порожній список хоткеїв після свіжого входу. Перетягування для зміни порядку хоткеїв з індикатором цілі. Багаторядкове введення для полів заміни в підстановках. Чергування кольорів рядків для груп хоткеїв. Виправлення
падіння при відключенні аудіопристрою під час активного запису. Покращення
пакетна передача evdev та кешування XID X11-оверлея знижують навантаження на конвеєр введення. Виправлення
падіння у процесі авторизації при переході застосунку у фон. Виправлення
падіння при порожньому списку AI-серверів. Виправлення
падіння при повторній доставці long-poll запиту авторизації. Зберігається «останній робочий» API-сервер для перемикання при збої ендпоінта. Автоматичне копіювання ретранскрибованого тексту в буфер обміну в історії. Виправлення
артефакти пунктуації/пробілів/регістру після порожніх підстановок. Резервування API всюди Резервування API-серверів для всіх збірок — застосунок переживає відмову окремих ендпоінтів. Перейменовано «Manage» → «Manage subscription» у всіх 59 перекладах. Покращено логіку напису на кнопці підписки з використанням серверних прапорів. Виправлення
кнопка Manage subscription не відкривала браузер через пробіли в URL. Виправлення
підстановки не працювали для нелатинських мов (російська, CJK тощо). Покращено обробник падінь для випадків пошкодження купи/стеку. Дампи падінь тепер включаються до ручних звітів про проблеми. Резервування API-серверів із захардкодженими значеннями за замовчуванням і api_version=2. До deviceId додано ANDROID_ID для унікальної ідентифікації пристрою. Зменшено затримки GTK у вкладці історії, щоб запобігти зависанню хоткея. Виправлення
хоткей назавжди помирав після затримок головного потоку GTK. Виправлення
хоткей не відповідав 3–6 с (операції X11-оверлея перенесено з головного потоку GTK). Захисні обмежувачі запису, що запобігають випадковим коротким/дублюючим записам. Виправлення
зависання кнопки звіту (таймаути підпроцесів і виправлення подвійного логування). Стабільність захоплення аудіо Фіналізація потоку vorbis до від'єднання пристрою WASAPI, щоб запобігти пошкодженню купи. Вимкнено WASAPI AUTOCONVERTPCM для пристроїв захоплення. Скасування всіх HTTP-запитів через CancelToken. Виправлення
хоткеї помирали після відключення клавіатури (цикли перепідключення). Виправлення
падіння через пошкодження купи при зупинці запису на Windows 10 14393. Виправлення
стан гонитви в аудіо-колбеку при зупинці захоплення. Приховування мікрофона, коли пристрій неактивний (блокування, doze, Always-on Display). До відображуваних імен кнопок миші додано префікс «Mouse». Виправлення
режим утримання кнопки миші. Реліз у Mac App Store Діалог згоди на обробку даних для MAS Guidelines 5.1.1(i) / 5.1.2(i). Єдине ім'я пакета «VoiceHotKey» для MAS та Direct-дистрибутивів. Ім'я пакета лаунчера зафіксовано як «VoiceHotKey Launcher» у всіх локалях. Нейтральний текст «Continue» замінює директивні запити дозволів для перевірки MAS. Хоткеї миші, вкладка AI, вкладка Files Підтримка хоткеїв на кнопки миші. Підтримка буфера обміну X11 і режиму утримання. udev-правило uinput і запит на перезавантаження встановлювача при додаванні до групи input. Вкладка AI з керуванням користувацькими промптами (лише для моделей completion). Вкладка Files для транскрипції аудіо/відеофайлів. Вкладка About з інформацією про застосунок, копірайтом і соц-посиланнями. Перевірки цілісності встановлення. Резервування API-сервера з використанням списку api_servers, наданого сервером. Перемикання при не-JSON відповідях API (помилки nginx/проксі). Виправлення розбору відповіді SSE-потоку при транскрипції файлу. Приховування оверлея при блокуванні пристрою або Always-on Display. Резервування API-серверів. Резервування API-серверів для всіх API-викликів (зі значенням api2.voicehotkey.com за замовчуванням). Попередження при збої хоткеїв через відсутність прав на групу input. Автоматична перевірка підписки при запуску через entitlements StoreKit 2. Вбудоване керівництво з accessibility замінює окреме вікно навчання. Позапроцесний AccessibilityStatusHelper для точного стану дозволів TCC. Налаштування перейменовано на «Restore Clipboard After Pasting» (значення за замовчуванням інвертовано). Перевірка хешу SHA256 для автооновлень. Повна заміна хоткеїв, керована сервером (логіку злиття прибрано). Налаштування — зупиняти запис на вкладці Files хоткеями. Перетягування для зміни порядку хоткеїв. Оверлей більше не заважає листам покупок App Store. Відновлення підписки тепер використовує original_transaction_id для виявлення конфліктів. Рік у копірайті оновлено на 2026. Перетягування для зміни порядку хоткеїв на головній вкладці. Прибрано поняття «основний хоткей» — усі хоткеї тепер рівноправні. Серверні URL релізів для перевірок оновлень за регіонами. Порожній рядок хоткея при першому запуску, коли хоткеї не задано. 13 нових мов інтерфейсу 13 нових перекладів інтерфейсу з перемиканням мови в реальному часі. Кешування аудіопристроїв, щоб уникнути повторного перелічення ALSA. Точне визначення дистрибутива і середовища робочого столу для звітів про помилки. Нова дія хоткея PasteLast — вставити останній результат з історії. Спрощене меню Intelligence з окремими діями Translate і Fix Layout. Мова та модель за замовчуванням для дій перекладу з серверною заміною моделі. Виправлення
китайські лапки в zh.rc спричиняли помилки компілятора RC. X11 + Wayland, x86_64 + aarch64 Виправлення сумісності з Linux Mint; інтеграція з іконками/меню Cinnamon; підтримка emoji-шрифтів. 4-збіркова архітектура — X11 + Wayland для x86_64 та aarch64. Підтримка віддаленої збірки через SSH для крос-архітектурного деплою. Резервний механізм автовставки на X11 через xdotool. Прибрано «Upgrade Pro» для користувачів, які вже мають Pro. Виправлення
дата закінчення використовувала локальну дату. Підтримка мульти-архітектур x86_64 і aarch64. Неперервні автооновлення застосовуються, коли застосунок простоює. Логи перенесено в постійне місце з ротацією за розміром. Кешування балансувальника для стійкості в офлайні. Повтор за конкретною мовою, dev-режим, оновлення лише на підвищення версії. Визначення пакетів ALSA для Ubuntu 24.04+. Автовстановлення та автооновлення Інфраструктура автовстановлення і автооновлення з перевіркою SHA256 і стисненням UPX. Іконку мікрофона замінено на кастомну, натхненну macOS. Транскрипцію та обробку ШІ об'єднано в один запит. Глобальний пристрій та паралельні операції для зниження затримки вставки. Оверлей запису з анімацією хвилі та спливаючою історією. Вкладка Substitutions для правил заміни тексту. Вкладка Report Problem для надсилання звітів про помилки. Реальні рівні звуку під час запису. Збереження/відновлення розміру вікна при перезапуску. Встановлює і CLIPBOARD, і PRIMARY-виділення при вставці. Linux MVP Перший клієнт для Linux — хоткеї, історія, вставка з буфера, вхід, підстановки, дії ШІ, мови. Чорна тема Чорна тема. Додавання хоткея через кнопку «+» на головній вкладці. Коректна обробка перезапуску/виходу з системи Windows. Кнопка повтору при ретранскрипції. Повідомлення про помилку при зміні режиму з недійсною ліцензією. Виправлення
записи зависали в обробці після скасованого завантаження. Диктування тепер вставляє текст у середину наявного, а не замінює його. Обробка множинної пунктуації; умовна вставка префікса/суфікса. Зменшено зростання CPU під час запису (таймер перенесено в AppState, щоб уникнути циклів утримання). Скидання appStatus з колбеків для гарантії стану `.idle` після операцій. Панель запису виводиться вперед одразу, щойно стає доступною. Блокуються події реактивації, не ініційовані користувачем; додаткове логування навколо реактивації. Згортання вікна замість виходу із застосунку при закритті. Виправлення
повідомлення про помилку ліцензії ховається при її оновленні. Натисніть Esc, щоб зупинити запис Додано опцію зупиняти запис натисканням Escape. Подію Esc поглинається при скасуванні, щоб не поширюватися на інші застосунки. Резервний механізм і розширене логування для періодичної видимості анімації транскрибування. Запис через Bluetooth Опція запису через Bluetooth з диференційованою обробкою аудіоджерела. Вібровідклик. Захист при вимкненому Bluetooth. Виправлення
стрибок верстки на пристроях Samsung. Придушення ненавмисної активації застосунку протягом 1,5 с після пробудження або зміни джерела живлення. Резервна логіка позиціонування при відсутності `kCGWindowBounds` — оверлей завжди з'являється. Зменшено розмір каналу для запобігання високого споживання пам'яті. Виправлення
численні потенційні падіння при ініціалізації. Мікс голосу та навушників у текст Мікс аудіо — голос і навушники транскрибуються разом, нормалізуються та скидаються щосекунди. Виправлення
стан гонитви при мікшуванні аудіо. Обхідний шлях для застосунків з непостійним фокусом, таких як ChatGPT Atlas і Notion. Економія батареї, коли користувач не увійшов або вийшов із застосунку. Email включено в ім'я лог-файлу; довжину імені обмежено 255 символами. Інструмент ШІ «translate» додано в меню Air Button. Розташування інструментів ШІ по колу з підтримкою кліку мишею. Оновлено кілька бібліотек. Навчання тимчасово вимкнено. Виправлення
нижня кнопка історії не була видима, якщо у користувача є нав-бар. Виправлення продуктивності процесу запису. Індикатор завантаження під час запиту покупки. Оновлено версію бібліотеки billing. Виправлення
падіння через доступ із головного потоку і змінюваність. Додано `PowerSourceMonitor` для зіставлення підключень зарядки з активаціями застосунку. Air Button виходить на Windows Air Button — перша поява на Windows (збігається з дизайном macOS). Знижено частоту опитування мікрофона, щоб уникнути збоїв CoreAudio і неповних списків пристроїв. Виправлення
падіння через примусове розгортання координат оверлея. У збірці Mac App Store не реєструється Open at Login за замовчуванням. Кнопки Terms of Service і Privacy Policy перенесено до меню About. Додано опцію видалення акаунта (збірка 467). Зміни коду у відповідь на «Missing Screen Recording Usage Explanation». Виправлення
втрачені мережеві дозволи через редагування entitlements. Ручний вибір мови мовлення Опція ручного вибору мови мовлення. Примусовий повтор на іншому сервері при будь-якій помилці транскрипції. Коректне перепозиціонування при виборі мови мовлення. Один масштаб для запису і ШІ-транскрипції. Спостерігачі пробудження гарантують показ оверлея після пробудження. Виправлення
визначення дозволів Accessibility на macOS ≥ 12 і < 15. Застосування accessibility без перезапуску. Дружня до Mac App Store обробка перезапуску для Accessibility. Прибрано залежності AlamoFire, Moya і KeyboardKit. Бібліотеку KeyboardShortcuts оновлено до 2.4. Анімації запису та транскрипції у стилі Mac. Логіка вибору сервера. Не показувати опцію мови, якщо користувач говорить лише однією мовою. Уперше показувати підказку «stop speaking». Визначення відкликаних дозволів Accessibility під час виконання і безпечний перезапуск застосунку замість заморожування системи CGEvent. Автоматична активація застосунку при вимкненні дозволів Accessibility у рантаймі. Сумісність з API v2 Сумісність з API v2 і жорсткішим контролем доступу. Debounce для `LoginResourceService.refreshUserInfo()`. Автовизначення видачі Accessibility і перезапуск застосунку для застосування. Мова введення для кожного хоткея Додано вибір мови введення на рівні `UserShortcut`. Нова дія ШІ «Start with an Uppercase letter». Виправлення
падіння Core Data, коли у сутності `UserShortcut` nil UUID. Виправлення
розрахунок радіуса анімації та довжини хвилі. Підтримка дії upload-file. Показ меню мови мовлення під час запису. Скидання мови мовлення при зупинці транскрипції. Підготовлено виглядання анімації хвильової форми. Спливаюче вікно рейтингу з тротлінгом — не показується, якщо користувач уже оцінив або обрав «never rate». Виправлення
тап у будь-якому місці зупиняв запис. Покращення
швидкість перемикання вкладок. Балансувальник пропускає недоступні сервери і оновлює список, якщо він порожній. Зручний метод для API-викликів. Оновлення до рекомендованих налаштувань проєкту Xcode 26. Виправлення
численні попередження Swift concurrency та deprecation. Додано опцію максимального рівня мікрофона з перекладами. Очищено систему локалізації (прибрано непідтримувані Whisper мови — киргизька, ірландська, догрі, раджастані, санскрит тощо). Запобігання стану гонитви при швидкому перемиканні Accessibility. Миттєве відображення при активації Accessibility. Додано підтримку `api_version=2` (WIP). Збереження налаштувань через ендпоінт `/users/config`. Потенційне виправлення зміни мови на iPhone SE. Номер телефону зберігається у формі звіту. Перейменування на Air Button і єдиний вибір мікрофона «Floating Button» перейменовано на «Air Button» по всьому застосунку. Уніфіковано логіку вибору мікрофона у меню. Контекстне меню на Floating/Air Button. Додано меню приховування кнопки. Показ опції upload-file. Виправлення
шерінг з WhatsApp (і, ймовірно, інших застосунків). Запобігання падінню при парсингу відповідей сервера (Gson). Спроба знову відкрити застосунок після переустановлення. Вихід з усіх активностей, коли користувач змахує сповіщення. Виправлення
застосунок не можна було закрити за відсутності активної активності. Зміна розміру кнопки та анімації із Settings уникає дивних обрізань. Відновлення фокуса після взаємодій з оверлеєм. Легкий тактильний відгук на повзунках. Попередження про пробну ліцензію. Безперервний голос-у-текст. Спливаючі підказки на всіх елементах при наведенні. Керування плаваючою кнопкою Опції плаваючої кнопки перенесено на окрему вкладку з розширеними налаштуваннями. Повзунки прозорості та розміру плаваючої кнопки, гаряче перезавантаження розміру/позиції. Дозволено перетягування під час запису. Дія ШІ «Start upper-case without terminal mark». Вибір аудіопристрою Діалог вибору аудіопристрою з живим індикатором гучності (оновлення 5 разів на секунду). Локалізоване «system audio» в анімації запису. Копіювання транскрипту в буфер обміну. Налаштування «Pause keyboard and mouse tracking». Виправлення
запис зупинявся через 1 хвилину. Перемикач «Stop recording manually» з таймером. Ребрендинг у VoiceKey Виконуваний файл C++-переписаного застосунку перейменовано з VoiceHotKey на VoiceKey, щоб відрізнити його від .NET-версії. Новий процес голосової транскрипції Новий процес голосової транскрипції. Анімація звукової хвилі під час запису. Додано позицію оверлея знизу по центру. Шерінг файлів з історії. Більше дій копіювання в буфер обміну. До елементів історії додано пункти меню. Прибрано діалог дозволу «run at startup». Приховування вмісту вкладки Main, коли користувач не авторизований. Збереження у файл з історії. Зміна відстеження миші/клавіатури. Плаваюча кнопка + вкладка Files Плаваюча кнопка з кнопками дій. Вкладка Files — ретранскрипція з історії, хвильова форма під час запису. Кнопка скасування під час запису. Тривалість запису відображається в історії. Реальний рівень голосу під час запису (замість анімації). Опція видалення часових міток. Оновлення списку аудіопристроїв при додаванні/видаленні/увімкненні/вимкненні пристрою. Керування розм'ютом і рівнем мікрофона (узгоджено з порогом рівня C#-застосунку). Виправлення розміру вікна Remind-to-use. Логіка скасування під час транскрибування. Тривалість аудіо відображається в історії. Нагадування про використання застосунку Функція «Reminder to use app» (нагадує продиктувати, якщо ви багато друкували). Приховування кількох невикористовуваних іконок у збірці VHK keyboard. Підтримка iPad Функція видалення акаунта. Підтримка iPad зі скріншотами для iPad. Колір кнопки верхньої панелі клавіатури змінено за зауваженням Apple. Зворотний зв'язок при відтворенні аудіо-транскрипцій. Кнопка скасування запису. Опція «лише згортати в трей». Оновлення процесу TranscribeLast. Головне меню переміщено ліворуч. Налаштування перенесено ліворуч; до назв вкладок додано емодзі; розмір вікна можна змінювати. Хоткей скасування (окремий від транскрибування). Опція «лише згортати в трей». UI налаштувань тривалості і таймаутів. Підтримка проксі. Тема за замовчуванням — системна. Теми + дії «Почати з» Підтримка тем (перша реалізація). Дії ШІ «Start with...». Обробка Unauthorized. Нові дії ШІ. Дія ШІ «Start with lower case without terminal sign». Compose-модуль для встановлення додаткових мов. Сторінка зі списком встановлених мов. Скидання стану віртуальної клавіатури при блокуванні/розблокуванні екрана. Оптимізація розкладки головного діалогу — менше місця між головним меню і вмістом. До реєстру додано Publisher та очікуваний розмір встановлення. Фокус введення клавіатури при навігації через головне меню. Вставка тексту в сфокусований контрол редагування. Додано налаштування директорії запису. Виправлення мерехтіння при зміні DPI. Відокремлення VHK Mic від клавіатури Дублювання проєкту для створення окремого застосунку «vhk-mic», незалежного від застосунку клавіатури. Окремий онбординг і поведінка для mic- і keyboard-застосунків. Висновок дії з кінцевого хоткея. Показ lottie-анімації на кожному моніторі. Збереження позиції прокрутки при видаленні елемента з історії. Виправлення
дублікати елементів в історії. Виправлення
пріоритет мов допускав дублікати. Вирівнювання контролів головної вкладки. Нові мови інтерфейсу — id (індонезійська), kk (казахська), uk (українська). Діалог після встановлення. До звітів користувачів прикріплюється журнал подій застосунків Windows. Перевірка системних налаштувань доступу до мікрофона Windows перед записом. До звіту користувача додається список запущених процесів. Автооновлення самого завантажувача. Оптимізація пам'яті та виправлення витоків пам'яті. Вкладка Files Додано вкладку Files для транскрипції аудіо/відеофайлів. Вкладка History — кнопка відтворення запису. Клік по елементу історії копіює в буфер обміну. Виправлення перетворення UTC-рядка дати/часу. Вкладка History Вкладка History — кнопка «try again». Виправлення
проблема з мікрофоном на iOS 18. Виправлення
не вдавалося зупинити або запустити запис. Застосування оновлення до нової версії, коли застосунок простоює. Перетворення останнього запису у текст. Діалог ШІ — реалізація клавіатурних хоткеїв. Перевірка підключення до інтернету перед оновленням даних або надсиланням звітів. Покращені повідомлення про помилки (менше «Something went wrong»). Виправлення
довгий вивід TextAI додавався замість заміни. Голос-у-текст на вкладці Main Логіка голос-у-текст на вкладці Main. Реалізовано REST-ендпоінт `/transcribe_with_ai`. Вибір AI-сервера для `/completions`. Діалог ШІ Початкова реалізація діалогу ШІ. Нативний контрол редагування замінено на кастомний (Direct2D). Кастомний контрол редагування — однорядковий режим. Авторизація через опитування посилання Авторизація через опитування посилання. Збільшено тривалість зеленого банера. Кнопка скасування на вікні анімації. Автооновлення запускає перезапуск лише коли застосунок простоює. До завантажувача додано інформацію про версію. Надсилання звітів про падіння при запуску. Вкладка About — Report Problem. Підписки Реалізація підписок. Дії ШІ сортуються за частотою використання. Екран поточної підписки. Налаштування «Run on startup». Очищення попереднього встановлення для чистого встановлення. Встановлювач NSIS Встановлювач через NSIS-скрипт. GitHub Actions розділено на develop і release workflows. Гарантія одного екземпляра застосунку (вивести працюючий на передній план). Кастомний combobox з емодзі/зображеннями на головній вкладці. Підтримка placeholder у полі введення. Оновлення кольорів світлої теми. Чернетка Direct2D-редагування (ручна обробка клавіші tab). Попередження юзабіліті Представлено «Usability Warnings» — проактивне відображення проблем з клавіатурою, мікрофоном і accessibility. Підтримка кольорових шрифтів для емодзі. Скасовані записи тепер показуються в історії. Покращення
перенесення тексту і продуктивність прокрутки історії. Додаткові налаштування для дій ШІ. UI пріоритету мов. Автовизначення мови інтерфейсу при першому запуску. `refreshUserInfo()` тепер мовчки завершується, коли інтернет-захист закрито. DeepL + проксі Підтримка перекладу через DeepL. Підтримка HTTP-проксі. Клієнтська перевірка розширень файлів. Переписано процес завантаження файлів — скасування задачі транскрипції, індикатор прогресу, хешування SHA256. Mock-сервер API для інтеграційного тестування. Обробка UpgradePlan; помилки балансувальника; обробка онлайн/офлайн. Запуск/зупинка визначення клавіатури лише при потребі (економить батарею). Протестовано на Vivo X70 Pro. UI помилки ліцензії на верхньому рівні. Вікно спливаючих підказок. Покращення продуктивності визначення клавіатури. Виправлення
потенційний NPE. Швидке визначення клавіатури Прискорення визначення клавіатури — збирає всі вузли одразу. Негайна зупинка пошуку, щойно знайдено редагований елемент у фокусі. Виправлення
детектор клавіатури іноді не спрацьовував. Транскрипція файлів Можливість транскрибувати аудіо- та відеофайли. Авторизація через long-polling Long-polling авторизація (вхід через email-посилання). Логування REST API. Оновлення до Java 21 (потім відкат на 17); підвищення версії Kotlin. Друк причини останнього виходу при старті застосунку. Виправлення
потенційний NPE, коли у користувача немає мітки закінчення терміну. Повне меню macOS «About». Завжди повертатися до основного джерела введення при відпусканні клавіші запису — виправляє проблему E/T для російської розкладки. Реалізація ендпоінта `/users/info`. Контрол індикатора прогресу. Idle CPU ≤ 1% Покращення продуктивності по всьому застосунку — споживання CPU у простої знижено до ≤ 1%. Уніфіковано відображення хоткеїв у рекордері, рядку меню та меню dock. Обчислення Device ID. Збір системної інформації. Коротша версія дії ШІ. Скасування дії ШІ. Логіка спрацювання хоткеїв. Інтеграція Play Integrity. Email використовується як account id. Timber для логування. Внутрішні покупки Реалізовано функцію Google Play billing. Збереження чека про покупку в БД застосунку. Активність зі списком покупок; закриття активності при успішній покупці. Скасування з оверлея Запис, завантаження та обробку тепер можна скасувати з оверлея. Реакція на зміну системи координат багатомоніторної macOS (TopLeft → BottomLeft origin). Міграція налаштувань з C# Збереження налаштувань mic, mic2, lang і theme + міграція з формату зберігання C#-застосунку. Міграція загальних налаштувань і хоткеїв зі сховища C#. Рівень логування додано в налаштування. Підтримка активації хоткеєм на кнопці миші для вікна AI Presets. До логування додано тест затримки для обраного балансувальника. Централізований доступ до `NSPasteboard` через ClipboardHelper. Активність тарифних планів. Купівля товарів з вебу через вбудований браузер. Виправлення
колір мікрофона некоректно відображався у світлій темі. Спливаюче вікно billing при кліку на дату закінчення. Виправлення
клавіатура ховала поле введення. Функція надсилання звіту з логуванням. Хоткеї у меню Dock Усі хоткеї тепер доступні з іконки macOS Dock. Залежність від сповіщення `NSManagedObjectContextDidSave` замінено на реалтайм-рішення. Оновлення мікрофона при пробудженні системи — виправляє ігнорування USB-C/TB мікрофонів, підключених до зовнішнього екрана. Збереження налаштувань при перемиканні між голос-у-текст і копіюванням тексту. Зниження споживання CPU менеджерами хоткеїв за рахунок меншої залежності від БД. VHKToastView Представлено `VHKToastView` — систему спливаючих повідомлень з кольоровим кодуванням і реакцією на тап. Переупорядковувані хоткеї Можливість переупорядковувати хоткеї з покращеннями UX/UI. Підтримка хоткея на кнопці миші для `SendReportView`. Покращення логіки, потоку і стабільності `KeyShortcutRecorder` і `MouseShortcutManager`. Краще візуальне розділення між хоткеями. Перетягування для хоткеїв. Опція увімкнути мікрофон, встановити рівень на максимум. Автофокус на полі хоткея при зміні значення комбінації. Показувати ім'я клавіші «Copilot» замість LWin+LeftShift+F23. Консолідація ендпоінтів. Примусове локальне збереження аудіо; міграція приватності; оновлення локалізації. Реалізовано функціональність Paste/Dialog для Action і Translate, як у Windows. Виправлення
зворотна сумісність з macOS Monterey. Переробка меню Actions + AI з перевіркою і відображенням eligibility. Повідомити про проблему Додано кнопку «Report problem». Додано файлове логування з фільтром приватності. Функція fix-layout для режиму буфера обміну (MVP). Увесь стан користувача перенесено до AccountService для коректної обробки зміни ліцензії. Міграція старих дій хоткеїв у нову систему дій. «Use AI without closing» — правий клік по `IntelligenceResultsView`. Кнопка редагування поруч з користувацькими промптами (відкриває AI Presets). Текстова дія ШІ + переклад Реалізовано текстову дію ШІ. Додано мови перекладу. Вхід обов'язковий для використання застосунку. Діаризація вимкнена за замовчуванням. Каркас переписування на C++ Початковий каркас C++-проєкту для Windows — початок переписування, яке пізніше замінить .NET-застосунок. Перехід на Room для локальної БД. Перероблено екран рейтингу для більшої привабливості. Виправлення
стан ШІ-транскрипції не відображався. Виправлення
складна прокрутка вгору в історії. Кнопку «Action» перетворено на випадаюче меню. Додано функцію рейтингу (#51). Тост при копіюванні елемента в буфер обміну (#52). ШІ відображається в історії. Прапори-емодзі поруч з мовами. Численні правки UI за Material Guidelines. Безперервний голос-у-текст Підтримка безперервного голосу-у-текст. Відображення мов як `Русский (Russian)` (ендонім + англійська назва). Оновлення локалізації і покращення порядку дій. Використання динамічних кольорів Material YOU. Розрізнення кольорів помилки/успіху в темній і світлій темах. Власні промпти + історія ШІ Користувацькі промпти (зберігайте свої промпти ШІ). Клік по елементу історії копіює в буфер обміну. Відображення і оригінального, і транскрибованого тексту в історії. Дії ШІ Дії ШІ — перша реалізація та інтерфейс. Скопіювати текст і спитати ШІ Реалізовано процес «Copy text and ask AI». Переробка логіки активації Перероблено логіку активації — простіше і надійніше. Виправлення обробки хоткеїв — фіксація порядку клавіш; підтримка звичайних хоткеїв з Control, навіть коли встановлено Control-хоткей. Редагування користувацьких промптів прямо з діалогу ШІ. Встановлювач для Windows 7 — додано залежність від net45. Міграція критичних налаштувань у новий формат. Показувати вікно якомога швидше, а потім виконувати ініціалізацію. Prejit при встановленні. Виправлення
баг, коли зникав текст при запиті дозволу на клавіатуру/мишу. Очищення помилки ліцензії при вході. Додано дію ШІ «Improve writing». Обробка помилок запуску для директорій root, logs та recording. Перевірка доступності балансувальника перед використанням; покращена логіка повторів для нестабільних мереж. Застосунок тепер можна розтягнути по вертикалі для збільшення секції хоткеїв. Відображення клавіш «D1» та інших цифрових як «1» (чистіше відображення хоткеїв). Обробка відключеного мікрофона у конвеєрі транскрипції. Діалог вибору мікрофонів обробляє випадок, коли немає онлайн-мікрофонів. Виправлення
витік пам'яті у селекторі дій. До звітів про проблеми додаються помилки Windows за останні 7 днів. Логування часу роботи і використання пам'яті. Додано вбудовані промпти ШІ, підтримку перекладу і тону в AI Results. ШІ в macOS Реалізовано функціональність ШІ з версії для Windows. Користувач зобов'язаний вказувати деталі звіту. До звітів про проблеми додано останні 20 помилок падінь. Основи ШІ Промпти ШІ за замовчуванням зі збереженням «last used». Прапор ліцензії `CanAI` замінює eligibility за моделями. Налаштування мов перекладу на вкладці AI. Список мов переведено в алфавітний порядок. Оверлей зберігається навіть коли macOS його закриває через оновлення дисплея, пов'язані з Handoff. Інтеграція Firebase Crashlytics. Покращення мульти-вставки. Поле телефону додано в Report Problem, зберігається в налаштуваннях. Відкат на мікрофон за замовчуванням при збої пошуку основного/вторинного. В основний UI додано меню мікрофонів; компактніший UI за рахунок ущільнення відступів. Вкладка Files досягає паритету Вкладка надсилання звіту в About. Опція без утримання за замовчуванням для хоткея. Зрозуміла користувачу помилка «немає інтернету». Виправлення
остання частина аудіо не транскрибувалася при завершенні. Базова автоматична транскрипція (розбиття довгого аудіо на чанки). Поріг тривалості тиші додано в налаштування (за замовчуванням 500 мс). `MouseShortcutManager` адаптовано для використання `CGEventTap`. Індикатор рівня при виборі мікрофонів. Окремий діалог для вибору мікрофона. Опція «default» для мікрофона. Перемикання на публічний сервер. Вкладка Files (завантаження + транскрипція) Початковий процес завантаження і транскрипції файлів на вкладці Files. Скасовувана транскрипція файлу з прогресом. Дозволено голосову транскрипцію під час транскрипції файлу. FleksySDK Інтеграція FleksySDK — друк і свайпи у системній клавіатурі. Backspace запускає функцію xmark; виправлено відображення F-клавіш. Нова система авторизації Нова система авторизації з refresh-токенами. Підтримка недрукованих символів Unicode Scalar + виправлено підтримку клавіші Fn. Підтримка `stream_progress`; прибрано застарілу опцію GPT. Власний рекордер хоткеїв Прибрано залежність від пакета KeyboardShortcuts — новий рекордер хоткеїв побудовано з нуля. Індексація часових міток історії пришвидшує базу даних. 60-хвилинний таймаут для транскрипції файлу; виправлено таймаути для великих файлів. Виправлення
часова мітка нагадування не оновлювалася під час транскрипції. Клавіша Space як підтвердження. Підказка на вимкнених діях. Ігнорування лівого Alt; підтвердження клавішею Tab. Історія Функція історії. Кнопка транскрипції у верхній частині клавіатури, налаштування перенесено ліворуч. Налаштування хоткеїв перероблено відповідно до версії для Windows. Окремий пункт меню для вибору хоткеїв з утриманням або без. Редактор хоткеїв обробляє колесо, escape, згортання, закриття, ctrl+enter (використовувати як є). Збереження/завантаження підстановок, промптів ШІ та хоткеїв. Якщо у застосунку фокус на текстовому полі — вставляти туди; інакше — в текстову область Files. Del або Backspace очищають хоткей. Вибір ШІ — звичайне вікно; збереження розмірів при закритті; дозволено запис у вікні ШІ. Опція затримки перед зупинкою запису. Оновлення підписки до транскрипції, якщо користувач щойно купив або підписка спливла. Додано опцію використовувати подвійний (або одиночний) тап клавіші для старту і зупинки запису. Помічник юзабіліті Usability Helper виявляє конфлікти з Punto Switcher і підказує, як їх вирішити. Доступ до списку підстановок з рядка меню. Інтерфейс — тап / утримання / повторний клік Режими транскрипції «натиснути-утримати-відпустити» і «клік-повторний клік». Налаштування максимальної тривалості запису. Виправлення
попередження компілятора. Виконується команда Quit з меню Apple. Опція показу/приховування іконки в dock. Lottie-анімація мікрофона Lottie-анімація для плаваючого мікрофона. Репозиторій для визначення поточного стану мікрофона. Модель стану сервісу. Початковий вибір мови, іконка застосунку, портретний режим. Перевірки стану клавіатури: увімкнена, повний доступ, доступ до мікрофона. Вставка транскрибованого тексту в активний застосунок. Вибір дії Мінімально робочий вибір дії (що робити з транскрибованим текстом). Виправлення
залипання клавіш; перший рядок хоткеїв (record + transcribe) тепер зафіксовано. Підтримка кількох клавіш у записі. Відкат на англійську при збої визначення мови. Анімований snackbar. Виправлення
російський переклад для «Keep Running». Виправлення
обрізання тексту для «min record duration» у довгих перекладах. Виправлення
Cut, Copy, Paste тепер працюють всередині застосунку. Ігнорування налаштування оптимізації батареї. Визначення вимкненого дозволу на сповіщення з App Info. Визначення hint-тексту через `ACTION_SET_SELECTION`. Перший коміт Каркас кастомної клавіатури та підготовка проєкту. Запис без утримання хоткея. Опція вставки у вихідне (source) вікно. Міграція логіки отримання позиції курсора з InsertIt. Словник ключ/значення для accessibility. Кілька нових функцій-розширень (буфер обміну, друк nodeInfo). Підстановки тепер фільтруються через `NSRegularExpression` — лише цілі слова, з урахуванням регістру. Опція інтервалу нагадування. Підстановка «заміна за словами». Вікно Upgrade Plan. Стиль помилки кнопки запису під загальні кольори. Нормалізатори російського, тайського і японського тексту. Покращення стабільності мікрофона для зовнішніх дисплеїв та інших знімних мікрофонів. Збереження стану після відключення мікрофона. Прибрано зайві пункти меню. Вікно Remind — підказка використовувати застосунок. Оновлено список резервних балансувальників. Обробка невалідних файлів, скинутих на вкладку Files. Директорія записів за замовчуванням. Prejit при встановленні і хуки оновлення. Вставка тепер працює на будь-якій розкладці клавіатури. Додано повзунок затримки для утримання кнопки миші; покращення стабільності. Визначення платформи через Win32. Програмний рендеринг на Windows нижче 10. Список резервних балансувальників при помилці оновлення. Запит дозволів на автозапуск. Розділення налаштувань + вікно дозволів Поріг тривалості перенесено у вкладку Settings; частина налаштувань винесена в окрему вкладку. Вікно дозволів з можливістю зміни по кліку. Ліниві хуки. Спільна кнопка OK. Не звертатися до бекенду при запуску нових встановлень. Запис мишею Додано функцію запису по кнопці миші. Робоча вкладка Files — вибір і drop-файлу, чекбокс діаризації, редагований шлях до файлу. Валідація розширення FilePath для запобігання некоректних надсилань. Чекбокс для копіювання транскрипту. Спрощено вставку — завжди через Command+V за допомогою `simulateCommandV`. Вкладка Files + перехоплення миші Початкова вкладка Files — вибір і drop-файлу. Реалізація перехоплення миші з відстеженням стану `isdown`. `NSAlert` замінено на `VHKAlert`. Опція директорії запису. Опція вторинного мікрофона. Виправлення
взаємоблокування. Додано підтримку `SMAppService` для macOS ≥ 13 (сучасний API Login Items). Просування Control (звичайний запис) до Control+I (ШІ-запис) без переривання вже розпочатого запису. Оновлення мікрофонів при зміні кількості дисплеїв. Оновлення мікрофонів при пробудженні Mac зі сну. Додано посилання на YouTube; опцію GPT приховано. Транскрипція через GPT. Посилання на соцмережі. Використання локалізованих відповідей бекенду. Переклад на всі необхідні мови. Російська + зміна мови під час роботи Російська локалізація з перемиканням мови в реальному часі. Усі рядки перенесено в ресурси. Запит на купівлю до закінчення пробного періоду. Розмір застосунку зменшено до 40 МБ (з 54 МБ). Реалізовано логіку чорного списку. Робочі хоткеї Хоткеї за замовчуванням включено в поставку. Реалізація робочих хоткеїв. Особлива обробка помилок ліцензії. Відкриття налаштувань або історії з іконки в треї. Унікальний Device ID для кожної машини, OS передається окремим query-параметром. Lottie-анімації по всьому інтерфейсу. Щогодинне оновлення інформації про користувача. Відображення повного імені пристрою, щоб відрізняти Line-In від Mic. Збереження списку балансувальників у файл; оновлення перед записом (але не частіше ніж раз у 5 хвилин). Використання балансувальників у порядку, заданому сервером. Відображення версії в діалоговому вікні. Виправлення
проблема масштабування. Виправлення
збережений вибір мікрофона. Маніфест winget. Розширений синтаксис підстановок — regex у стилі Notepad++ (з префіксом `r'...'`). Використання резервного балансувальника; затримку старту запису зменшено з 300 мс до 15 мс. Виправлення
проблема з м'ютексом. Автооновлення Додано функцію автоматичного оновлення. Виправлення
розміри іконок MenuBarExtra. Клік по іконці Dock відкриває/закриває Settings. Налаштування Crashlytics. Автоперейменування APK на основі git. Рефакторинг — загальний рекордер у view model. Перетягуваний мікрофон із збереженням позиції Збереження і завантаження розміру і позиції мікрофона. Обробник accessibility перенесено у use case. Перехід на впровадження залежностей через Hilt. Запам'ятовується останній використаний мікрофон між запусками. Авторизація для незареєстрованих користувачів. Пінг балансувальників і використання найшвидшого. Збереження записів як OGG замість WAV. Купівля підписки доступна всередині застосунку. Формат запису переключено з WAV на OGG (краще стиснення). Перевірка сумісності частоти дискретизації енкодера через `kAudioFormatOpusSamplingRate`. Анімація оверлея мікрофона коректно працює в SideCar і багатодисплейних конфігураціях. Оновлений список мікрофонів при відкритті MenuBarExtra. Перший коміт Початковий Android-проєкт із запитом дозволу на мікрофон і налаштуванням Hilt. Додано кнопки Subscribe і Manage. Вкладка History (перша версія) Вкладка History — перша версія. Оновлена іконка застосунку. Хоткей за замовчуванням змінено на Right Control. Розмір застосунку зменшено з 86 МБ до 51 МБ. Редизайн UI за відгуками користувачів — єдина вкладка «Main», вкладка підстановок, кнопки видалення праворуч, збереження при зміні. Анімація сповіщення (закриття по кліку). Політика повторів для кожного запиту до бекенду. Лише HTTPS-ендпоінти. Авторизація за посиланням; вхід за кодом. Вибір будь-якої мови Whisper для транскрипції. Липке вікно сповіщення поруч з відкритим застосунком. Користувач може змінювати пароль. Оновлена іконка застосунку. Оновлення auth-токена кожні 4 години. Таймаут додано в налаштування. Перша версія для Windows Мінімальна реалізація для Windows із записом, активацією хоткеєм і вставкою при відпусканні. Виправлення
вставка не працювала в деяких застосунках; поглинання хоткея, щоб Telegram не продовжував друкувати літеру. Перший коміт Базовий macOS-проєкт з опціями рядка меню. Для цієї платформи поки немає записів — заходьте пізніше.