From 11b2995387a2490ddc6e288bfb65f98e438d6f2f Mon Sep 17 00:00:00 2001 From: Satbir Singh Date: Thu, 4 Jun 2020 07:13:36 +0000 Subject: [PATCH] Enabling Optimizely through ad blockers. --- app/client/docker/nginx-linux.conf | 8 ++++++++ app/client/docker/nginx-mac.conf | 8 ++++++++ app/client/netlify.toml | 6 ++++++ app/client/src/constants/ApiConstants.tsx | 2 +- app/client/src/utils/featureFlags.ts | 5 +++++ 5 files changed, 28 insertions(+), 1 deletion(-) diff --git a/app/client/docker/nginx-linux.conf b/app/client/docker/nginx-linux.conf index ca465a819c..e7d3e960dd 100644 --- a/app/client/docker/nginx-linux.conf +++ b/app/client/docker/nginx-linux.conf @@ -17,6 +17,10 @@ server { proxy_pass http://localhost:3000; } + location /f { + proxy_pass https://cdn.optimizely.com/; + } + location /api { proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Forwarded-Host $host; @@ -57,6 +61,10 @@ server { location / { proxy_pass http://localhost:3000; } + + location /f { + proxy_pass https://cdn.optimizely.com/; + } location /api { proxy_set_header X-Forwarded-Proto $scheme; diff --git a/app/client/docker/nginx-mac.conf b/app/client/docker/nginx-mac.conf index 7ddbe37121..13227e1851 100644 --- a/app/client/docker/nginx-mac.conf +++ b/app/client/docker/nginx-mac.conf @@ -15,6 +15,10 @@ server { proxy_pass http://host.docker.internal:3000; } + location /f { + proxy_pass https://cdn.optimizely.com/; + } + location /api { proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Forwarded-Host $host; @@ -55,6 +59,10 @@ server { location / { proxy_pass http://host.docker.internal:3000; } + + location /f { + proxy_pass https://cdn.optimizely.com/; + } location /api { proxy_set_header X-Forwarded-Proto $scheme; diff --git a/app/client/netlify.toml b/app/client/netlify.toml index e0f566fe0f..33e87ca645 100644 --- a/app/client/netlify.toml +++ b/app/client/netlify.toml @@ -60,6 +60,12 @@ force = true headers = { X-Forwarded-Host = "APP_HOST_PLACEHOLDER", X-Forwarded-Proto = "https" } +[[redirects]] + from = "/f/*" + to = "https://cdn.optimizely.com/:splat" + status = 200 + force = true + # This must be the last redirect in the chain because it's a catch-all [[redirects]] from = "/*" diff --git a/app/client/src/constants/ApiConstants.tsx b/app/client/src/constants/ApiConstants.tsx index ac4de7cce7..0c2f551a7b 100644 --- a/app/client/src/constants/ApiConstants.tsx +++ b/app/client/src/constants/ApiConstants.tsx @@ -2,7 +2,7 @@ export type ContentType = | "application/json" | "application/x-www-form-urlencoded"; -export const REQUEST_TIMEOUT_MS = 10000; +export const REQUEST_TIMEOUT_MS = 20000; export const DEFAULT_EXECUTE_ACTION_TIMEOUT_MS = 15000; export const DEFAULT_TEST_DATA_SOURCE_TIMEOUT_MS = 30000; diff --git a/app/client/src/utils/featureFlags.ts b/app/client/src/utils/featureFlags.ts index 26fa62eac9..6439c8653b 100644 --- a/app/client/src/utils/featureFlags.ts +++ b/app/client/src/utils/featureFlags.ts @@ -20,6 +20,11 @@ class FeatureFlag { if (featureFlagConfig.remoteConfig) { FeatureFlag.remote = optimizelySDK.createInstance({ sdkKey: featureFlagConfig.remoteConfig.optimizely, + datafileOptions: { + autoUpdate: true, + updateInterval: 600000, // 10 minutes in milliseconds + urlTemplate: window.location.origin + "/f/datafiles/%s.json", + }, }); (FeatureFlag.remote as any).onReady().then(onInit); }