• danila released this 2026-07-20 06:48:54 +00:00 | 0 commits to main since this release

    v1.12.3 — закрытие backlog CJM-ревью (полный план + решения в docs/12-CJM-FIXES.md).

    • Долгий тап по треку = играть и остаться в списке (сценарий «просто плеер»), обычный тап (играть+открыть) не тронут.
    • Иконка «Обновить перевод» во время перевода показывает индикатор, а не исчезает.
    • One-time тост, когда «по звукам» не вышло и показываем «по строкам» (не читается как «кнопка не сработала»).

    Остаток backlog — осознанные решения «не делаем» с причинами (акцент иконки ложно срабатывал бы на русских песнях; plain-режим намеренно без текста; ТВ — прибор вечеринки; и т.д. — см. план).

    ver.code 38.

    Downloads
  • danila released this 2026-07-20 06:36:37 +00:00 | 0 commits to main since this release

    v1.12.2 — заход по backlog CJM-ревью (полный план в docs/12-CJM-FIXES.md).

    • Офлайн-тап «Обновить перевод» → честный тост «Нет интернета», а не немой no-op.
    • Экран «Текста песни пока нет» → видимое вторичное действие «Свой текст» (запасной путь не только в ⋯; работает офлайн и мгновенно).
    • Баннер «Собрать по звукам» показывается один раз на трек, не назойливит переоткрытия (вход в караоке остаётся в кликабельном чипе «· Уточнить →»).
    • Долгая привязка в фоне по таймауту деградирует в refetch (покажет готовое караоке или текст + «Уточнить»), а не ложный «Сервер долго не отвечает» с лишней перезаливкой.

    ver.code 37.

    Downloads
  • danila released this 2026-07-20 06:25:15 +00:00 | 0 commits to main since this release

    v1.12.1 — по итогам полного CJM-ревью пути «текст → перевод → караоке».

    Клиент:

    • Статус-чип «≈ примерно / по строкам» стал видимой кнопкой «· Уточнить →» — постоянный вход в сборку караоке «по звукам» (не только исчезающий баннер).
    • В режиме «Перевод» строка без перевода откатывается на оригинал (на частично переведённой песне не поёшь по пустой строке).
    • Честный текст ошибки для треков длиннее 15 минут.

    Сервер:

    • Устранён вечный «Перевод готовится…» для песен с непереводимыми строками (ад-либы «la-la», имена кэшируются как attempted, не жгут OpenRouter повторно).
    • Пустой перевод Амальгамы больше не затеняет LLM-догон той же строки.

    ver.code 36.

    Downloads
  • danila released this 2026-07-19 22:58:50 +00:00 | 0 commits to main since this release

    v1.12.0 — Починка перевода.

    • Видимая иконка «Обновить перевод» в топ-баре плеера: один тап форсит ре-фетч и чинит трек, закэшированный без перевода (турецкий/иноязычный/частичный).
    • Сервер: обход RF гео-блока OpenRouter через xray-релей — иноязычные треки снова переводятся.
    • Сервер: LLM-догон строк, которым Амальгама дала лишь частичный литературный перевод (пропуски абзацев закрываются фоном).

    versionCode 35.

    Downloads
  • danila released this 2026-07-19 10:55:38 +00:00 | 0 commits to main since this release

    Главные действия теперь на виду, а не в скрытом меню.

    🎤 Петь — видимая кнопка на экране трека (была спрятана в ⋯).
    🎉 Вечеринка — иконка на главном экране рядом с поиском (была в меню трека).
    • ♥ Избранное — сердце в шапке плеера.
    • ⋯ теперь «Настроить» — только настройка трека, разбитая на группы Звук и Текст (без свалки).

    Путь до караоке, вечеринки и режима плеера — прямой, в один-два тапа.

    Downloads
  • danila released this 2026-07-16 11:54:03 +00:00 | 0 commits to main since this release

    Корень найден по цифрам с устройства.

    Прошивка оставляет служебные флаги аудио (это музыка / это рингтон / это подкаст) пустыми — NULL, а не 0. В SQL сравнение с NULL никогда не истинно, поэтому любой фильтр по этим флагам молча выбрасывал ВСЕ 59 файлов, включая обычный mp3 на 3 минуты в папке Music.

    • Фильтр стал NULL-безопасным: пустой флаг больше не считается «это рингтон» и не выкидывает трек.
    • Диагностика «Почему пусто?» теперь считает каждое условие отдельно и показывает NULL честно (раньше NULL выглядел как 0 и увёл диагноз не туда).

    Прошлая версия 1.10.3 эту же ошибку повторяла — она не помогала.

    Downloads
  • danila released this 2026-07-16 11:45:59 +00:00 | 0 commits to main since this release

    Починен главный баг: пустая библиотека при выданном разрешении.

    Причина (нашли боевой диагностикой): медиасканер прошивки не проставляет флаг «это музыка» — он был 0 у ВСЕХ файлов, включая обычные mp3 в папке Music. Приложение требовало этот флаг и вырезало всю библиотеку.

    • Теперь флагу не доверяем вслепую: если по нему пусто — берём всё, что длиннее 8 секунд, не помечено как рингтон/подкаст/будильник и лежит вне служебных папок приложений (голосовые из мессенджеров не попадут).
    • На нормальных прошивках работает как раньше — строгий фильтр, чистая библиотека.

    Downloads
  • danila released this 2026-07-16 10:19:50 +00:00 | 0 commits to main since this release

    По реальному отчёту: разрешение есть, «вся музыка» включена — а треков ноль.

    • Кнопка «Почему пусто?» в пустом экране показывает, что РЕАЛЬНО видит MediaStore: сколько всего аудио, сколько помечено музыкой, сколько проходит фильтр длительности, и последние 5 путей. Сразу видно, где теряются треки.
    • Плюс из 1.10.1: «В выбранных папках пусто» + кнопка «Показать всю музыку телефона» (раньше из этого экрана не было выхода).

    Downloads
  • danila released this 2026-07-16 09:38:10 +00:00 | 0 commits to main since this release

    Фикс по реальному отчёту: добавил папку, а библиотека пустая — и выхода нет.

    • Пустой экран теперь честно говорит «В выбранных папках пусто — музыка может лежать в другой папке» и даёт кнопку «Показать всю музыку телефона».
    • Раньше единственная кнопка вела в тот же выбор папки → замкнутый круг, а тумблер «вся музыка» был закопан в Настройках.

    Downloads
  • danila released this 2026-07-16 08:09:40 +00:00 | 0 commits to main since this release

    Теперь текст можно добавить самому.

    • Вставить свой текст — в меню трека (⋯) открывается редактор. Вставь текст песни; со временем в формате [00:12.50] строка — сохранится как караоке с подсветкой.
    • Импорт .lrc из файла — выбери .lrc рядом с треком, он подхватится (без спец-прав).

    Закрывает случай «текста нигде нет»: для своей коллекции покрытие доводится до 100%. Всё локально, офлайн.

    Downloads