fix(captain): Accept-Encoding identity nos clients Supabase (gzip silencioso)

Supabase REST manda response gzip por default. Faraday default não tem
middleware de descompressão, então JSON.parse(gzip_bytes) explodia em
JSON::ParserError, capturado pelo rescue → array vazio silencioso.

OfferService#fetch_unidade retornava [] mesmo com row presente,
caindo em "Sem unidade vinculada — tenant não resolvido".

Fix em offer_service, weekly_report_service, notify_revealed_job e
notify_revealed_scheduler_job. (get_reserva_preco_tool já tinha o fix.)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Rodribm10 2026-04-30 23:21:10 -03:00
parent f0db8b0361
commit e7f3723938
4 changed files with 6 additions and 0 deletions

View File

@ -81,6 +81,7 @@ class Captain::Roleta::NotifyRevealedJob < ApplicationJob
req.headers['Content-Profile'] = supabase_schema
req.headers['Content-Type'] = 'application/json'
req.headers['Accept'] = 'application/json'
req.headers['Accept-Encoding'] = 'identity'
req.body = body.to_json
end
return [] unless response.success?

View File

@ -39,6 +39,7 @@ class Captain::Roleta::NotifyRevealedSchedulerJob < ApplicationJob
req.headers['Authorization'] = "Bearer #{supabase_key}"
req.headers['Accept-Profile'] = supabase_schema
req.headers['Accept'] = 'application/json'
req.headers['Accept-Encoding'] = 'identity'
end
return [] unless response.success?

View File

@ -92,6 +92,7 @@ class Captain::Roleta::OfferService
req.headers['Authorization'] = "Bearer #{supabase_key}"
req.headers['Accept-Profile'] = supabase_schema
req.headers['Accept'] = 'application/json'
req.headers['Accept-Encoding'] = 'identity'
end
return [] unless response.success?
@ -108,6 +109,7 @@ class Captain::Roleta::OfferService
req.headers['Content-Profile'] = supabase_schema
req.headers['Content-Type'] = 'application/json'
req.headers['Accept'] = 'application/json'
req.headers['Accept-Encoding'] = 'identity'
req.body = body.to_json
end
return [] unless response.success?

View File

@ -111,6 +111,7 @@ class Captain::Roleta::WeeklyReportService
req.headers['Authorization'] = "Bearer #{supabase_key}"
req.headers['Accept-Profile'] = supabase_schema
req.headers['Accept'] = 'application/json'
req.headers['Accept-Encoding'] = 'identity'
end
return [] unless response.success?
@ -127,6 +128,7 @@ class Captain::Roleta::WeeklyReportService
req.headers['Content-Profile'] = supabase_schema
req.headers['Content-Type'] = 'application/json'
req.headers['Accept'] = 'application/json'
req.headers['Accept-Encoding'] = 'identity'
req.body = body.to_json
end
return [] unless response.success?