TGViewer
Андроидѣ | Михаил Белый Андроидѣ | Михаил Белый @foundout · 328 subscribers
Post #275 340
15. При рефакторинге класса-обёртки для RxJava нашёл 40 перегрузок метода onSubscribe с разными параметрами. IDE подсветила половину как неиспользуемые и я их радостно удалил. В результате вызовы переключились на другие перегрузки, параметры изменились и асинхронщина поломалась.

16. ExoPlayer оказался для меня самым проблемным SDK: документация никакая, примеров нормальных не найти. Я не знал, что приложение должно отслеживать входящий звонок, чтобы передавать ему аудиофокус, ставя проигрывание на паузу. У наших пользователей после окончания звонка внезапно воспроизводилось видео из свернутого приложения.

17. Делали кэширование видеозаписей. Забыли про пользователей в роуминге. Посыпались жалобы от туристов, у которых наше приложение съело весь трафик. С тех пор эту историю выслушивают все, кто меня собесит.

18. С Paging Library огреб проблем не меньше, чем с эксоплеером. Прокрутка начала троттлиться из-за неправильного сохранения PagingKey в Room.

19. На бэке добавился новый статус, который в таблице Room хранился в поле с типом Enum. Старая версия приложения при чтении передавала эту незнакомую строку в Enum.valueOf(). Вылет с IllegalArgumentException.

20. Бэк стал слать пустой id, надо было в Room для primary-ключа сделать такое: id.ifEmpty { portion }. Перепутал portion с локальным полем position, которое постоянно инкрементируется. Надобавлялась куча дубликатов.

21. Поймал неконсистентную эмиссию данных из таблиц Room. Flow нужно собирать в combine(), а операции вставки выполнять в единой транзакции.

22. Отвалилось отображение пушей. Потому что загрузил метод onMessageReceived тяжёлой асинхронной логикой. FCM держит FirebaseMessagingService в памяти недолго, затем прибивает. Об этом я не знал.

23. Забыл добавить готовые ProGuard-директивы из файла missing_rules, которые указываются при выполнении таски minify. Релизное приложение вылетело в рантайме.

24. Разнес сборку debug и release на отдельные CI-джобы, но не настроил общий Gradle-кэш. Раннеру не хватило памяти: debug собрался, а release отменился.

25. Для тестирования ML Kit временно добавил в манифест атрибут android:debuggable="true". Коммит попал в репозиторий. Специалисты по безопасности потребовали убрать этот флаг из релизной сборки.

26. Загрузил в репозиторий на гитхабе keystore-файл и ключи для подписи релизной сборки, полагая что приватность репозитория гарантирует безопасность.

27. В комментарий к задаче в джире опубликовал фрагмент лога, в котором засветился секретный токен.

28. На одной работе запушил коммит, подписанный корпоративной электронной почтой со второй работы. Теперь не использую git config --global.

29. Сидел на дейли в AirPods. Вышел встретить курьера, который потерял подъезд. Чтобы расслышать его, нажал кнопку на наушнике – не заметив, что тем самым включил микрофон. Обматерил и курьера и всех на созвоне.

30. Конечно же на первой работе я закоммитился сделать таску за два дня, не проверив доступы. Накануне вечером открываю фигму, а там restricted access. Cпас коллега, у которого были права выдавать инвайты.

Список неполный, постоянно пополняется.

Под конец несколько духоподъемных цитат, чтобы снизить чувство бесполезности усилий:
😠 Не ошибается тот, кто ничего не делает.
😚 Важно не никогда не ошибаться, а побеждать чаще, чем ошибаться.
🥃 Единственная настоящая ошибка – та, из которой ты ничего не извлёк.
More from @foundout
  1. Sep 28, 2026Post #463
  2. Sep 9, 2026Истории про айфон Первый айфончик у меня появился в 24 года. К этим годам одни успевают пе…
  3. Sep 2, 2026Как правильно жить в Республике Бангладеш Жить в прекрасной стране Бангладеш – что может б…
  4. Sep 1, 2026Новые открытия Помню, как зимой, лежа на диване, ругался на концепт зимней арки. Как на оч…
  5. Aug 13, 2026Турецкий скам Я третий раз в Турции. За 4 года моего отсутствия покупательная способность…
  6. Aug 9, 2026Что делать в Черногории Шароебиться по горам. Всё, чем известна Черногория – сюда 20 лет н…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →