| Filename | Latest commit message | Latest commit date |
|---|---|---|
|
Some checks failed
Build three ZaStoGram APKs / build (arm64-v8a, ZaStoGram-standalone-arm64-v8a, Arm64, arm64) (push) Has been cancelled
Build three ZaStoGram APKs / build (armeabi-v7a, ZaStoGram-standalone-armeabi-v7a, Armv7, armv7) (push) Has been cancelled
Build three ZaStoGram APKs / build (x86, ZaStoGram-standalone-x86, X86, x86) (push) Has been cancelled
ZaStoGram source guards / guards (push) Has been cancelled
В проекте два хранилища ключей: настоящий релизный лежит вне репозитория и подключается переменной ZASTO_RELEASE_KEYSTORE, а в самом репозитории есть запасной с другим сертификатом. Если переменную не передать, сборка молча брала запасной — так вышли 1.1.13 и 1.1.14, подписанные ключом a08d7dc3 вместо 84315d38. Android запрещает обновление приложения со сменившейся подписью и сообщает об этом лишь фразой «Приложение не установлено», а Play Protect вдобавок помечает неизвестного подписанта как угрозу — обе жалобы пользователя объясняются этим. Теперь стабильная сборка без релизного ключа падает с внятной ошибкой, а не подменяет ключ. Параметры подписи дополнительно принимаются как свойства Gradle: System.getenv в скрипте сборки читает окружение демона, а не команды, поэтому экспортированная переменная может не примениться — та же ловушка, что была с номером сборки. Добавлена проверка отпечатка сертификата собранного APK и её вызов из конвейера, чтобы чужой ключ нельзя было выпустить незамеченным. Заодно исправлен спам proxy_warmup в логах: дедупликация не действовала на решения allow, а её кэш состоял из одной ячейки, поэтому чередующиеся записи от разных аккаунтов вытесняли друг друга. Теперь окно у каждого ключа своё, а число свёрнутых повторов печатается как repeated=N, чтобы записи не пропадали молча. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> |
||
| .. | ||
| src/main | ||
| .gitignore | ||
| build.gradle | ||
| google-services.json | ||