From 222c9f3383b16b93422bb30a5ae0ae38476d86f8 Mon Sep 17 00:00:00 2001 From: gabrieljablonski Date: Mon, 27 Oct 2025 18:37:28 -0300 Subject: [PATCH 1/3] chore: update docker-compose.coolify.yaml --- docker-compose.coolify.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docker-compose.coolify.yaml b/docker-compose.coolify.yaml index 9c951e860..ba1cbb752 100644 --- a/docker-compose.coolify.yaml +++ b/docker-compose.coolify.yaml @@ -14,8 +14,8 @@ services: - RAILS_ENV=production - INSTALLATION_ENV=docker - DEFAULT_LOCALE=pt_BR - - FRONTEND_URL=${FRONTEND_URL} - - INTERNAL_HOST_URL=${INTERNAL_HOST_URL} + - FRONTEND_URL=${SERVICE_URL_RAILS} + - INTERNAL_HOST_URL=http://rails:3000 - POSTGRES_HOST=postgres - POSTGRES_PORT=5432 - POSTGRES_USERNAME=${SERVICE_USER_POSTGRES} @@ -68,8 +68,8 @@ services: - RAILS_ENV=production - INSTALLATION_ENV=docker - DEFAULT_LOCALE=pt_BR - - FRONTEND_URL=${FRONTEND_URL} - - INTERNAL_HOST_URL=${INTERNAL_HOST_URL} + - FRONTEND_URL=${SERVICE_URL_RAILS} + - INTERNAL_HOST_URL=http://rails:3000 - POSTGRES_HOST=postgres - POSTGRES_PORT=5432 - POSTGRES_USERNAME=${SERVICE_USER_POSTGRES} From 77692c89b626032d22b24e07d2f23eeaf5933fb8 Mon Sep 17 00:00:00 2001 From: gabrieljablonski Date: Mon, 27 Oct 2025 23:04:59 -0300 Subject: [PATCH 2/3] chore(zapi): update banner on create inbox screen --- .../dashboard/assets/images/curved-arrow-red.svg | 14 -------------- .../dashboard/assets/images/curved-arrow.svg | 9 +++++++++ .../dashboard/settings/inbox/channels/Whatsapp.vue | 4 ++-- 3 files changed, 11 insertions(+), 16 deletions(-) delete mode 100644 app/javascript/dashboard/assets/images/curved-arrow-red.svg create mode 100644 app/javascript/dashboard/assets/images/curved-arrow.svg diff --git a/app/javascript/dashboard/assets/images/curved-arrow-red.svg b/app/javascript/dashboard/assets/images/curved-arrow-red.svg deleted file mode 100644 index 10a8dbcb9..000000000 --- a/app/javascript/dashboard/assets/images/curved-arrow-red.svg +++ /dev/null @@ -1,14 +0,0 @@ - - - - diff --git a/app/javascript/dashboard/assets/images/curved-arrow.svg b/app/javascript/dashboard/assets/images/curved-arrow.svg new file mode 100644 index 000000000..f021b57ba --- /dev/null +++ b/app/javascript/dashboard/assets/images/curved-arrow.svg @@ -0,0 +1,9 @@ + + + + diff --git a/app/javascript/dashboard/routes/dashboard/settings/inbox/channels/Whatsapp.vue b/app/javascript/dashboard/routes/dashboard/settings/inbox/channels/Whatsapp.vue index 4e2cc90bf..673ff66f8 100644 --- a/app/javascript/dashboard/routes/dashboard/settings/inbox/channels/Whatsapp.vue +++ b/app/javascript/dashboard/routes/dashboard/settings/inbox/channels/Whatsapp.vue @@ -124,9 +124,9 @@ const handleManualLinkClick = () => { class="mt-6 relative overflow-visible" > Co-authored-by: Muhsin Keloth --- .rubocop.yml | 2 +- .../v2/accounts/reports_controller_spec.rb | 60 ++++++++++--------- 2 files changed, 32 insertions(+), 30 deletions(-) diff --git a/.rubocop.yml b/.rubocop.yml index a97d28d32..620dd4c8f 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -23,7 +23,7 @@ Metrics/MethodLength: - 'enterprise/lib/captain/agent.rb' RSpec/ExampleLength: - Max: 25 + Max: 50 Style/Documentation: Enabled: false diff --git a/spec/controllers/api/v2/accounts/reports_controller_spec.rb b/spec/controllers/api/v2/accounts/reports_controller_spec.rb index 4dbbcf406..2d505822f 100644 --- a/spec/controllers/api/v2/accounts/reports_controller_spec.rb +++ b/spec/controllers/api/v2/accounts/reports_controller_spec.rb @@ -10,7 +10,7 @@ RSpec.describe Api::V2::Accounts::ReportsController, type: :request do context 'when authenticated and authorized' do before do # Create conversations across 24 hours at different times - base_time = Time.utc(2024, 1, 15, 0, 0) # Start at midnight UTC + base_time = Time.utc(2024, 1, 14, 23, 0) # Start at 23:00 to span 2 days # Create conversations every 4 hours across 24 hours 6.times do |i| @@ -23,36 +23,38 @@ RSpec.describe Api::V2::Accounts::ReportsController, type: :request do end it 'timezone_offset affects data grouping and timestamps correctly' do - Time.use_zone('UTC') do - base_time = Time.utc(2024, 1, 15, 0, 0) - base_params = { - metric: 'conversations_count', - type: 'account', - since: (base_time - 1.day).to_i.to_s, - until: (base_time + 2.days).to_i.to_s, - group_by: 'day' - } + travel_to Time.utc(2024, 1, 15, 12, 0) do + Time.use_zone('UTC') do + base_time = Time.utc(2024, 1, 14, 23, 0) # Start at 23:00 to span 2 days + base_params = { + metric: 'conversations_count', + type: 'account', + since: (base_time - 1.day).to_i.to_s, + until: (base_time + 2.days).to_i.to_s, + group_by: 'day' + } - responses = [0, -8, 9].map do |offset| - get "/api/v2/accounts/#{account.id}/reports", - params: base_params.merge(timezone_offset: offset), - headers: admin.create_new_auth_token, as: :json - response.parsed_body + responses = [0, -8, 9].map do |offset| + get "/api/v2/accounts/#{account.id}/reports", + params: base_params.merge(timezone_offset: offset), + headers: admin.create_new_auth_token, as: :json + response.parsed_body + end + + data_entries = responses.map { |r| r.select { |e| e['value'] > 0 } } + totals = responses.map { |r| r.sum { |e| e['value'] } } + timestamps = responses.map { |r| r.map { |e| e['timestamp'] } } + + # Data conservation and redistribution + expect(totals.uniq).to eq([6]) + expect(data_entries[0].map { |e| e['value'] }).to eq([1, 5]) + expect(data_entries[1].map { |e| e['value'] }).to eq([3, 3]) + expect(data_entries[2].map { |e| e['value'] }).to eq([4, 2]) + + # Timestamp differences + expect(timestamps.uniq.size).to eq(3) + timestamps[0].zip(timestamps[1]).each { |utc, pst| expect(utc - pst).to eq(-28_800) } end - - data_entries = responses.map { |r| r.select { |e| e['value'] > 0 } } - totals = responses.map { |r| r.sum { |e| e['value'] } } - timestamps = responses.map { |r| r.map { |e| e['timestamp'] } } - - # Data conservation and redistribution - expect(totals.uniq).to eq([6]) - expect(data_entries[0].map { |e| e['value'] }).to eq([1, 5]) - expect(data_entries[1].map { |e| e['value'] }).to eq([3, 3]) - expect(data_entries[2].map { |e| e['value'] }).to eq([4, 2]) - - # Timestamp differences - expect(timestamps.uniq.size).to eq(3) - timestamps[0].zip(timestamps[1]).each { |utc, pst| expect(utc - pst).to eq(-28_800) } end end