From e7f37239386228585d6fced9d17a3e142f27685f Mon Sep 17 00:00:00 2001 From: Rodribm10 Date: Thu, 30 Apr 2026 23:21:10 -0300 Subject: [PATCH] fix(captain): Accept-Encoding identity nos clients Supabase (gzip silencioso) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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) --- enterprise/app/jobs/captain/roleta/notify_revealed_job.rb | 1 + .../app/jobs/captain/roleta/notify_revealed_scheduler_job.rb | 1 + enterprise/app/services/captain/roleta/offer_service.rb | 2 ++ enterprise/app/services/captain/roleta/weekly_report_service.rb | 2 ++ 4 files changed, 6 insertions(+) diff --git a/enterprise/app/jobs/captain/roleta/notify_revealed_job.rb b/enterprise/app/jobs/captain/roleta/notify_revealed_job.rb index 3d9af14a2..f6c6da87a 100644 --- a/enterprise/app/jobs/captain/roleta/notify_revealed_job.rb +++ b/enterprise/app/jobs/captain/roleta/notify_revealed_job.rb @@ -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? diff --git a/enterprise/app/jobs/captain/roleta/notify_revealed_scheduler_job.rb b/enterprise/app/jobs/captain/roleta/notify_revealed_scheduler_job.rb index f6fa1d344..9fcdce101 100644 --- a/enterprise/app/jobs/captain/roleta/notify_revealed_scheduler_job.rb +++ b/enterprise/app/jobs/captain/roleta/notify_revealed_scheduler_job.rb @@ -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? diff --git a/enterprise/app/services/captain/roleta/offer_service.rb b/enterprise/app/services/captain/roleta/offer_service.rb index 052afcaf2..0ef35858f 100644 --- a/enterprise/app/services/captain/roleta/offer_service.rb +++ b/enterprise/app/services/captain/roleta/offer_service.rb @@ -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? diff --git a/enterprise/app/services/captain/roleta/weekly_report_service.rb b/enterprise/app/services/captain/roleta/weekly_report_service.rb index 06f412671..c240f1fdc 100644 --- a/enterprise/app/services/captain/roleta/weekly_report_service.rb +++ b/enterprise/app/services/captain/roleta/weekly_report_service.rb @@ -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?