diff --git a/app/controllers/super_admin/instance_statuses_controller.rb b/app/controllers/super_admin/instance_statuses_controller.rb index 41d3ff5..d809f91 100755 --- a/app/controllers/super_admin/instance_statuses_controller.rb +++ b/app/controllers/super_admin/instance_statuses_controller.rb @@ -20,7 +20,7 @@ class SuperAdmin::InstanceStatusesController < SuperAdmin::ApplicationController end def instance_meta - @metrics['Database Migrations'] = ActiveRecord::Base.connection.migration_context.needs_migration? ? 'pending' : 'completed' + @metrics['Database Migrations'] = ActiveRecord::Base.connection_pool.migration_context.needs_migration? ? 'pending' : 'completed' end def chatwoot_version diff --git a/app/javascript/dashboard/composables/spec/useUISettings.spec.js b/app/javascript/dashboard/composables/spec/useUISettings.spec.js index 27c160b..155cf29 100755 --- a/app/javascript/dashboard/composables/spec/useUISettings.spec.js +++ b/app/javascript/dashboard/composables/spec/useUISettings.spec.js @@ -102,7 +102,7 @@ describe('useUISettings', () => { conversation_sidebar_items_order: DEFAULT_CONVERSATION_SIDEBAR_ITEMS_ORDER, contact_sidebar_items_order: DEFAULT_CONTACT_SIDEBAR_ITEMS_ORDER, - email_signature_enabled: true, + inbox_email_signature_enabled: true, editor_message_key: 'enter', channel_email_quoted_reply_enabled: true, }, diff --git a/app/javascript/dashboard/helper/quotedEmailHelper.js b/app/javascript/dashboard/helper/quotedEmailHelper.js index b72fe8f..f309379 100755 --- a/app/javascript/dashboard/helper/quotedEmailHelper.js +++ b/app/javascript/dashboard/helper/quotedEmailHelper.js @@ -98,13 +98,13 @@ export const getEmailDate = lastEmail => { * @returns {string} Formatted date string */ export const formatQuotedEmailDate = date => { - try { - return format(date, "EEE, MMM d, yyyy 'at' p"); - } catch (error) { - const fallbackDate = new Date(date); - if (!Number.isNaN(fallbackDate.getTime())) { - return format(fallbackDate, "EEE, MMM d, yyyy 'at' p"); - } + let parsedDate = date; + if (typeof date === 'string') { + parsedDate = parseISO(date); + } + + if (isValidDate(parsedDate)) { + return format(parsedDate, "EEE, MMM d, yyyy 'at' p"); } return ''; diff --git a/app/models/inbox.rb b/app/models/inbox.rb index bcef42a..69b2302 100755 --- a/app/models/inbox.rb +++ b/app/models/inbox.rb @@ -77,7 +77,7 @@ class Inbox < ApplicationRecord has_one :agent_bot, through: :agent_bot_inbox has_many :webhooks, dependent: :destroy_async has_many :hooks, dependent: :destroy_async, class_name: 'Integrations::Hook' - has_many :inbox_automations, dependent: :destroy_async, class_name: '::Captain::InboxAutomation' + has_many :inbox_automations, dependent: :destroy_async, class_name: 'Captain::InboxAutomation' # Jasmine has_one :jasmine_inbox_config, class_name: 'Jasmine::InboxConfig', dependent: :destroy diff --git a/config/application.rb b/config/application.rb index 74551d7..3b4f4ca 100755 --- a/config/application.rb +++ b/config/application.rb @@ -42,7 +42,7 @@ module Chatwoot config.eager_load_paths << Rails.root.join('enterprise/lib') config.eager_load_paths << Rails.root.join('enterprise/listeners') # rubocop:disable Rails/FilePath - config.eager_load_paths += Dir["#{Rails.root}/enterprise/app/**"] + config.eager_load_paths += Dir["#{Rails.root}/enterprise/app/*"] # rubocop:enable Rails/FilePath # Add enterprise views to the view paths config.paths['app/views'].unshift('enterprise/app/views') diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 17fdfa9..e647a47 100755 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1864,8 +1864,8 @@ packages: resolution: {integrity: sha512-I3yl4r9QB5ZRY3XuJVEPfc2XhZO6YweFPI+UovAzn+8/hb3oJ6lnysaFcjVpkCPfVWFUDvoZ8kmVDP7WyRtYtQ==} engines: {node: '>= 0.6.0'} - baseline-browser-mapping@2.9.14: - resolution: {integrity: sha512-B0xUquLkiGLgHhpPBqvl7GWegWBUNuujQ6kXd/r1U38ElPT6Ok8KZ8e+FpUGEc2ZoRQUzq/aUnaKFc/svWUGSg==} + baseline-browser-mapping@2.9.18: + resolution: {integrity: sha512-e23vBV1ZLfjb9apvfPk4rHVu2ry6RIr2Wfs+O324okSidrX7pTAnEJPCh/O5BtRlr7QtZI7ktOP3vsqr7Z5XoA==} hasBin: true bidi-js@1.0.3: @@ -1958,11 +1958,8 @@ packages: resolution: {integrity: sha512-8WB3Jcas3swSvjIeA2yvCJ+Miyz5l1ZmB6HFb9R1317dt9LCQoswg/BGrmAmkWVEszSrrg4RwmO46qIm2OEnSA==} engines: {node: '>=16'} - caniuse-lite@1.0.30001651: - resolution: {integrity: sha512-9Cf+Xv1jJNe1xPZLGuUXLNkE1BoDkqRqYyFJ9TDYSqhduqA4hu4oR9HluGoWYQC/aj8WHjsGVV+bwkh0+tegRg==} - - caniuse-lite@1.0.30001764: - resolution: {integrity: sha512-9JGuzl2M+vPL+pz70gtMF9sHdMFbY9FJaQBi186cHKH3pSzDvzoUJUPV6fqiKIMyXbud9ZLg4F3Yza1vJ1+93g==} + caniuse-lite@1.0.30001766: + resolution: {integrity: sha512-4C0lfJ0/YPjJQHagaE9x2Elb69CIqEPZeG0anQt9SIvIoOH4a4uaRl73IavyO+0qZh6MDLH//DrXThEYKHkmYA==} canvas-confetti@1.9.4: resolution: {integrity: sha512-yxQbJkAVrFXWNbTUjPqjF7G+g6pDotOUHGbkZq2NELZUMDpiJ85rIEazVb8GTaAptNW2miJAXbs1BtioA251Pw==} @@ -6701,7 +6698,7 @@ snapshots: autoprefixer@10.4.20(postcss@8.4.47): dependencies: browserslist: 4.23.3 - caniuse-lite: 1.0.30001651 + caniuse-lite: 1.0.30001766 fraction.js: 4.3.7 normalize-range: 0.1.2 picocolors: 1.0.1 @@ -6726,7 +6723,7 @@ snapshots: base64-arraybuffer@1.0.2: {} - baseline-browser-mapping@2.9.14: {} + baseline-browser-mapping@2.9.18: {} bidi-js@1.0.3: dependencies: @@ -6766,22 +6763,22 @@ snapshots: browserslist@4.23.0: dependencies: - caniuse-lite: 1.0.30001651 + caniuse-lite: 1.0.30001766 electron-to-chromium: 1.4.783 node-releases: 2.0.14 update-browserslist-db: 1.0.16(browserslist@4.23.0) browserslist@4.23.3: dependencies: - caniuse-lite: 1.0.30001651 + caniuse-lite: 1.0.30001766 electron-to-chromium: 1.5.13 node-releases: 2.0.18 update-browserslist-db: 1.1.0(browserslist@4.23.3) browserslist@4.28.1: dependencies: - baseline-browser-mapping: 2.9.14 - caniuse-lite: 1.0.30001764 + baseline-browser-mapping: 2.9.18 + caniuse-lite: 1.0.30001766 electron-to-chromium: 1.5.267 node-releases: 2.0.27 update-browserslist-db: 1.2.3(browserslist@4.28.1) @@ -6831,9 +6828,7 @@ snapshots: camelcase@8.0.0: {} - caniuse-lite@1.0.30001651: {} - - caniuse-lite@1.0.30001764: {} + caniuse-lite@1.0.30001766: {} canvas-confetti@1.9.4: {}