Title: Show API Rate Limiting Information during Migration
1) What is your original issue/pain point you want to solve?
API rate limiting during a migration doesn’t give the end user any visual indication that they are being rate limited. The numbers just pause.
2) Which are one or two concrete situations where this problem hurts the most?
I just completed a FreshDesk migration and was rate limited a few times during the migration. In the browser, the numbers just paused for ~45 minutes after I got my 429 response. In the logs, I could see the 429 response, the retry-after value and status is: sleep but that isn’t displayed in the browser UI anywhere for the end user.
What the end user sees is just their numbers stop for an extended period of time. They may think their migration has broken or something has gone wrong. Here is what I saw the last time I was rate limited:
3) Why is it not solvable with the Zammad standard?
Currently in lib/sequencer/unit/import/freshdesk/requester.rb the 429 response is being handled, but the retry-after header value isn’t being stored anywhere for the UI to use.
4) What is your expectation/what do you want to achieve?
If a rate limit state was stored in ImportJob’s result field, it could be used in the UI. The ImportJob model is already being updated incrementally during import. If the retry-after response header’s value gets stored, it can be used to give the user a little update like this:
I’m new to Zammad and contributing, but from what I understand, updates and feature requests should come here first before becoming a Github Issue. Forgive me if this is the wrong place for this type of suggestion.
Cam

