Ng-token-auth, ionic, devise_token_auth; токен теряется случайным образом в запросе xhr

Я унаследовал приложение Ionic, которое использует ng-token-auth + devise_token_auth для обработки аутентификации и сеанса между передней и задней devise_token_auth.

То, что происходит, довольно странно. Иногда (особенно при медленных соединениях) запрос (или ответ) теряется, и после этого я получаю только 401 http ошибок.

Я знаю, что каждый раз, когда я отправляю запрос, срок действия токена истекает, но когда запрос xhr отменяется (я полагаю, сервером или браузером, я не знаю), срок действия токена истекает без замены новым. генерируется devise_token_auth.

Я знаю Rails, но я не знаком ни с Angular, ни с Ionic, и я точно не знаю, где искать.

Прочитав много SO-ответов, в которых никто не видит мою проблему (что происходит локально и при постановке/производстве), я проверил следующее

  • storage установлено как localStorage.
  • config.batch_request_buffer_throttle = 20.seconds
  • между отмененными запросами нет шаблона, иногда я выполняю get для имени пользователя, иногда для публикации или добавления в комментарий.
  • Это не проблема CORS, потому что это будет происходить всегда или никогда. (более того, я использую прокси, как описано в ионном блоге)
  • Возможно, это может быть связано с предварительной ошибкой заголовков Chrome. Но как я могу быть уверен?

Что меня удивляет, так это то, что это случается только иногда и не всегда. (и нет ошибок в бэкэнде)

Единственный обходной путь, который я нашел в документации devise_token_auth, - это изменить config.change_headers_on_each_request на false чтобы таким образом избежать регенерации токена.

Но мне не нравится это решение, потому что я думаю, что оно скрывает реальную проблему небезопасным способом вместо решения проблемы потери токена. Любое предложение?