From 012b32bfe984965a7dc013bc40a67b872b0d65cd Mon Sep 17 00:00:00 2001 From: David Newton Date: Wed, 6 Feb 2019 13:42:39 -0500 Subject: [PATCH] Fix infinite loop when third-party cookies are disabled (#684) * Fix infinite loop when third-party cookies are disabled * Resolve sqlite3 dependency --- app/assets/javascripts/shopify_app/storage_access.js | 11 ++++++++--- shopify_app.gemspec | 2 +- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/app/assets/javascripts/shopify_app/storage_access.js b/app/assets/javascripts/shopify_app/storage_access.js index ce5cbbaf4..7d4d912c4 100644 --- a/app/assets/javascripts/shopify_app/storage_access.js +++ b/app/assets/javascripts/shopify_app/storage_access.js @@ -33,9 +33,14 @@ } StorageAccessHelper.prototype.grantedStorageAccess = function() { - sessionStorage.setItem('shopify.granted_storage_access', true); - document.cookie = 'shopify.granted_storage_access=true'; - this.redirectToAppHome(); + try { + sessionStorage.setItem('shopify.granted_storage_access', true); + document.cookie = 'shopify.granted_storage_access=true'; + this.redirectToAppHome(); + } catch (error) { + console.warn('Third party cookies may be blocked.', error); + this.redirectToAppTLD(ACCESS_DENIED_STATUS); + } } StorageAccessHelper.prototype.handleRequestStorageAccess = function() { diff --git a/shopify_app.gemspec b/shopify_app.gemspec index 12587b131..88094e6a4 100644 --- a/shopify_app.gemspec +++ b/shopify_app.gemspec @@ -17,7 +17,7 @@ Gem::Specification.new do |s| s.add_development_dependency('rake') s.add_development_dependency('byebug') - s.add_development_dependency('sqlite3') + s.add_development_dependency('sqlite3', '~> 1.3.6') s.add_development_dependency('minitest') s.add_development_dependency('mocha')