Заявка уходит сама: очередь отправки и значок связи
Отправка в Telegram больше не заставляет ждать, а состояние заявки и связь с сервером теперь видно с одного взгляда.
Раньше отправка заявки в Telegram выглядела так: повар жал кнопку и ждал. Иногда полсекунды, иногда пятнадцать. Если Telegram в этот момент тормозил, приложение показывало ошибку — и повар жал ещё раз. Заявка уходила дважды либо не уходила вовсе, и узнать об этом было неоткуда: поставщик просто не привозил товар.
Теперь нажатие только ставит заявку в очередь. Ответ приходит сразу, а отправкой занимается сам сервер — в фоне, не мешая работе.
Что видно на кухне
У заявки появилось состояние, прямо на карточке:
- отправляется — заявка в очереди, всё идёт своим ходом;
- доставлено в Telegram — сообщение в группе поставщика, можно не проверять;
- не ушло — рядом кнопка «Отправить ещё раз».
Пропала связь или Telegram отвечает отказом — сервер повторяет сам, с нарастающей паузой. Если не вышло и после пятой попытки, заявка не пропадает молча: кухня видит предупреждение и решает, что делать.
Один случай мы намеренно оставили человеку. Если сервер перезапустится ровно в момент отправки, узнать, дошло сообщение или нет, невозможно — Telegram такого не сообщает. Повторить самим значило бы рискнуть двойной заявкой: поставщик соберёт два раза и привезёт двойной объём. Поэтому кухня видит «проверьте группу» и отправляет ещё раз сама, если сообщения там нет.
Про утренний час пик
У Telegram есть предел скорости. Когда десятки заведений заказывают в одно время, в него можно упереться — и часть заявок получила бы отказ. Очередь растягивает поток: не больше двух сообщений в секунду и не больше восемнадцати в минуту в одну группу. Заявки уходят чуть медленнее, зато все.
Значок связи в шапке
Приложение работает без интернета: набранное сохраняется и уходит, когда связь вернётся. Но понять, ушло уже или ещё лежит, можно было только по временной полосе, которая появлялась при обрыве.
Теперь в шапке всегда виден маленький кружок. Зелёный — сервер отвечает. Серый — связи нет, работаем офлайн. Нажмите на него, и приложение скажет, когда связь была в последний раз и сколько действий ждёт отправки.
Важно: кружок следит не за интернетом на телефоне, а за нашим сервером. На кухне бывает так, что вайфай есть, а толку от него нет — раньше приложение считало, что всё в порядке.
Кружок не мигает на каждый короткий провал: чтобы он погас, связи не должно быть две проверки подряд. Подвалы и морозилки — обычное дело, и значок, дёргающийся каждые полминуты, читать невозможно.
Кнопка обновления
Рядом с кружком появилась кнопка ↻ — перечитать данные с сервера, не закрывая приложение. Раньше при подвисших данных приходилось закрывать приложение и открывать заново.
На заявке она работает аккуратно: сперва отправляет ваше несохранённое, и только потом читает бланк заново. Набранное не потеряется.
Значок авто-заказа теперь календарь
Кнопка авто-заказа раньше выглядела как ↻, и её путали с обновлением страницы. Теперь это календарь — «то, что заказываем регулярно», а ↻ занял кнопку обновления.