Get /users/by-external/ lanzando error URL no encontrada después de la actualización

ya pude resolverlo

Parece que actualizaron el código para lanzar un error si no se encuentra ningún usuario, así que tuve que usar rescue en lugar de comparar si era nil.

begin
    resp = client.get("/users/by-external/#{user.id}")
rescue DiscourseApi::NotFoundError => error
    puts error.response.body['errors'].first
    sync_user(user)
else
    resp.response.env.body['user']
end

Además, la respuesta ha cambiado de
resp['body']['user']
a
resp.response.env.body['user']

Mi último problema pendiente es que cuando llamo a client.sync_sso, ahora obtengo un error interno del servidor 500.

Los registros muestran
ActiveRecord::RecordNotUnique (PG::UniqueViolation: ERROR: duplicate key value violates unique constraint "user_emails_pkey")

Sin embargo, si uso los mismos detalles en la terminal de Rails y ejecuto client.sync_sso, funciona perfectamente.

Solo para que lo sepas, no cambié el endpoint para que las partes anteriores volvieran a funcionar, así que parece que /users/by-external/ sigue siendo válido.