From dfb533db8d7cab0356d69408be8d8581ce4ab500 Mon Sep 17 00:00:00 2001 From: Pranav Raj S Date: Thu, 3 Sep 2020 13:17:45 +0530 Subject: [PATCH] chore: Improve widget loading performance (#1191) * Frontend assets url * Remove font files from widget * Rename variable to ASSET_CDN_HOST --- .env.example | 5 ++++- app/javascript/shared/assets/fonts/widget_fonts.scss | 8 ++++++++ app/javascript/widget/assets/scss/woot.scss | 2 +- config/environments/production.rb | 3 +-- 4 files changed, 14 insertions(+), 4 deletions(-) create mode 100644 app/javascript/shared/assets/fonts/widget_fonts.scss diff --git a/.env.example b/.env.example index 110bd4292..281cd64d1 100644 --- a/.env.example +++ b/.env.example @@ -4,6 +4,9 @@ SECRET_KEY_BASE=replace_with_lengthy_secure_hex # Replace with the URL you are planning to use for your app FRONTEND_URL=http://0.0.0.0:3000 +# If you plan to use CDN for your assets, set Asset CDN Host +ASSET_CDN_HOST= + # Force all access to the app over SSL, default is set to false FORCE_SSL=false @@ -103,7 +106,7 @@ IOS_APP_ID=6C953F3RX2.com.chatwoot.app # VAPID_PUBLIC_KEY= # VAPID_PRIVATE_KEY= # -# for mobile apps +# for mobile apps # FCM_SERVER_KEY= ## Bot Customizations diff --git a/app/javascript/shared/assets/fonts/widget_fonts.scss b/app/javascript/shared/assets/fonts/widget_fonts.scss new file mode 100644 index 000000000..7e16b8746 --- /dev/null +++ b/app/javascript/shared/assets/fonts/widget_fonts.scss @@ -0,0 +1,8 @@ +@font-face { + font-family: 'Inter'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url('~shared/assets/fonts/Inter-Regular.woff2?v=3.11') format('woff2'), + url('~shared/assets/fonts/Inter-Regular.woff?v=3.11') format('woff'); +} diff --git a/app/javascript/widget/assets/scss/woot.scss b/app/javascript/widget/assets/scss/woot.scss index 2a24d8abb..7c69f2a55 100755 --- a/app/javascript/widget/assets/scss/woot.scss +++ b/app/javascript/widget/assets/scss/woot.scss @@ -3,7 +3,7 @@ @import 'buttons'; @import 'mixins'; @import 'forms'; -@import 'shared/assets/fonts/inter'; +@import 'shared/assets/fonts/widget_fonts'; @import '~ionicons/scss/ionicons'; @import '~spinkit/scss/spinners/7-three-bounce'; diff --git a/config/environments/production.rb b/config/environments/production.rb index 6f7c97eee..f8d50ab16 100644 --- a/config/environments/production.rb +++ b/config/environments/production.rb @@ -31,8 +31,7 @@ Rails.application.configure do # `config.assets.precompile` and `config.assets.version` have moved to config/initializers/assets.rb # Enable serving of images, stylesheets, and JavaScripts from an asset server. - # config.action_controller.asset_host = 'http://assets.example.com' - + config.action_controller.asset_host = ENV.fetch('ASSET_CDN_HOST') if ENV['ASSET_CDN_HOST'].present? # Specifies the header that your server uses for sending files. # config.action_dispatch.x_sendfile_header = 'X-Sendfile' # for Apache # config.action_dispatch.x_sendfile_header = 'X-Accel-Redirect' # for NGINX