Backoff retry failed images #126
Labels
enhancement
Improvement of existing features or bugfix
k::UI/UX
UI (user interface) and UX (user experience) changes
Milestone
Background
Изображение может вернуть любую ошибку - например, 404, если оно ещё не успело стать доступным на сервере.
Problem to solve
Если возвращается 404, то логично пробовать фетчить это изображение снова и снова по бэкофф алгоритму: сначала сразу же повторить запрос, затем через 500 миллисекунд, затем через 1 секунду, через 2, через 4, через 8 и так далее до какого-нибудь лимита (например, 32 секунды).
Possible solutions
Реализовать такой виджет, который будет ретраить получение неполученного изображения и, возможно, добавить возможность в будущем реализовать обработку для других ошибок.
В качестве примера можно посмотреть
NetworkImageWithRetry
от пакетаflutter_image
, который только под вебом не работает. Там в целом большой спектор ошибок обрабатывается, так что можно на него полагаться.И стоит добавить такую штуку, как обработку именно 403-й ошибки. При получении 403-й ошибки нужно постучаться в
RxChat.updateAttachments
, чтобы получить новую ссылку на изображение/видео/файл.The text was updated successfully, but these errors were encountered: