Привет, Codeforces! Начиная с прошлого ноября мы работали над множеством нового функционала для нашего приложения Codeforces WatchR, обновление которого наконец-то доступно [App Store](https://apps.apple.com/us/app/codeforces-watchr-contests/id1495591299) и [Google Play](https://play.google.com/store/apps/details?id=com.bogdan.codeforceswatcher).↵
↵
![ ](/predownloaded/77/80/77803e14639f3d3035be0c2e82cfdadf85c91cea.png)↵
↵
Бизнес-логика переехала на сервер↵
-----------------------------------↵
↵
Мы добавили серверную логику еще несколько майлстоунов назад, но использовалась она только для функционала "Новостей". Другие части приложения работали с [Codeforces API](https://codeforces.net/apiHelp) напрямую из мобильных приложений, что доставляло немало хлопот и негативно влияло на стабильность работы приложения.↵
↵
В частности, подтягивание обновлений рейтинга требовало множества запросов (один на пользователя) каждый раз когда вы пытались обновить список. Такой подход плохо масштабировался и был нестабилен, что негативно влияло на опыт использования приложения.↵
↵
Теперь же обновление выполняется с помощью одного единственного запроса предоставленного нашим сервером. Он отрабатывает мгновенно для мобильных пользователей. Мы же в свою очередь постоянно запрашиваем обновления через [Codeforces API](https://codeforces.net/apiHelp), чтобы получить последние обновления на сервере, в результате используя намного меньшее количество запросов.↵
↵
Аутентификация↵
-------------------↵
↵
Но для того чтобы сделать наших пользователей еще счастливее, мы решили добавить аутентификацию в приложения Codeforces WathchR. Это позволяет нам сохранять подписки пользователей между разными устройствами и персонализировать приложения в будущем.↵
↵
На текущий момент вы можете зарегистрироваться (или войти) только с помощью почты/пароля, но позже мы добавим другие варианты (Google, Facebook, Apple и т.п.). Хотелось бы отметить, что мы не получаем доступа к вашему профилю Codeforces, а используем исключительно публичную информацию.↵
↵
Проверка профиля↵
--------------------↵
↵
Но если вы хотите, чтобы мы знали кто вы, такой функционал тоже имеется. Вы можете подтвердить свой профиль Codeforces с помощью единоразового изменения публичной информации (фамилии), после чего все можно вернуть как было. Так мы будем уверены что это именно ваш профиль.↵
↵
Проверенный профиль позволит нам еще больше персонализировать приложения под ваши нужды, например:↵
- важные для вас уведомления (разборы нерешенных задач, например)↵
- рекомендации задач в темах, которые вам нужно подтянуть↵
- рекомендации образовательного контента↵
- и многое другое↵
↵
Если вам нужен какой-то конкретный функционал, то не стесняйтесь комментировать этот пост ;)↵
↵
Исправление багов↵
---------↵
↵
Мы исправили доступ к веб-страницам в Android приложении, так что теперь вы можете плюсовать (и минусовать) посты и комментарии, открывать спойлеры, читать разборы, и даже отправлять решения.↵
↵
В общей сложности мы закрыли [26 тасков в нашем публичном репозитории на GitHub для этого майстоуна](https://github.com/xorum-io/codeforces_watcher/milestone/11?closed=1). [user:BOGDAN_,2021-04-08], [user:denmen0207,2021-04-08], [user:Karavaiev,2021-04-08] и [user:alla_dubovska,2021-04-08] будут очень рады получить звездочки :)↵
↵
Посвящение↵
----------↵
↵
Этот майлстоун посвящается великому мастеру детективных историй — [Сэру Артуру Конан Дойлю](https://en.wikipedia.org/wiki/Arthur_Conan_Doyle). Он создал одного из самых известных персонажей своего жанра — Шерлока Холмса. Если вы еще не читали его историй, [прочитайте сейчас же](https://sherlock-holm.es/stories/pdf/a4/1-sided/redh.pdf), и ваша жизнь никогда не станет прежней. Иногда я хочу обнулить мою память, чтобы прочитать их все еще раз.↵
↵
Теперь мы ищем автора для следующего майлстоуна, чья фамилия должна начинаться с буквы "Е". Пожалуйста, пишите ваши варианты в комментариях.
↵
![ ](/predownloaded/77/80/77803e14639f3d3035be0c2e82cfdadf85c91cea.png)↵
↵
Бизнес-логика переехала на сервер↵
-----------------------------------↵
↵
Мы добавили серверную логику еще несколько майлстоунов назад, но использовалась она только для функционала "Новостей". Другие части приложения работали с [Codeforces API](https://codeforces.net/apiHelp) напрямую из мобильных приложений, что доставляло немало хлопот и негативно влияло на стабильность работы приложения.↵
↵
В частности, подтягивание обновлений рейтинга требовало множества запросов (один на пользователя) каждый раз когда вы пытались обновить список. Такой подход плохо масштабировался и был нестабилен, что негативно влияло на опыт использования приложения.↵
↵
Теперь же обновление выполняется с помощью одного единственного запроса предоставленного нашим сервером. Он отрабатывает мгновенно для мобильных пользователей. Мы же в свою очередь постоянно запрашиваем обновления через [Codeforces API](https://codeforces.net/apiHelp), чтобы получить последние обновления на сервере, в результате используя намного меньшее количество запросов.↵
↵
Аутентификация↵
-------------------↵
↵
Но для того чтобы сделать наших пользователей еще счастливее, мы решили добавить аутентификацию в приложения Codeforces WathchR. Это позволяет нам сохранять подписки пользователей между разными устройствами и персонализировать приложения в будущем.↵
↵
На текущий момент вы можете зарегистрироваться (или войти) только с помощью почты/пароля, но позже мы добавим другие варианты (Google, Facebook, Apple и т.п.). Хотелось бы отметить, что мы не получаем доступа к вашему профилю Codeforces, а используем исключительно публичную информацию.↵
↵
Проверка профиля↵
--------------------↵
↵
Но если вы хотите, чтобы мы знали кто вы, такой функционал тоже имеется. Вы можете подтвердить свой профиль Codeforces с помощью единоразового изменения публичной информации (фамилии), после чего все можно вернуть как было. Так мы будем уверены что это именно ваш профиль.↵
↵
Проверенный профиль позволит нам еще больше персонализировать приложения под ваши нужды, например:↵
- важные для вас уведомления (разборы нерешенных задач, например)↵
- рекомендации задач в темах, которые вам нужно подтянуть↵
- рекомендации образовательного контента↵
- и многое другое↵
↵
Если вам нужен какой-то конкретный функционал, то не стесняйтесь комментировать этот пост ;)↵
↵
Исправление багов↵
---------↵
↵
Мы исправили доступ к веб-страницам в Android приложении, так что теперь вы можете плюсовать (и минусовать) посты и комментарии, открывать спойлеры, читать разборы, и даже отправлять решения.↵
↵
В общей сложности мы закрыли [26 тасков в нашем публичном репозитории на GitHub для этого майстоуна](https://github.com/xorum-io/codeforces_watcher/milestone/11?closed=1). [user:BOGDAN_,2021-04-08], [user:denmen0207,2021-04-08], [user:Karavaiev,2021-04-08] и [user:alla_dubovska,2021-04-08] будут очень рады получить звездочки :)↵
↵
Посвящение↵
----------↵
↵
Этот майлстоун посвящается великому мастеру детективных историй — [Сэру Артуру Конан Дойлю](https://en.wikipedia.org/wiki/Arthur_Conan_Doyle). Он создал одного из самых известных персонажей своего жанра — Шерлока Холмса. Если вы еще не читали его историй, [прочитайте сейчас же](https://sherlock-holm.es/stories/pdf/a4/1-sided/redh.pdf), и ваша жизнь никогда не станет прежней. Иногда я хочу обнулить мою память, чтобы прочитать их все еще раз.↵
↵
Теперь мы ищем автора для следующего майлстоуна, чья фамилия должна начинаться с буквы "Е". Пожалуйста, пишите ваши варианты в комментариях.