Пользователь нажал кнопку, сеть пропала, а браузер не знает, дошёл ли запрос до сервера. Повторите запрос — можно получить дубль. Не повторяйте — потеряете действие. Показываю схему, которая решает обе проблемы: API без toggle, ключ идемпотентности в PostgreSQL, очередь в IndexedDB, Service Worker…
Кнопка нажата, а ответа нет: как не потерять действие пользователя и не наделать дублей
Это краткое изложение. Полный текст материала доступен на сайте источника.