Reminode

Что нового

Новые возможности и исправления — сверху самые свежие. Тот же список программа показывает после обновления.

Последнее

Голос при плохой связи с участником

  • Маршрут голоса обходит соединения «через relay-сервер»: ретранслятором выбирается тот, у кого прямая связь со всеми. Раньше им мог стать участник, у которого до одного из собеседников путь через relay-сервер, — и голос всего канала шёл к этому собеседнику по самому плохому звену (пинг в тысячи мс, прерывания)
  • Если до кого-то у ретранслятора очень плохое звено (400+ мс), а напрямую голос до него доходит быстрее, лишние копии через ретранслятор больше не отправляются — они только сильнее забивали это звено. Так же и в обратную сторону: при плохом звене до ретранслятора голос идёт напрямую всем
  • Стрим: зрителю, до которого у вас путь только через relay-сервер, видео идёт через участника с прямой связью и до вас, и до него (если такой есть и разрешил пересылку) — мегабиты видео больше не забивают relay-сервер, по которому идёт и голос
  • Исправлено редкое намертво зависание программы: список участников сервера и пересчёт того, с кем каким сервером делиться, могли ждать друг друга бесконечно (чаще всего — когда кто-то подключался к серверу, пока открыт список участников)
  • «Замёрзшее» соединение с relay-сервером (бывает, когда провайдер душит зарубежные серверы) обрывается и открывается заново через 10 секунд, а не через 20–60. В журнале вместо непонятной ошибки 10053 — сколько жило соединение и сколько данных прошло

Интерфейс

  • Список голосового канала: значки «В эфире», трансляции звука и выключенного микрофона больше не вылезают за край панели — длинное имя сокращается
  • Меню стрима («Изменить разрешение», «Выбрать окно», «Звук стрима») открывается по центру над кнопкой и не уходит за край окна
  • Карточка профиля и меню участника не заходят под заголовок окна; меню участника короче («Отключить от голоса», «Выгнать с сервера», «Забанить», «Копировать ID»)
  • Просмотр картинок и видео — под заголовком окна: кнопка закрытия просмотра больше не совпадает с кнопкой закрытия программы
  • Журнал действий и карточка профиля: вернулись пропавшие пробелы («выгоняет Спамер», «@логин · владелец сервера»)
  • Список друзей: у неактивных и «не беспокоить» подпись соответствует статусу; в списке участников значок создателя — короной (имя не обрезается)
  • Меню сервера шире — «Уведомления · упоминания» помещается целиком; плитка участника на сцене показывает и выключенный звук
  • Права голосового канала видны в описании канала в настройках сервера («Говорят только администраторы»)

Быстрее и легче для компьютера

  • Пока никто на ваших серверах не в голосе, фоновая маршрутизация голоса просыпается раз в секунду, а не 10 раз
  • Видео и звук стрима: ключи расшифровки больше не копируются на каждый пакет (десятки раз в секунду) — берётся готовый шифр
  • Чат: сообщения, уже проверенные и расшифрованные, не проверяются заново при каждом новом сообщении (заметно в активных каналах с длинной историей)
  • Аватарки участников не перекодируются при каждом обновлении списка, а пачка обновлений подряд (голос, статусы) сливается в одно
  • Свёрнутое окно и скрытое окно не получают анимации громкости; часы трека и время в голосовом не тикают, пока их не видно

Статус и профиль

  • Выбор статуса: нажмите на свою плашку слева снизу — «В сети», «Не беспокоить» (красный; на 15 минут, 30 минут, час, 2, 5, 12 часов, день, 3 дня или всегда — без звуков и всплывающих уведомлений) и «Невидимка» (для других вы не в сети)
  • Статус «Неактивен» исправлен: синим становится тот, кто отошёл, а не собеседник. Срабатывает через 5 минут без клавиатуры и мыши — в голосовом канале тоже (если микрофон или звук выключены; речь с включённым микрофоном считается активностью). Статус пересылается друзьям раз в минуту — не «застревает»
  • Исправлено: окно выбора статуса больше не съезжает и не обрезается — варианты «Не беспокоить» раскрываются прямо в нём; в «Невидимке» вы и у себя в списке участников «не в сети», а статус у друзей не путается, если менять его быстро
  • Нельзя зарегистрироваться с именем или логином, похожим на название программы, проекта, ник создателя или «поддержку» — под полем появится «занят»

Голосовые каналы

  • Исправлено: статус «Неактивен» и переход в канал для бездействующих вообще не работали — проверка бездействия падала при первой же рассылке статуса. Теперь через 5 минут без клавиатуры и мыши (и в голосовом с выключенным микрофоном) статус синий, а в канал для бездействующих переносит через заданное время. При переносе выключенные микрофон и звук остаются выключенными
  • Большие голосовые каналы (8+ человек): два связанных ретранслятора вместо одного. Каждый участник подключён к ближайшему из двух (ни один не берёт больше 2/3 канала), ретрансляторы пересылают друг другу голос своих групп. Нагрузка на каждого — вдвое меньше, задержка любой пары — не больше трёх плеч; если один из них уходит, его группа сразу переходит на второй или на резерв
  • Устройства разных версий программы больше не разрывают соединение из-за незнакомых служебных сообщений
  • Исправлено: новый участник (например, только что зарегистрировавшийся) иногда не появлялся в голосовом канале до перезапуска программы. Теперь каждый раз в несколько секунд программа напоминает остальным, где она в голосе, — пропавший участник появляется сам
  • Выбор ретранслятора переделан для каналов на 5–15 человек: плохой ретранслятор (задержка 100–1000 мс) больше не «залипает». Раньше лучшие кандидаты менялись местами каждые 2 секунды, и таймер смены каждый раз начинался заново — теперь он считается от момента, когда текущий маршрут стал хуже. Чем хуже задержка, тем быстрее смена (при очень плохой — за 2 секунды). Задержка между двумя участниками берётся по худшему из двух замеров, а ретранслятор, с которого только что ушли, пару минут не выбирается снова
  • Закрытие программы во время разговора, стрима или трансляции звука: показ экрана останавливается, выход из голоса и сети — с пределом по времени, а если что-то всё же зависло, программа закрывается сама через несколько секунд
  • Владелец, администраторы и создатель могут отключить участника от голосового канала или перенести в другой (правая кнопка по участнику)
  • Канал для бездействующих (Настройки сервера → Обзор): кто долго сидит с выключенным микрофоном или звуком (или отошёл), переходит туда сам — через 1–60 минут
  • Права голосового канала: кто может говорить и кто — показывать экран и камеру (все, выбранные роли или только администраторы). У кого нельзя — микрофон не включится, а их звук и видео не принимаются у остальных
  • Когда звук выключен (наушники), зелёная подсветка «говорит» не горит ни у кого — вы никого не слышите
  • Новые звуки входа и выхода из голосового канала — мягкие, но заметные, не путаются с сообщением
  • Время у названия голосового канала не начинается заново, если вы перезашли, а остальные оставались в канале

Чат и сервер

  • Поиск друзей по нику, а не только по логину (среди участников общих серверов): «Друзья» → «Добавить в друзья» — подходящие люди появляются по мере ввода
  • Поиск по списку друзей сверху (по нику или логину) — чтобы быстро найти человека и написать ему
  • Кнопка «вниз» справа снизу в чате, когда листаете старые сообщения: сначала к непрочитанным, потом к последним
  • Исправлено: при прокрутке вверх чат больше не «телепортирует» к началу канала, а при прикреплении окна к краю экрана не прыгает вверх
  • Просмотр картинок и видео: справа снизу «Поделиться с другом», «Сохранить» (с выбором папки) и «Свойства» (тип, размер, дата, отправитель). Под картинками и видео в чате больше нет названия файла
  • Роли можно выделять в списке участников (как в Discord): участники с такой ролью — своей группой, по порядку ролей; имя — цветом роли
  • Во вкладке «Участники» роли сразу виден список всех, кому её можно выдать
  • Меню сервера открывается поверх каналов и не сдвигает их; кнопки «Создать канал» и «Создать категорию» из него убраны (плюсик у каналов и настройки сервера остались)
  • Поиск сообщений закрывается нажатием в другом месте
  • Сервер с картинкой теперь тоже можно перетаскивать в списке серверов
  • Список участников справа — вплотную к краям окна, без «вырезанного» вида; значок R в заголовке — ровно по центру
  • Служебная копия OBS (способ захвата OBS) больше не показывает свой значок в трее; ваш собственный OBS не затрагивается

Безопасность

  • Сохранение файла из чата: имя файла от отправителя очищается — файл всегда попадает в «Загрузки\Reminode» и не может записаться в другую папку (например, в автозагрузку Windows)
  • Исключённый с сервера больше не может вернуться по приглашению, выписанному самому себе «задним числом»; его старые приглашения перестают действовать
  • События с подделанным временем не принимаются: «из будущего» — отклоняются, а действия модератора, лишённого прав, задним числом (баны, удаление каналов и т. п.) и сообщения в закрытый для автора канал — тоже
  • Роли как в Discord: с правом «Управлять ролями» можно раздавать только права, которые есть у вас, и менять, выдавать и снимать только роли ниже своей высшей (и только тем, кто ниже вас)
  • Приватные каналы теперь по-настоящему закрыты: сообщения, файлы, звук и стримы в них шифруются отдельным ключом канала, который получают только те, кто канал видит. Потерявший доступ не читает новых сообщений, получивший — читает всю историю канала (сообщения, написанные до того, как канал стал приватным, остаются как были)
  • Сообщения участника, потерявшего доступ к приватному каналу, больше не пропадают из истории
  • В приватный голосовой канал без доступа не войти даже изменённой программой: остальные участники не показывают такого человека и не шлют ему звук и видео
  • Файл с необычным типом больше не ломает встроенный проигрыватель

Стримы и звонки

  • Стрим поверх всех окон: кнопка в углу окошка стрима и на плитке стрима открывает его отдельным маленьким окном поверх игр и программ. Окно тянется мышью куда угодно, размер — за края; двойной щелчок, Esc или кнопка возвращают стрим в программу
  • Исправлено: если сменить FPS стрима на ходу (например, с 60 на 90), у зрителя счётчик FPS застревал на прежнем значении, и меню выбора 60/90 FPS не появлялось. Теперь смена качества у зрителя проходит плавно, без сброса буфера
  • Исправлено: после открытия стрима поверх всех окон программа зависала — окно стрима нельзя было закрыть, интерфейс не реагировал, помогал только диспетчер задач. Закрытие окна стрима больше не прячет программу и не выходит из неё
  • Под стримом ряд плиток участников прячется стрелкой (как в Discord) — стрим становится крупнее; повторное нажатие возвращает плитки
  • Стрим во весь экран: выход по Esc больше не сдвигает окно программы (в том числе на втором, вертикальном мониторе), и при повторном входе внизу нет белой полосы
  • Кнопка шумоподавления в панели звонка (слева от «Отключиться»): уровень меняется на ходу
  • «Проверить микрофон» рядом с порогом активации: ваш голос в наушниках; в голосовом канале на время проверки вас не слышат и вы не слышите собеседников. Кнопка «Остановить» — серая

Серверы

  • Настройки сервера переделаны: разделы по группам, роли с вкладками «Внешний вид», «Права» и «Участники» (выдать роль — пара нажатий), роли участника — прямо в списке участников, журнал действий с фильтрами, поиском и разбивкой по дням, панель «Есть несохранённые изменения»
  • Приватные каналы (как в Discord): канал видят только выбранные роли и администраторы; отдельно — кто может писать (можно «видят, но не пишут»). Настраивается в «Каналы и доступ» и сразу при создании канала. В голосовой приватный канал без доступа не зайти
  • Все выпадающие списки и всплывающие окна — в стиле программы (раньше часть открывалась системными окнами Windows)
  • Картинка сервера может быть GIF: анимация играет, только когда наводишь мышь на сервер
  • Приглашение на сервер в чате — карточка с картинкой и названием сервера и кнопкой «Вступить» (зелёная) или «Перейти на сервер» (серая, если вы уже там)
  • Меню сервера закрывается нажатием в любом другом месте программы

Чат и профиль

  • Поиск сообщений: кнопка с лупой в правом верхнем углу чата — на сервере (по всем каналам, которые вы видите) и в личной переписке. Фильтр «Упоминают меня», «@логин» — сообщения, где упомянули участника; нажатие на результат — переход к сообщению
  • @упоминание в чате кликабельно — открывает карточку профиля упомянутого
  • Личная заметка в карточке профиля — её видите только вы (например, кто это, если он сменит ник)
  • Новый статус «Неактивен»: если 10 минут не трогать клавиатуру и мышь, зелёный индикатор становится синим
  • Активность Spotify — такая же плашка, как у Яндекс Музыки (Настройки → Активность)
  • «Моя учётная запись» и «Профиль» в настройках — теперь один раздел

Маркет и Recoins

  • На главной странице появился «Маркет» — пока каркас: здесь будут оформления профиля, украшения аватарки и плашки, которые покупаются за Recoins
  • Под ником внизу — плашка с вашими Recoins; длинный логин сокращается, плашка не вылезает за края

Стрим через OBS: игры в окне и без рывков

  • Захват через OBS, режим «окно»: игра в окне (например, osu!) теперь тоже захватывается через Game Capture с ограничением частоты. Раньше «Захват окна» OBS забирал каждый кадр игры, видеокарта не успевала — картинка в стриме замирала, пока игра в фокусе (звук шёл), и оживала по Alt+Tab
  • Захват через OBS, режим «экран»: игра, на миг переставшая быть на весь экран (смена разрешения, Alt+Tab, загрузка — так было в CS2), больше не теряет Game Capture — без 2–3 с замершей картинки
  • После заминки сети стример больше не шлёт ключевые кадры каждые 0,7 с (было до 16 за 5 с по 200–300 КБ): новый ключевой кадр — только когда сеть отдала накопленное, а зритель просит его не чаще раза в 1,5 с

Запуск и журнал стрима

  • При запуске Reminode открывается главная страница: друзья и личные сообщения, а не первый сервер в списке
  • Новый журнал стрима stream.log (Настройки → Игровой режим → «Открыть папку с журналом»): раз в 5 секунд записано, как кадры проходят каждый этап — захват (и служебная копия OBS: её кадры, пропуски из-за занятой видеокарты, общая текстура), кодировщик, отправка каждому зрителю (очередь, переполнения, задержка записи в сеть, пинг), приём из сети и показ у зрителя (буфер, декодер, отрисовка). Только счётчики за 5 секунд — процессор не нагружается

Плавный стрим у зрителя

  • У зрителя появился буфер сглаживания: кадры идут в декодер по времени стримера, а не по мере прихода из сети — неровная доставка больше не превращается в рывки и «слайд-шоу». Буфер подстраивается сам (обычно несколько десятков миллисекунд, не больше 0,45 с); запас рассчитан и на редкие заминки сети. В буфере ждут сжатые кадры: аппаратный декодер больше не останавливается из-за удержанных кадров (из-за этого при 1440p 90 FPS были фризы)
  • Захват через OBS: картинка игры копируется не чаще FPS стрима. Раньше копировался каждый кадр игры — в osu! во время игры (тысячи кадров в секунду) это нагружало видеокарту, и стрим падал до 10 FPS с фризами, хотя в меню был ровным
  • Если скорости отправки у стримера не хватает, битрейт видео теперь снижается автоматически. Раньше защита не замечала такую перегрузку, и стрим шёл по кругу: несколько секунд ровно, затем одна-две секунды фриза и 14–20 FPS
  • Пачка кадров, пришедшая после заминки сети, больше не принимается зрителем за «декодер не успевает» и не останавливает стрим до ключевого кадра
  • Стример больше не выбрасывает последние кадры перед каждым ключевым кадром — они досылаются первыми (раньше у зрителя перед ключевым кадром был рывок, тем заметнее, чем выше разрешение и FPS)
  • У стримера короткая заминка сети больше не выбрасывает кадры до следующего ключевого: очередь отправки каждому зрителю увеличена
  • Захват через OBS: служебная копия OBS больше не замедляется Windows из-за того, что её окно спрятано (точные таймеры), и получает высокий приоритет видеокарты — кадры от неё идут ровно, даже когда игра нагружает видеокарту целиком
  • Захват через OBS: если игра на миг перестаёт отдавать картинку (загрузка карты в osu!, пересоздание картинки), стрим держит последний кадр игры, а не мелькает рабочим столом с пересозданием картинки

Экспериментально: захват через OBS

  • Настройки → Игровой режим → «Захват стрима» → «Способ захвата: Через OBS (экспериментально)». Нужен установленный OBS Studio 30.0 или новее — папку Reminode находит сам (или «Выбрать…»); старый OBS — окно с просьбой обновить
  • Всё как в обычном режиме, но через OBS: экран и окна захватывает отдельная, невидимая копия OBS (её «Захват экрана» и «Захват окна»), а игру на весь экран — её Game Capture. Копию Reminode запускает на время стрима: без окна и значка, без звука, закрывается вместе с Reminode. Своего захвата Windows у Reminode в этом режиме нет
  • Ваш OBS не затрагивается: в него ничего не ставится, его сцены, профили, запись и Stream Deck работают как обычно — и одновременно со стримом в Reminode
  • Служебная копия OBS не умеет ни записывать, ни стримить: модулей записи в ней нет (OBS 30–32), сервер управления выключен, а плагин Reminode сразу останавливает любую запись или стрим
  • Выключили режим — служебная копия OBS и её папка (с плагином) удаляются автоматически
  • Своя служебная копия OBS больше не считается «чужой записью»: приоритет видеокарты для стрима остаётся высоким
  • Стрим свёрнутого развёрнутого окна (например, браузера) больше не получается маленьким с чёрными полями: размер стрима — как у окна после разворачивания (в обоих режимах захвата)

Новый захват стрима

  • Игра в разрешении 4:3 (или другом, уже экрана) растягивается на весь кадр стрима — без чёрных полос по бокам. Ультраширокая картинка (экран 21:9) остаётся с полосами сверху и снизу, обычные окна не растягиваются. Отключается в Настройки → Игровой режим → «Захват стрима» → «Растягивать игру на весь кадр»
  • Захват переписан на официальных API Windows, без FFmpeg-фильтров и без какого-либо вмешательства в процесс игры: экран — DXGI Desktop Duplication, окно — Windows Graphics Capture
  • Смена разрешения игры, Alt+Tab, пересоздание картинки игрой или потеря захвата экрана больше не перезапускают стрим: заново открывается только сам захват, кодировщик видеокарты работает дальше — у зрителей нет пауз
  • Масштаб под стрим и перевод в NV12 — видеопроцессором видеокарты; картинка любой формы вписывается в стрим с полями, без растягивания
  • Курсор включается и выключается на ходу (Настройки → Игровой режим → «Захват стрима»); поверх полноэкранной игры он не захватывается никогда — курсор в игре не пропадает
  • Окно можно показывать без рамки и заголовка: «Только содержимое окна»
  • Точное распознавание монопольного полноэкранного режима: если игра не отдаёт картинку ни одним способом и Windows подтверждает монопольный режим — подсказка стримеру; пауза или меню игры больше не принимаются за поломку захвата
  • Горячие клавиши работают только через системные сочетания и Raw Input — без каких-либо хуков ввода
  • В настройках (Игровой режим → «Захват стрима») — «Показывать курсор» и «Способ захвата»: «Сам» (по умолчанию), «Экран напрямую» или «Windows Graphics Capture». Действует сразу, в том числе в идущем стриме
  • Игра сменила режим экрана посреди стрима (полноэкранное окно ↔ полный экран): захват замечает, что прежний способ перестал видеть игру, и находит рабочий. CS2 в полном экране со своим разрешением стримится через захват экрана напрямую — с чёрными полосами по краям и с курсором
  • В режиме «Сам» короткие потери захвата экрана напрямую (Alt+Tab, смена режима игры) больше не переключают способ туда-обратно — из-за этих переключений в CS2 пропадал и мигал курсор. Окно игры на весь экран сначала захватывается экраном напрямую, как при ручном выборе «Экран напрямую»
  • Стрим в 60/90 FPS больше не проседает до 20–40, когда окно Reminode закрыто игрой: на время стрима программа просит у Windows точные таймеры (Windows 11 отнимала их у невидимых окон, и каждое ожидание кадра растягивалось до 15,6 мс)
  • Игра в монопольном полноэкранном режиме (например, osu! с включённым Fullscreen): зрители больше не видят мелькающую старую картинку (главное меню) — после каждой потери захвата первый, старый кадр рабочего стола не показывается. Если захват теряется постоянно, стример получает подсказку переключить игру в оконный режим без рамки или включить «оптимизацию во весь экран»
  • Стрим полноэкранной игры (CS2, osu!) через захват экрана напрямую — снова ровные 60/90 FPS: раньше каждый кадр монитора 144–240 Гц собирался в кадр стрима, и под нагрузкой игры на видеокарту зрители получали рваные ~40 FPS. Теперь кадр стрима собирается только в свою очередь
  • Стрим окна игры (osu!, CS2): если свернуться на рабочий стол или переключиться Alt+Tab, зрители больше не видят рабочий стол — у них остаётся последний кадр игры, пока она снова не на экране
  • Игра в монопольном полноэкранном режиме (например, osu!): если сразу картинку не отдал ни один способ, стрим остаётся на захвате экрана напрямую и подхватывает игру, как только режим экрана устоится, — а не на Windows Graphics Capture, который такую игру не видит совсем

Трансляция звука

  • Новая кнопка «Звук» в голосовом канале: транслировать звук одной программы или всего компьютера (без голосов Reminode) — без видео
  • У транслирующего — фиолетовая метка «ЗВУК» в списке канала и своя плитка на сцене
  • На плитке трансляции звука — кружки слушателей (как зрители у стрима): видно всем в канале, при наведении — имена
  • «Слушать» на плитке, громкость трансляции — ползунком
  • «Волны» на плитке двигаются в такт звуку (и стоят, когда окно не в фокусе); аватарка на плитке без анимации
  • Свои звуки: трансляция началась и закончилась, пришёл и ушёл слушатель
  • Звук программы захватывается целиком (у Electron-приложений вроде Яндекс Музыки звук играет другой их процесс) — «волны» и слушатели его получают
  • Трансляция звука легче для процессора: без лишней работы, пока никто не слушает, и без пересчёта интерфейса на каждом кадре

Исправления

  • Push-to-talk больше не обрывается, если, не отпуская клавишу, щёлкнуть мышью по другому окну, программе или проводнику: голос идёт, пока клавиша зажата
  • Стрим снова кодирует видеокарта NVIDIA и со старыми драйверами (570 и новее): прошлая сборка требовала драйвер 610+, и у остальных стрим кодировался процессором — 20–40 рваных FPS
  • Вход и выход участников теперь отмечаются в списке каналов как непрочитанное (главный канал сервера выделяется, как при новом сообщении) — видно, что кто-то присоединился
  • «Присоединяется к серверу» больше не показывается дважды: если новичка впустили сразу два участника (или зашло его второе устройство), сообщение одно
  • Пинг в голосовом канале больше не взлетает до сотен мс после выхода новой версии: пока вы в голосе, обновление и фоновые файлы качаются и раздаются с плавным разгоном — от 4 Мбит/с и быстрее с каждой секундой, пока пинг в голосе не растёт; вырос — скорость сразу вдвое ниже
  • Красный кружок на значке Reminode в панели задач (упоминание, непрочитанное в личке, пропущенный звонок) теперь виден и когда программа закрыта в трей: значок появляется в панели задач свёрнутым окном, не перехватывая фокус у игры. Всё прочитали, а окно не открывали — программа сама уходит обратно в трей
  • Стрим и видео во весь экран — теперь по-настоящему на весь монитор: снизу больше нет светлой линии (панели задач или рамки окна)
  • Стрим во весь экран, выход по Esc и снова во весь экран — линия снизу больше не появляется (окно оставалось «развёрнутым» и не закрывало панель задач)
  • Захват экрана напрямую (Desktop Duplication) наконец работает: он не открывался из-за ошибок в настройке видеопреобразования (сначала не был задан формат, потом видеокарта не поддерживала нужный тип кадров) — теперь кадр уходит в кодировщик видеокарты без лишнего преобразования. Именно им ловятся полноэкранные игры (CS2, osu! и др.) со своим разрешением
  • Игра в монопольном полноэкранном режиме: после проверки всех способов захвата Reminode больше не перебирает их снова раз в минуту (заминки у зрителей), а подсказка прямо говорит, какой режим экрана выбрать в игре
  • Стрим игры больше не переключает способ захвата, если картинка игры уже шла и просто остановилась (меню, загрузка): раньше это ломало рабочий захват CS2
  • Если захват экрана на миг не открылся, кодировщик видеокарты остаётся прежним — стрим больше не переходил до конца на кодирование процессором
  • Если захват экрана напрямую всё же не открылся, стрим окна игры больше не пытается каждые несколько секунд снова (стрим не дёргается)
  • Голос больше не рвётся из-за «пропусков в буфере» микрофона: раньше каждый такой мелкий сбой (процессор на миг занят) заново открывал микрофон, это давало новые сбои, и микрофон переоткрывался по кругу каждые секунду-две
  • Стрим экрана во время игры не дёргается при Alt+Tab и всплывающих окнах: захват переоткрывается ради курсора, только если игра на переднем плане (или ушла с него) дольше 3 секунд
  • В журнал программы пишутся ошибки самого захвата видео (почему Windows не дала захватить экран) — по ним можно найти причину
  • Игровой режим больше не включается от обычных программ во весь экран (Claude, браузеры, мессенджеры и т. п.): развёрнутое окно не считается игрой, а сигнал Windows «пользователь занят» учитывается только для настоящих полноэкранных игр
  • Стрим игры в режиме «Полный экран в окне» снова идёт ровно 60/90 FPS: захват экрана напрямую работает с запасом по частоте (раньше у зрителя было около 40 FPS рывками)
  • Если Windows не отдаёт картинку игры ни одним способом, захват больше не остаётся на способе, из-за которого в игре (CS2) пропадал курсор
  • У окна программы убрана тонкая светлая рамка Windows 11 (была видна полоской снизу, в том числе у видео во весь экран); при видео во весь экран окно проверяет, что растянулось на весь монитор
  • Настройки → Игровой режим → «Журнал программы»: кнопка открывает папку с журналом
  • Застывшая картинка игры теперь замечается и когда двигаете мышью (раньше движение указателя Windows сообщала как «новый кадр», и программа считала, что всё в порядке)
  • Игра в монопольном полноэкранном режиме распознаётся как полноэкранная, даже когда Windows не даёт её размеры обычным способом
  • Стрим экрана с игрой на своём (не родном) разрешении: если картинка встала, захват открывается заново, а затем пробуется другой способ — раньше так проверялся только стрим окна
  • Подсказка «Зрители не видят игру» больше не пропадает сама после Alt+Tab — она остаётся, пока картинка самой игры не пойдёт в стрим
  • Яндекс Музыка при смене трека больше не вызывает фризов в игре: Reminode читает «Сейчас играет» в фоновом режиме Windows (низкий приоритет), не создаёт подключение к службе заново каждые 2 секунды, а обложку берёт через несколько секунд после смены трека, когда Яндекс Музыка уже освободилась, и уменьшает её сразу при чтении
  • Горячие клавиши (одиночная клавиша push-to-talk, кнопки мыши) работают через Raw Input — ввод в игре больше не проходит через Reminode, и мышь не подтормаживает, когда процессор занят
  • Потоки стрима больше не на «наивысшем» приоритете процессора (только чуть выше обычного), а опрос активного окна — в фоновом режиме: при загруженном ядре игра идёт первой
  • Во время стрима игры видеокарты и мониторы не перечисляются заново каждую секунду
  • Стрим вместе с записью в OBS: Reminode больше не поднимает приоритет видеокарты, пока рядом идёт запись, — игра не замирает на секунду-две раз в несколько минут
  • Журнал работы программы пишется в файл (папка профиля → logs) — по нему можно разобрать редкие проблемы со стримом и сетью
  • Стрим полноэкранной игры (в том числе со своим разрешением): если картинка встала, Reminode сам пробует другие способы захвата; если Windows не отдаёт картинку ни одним (монопольный режим), стример видит подсказку и может одной кнопкой включить игре «оптимизацию во весь экран»
  • Захват игры больше не останавливается насовсем после нескольких Alt+Tab — он открывается заново, пока идёт стрим
  • Окно открывается там же, где было при выходе: на том же мониторе, того же размера и развёрнутым, если было развёрнуто
  • В профиле и в заголовке личной переписки у того, кто не в сети, — «был(а) в сети» и время
  • Коронка создателя в голосовом канале — сразу справа от ника
  • Плашка Яндекс Музыки: «пауза» больше не вылезает за край
  • Стрим окна со звуком передаёт звук только этого окна (его программы); весь звук компьютера — только при стриме экрана
  • Голос больше не «проглатывается» при подвисании программы: отправка голоса отделена от звукового потока
  • Счётчик непрочитанного у текстовых каналов: серый — обычные сообщения, красный — есть упоминания или ответы вам (двузначные числа больше не обрезаются до «1»)
  • Смена окна, экрана или качества во время стрима не выкидывает зрителей
  • Звуки интерфейса больше не держат открытым звуковой поток Windows — компьютер снова уходит в сон, пока Reminode в фоне (в голосовом канале сон, как и раньше, не наступает)
  • Глобальный перехват клавиатуры ставится, только если без него не обойтись (одиночная клавиша push-to-talk); сочетания с Ctrl/Shift/Alt работают через Windows — программа не мешает утилитам ввода и планшетам
  • Проверка интерфейса: длинные имена, названия и файлы больше не вылезают за края и не наезжают друг на друга; значки в меню не пропадают; версия в настройках не перекрывает содержимое
  • Звуки программы объёмнее: лёгкое стерео и «комната» (звук отправки сообщения — как был)
  • Непрочитанное считается быстрее (не проверяется заново при каждом сообщении)
  • Точка задержки в голосовом канале — слева от аватарки

Игры и производительность

  • Пока окно программы перекрыто игрой, интерфейс не рисуется — меньше нагрузка на процессор и видеокарту
  • Во время игры фоновая передача (обновления, файлы заранее, раздача файлов) не быстрее ~2 Мбит/с — не мешает пакетам игры
  • Во время игры через вас не пересылается чужое видео, а ретранслятором голоса вы выбираетесь, только если больше некому
  • Стрим окна игры (CS2 и др.) сам переключается на захват экрана, когда игра на весь экран, — и обратно, когда она в окне
  • Курсор в игре больше не пропадает во время стрима любого окна
  • Тёмный ник на тёмной теме — с контуром, его видно
  • «Мои игры» — плитками: настоящее название игры и её значок

Активность: Яндекс Музыка

  • Новый раздел настроек «Активность»: показывать, что играет в Яндекс Музыке
  • Плашка с треком, обложкой и временем — в профиле
  • Значок у имени в голосовом канале — при наведении та же плашка
  • Нажатие на плашку открывает этот трек в приложении Яндекс Музыки (или на сайте, если приложения нет)
  • Кнопка на плашке копирует ссылку на трек

Reminode — новое имя

  • Программа теперь называется Reminode
  • Иконка текстовых каналов — листок с записями
  • Свой цвет баннера профиля и акцентный цвет — палитра с градиентом
  • Аватарка без картинки может быть градиентом: готовые или свой из двух цветов с направлением
  • Картинку аватарки и сервера можно подогнать перед сохранением
  • Громкость системных звуков в настройках
  • Настройки открываются на «Профиле» (или там, где были, если вышли меньше 10 секунд назад)

Видео и картинки в чате

  • Видео играет сразу, пока докачивается; на полосе перемотки видно, сколько скачано
  • Превью отправленного видео
  • Настройка «Скачивать видео заранее»: в фоне медленно, не мешая игре; при просмотре — на полной скорости
  • Картинки без серой рамки; у PNG подложка — только при наведении
  • Стикеры и эмодзи в сообщениях крупнее
  • Ссылки открываются в браузере

Сообщения

  • Счётчик ответов под сообщением: одна стрелка — переход к ответу, несколько — список
  • Кнопка «Скопировать текст» у сообщения
  • Реакции и эмодзи открываются при наведении, окно реакций — прямо под кнопкой
  • Подсветка при отправке — по размеру сообщения
  • Реакции всегда под сообщением (и под картинками, видео, файлами) — следующее сообщение сдвигается ниже
  • Канал открывается внизу, на свежих сообщениях
  • Имена в сообщениях о входе открывают профиль

Стримы

  • Свой пресет: разрешение 360–1440p и 5, 30, 60 или 90 FPS
  • Зритель стрима в 90 FPS может смотреть его в 60 (правая кнопка по стриму)
  • Меню у кнопки «Экран» во время стрима: разрешение, другое окно, звук стрима
  • Стрим не замирает у зрителя, пока он играет (окно программы на другом мониторе)
  • Полноэкранные игры (CS2 и др., в том числе в своём разрешении) захватываются напрямую с экрана, курсор в игре больше не пропадает
  • Если игра сменила разрешение экрана, стрим сам переподключает захват
  • «Скрыть мой IP»: выбирается ближайший сервер-посредник — пинг в голосе намного ниже
  • Если канал отдачи у стримера не справляется, стрим снижает качество сильнее (а при 60+ FPS — частоту кадров), чтобы не рос пинг голоса

Серверы и люди

  • Участник, приглашённый не вами и не из друзей, теперь виден и слышен: адреса узнаются у других участников сервера
  • Голос с 3+ участниками возвращается на прямые соединения, когда через ретранслятор заметно дольше
  • В канале до 8 человек голос идёт сразу двумя путями — напрямую и через ретранслятор: каждый слышит каждого по более быстрому, скачки пинга на одном пути не слышны
  • Кнопки под плитками голосового канала: микрофон, звук, показ экрана и отключение (появляются при наведении)
  • Нажатие на «Голос подключён» открывает ваш голосовой канал
  • Выделен только тот канал, который открыт сейчас
  • Видео открывается во весь экран; Ctrl + колёсико меняет размер
  • В окне реакций видно, какие вы уже поставили
  • Каналы можно перетаскивать между категориями
  • Правая кнопка по каналу: копировать, дублировать, удалить
  • Клик по участнику в списке открывает профиль; в профиле — «Сообщение» и «Позвонить»
  • Профиль из нижней панели открывается над ней и не закрывает интерфейс
  • Меню ролей больше не пропадает при наведении
  • Гудки исходящего звонка снова работают
  • «Вас не слышно» срабатывает и на тихую речь и исчезает быстрее

Прошлое обновление

  • Настройки сервера: профиль, участники, роли с правами, каналы, приглашения, баны, журнал действий
  • Категории каналов, главный канал, уведомления сервера, «Пригласить друзей»
  • Карточка профиля и меню участника, «О себе» и баннер
  • Счётчик времени в голосе, итоги звонков, «Вас не слышно», свои звуки
  • Анимация отправки, просмотр картинок и видео, встроенный плеер