NeyLivo English

История версий

Что нового

Каждая версия NeyLivo и то, что в ней изменилось. Список собирается из собственной истории проекта, поэтому совпадает с тем, что показывает окно «Что нового» в самом приложении.

Текущая версия: 1.563.0

NeyLivo 1.563.1 2026-08-17

  • Исправлено: снимок «вид с телефона» на официальном сайте показывал то, чего на телефоне не бывает — открытый список участников накрывал переписку больше чем наполовину и обрезал текст сообщений на полуслове, потому что признак телефона считается по устройству, а не по ширине окна, и стенд снимков шёл по настольной ветке

NeyLivo 1.563.0 2026-08-17

  • Исправлено: приложение не говорило, что сервер остановлен за перерасход трафика — на экране входа человек видел английский ответ Supabase и решал, что сломан его аккаунт, а внутри приложения висело «нет связи», хотя связь была в порядке и обновлять было бесполезно
  • Исправлено: вложения и аватарки перекачивались заново каждый час у каждого открытого приложения — файлу по неизменному адресу разрешалось лежать в кэше всего час, хотя содержимое там не меняется никогда
  • Исправлено: подписанная ссылка на вложение жила час и при каждом обновлении получала новый хвост — для браузера это другой адрес, поэтому вся видимая лента скачивалась заново после каждой перезагрузки страницы, теперь ссылки живут сутки и переживают перезапуск
  • Исправлено: светлая тема на стенде снимков не включалась вовсе — настройки затирали её сразу после запуска, поэтому снимок «светлой темы» на официальном сайте был тёмным, а проверка кривостей вёрстки светлую тему никогда и не видела
  • Добавлено: в проверку кривостей вошли девять светлых экранов — сервер, личные сообщения, настройки, телефон, меню у края и крошечное окно
  • Исправлено: список участников сервера называл группу вошедших «Участник — N» рядом с «Не в сети — N» — противопоставлялись разные вещи, а на любом числе кроме единицы выходило «Участник — 5»
  • Исправлено: кольцо вокруг кружка статуса было жёстко одного цвета и в нижней полосе с именем светилось ободком светлее самой полосы, выедая пятно из аватарки
  • Добавлено: миграция 112 убирает заметку Advisor про Security Definer View — обход правил доступа вынесен из представления в функцию с закрытым списком колонок, поэтому дописать в него секретное поле молча больше нельзя

NeyLivo 1.562.1 2026-08-13

  • Добавлено: проверка кривостей смотрит длинные имена, крошечное окно 420×360 и большое 2560×1400 — на длинных именах подписи чаще всего и вылезают из своих коробок
  • Исправлено: проба считала наложением кнопку шапки и кнопку, уехавшую под неё при прокрутке — теперь элементы из разных прокруток не сравниваются, потому что они законно проезжают друг под другом

NeyLivo 1.562.0 2026-08-13

  • Добавлено: кнопка «Официальный» у логотипа приложения — взятый ею логотип обновляется сам вместе с приложением, поэтому смена официального знака доезжает до человека без единого действия, а загруженный своим файлом никто не трогает
  • Исправлено: в манифесте приложения оставалось прежнее имя продукта, из-за чего установленное на телефон и в браузере приложение подписывалось по-старому

NeyLivo 1.561.0 2026-08-13

  • Исправлено: экран «Не удалось загрузить этот раздел» появлялся после выхода новой версии, потому что файлов со старыми именами больше нет — теперь приложение один раз повторяет загрузку, а потом само перезагружает страницу с новым содержимым, и человек этого экрана не видит
  • Убрано: приветствие в консоли при каждом запуске — отладочный вывод в готовом приложении
  • Добавлено: в проверку кривостей вошли контекстные меню у самого края окна, настройки в маленьком окне и лишняя прокрутка вбок, а каждый шаг теперь подтверждает, что экран действительно открылся — иначе «чисто» означало бы, что разбирать было нечего
  • Исправлено: переменная высоты полосы заголовка объявлена в теме — без этого её не видела проверка тем

NeyLivo 1.560.0 2026-08-13

  • Исправлено: значок окна, панели задач, трея и установщика остался старым — build/icon.ico лежит отдельно от остальных значков и менялся отдельно, а теперь собирается той же командой, что и все прочие, в семи размерах
  • Исправлено: верхний ряд просмотра картинки ложился ровно на кнопки заголовка окна, два крестика рядом и оба наполовину — просмотр больше не накрывает полосу заголовка
  • Добавлено: проверка на кривости вёрстки, npm run test:crooked ищет наложения кнопок, вылеты за окно, обрезанные без многоточия подписи и наложения на полосу заголовка, на настоящем приложении и на шести экранах
  • Добавлено: стенд умеет поднимать весь каркас приложения с настоящей полосой заголовка, а не только основной экран
  • Изменено: проба отсеивает задуманное — уехавший за край список каналов на телефоне и прокрученные списки больше не считаются кривостями

NeyLivo 1.559.0 2026-08-12

  • Добавлено: свой пароль для копии ключа переписки — пароль аккаунта проходит через сервер входа, и тот, кто им управляет, мог открыть копию, а отдельный пароль не используется больше нигде
  • Добавлено: вход и выход больше не перезаписывают копию, запертую своим паролем, иначе защита снималась бы молча и человек терял бы прежнюю переписку
  • Добавлено: переключатель «Эмодзи картинками» — картинки берутся с чужого сервера, и он видит адрес устройства всякий раз, когда на экране есть эмодзи, а выключенный переключатель означает системные эмодзи и ни одного запроса на сторону
  • Изменено: в аудите безопасности проставлено состояние каждой находки — что закрыто кодом, что частично и что не менялось
  • Изменено: записано состояние зависимостей — в том, что уезжает людям, известных дыр нет, а найденные живут в сборочных инструментах и чинятся ломающим обновлением, которое перед выпуском делать нельзя

NeyLivo 1.558.0 2026-08-12

  • Изменено: продукт называется NeyLivo — новое имя и новый логотип во всём, что видит человек: окно, значок приложения, значок на телефоне, экран запуска, сайт, документы
  • Изменено: значок собран из присланного логотипа одной командой (electron scripts/make-icon.cjs), значки Android пересобраны, знак сайта обведён из того же файла
  • Изменено: объект плагина называется neylivo, старое имя работает как псевдоним — ни один уже написанный плагин не сломался
  • Изменено: файлы плагинов сохраняются с расширением .neylivo, прежние принимаются наравне
  • Изменено: ссылки на сообщения теперь neylivo://, прежние продолжают открываться
  • Изменено: мост рабочего стола называется neylivoDesktop, прежнее имя оставлено рядом
  • Изменено: переменные оформления стали --neylivo-*, прежние имена оставлены псевдонимами ради чужих стилей
  • Изменено: адреса репозитория и сайта переехали на новую учётную запись GitHub
  • Исправлено: определитель разрешений плагина узнаёт оба имени объекта — иначе каждый старый плагин получил бы замечание ни за что
  • Исправлено: скрипт объекта в мастерской получает объект под обоими именами

NeyLivo 1.557.0 2026-08-12

  • Добавлено: вложения показываются по подписанной ссылке вместо вечной публичной — путь берётся из самого старого адреса, поэтому в базе не меняется ни строки и старые сообщения не ломаются
  • Добавлено: миграция supabase/111_storage_private.sql закрывает бакет вложений — применять НЕ сразу, сначала обновление должно разойтись, иначе у старых версий осыпятся все картинки
  • Добавлено: окно Electron больше не уходит на чужой адрес — will-navigate и will-redirect отменяются, ссылка отдаётся системному браузеру, а webview запрещён
  • Добавлено: живая проверка этого настоящим окном — npm run test:nav, 29 проверок, включая нарочный слом SABOTAGE=nav
  • Добавлено: Content-Security-Policy на странице — закрыты object-src, base-uri и form-action, а script-src нет намеренно, потому что его наследуют окна плагинов и он убил бы их все
  • Добавлено: приложение не запускается внутри чужой рамки — сначала честная попытка выйти наверх, иначе отказ с объяснением, потому что frame-ancestors в мете браузер игнорирует, а заголовки на GitHub Pages не задать
  • Добавлено: свой порог пароля в восемь символов с подсказкой прямо в форме, раньше приложение только переводило ошибку сервера про шесть
  • Добавлено: экран установки плагина отличает «автор забыл строку @permissions» от «автор написал звёздочку» — прав это не меняет, но означают они разное
  • Добавлено: снимки для официального сайта снимаются НАСТОЯЩИМ приложением, подменён только клиент базы, рисуют настоящие компоненты
  • Изменено: «Скопировать ссылку» копирует постоянный адрес, а не подписанный на час
  • Изменено: README больше не рассказывает, как выкачать и собрать исходник — это страница для тех, кто пользуется Ponoi

NeyLivo 1.556.1 2026-08-12

  • Изменено: защита от снимков экрана больше не включена сама собой — она включается переключателем в настройках, потому что иначе первым, что человек заметит, будет чёрный прямоугольник вместо его экрана в звонке
  • Изменено: в настройке прямо сказано, что пока она выключена, приложение снимается как обычно

NeyLivo 1.556.0 2026-08-12

  • Добавлено: приложение больше не попадает в снимки и записи экрана — система сама отказывается отдавать окно, и «Ножницы», OBS и демонстрация экрана в звонке видят на его месте чёрное
  • Добавлено: на телефоне снимок экрана не делается вовсе, а в списке недавних задач вместо переписки пустая карточка
  • Добавлено: «Скрывать сообщения» — текст размыт, пока не наведёшь мышь или не коснёшься, это против съёмки со стороны и взгляда через плечо
  • Добавлено: живая проверка защиты настоящим захватом экрана — npm run test:capture, она сначала убеждается, что видит окно, и только потом что перестала
  • Изменено: в настройках прямо написано, чего не может ни одно приложение — помешать снять экран другим телефоном, потому что пока текст виден глазу, он виден и камере
  • Исправлено: заглушки Android пополнены FLAG_SECURE, SharedPreferences и runOnUiThread — без них нативный код не собирался, и это поймала проверка test:java

NeyLivo 1.555.0 2026-08-11

  • Добавлено: в мастерскую можно принести готовую 3D-модель файлом .glb или .obj — она лежит внутри проекта и доезжает до того, кому проект отдали
  • Добавлено: объекты сцены двигаются мышью — тянешь объект и он едет по полу, Shift тянет вверх-вниз, пустое место облетает камерой
  • Добавлено: загрузчики GLTFLoader и OBJLoader встроены в three — документация обещала их с v1.473.0, а в собранной библиотеке их не было вовсе
  • Добавлено: модель вписывается в заданный рост и ставится на пол, потому что приходят они в каких угодно единицах
  • Добавлено: приложение выкладывается в каталог прямо из мастерской, без похода в раздел плагинов и выбора своего среди чужих
  • Добавлено: живая проверка сцены на настоящем glTF — npm run test:scene, она же ловит слом вписывания
  • Исправлено: содержимое сцены хранилось в файле приложения дважды — с моделями по три мегабайта это упиралось в место хранилища браузера
  • Изменено: в шапке мастерской два действия словами вместо четырёх значков без подписи, остальное в меню
  • Изменено: подсказка про мышь ушла из заголовка вида, где шла заглавными в две строки, а пустая консоль сжимается в строку
  • Изменено: у модели в свойствах нет цвета и блеска — они на неё не действуют, вместо них файл, вес и рост

NeyLivo 1.554.1 2026-08-11

  • Исправлено: проверка записи экрана падала на исправном клипе — движок изредка отказывается открыть файл с первого раза, и одна такая осечка на двадцать одну запись выглядела как поломка
  • Изменено: отказ движка теперь называется его кодом, а не «готовность -1» — по прежней записи нельзя было понять, битый клип или осечка декодера
  • Добавлено: слом на месте — тот же клип без начала обязан не открыться, и проверяется он тем же путём с повтором, иначе повтор прятал бы настоящую поломку

NeyLivo 1.554.0 2026-08-11

  • Добавлено: сплошной обход нажимаемости — по каждой кнопке, ссылке и полю на всех экранах проверяется, что она видна, внутри экрана, не накрыта чужим слоем и не мельче пальца
  • Исправлено: смайлик в строке ввода на телефоне ловил палец полем 32 на 32 — теперь вид прежний, а нажатие ловится шире, потому что растить сам смайлик нельзя, под него подогнан отступ текста
  • Исправлено: крестик закрытия окна на телефоне был 40 на 40 вместо пальца
  • Исправлено: стрелки выбора микрофона и камеры в звонке шириной 22 пикселя ловят нажатие шире себя — широкая стрелка съела бы место у кнопок и полоса перестала бы помещаться
  • Изменено: обход отличает спрятанное намеренно от потерянного — прозрачная кнопка отправки и закрытая шторка это не поломка, а правило
  • Изменено: обход меряет НАСТОЯЩУЮ цель, а не рамку — прозрачное поле вокруг кнопки ловит палец, и щупать надо его

NeyLivo 1.553.0 2026-08-11

  • Добавлено: «Любимые» в Трекотеке — звёздочка прямо на карточке трека и отдел со всем отмеченным
  • Изменено: отметка личная и видна только тому, кто её поставил — Трекотека общая, и превращать отметку в публичный счётчик это отдельное решение, которого никто не принимал
  • Добавлено: отдел «Исполнители» — треки сгруппированы по полю, которое у них уже есть, нажатие подставляет имя в поиск вместо второго экрана
  • Изменено: отметки хранятся там же, где плейлисты и закреплённые диалоги — эти настройки уже ездят между устройствами и переживают переустановку
  • Изменено: отметка на трек, который ещё не приехал со склада, не теряется — склад общий и подгружается частями
  • Добавлено: пустой отдел «Любимые» говорит, что делать, а не «ничего не нашлось по запросу» — запроса там нет
  • Добавлено: 12 проверок к этому, включая старый вид настроек и порядок исполнителей
  • Убрано: «Альбомы» из макета не сделаны намеренно — у треков нет альбома, и отдел был бы пустым

NeyLivo 1.552.0 2026-08-11

  • Исправлено: имена участников звонка пропадали на светлой теме — экран звонка чёрный при любой теме, а текст в нём считался от темы приложения и становился почти чёрным по чёрному, разница 1,66 при нужных трёх
  • Исправлено: подписи быстрого ряда в звонке падали до 2,61 по той же причине
  • Изменено: экран звонка объявляет свою палитру целиком, и каждый потомок читает её сам — тем же способом уже вылечена карточка входа, правок по месту не потребовалось
  • Изменено: прогнан весь набор проверок целиком, 38 наборов

NeyLivo 1.551.0 2026-08-11

  • Исправлено: круглые кнопки звонка на телефоне были тремя разными овалами — 36 на 52, 37 на 52 и 40 на 52 вместо одинаковых кругов, общий вид кнопки добавлял им отступ, а полоса их сжимала
  • Исправлено: полоса звонка не помещалась в экран и кнопка «выйти» уезжала за правый край — из звонка нечем было выйти
  • Исправлено: стрелка выбора микрофона и камеры раздувалась с 22 до 52 пикселей — правило ровняло под один размер ВСЕ кнопки полосы, включая узкие стрелки и кнопки внутри группы
  • Изменено: полоса звонка на узком экране переносится, а не вылезает
  • Изменено: подписи быстрого ряда стали читаемыми и не мельче пальца — серое по серому давало разницу 3,2 при высоте 33
  • Добавлено: проверка test:call — размеры кнопок, их одинаковость, узость стрелок и то, что ничего не уходит за край, на экранах 412 и 320
  • Исправлено: стенд рисовал корень звонка классом, которого в приложении нет

NeyLivo 1.550.0 2026-08-11

  • Исправлено: кружок «плюс» в поле ввода на телефоне был овалом 42 на 44 — общее правило про палец задаёт min-height всем кнопкам и перебивало заданную высоту, поймала проверка круга
  • Исправлено: в стилях использовалась переменная --btn-quiet, которой никто не объявлял — правило с ней просто отбрасывалось, и подложка бралась запасная
  • Изменено: прогнан весь набор проверок целиком, все 37 наборов: шифрование, правила доступа на настоящем Postgres, плагины вживую, песочница, музыка, звонки, телефон, темы, вёрстка, сборка

NeyLivo 1.549.1 2026-08-11

  • Изменено: стенд настоящих компонентов поднимает их внутри настоящих провайдеров настроек и входа, а не сам по себе
  • Добавлено: в стенде записано прямо, каких экранов он НЕ снимает и почему — список бесед падает на user.id, а подставная сессия не помогает, клиент базы её проверяет и отбрасывает
  • Исправлено: адрес страницы стенда собирался ручной заменой слэшей и разваливался на Windows — теперь через pathToFileURL

NeyLivo 1.549.0 2026-08-11

  • Добавлено: проверка test:stand — каждый класс, который рисуют стенды, обязан встречаться в исходниках приложения
  • Исправлено: стенды рисовали двадцать пять классов, которых в приложении нет вовсе — заголовки каналов, названия участников, список друзей и сама аватарка, поэтому снимки выходили аккуратнее жизни, и владелец увидел это первым
  • Исправлено: аватарка в стендах рисовалась классом .av, которого не существует — в приложении это .av-wrap с картинкой внутри
  • Убрано: экран телефона со снятой рейкой разделов из стенда — приложение её больше не рисует, а стенд показывал
  • Изменено: подпорки стендов переведены на настоящие классы, чтобы кружок рисовался там же, где он в приложении

NeyLivo 1.548.0 2026-08-11

  • Убрано: перекройка мобильной навигации из v1.546.0 откачена — список экраном и переписка поверх него на настоящем телефоне оказались нерабочими, вернулась прежняя шторка по кнопке меню и рейка с серверами
  • Добавлено: настройки на телефоне по макету — разделы карточками по группам, у каждого подпись о том, что внутри, слева значок, справа стрелка
  • Добавлено: у семнадцати разделов настроек появилась подпись — половина названий сама по себе не говорит ничего, и «а это про что» выяснялось нажатием
  • Исправлено: название группы прилипало к карточке сверху вместо того, чтобы стоять над ней — скругление считалось от первого блока, а им оказывалась сама подпись
  • Исправлено: подпись раздела на тёмной теме читалась с разницей 2,92 при нужных трёх
  • Добавлено: стенд настоящих компонентов npm run look:real — снимки делались с разметки, написанной руками по мотивам, и она всегда аккуратнее настоящей, теперь на страницу монтируется настоящий React со своими обёртками
  • Исправлено: стенд рисовал настольный вид в узком окне, потому что приложение решает «это телефон» по опознавателю браузера — теперь стенд представляется телефоном
  • Изменено: беседы карточками, «…» вместо крестика на наведении и ряд раздела в палец — из откаченной перекройки осталось то, что ничего не двигает

NeyLivo 1.547.0 2026-08-11

  • Изменено: Трекотека на телефоне по макету — крупное название с подзаголовком, число треков подписью, вкладки таблетками, поиск отдельной строкой во всю ширину
  • Изменено: треки стали строками с картинкой 48, названием, исполнителем и длительностью вместо плотной сетки — на узком экране рядом с картинкой помещается название, и трек узнаётся по нему, а не по обложке
  • Изменено: число треков перестало быть плашкой во всю ширину — она выглядела полосой непонятного назначения

NeyLivo 1.546.0 2026-08-11

  • Изменено: главный экран телефона перекроен по макету — слева постоянная рейка разделов с подписями, справа «Сообщения» с поиском, чипами и беседами карточками, внизу своя карточка с кнопками
  • Изменено: навигация поменялась местами — раньше экраном была переписка, а список выезжал шторкой по бургеру, теперь экран это список, а переписка выезжает поверх и закрывается кнопкой «назад»
  • Добавлено: экран «Главная» со списком серверов — на телефоне рейку заняли разделы, и серверы переехали туда целиком, а не пропали
  • Изменено: «…» в строке беседы вместо крестика, который показывался только при наведении — на телефоне наведения нет вовсе, и он был недоступен в принципе
  • Исправлено: два раздела рейки не делали ничего — слали событие, которого никто не слушал, теперь «Приложения» открывают плагины, а «Настройки» открываются откуда угодно
  • Добавлено: проверка на события без единого слушателя с потолком в ноль — это и есть кнопка-обманка, найденная числом, а не на ощупь
  • Исправлено: переписка поверх экрана уводила содержимое под боковой вырез и накрывала строку ввода панелью эмодзи — оба случая поймал обход
  • Изменено: проверки телефона переписаны под новую навигацию: рейка видна сразу, переписки не видно пока не открыли, «назад» возвращает к списку

NeyLivo 1.545.0 2026-08-11

  • Исправлено: файлы больше предела хранилища не отправлялись вовсе — приложение разрешало сорок гигабайт, а сервер отказывал в конце загрузки, и клип на сотню мегабайт пропадал
  • Добавлено: большой файл уходит кусками по 45 МБ, рядом кладётся опись с именем, типом, размером и списком кусков — в хранилище больше нет ни одного объекта, который ему велик, и это работает на любом тарифе без единой настройки на сервере
  • Добавлено: получатель собирает файл обратно по описи и сверяет размер — недокачанный кусок теперь честная ошибка, а не битое видео
  • Добавлено: отправка, упавшая ИМЕННО на размере, сама переходит на куски — предел у каждого проекта свой, а отказ по правам или сети кусками не лечится и повторяться не будет
  • Добавлено: карточка большого вложения — имя, вес, число частей, кнопки «показать» и «скачать», сборка только по нажатию
  • Изменено: опись, пришедшая из сети, проверяется как чужие данные — куски обязаны лежать на том же хосте, число кусков обязано сходиться с размером
  • Добавлено: проверка test:bigfile на настоящем HTTP — файл в 94 МБ уезжает тремя кусками и возвращается побайтно тем же, а сервер при этом отказывает целому файлу
  • Добавлено: 20 проверок разбора описи и границ кусков, включая слом на перестановку кусков

NeyLivo 1.544.0 2026-08-11

  • Исправлено: заголовок «Друзья» пропадал на светлой теме — белым по белому, цвет был вписан жёстко
  • Исправлено: имя автора сообщения на телефонах читалось с трудом — чистый цвет темы на тёмной подложке даёт разницу 2,8 при нужных трёх, теперь он подмешивает цвет текста и светлеет на тёмной, темнеет на светлой
  • Исправлено: подписи на карточке входа тонули на светлой теме — карточка синяя при любой теме, а текст в ней считался от темы приложения, теперь карточка объявляет свою палитру и каждый потомок читает её сам
  • Изменено: 40 жёстко вписанных цветов текста заменены переменными — на тёмной теме это те же самые цвета, поэтому вид не изменился ни на пиксель, а светлая перестала показывать светло-серое по белому
  • Исправлено: белый текст на подложке, которая зависит от темы, в двух местах
  • Добавлено: обход тринадцати экранов на обеих темах — каждый кусочек текста меряется пикселями снимка, а не по стилям
  • Добавлено: две проверки в перепись вида — жёсткие цвета из палитры и белый текст на подложке темы, обе с потолком в ноль
  • Изменено: разметка экранов теперь одна на два стенда — снимки и проверка тем берут её из одного места, иначе стенд показывает не то, что меряет

NeyLivo 1.543.0 2026-08-11

  • Изменено: панель профиля тянется на всю нижнюю кромку слева — раньше она стояла внутри колонки каналов, на 17 пикселей уже неё, и снизу выходила ступенька из трёх разных краёв
  • Изменено: высота панели теперь ровно как у шапки чата и у поля ввода — 56 вместо 64, «1 в 1», как и просили
  • Изменено: Ponoi Music переехала из рейки серверов в саму панель, к микрофону и наушникам — растянувшись, панель накрыла низ рейки, где кнопка стояла, да и по смыслу это не сервер, а своя вещь
  • Добавлено: рейке серверов запас снизу распоркой, а не отступом — нижний отступ у прокручиваемой колонки браузер в конце содержимого не показывает, и последний сервер оставался заперт под панелью
  • Исправлено: моя же правка сбила отступ рейки под системную полосу телефона и прижала панель к самому краю окна, разорвав общую нижнюю линию с полем ввода — обе поломки поймала старая проверка test:safe
  • Добавлено: проверка test:layout — высота панели против шапки чата и поля ввода, ширина от края до конца колонки, кнопка музыки в панели и достижимость последнего сервера
  • Исправлено: стенд снимков рисовал выдуманную панель класса, которого нет в стилях вовсе — показывал не то, что рисует приложение

NeyLivo 1.542.0 2026-08-11

  • Добавлено: вход в аккаунт по коду — компьютер показывает QR, телефон, где уже вошли, его сканирует и подтверждает, пароль не набирается нигде
  • Добавлено: сессия уезжает зашифрованной ключом, который нарисован в самом коде и никогда не бывает на сервере — в базе лежит только шифротекст
  • Изменено: открытый ключ едет именно в QR, а не через базу — иначе сервер мог бы подсунуть свой и прочитать сессию незаметно, а с экрана в камеру он этот путь не контролирует
  • Добавлено: телефон сверяет ключ из камеры с тем, что в заявке, и при расхождении не отправляет ничего
  • Добавлено: перед подтверждением телефон показывает, какое устройство впускает, и кнопка «нет» стоит первой
  • Изменено: код живёт две минуты и обновляется сам — показанный QR это ключ от аккаунта, и вечным он быть не может
  • Изменено: забрать вход можно ровно один раз, повторная попытка получает пустоту
  • Добавлено: миграция supabase/109_qr_login.sql — таблица закрыта целиком, работа идёт через четыре функции, каждая отвечает только про ту заявку, чей код спросили
  • Добавлено: проверка test:qr — код рисуется той же функцией, что в приложении, и читается тем же распознавателем, что в камере, в том числе уменьшенный вдвое
  • Добавлено: проверка, что сессию открывает только своя пара ключей, а посторонний с обеими открытыми половинами из базы — нет
  • Исправлено: в стенде проверок висел необработанный отказ, из-за которого проверка ссылок делала вид, что спросила человека

NeyLivo 1.541.0 2026-08-11

  • Исправлено: сохранение клипа ломало приложение — клип ехал из окна записи в главный процесс обычным массивом чисел, и на трёх минутах в качестве «Чётко» это двести миллионов элементов, на которых движок отказывается работать вовсе
  • Изменено: файл теперь пишет то же окно, где лежат байты, а через границу процессов уходит только путь — те же три минуты сохраняются за 148 мс вместо провала через 3,7 секунды
  • Изменено: ожидание сохранения продлено до минуты — на медленном диске сотня мегабайт не успевала за пятнадцать секунд, и готовый клип пропадал
  • Добавлено: проверка, что в ответе окна записи нет самих байтов клипа — правило названо по существу, поэтому поймает и новое поле с байтами
  • Добавлено: замер прироста памяти за сохранение, потолок 25 МБ
  • Добавлено: основа входа по коду с телефона — разбор содержимого кода, отпечаток секрета и 15 проверок к ним

NeyLivo 1.540.0 2026-08-11

  • Изменено: все кнопки приложения приведены к одному набору — три веса заливки вместо полусотни разных фонов и четыре высоты вместо девятнадцати, ни одна кнопка не удалена и ни один класс не переименован
  • Исправлено: 103 кнопки без своего класса рисовались системными — серый прямоугольник с рамкой и чужим шрифтом посреди приложения, теперь у любой кнопки есть общий вид
  • Исправлено: белая подпись на светлой теме тонула в светлой кнопке — «Сохранить» читалось с разницей 1,58 при нужных трёх
  • Изменено: красная подпись «Удалить» подмешивает цвет текста темы и темнеет на светлой сама, без отдельной ветки
  • Изменено: на телефонах каждая кнопка не мельче пальца — обход нашёл двенадцать видов ростом 30–32 пикселя, поднято одним местом и одним числом
  • Изменено: цвет наведения главной кнопки считается от цвета темы, а не жёстким синим, который переставал слушаться при смене темы
  • Добавлено: витрина кнопок — вся семья одной разметкой, её снимает npm run look и меряет обход телефона
  • Добавлено: перепись вида npm run audit:ui с потолком — новая кнопка с чужим фоном или высотой роняет проверку и называет виновника
  • Добавлено: проверка читаемости подписей на обеих темах настоящими пикселями снимка, а не по стилям

NeyLivo 1.539.0 2026-08-11

  • Добавлено: горячая клавиша F7 сохраняет клип из любого места — поверх игры, не переключаясь в Ponoi
  • Добавлено: список записанных клипов прямо в настройках — с датой, весом и просмотром в самом приложении
  • Добавлено: кнопки «показать в папке» и «удалить» у каждого клипа, удаление спрашивает подтверждение
  • Исправлено: второе нажатие клавиши затирало первый клип — имя собиралось заранее в окне, а не в момент нажатия
  • Исправлено: два клипа в одну секунду теперь получают соседние имена вместо одного файла
  • Исправлено: дефис и пробел в названии игры больше не выкусываются из имени файла — «Half-Life 2» оставалось «HalfLife2»
  • Изменено: про клавишу настройки говорят только когда она правда наша — если F7 занята другой программой, об этом сказано прямо
  • Добавлено: клип, сохранённый клавишей, сам появляется в списке и показывает плашку — молчание неотличимо от несработавшей клавиши
  • Добавлено: 11 проверок к этому, включая два нажатия подряд и чтение клипа из чужой папки при включённой защите

NeyLivo 1.538.0 2026-08-10

  • Добавлено: запись последних секунд экрана, как в Medal — приложение всё время держит в памяти прошедшее, и по нажатию оно оказывается на диске
  • Добавлено: длина клипа от 5 секунд до 3 минут ползунком, три качества с понятной ценой — сколько весит минута записи, а не битрейт в цифрах
  • Изменено: запись живёт в отдельном скрытом окне — она нужна именно тогда, когда приложение свёрнуто, а свёрнутое окно браузер придушивает
  • Исправлено: страница записи грузится файлом, а не как data — из непрозрачного источника браузер не даёт доступ к экрану вовсе
  • Добавлено: проверка test:clip — настоящий захват экрана, сохранение файла и подтверждение, что он открывается и декодируется
  • Добавлено: 12 проверок кольца кусков, включая слом на выброшенный заголовок — без него файл весит мегабайты и не открывается ничем

NeyLivo 1.537.0 2026-08-10

  • Добавлено: защита регистрации от ботов — поле-ловушка, проверка времени заполнения и лимит в три аккаунта с устройства за час
  • Добавлено: работа доказательством перед созданием аккаунта — человеку это секунда ожидания один раз, а тому, кто заводит тысячу аккаунтов, тысяча секунд процессорного времени
  • Изменено: капчи от чужой службы нет намеренно — ей уходил бы отпечаток каждого, кто просто открыл окно регистрации, а мы обещаем обратное
  • Изменено: отказ не объясняет боту, на чём он попался, зато человеку про скорость сказано понятно
  • Добавлено: 12 проверок к этому, включая слом на пропуск ловушки и на снятый лимит

NeyLivo 1.536.0 2026-08-10

  • Добавлено: раздел «Устройства и безопасность» в настройках — видно, откуда заходили в аккаунт, когда и подтверждено ли устройство
  • Добавлено: кнопки «Это я» и «Это не я» — первая снимает замок с устройства сразу, вторая забывает его и выходит из аккаунта везде
  • Добавлено: экстренная заморозка — выход со всех устройств разом, включая это, без задержек
  • Добавлено: выпуск кода восстановления с показом один раз — на сервер уходит только отпечаток, поэтому второй раз показать код невозможно
  • Изменено: устройство отмечается само при запуске, отдельной кнопки «запомнить» нет — защита должна работать, ничего не спрашивая
  • Изменено: без применённой миграции приложение работает как раньше, а раздел честно говорит, чего не хватает

NeyLivo 1.535.0 2026-08-10

  • Добавлено: замок нового устройства — сутки после первого входа с него закрыты смена ключей, смена почты, удаление аккаунта и выгрузка данных
  • Изменено: подтверждение «это я» снимает замок сразу, а выход со всех устройств не запирается никогда — им человек защищается, и мешать этому нельзя
  • Добавлено: код восстановления вида R-XXXX-XXXX-XXXX-XXXX — им можно вернуть доступ, даже если увели и пароль, и почту
  • Изменено: в коде нет знаков, которые путают при переписывании — ни нуля с буквой O, ни единицы с I и L, ни U с V
  • Добавлено: на сервере хранится только отпечаток кода, а сверка идёт сравнением отпечатков — сам код есть лишь у человека
  • Добавлено: миграция supabase/108_device_guard.sql — доверенные устройства и отпечаток кода восстановления
  • Добавлено: 16 проверок, включая слом на открытый доступ новому устройству и на запертый выход со всех устройств

NeyLivo 1.534.0 2026-08-10

  • Добавлено: кнопка «Удалить аккаунт и все данные» в Настройках — Учётная запись, с показом того, что именно исчезнет
  • Изменено: удаление идёт с недельной задержкой и отменяется с любого своего устройства — если в аккаунт вошёл чужой, у настоящего владельца остаётся время
  • Добавлено: при удалении стираются и данные на сервере, и всё своё на устройстве, включая ключи шифрования — сервер не может стереть ключи, их нет у него
  • Добавлено: «Пожаловаться» в меню человека, рядом с блокировкой, с выбором причины и обязательным пояснением для «Другое»
  • Изменено: в жалобу не попадает ни слова из переписки — иначе любой мог бы положить свой текст на сервер открытым, пожаловавшись сам на себя
  • Добавлено: рядом с жалобой сразу предлагается блокировка — она действует немедленно, в отличие от жалобы, которую кто-то должен разобрать

NeyLivo 1.533.0 2026-08-10

  • Добавлено: правила удаления аккаунта со всеми данными и жалобы на человека — требования Google Play к мессенджерам, без которых приложение не пропустят
  • Добавлено: опасные действия исполняются с задержкой — удаление аккаунта через неделю, смена почты и ключей через трое суток, а выход со всех устройств сразу
  • Изменено: удаление подтверждается вводом своего имени, а не «вы уверены» — на такое отвечают да не читая
  • Добавлено: затирание всего своего на устройстве — настройки, хранилища, кэши и ключи шифрования, с честным отчётом о том, что стёрлось, а что нет
  • Добавлено: миграция supabase/107_account_guard.sql — жалобы, отложенные действия и удаление своих данных на сервере
  • Изменено: в жалобе НЕТ текста сообщений, только кто, на кого и почему — иначе кнопка «пожаловаться» стала бы дырой в сквозном шифровании
  • Добавлено: 20 проверок к этому, включая слом на мгновенное удаление и на «да» вместо имени

NeyLivo 1.532.0 2026-08-10

  • Исправлено: экран друзей развалился — разметку переписали, а стилей к новым классам не написали ни одного, и браузер честно рисовал голый html
  • Исправлено: весь интерфейс становился засечковым — шрифт назначался, но файл не подгружался, и браузер откатывался на запасной Georgia
  • Добавлено: копирование выбранных сообщений — кнопка рядом с «Переслать», копирует «Имя: текст» по строке, в порядке ленты, а не нажатий
  • Изменено: вложение без текста копируется пометкой, а не пустой строкой — иначе в скопированном куске оставались дыры
  • Добавлено: проверка test:naked — ищет классы в разметке, у которых нет ни одного стиля, и падает на НОВЫХ
  • Добавлено: 8 проверок копирования, включая слом на порядок нажатий и на пустые строки от вложений

NeyLivo 1.531.0 2026-08-10

  • Добавлено: длина сообщения больше ничего не выдаёт — текст кладётся в блок постоянного размера и досыпается настоящим случайным шумом
  • Изменено: «да», «нет» и абзац на четыреста знаков снаружи выглядят одинаково — 1388 байт у всех, замерено
  • Изменено: блоки ступенями — килобайт, четыре, шестнадцать и дальше, поэтому за короткую реплику платится килобайт, а не мегабайт
  • Добавлено: шум настоящий, а не нули — нули сжались бы, и длина снова стала бы видна тому, кто применит сжатие к шифротексту
  • Изменено: скорость не пострадала — шифрование одного сообщения занимает 0,058 миллисекунды
  • Добавлено: старые сообщения читаются как раньше — у блока есть метка, и разбор смотрит на неё, а не гадает
  • Добавлено: 15 проверок к этому, включая порчу длины внутри блока и слом на возврат «длина как у текста»

NeyLivo 1.530.0 2026-08-10

  • Исправлено: выбранный шрифт не работал на телефоне — в наборе были ИМЕНА системных шрифтов, а на Android нет ни Georgia, ни Open Sans, ни Comic Sans, ни JetBrains Mono, и браузер молча подставлял обычный
  • Изменено: шрифты лежат в самом приложении и приезжают, когда их выбрали — «Классический» засечковый, моноширинный и округлый работают одинаково на телефоне и на компьютере
  • Добавлено: шрифт подтягивается и там, где его просто показывают — чужой ник или название канала чужим шрифтом больше не выглядят обычными
  • Изменено: набор шрифтов стал один на ник, сообщения и названия каналов — раньше он был выписан трижды и мог разъехаться
  • Добавлено: 8 проверок, включая слом на возврат системных имён в набор
  • Изменено: файлы шрифтов не попадают в стартовую загрузку — вес запуска остался 502 килобайта при потолке 1400

NeyLivo 1.529.0 2026-08-10

  • Изменено: файл в сообщении показывается карточкой, а не синей строкой «Скачать файл» — значок по типу, полное имя с расширением, тип и размер
  • Добавлено: у архива видно, что внутри — список файлов и папок с размерами, и для этого архив не скачивается: опись лежит в конце файла, читается только хвост
  • Добавлено: кнопка скачивания и меню с «открыть в браузере» и «копировать ссылку» прямо на карточке
  • Изменено: незнакомый тип называется «Файл», а не выдуманным типом, и неизвестный размер не пишется как «0 Б»
  • Добавлено: 12 проверок — разбор имени и типа, человеческий размер и чтение описи настоящего архива, собранного по байтам прямо в проверке