Skip to content

Commit

Permalink
Fix #68 by detecting and comparing hash of local cache
Browse files Browse the repository at this point in the history
Fix #76 by detecting when CIG is releasing new hangar features
  • Loading branch information
peter-dolkens committed Mar 10, 2021
1 parent af5e91c commit 03fe460
Show file tree
Hide file tree
Showing 5 changed files with 15 additions and 2 deletions.
4 changes: 3 additions & 1 deletion src/web_resources/HangarXPLOR.LoadCache.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,9 @@ HangarXPLOR.LoadCache = function(callback)

chrome.storage.local.get(null, (cache) => {

if (HangarXPLOR._cacheHash == HangarXPLOR._activeHash && cache['cache:count'] > 0)
if (HangarXPLOR._cacheHash == HangarXPLOR._activeHash &&
cache['cache:hash'] == HangarXPLOR._cacheHash &&
cache['cache:count'] > 0)
{
HangarXPLOR._fromCache = true;

Expand Down
1 change: 1 addition & 0 deletions src/web_resources/HangarXPLOR.LoadSettings.js
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ HangarXPLOR.LoadSettings = function(callback)
HangarXPLOR._pageCount = settings._pageCount || 10;
HangarXPLOR._logEnabled = settings._logEnabled || false;
HangarXPLOR._cacheHash = settings._cacheHash || 0;
HangarXPLOR._cacheSalt = settings._cacheSalt || btoa(Math.random());

HangarXPLOR._feature = HangarXPLOR._feature || {};
HangarXPLOR._feature.LTI = settings._feature_LTI || '';
Expand Down
1 change: 1 addition & 0 deletions src/web_resources/HangarXPLOR.SaveCache.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ HangarXPLOR.SaveCache = function(callback)
});

cacheItems['cache:count'] = HangarXPLOR._raw.length;
cacheItems['cache:hash'] = HangarXPLOR._activeHash;

delete HangarXPLOR._raw;

Expand Down
1 change: 1 addition & 0 deletions src/web_resources/HangarXPLOR.SaveSettings.js
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ HangarXPLOR.SaveSettings = function()
settings._pageCount = HangarXPLOR._pageCount || 10;
settings._logEnabled = HangarXPLOR._logEnabled || false;
settings._cacheHash = HangarXPLOR._cacheHash || 0;
settings._cacheSalt = HangarXPLOR._cacheSalt || btoa(Math.random());

settings._feature_LTI = HangarXPLOR._feature.LTI || '';
settings._feature_Warbond = HangarXPLOR._feature.Warbond || '';
Expand Down
10 changes: 9 additions & 1 deletion src/web_resources/HangarXPLOR.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ HangarXPLOR._upgradeCount = HangarXPLOR._upgradeCount || 0;
HangarXPLOR._giftableCount = HangarXPLOR._giftableCount || 0;
HangarXPLOR._packageCount = HangarXPLOR._packageCount || 0;
HangarXPLOR._ltiCount = HangarXPLOR._ltiCount || 0;
HangarXPLOR._cacheSalt = HangarXPLOR._cacheSalt || btoa(Math.random());

var RSI = RSI || {};

Expand All @@ -26,7 +27,14 @@ HangarXPLOR.Initialize = function()
HangarXPLOR.UpdateStatus(0);

RSI.Api.Account.pledgeLog((payload) => {
HangarXPLOR._activeHash = payload.data.rendered.length + ':' + payload.data.rendered.substr(39, 20);

var today = new Date().toISOString();
var safetySalt = '';

// CIG Released ship naming in March 2021, which requires us to invalidate cache
if (today.substr(0, 7) == '2021-03') safetySalt = today.substr(0, 13) + ':';

HangarXPLOR._activeHash = safetySalt + payload.data.rendered.length + ':' + btoa(payload.data.rendered.substr(39, 20)) + ':' + HangarXPLOR._cacheSalt;

HangarXPLOR.LoadCache(HangarXPLOR.LoadPage);
});
Expand Down

0 comments on commit 03fe460

Please sign in to comment.