Repository navigation
Ticket e-mails no longer cause a burst of Google Wallet errors on an event's first mail.
Restart Indico after installing. There is no migration, no asset rebuild, and members do not need to sign in again.
Fixes
- The Google Wallet class is made before the first ticket mail that links to it. Indico creates an event's Google Wallet class the first time anyone follows a Google link, with a lookup and then a create that nothing guards. A mail full of those links is followed by every link scanner on its way to the inbox (Safe Links on a university mailbox opens them all within a second), so on an event's first mail the creates collided: Google answered the losers
409 existingResourceand Indico turned it into a 503 (Sentry INDICO-BACKEND-P). The plugin now makes the class first, so those requests find it already there. - It never stops the mail. If Google cannot be reached, the ticket still goes out with its badge and a warning is logged; the link creates the class when first followed, as before. Each event is tried once per request, so a bulk approval while Google is slow does not wait on it for every registrant.
The race itself is in Indico core, which would be better fixed by treating a 409 on the create as success. Two organizers approving at the very same moment can still collide, which now costs a warning and nothing else. See README §4, In the e-mail.