@redhat-cloud-services/chrome 1.0.7 → 1.0.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -43,41 +43,25 @@ var jsx_runtime_1 = require("react/jsx-runtime");
43
43
  var react_1 = require("react");
44
44
  var react_core_1 = require("@scalprum/react-core");
45
45
  var react_router_dom_1 = require("react-router-dom");
46
- var debounce_1 = __importDefault(require("lodash/debounce"));
47
46
  var ChromeContext_1 = require("../ChromeContext");
48
47
  var chromeState_1 = __importDefault(require("./chromeState"));
49
48
  var fetch_1 = require("../utils/fetch");
50
49
  var getUserIdentity = function () { return (0, fetch_1.get)(fetch_1.IDENTITY_URL); };
51
- var postDataDebounced = (0, debounce_1.default)(function (pathname, title, bundle) { return __awaiter(void 0, void 0, void 0, function () {
52
- var data;
53
- return __generator(this, function (_a) {
54
- switch (_a.label) {
55
- case 0: return [4, (0, fetch_1.post)(fetch_1.LAST_VISITED_URL, {
56
- pathname: pathname,
57
- title: title,
58
- bundle: bundle,
59
- })];
60
- case 1:
61
- data = _a.sent();
62
- return [2, data];
63
- }
64
- });
65
- }); }, 5000);
66
50
  var useLastPageVisitedUploader = function (providerState) {
67
- var scalprum = (0, react_core_1.useScalprum)();
68
- var pathname = (0, react_router_dom_1.useLocation)().pathname;
69
- var postData = function (pathname, title, bundle) { return __awaiter(void 0, void 0, void 0, function () {
70
- var data, error_1;
51
+ var inactiveDuration = 1000 * 20;
52
+ var batchUpdateInterval = 1000 * 60 * 3;
53
+ var inactiveTimeout = (0, react_1.useRef)(undefined);
54
+ var postBatchData = function (recentPages) { return __awaiter(void 0, void 0, void 0, function () {
55
+ var error_1;
71
56
  return __generator(this, function (_a) {
72
57
  switch (_a.label) {
73
58
  case 0:
74
59
  _a.trys.push([0, 2, , 3]);
75
- return [4, postDataDebounced(pathname, title, bundle)];
60
+ return [4, (0, fetch_1.post)(fetch_1.LAST_VISITED_URL, {
61
+ pages: recentPages,
62
+ })];
76
63
  case 1:
77
- data = _a.sent();
78
- if (data) {
79
- providerState.setLastVisited(data);
80
- }
64
+ _a.sent();
81
65
  return [3, 3];
82
66
  case 2:
83
67
  error_1 = _a.sent();
@@ -87,63 +71,117 @@ var useLastPageVisitedUploader = function (providerState) {
87
71
  }
88
72
  });
89
73
  }); };
74
+ var sanitizeRecentPages = function (recentPages) {
75
+ return recentPages.map(function (_a) {
76
+ var pathname = _a.pathname, title = _a.title, bundle = _a.bundle;
77
+ return ({ pathname: pathname, title: title, bundle: bundle });
78
+ });
79
+ };
80
+ var clearInactiveTimeout = function () {
81
+ if (inactiveTimeout.current !== undefined) {
82
+ clearTimeout(inactiveTimeout.current);
83
+ inactiveTimeout.current = undefined;
84
+ }
85
+ };
86
+ var updateMostRecentPages = function () { return __awaiter(void 0, void 0, void 0, function () {
87
+ var recentPages, sanitizedPages;
88
+ return __generator(this, function (_a) {
89
+ switch (_a.label) {
90
+ case 0:
91
+ recentPages = providerState.getState().lastVisitedPages;
92
+ sanitizedPages = sanitizeRecentPages(recentPages);
93
+ return [4, postBatchData(sanitizedPages)];
94
+ case 1:
95
+ _a.sent();
96
+ return [2];
97
+ }
98
+ });
99
+ }); };
90
100
  (0, react_1.useEffect)(function () {
91
- var titleObserver;
92
- var prevTitle;
93
- var titleTarget = document.querySelector('title');
94
- if (titleTarget) {
95
- prevTitle = titleTarget.textContent;
96
- postData(pathname, prevTitle !== null && prevTitle !== void 0 ? prevTitle : '', scalprum.api.chrome.getBundleData().bundleTitle);
97
- titleObserver = new MutationObserver(function (mutations) {
98
- var _a;
99
- var currentTitle = (_a = mutations[0]) === null || _a === void 0 ? void 0 : _a.target.textContent;
100
- if (typeof currentTitle === 'string' && currentTitle !== prevTitle) {
101
- try {
102
- prevTitle = currentTitle;
103
- postData(pathname, currentTitle, scalprum.api.chrome.getBundleData().bundleTitle);
104
- }
105
- catch (error) {
106
- console.error('Unable to update last visited pages!', error);
107
- }
108
- }
109
- });
110
- titleObserver.observe(titleTarget, {
111
- childList: true,
101
+ var updateInterval = setInterval(function () { return __awaiter(void 0, void 0, void 0, function () {
102
+ return __generator(this, function (_a) {
103
+ updateMostRecentPages();
104
+ return [2];
112
105
  });
113
- }
106
+ }); }, batchUpdateInterval);
107
+ var handleVisibilityChange = function () {
108
+ if (document.visibilityState !== 'visible') {
109
+ if (inactiveTimeout.current) {
110
+ return;
111
+ }
112
+ inactiveTimeout.current = setTimeout(function () { return __awaiter(void 0, void 0, void 0, function () {
113
+ return __generator(this, function (_a) {
114
+ updateMostRecentPages();
115
+ return [2];
116
+ });
117
+ }); }, inactiveDuration);
118
+ }
119
+ else {
120
+ clearInactiveTimeout();
121
+ }
122
+ };
123
+ document.addEventListener('visibilitychange', handleVisibilityChange);
114
124
  return function () {
115
- titleObserver === null || titleObserver === void 0 ? void 0 : titleObserver.disconnect();
116
- postDataDebounced === null || postDataDebounced === void 0 ? void 0 : postDataDebounced.cancel();
125
+ clearInterval(updateInterval);
126
+ clearInactiveTimeout();
127
+ document.removeEventListener('visibilitychange', handleVisibilityChange);
117
128
  };
118
- }, [pathname]);
129
+ }, []);
119
130
  };
120
131
  var LAST_VISITED_FLAG = 'chrome:lastVisited';
121
132
  var useLastVisitedLocalStorage = function (providerState) {
122
133
  var pathname = (0, react_router_dom_1.useLocation)().pathname;
123
134
  var scalprum = (0, react_core_1.useScalprum)();
124
135
  var titleTarget = document.querySelector('title');
136
+ var lastVisitedLocal = localStorage.getItem(LAST_VISITED_FLAG);
137
+ (0, react_1.useEffect)(function () {
138
+ var getInitialPages = function () { return __awaiter(void 0, void 0, void 0, function () {
139
+ var firstPages, lastVisited, error_2;
140
+ var _a;
141
+ return __generator(this, function (_b) {
142
+ switch (_b.label) {
143
+ case 0:
144
+ _b.trys.push([0, 4, , 5]);
145
+ if (!!lastVisitedLocal) return [3, 2];
146
+ return [4, (0, fetch_1.get)(fetch_1.LAST_VISITED_URL)];
147
+ case 1:
148
+ firstPages = _b.sent();
149
+ if (firstPages) {
150
+ providerState.setLastVisited(firstPages);
151
+ try {
152
+ localStorage.setItem(LAST_VISITED_FLAG, JSON.stringify(firstPages));
153
+ }
154
+ catch (error) {
155
+ console.error('Unable to load initial last visited pages!', error);
156
+ }
157
+ }
158
+ return [3, 3];
159
+ case 2:
160
+ lastVisited = JSON.parse((_a = localStorage.getItem(LAST_VISITED_FLAG)) !== null && _a !== void 0 ? _a : '[]');
161
+ if (!Array.isArray(lastVisited)) {
162
+ localStorage.setItem(LAST_VISITED_FLAG, JSON.stringify([]));
163
+ providerState.setLastVisited([]);
164
+ }
165
+ else {
166
+ providerState.setLastVisited(lastVisited);
167
+ }
168
+ _b.label = 3;
169
+ case 3: return [3, 5];
170
+ case 4:
171
+ error_2 = _b.sent();
172
+ console.error('Unable to parse last visited pages from localStorage!', error_2);
173
+ providerState.setLastVisited([]);
174
+ localStorage.setItem(LAST_VISITED_FLAG, JSON.stringify([]));
175
+ return [3, 5];
176
+ case 5: return [2];
177
+ }
178
+ });
179
+ }); };
180
+ getInitialPages();
181
+ }, []);
125
182
  (0, react_1.useEffect)(function () {
126
- var _a;
127
183
  var titleObserver;
128
184
  var prevTitle;
129
- var lastVisited = localStorage.getItem(LAST_VISITED_FLAG);
130
- if (lastVisited) {
131
- try {
132
- var lastVisited_1 = JSON.parse((_a = localStorage.getItem(LAST_VISITED_FLAG)) !== null && _a !== void 0 ? _a : '[]');
133
- if (!Array.isArray(lastVisited_1)) {
134
- localStorage.setItem(LAST_VISITED_FLAG, JSON.stringify([]));
135
- providerState.setLastVisited([]);
136
- }
137
- else {
138
- providerState.setLastVisited(lastVisited_1);
139
- }
140
- }
141
- catch (error) {
142
- console.error('Unable to parse last visited pages from localStorage!', error);
143
- providerState.setLastVisited([]);
144
- localStorage.setItem(LAST_VISITED_FLAG, JSON.stringify([]));
145
- }
146
- }
147
185
  if (titleTarget) {
148
186
  titleObserver = new MutationObserver(function (mutations) {
149
187
  var _a, _b;
@@ -179,6 +217,7 @@ var ChromeProvider = function (_a) {
179
217
  providerState.current = (0, chromeState_1.default)();
180
218
  }
181
219
  useLastVisitedLocalStorage(providerState.current);
220
+ useLastPageVisitedUploader(providerState.current);
182
221
  (0, react_1.useEffect)(function () {
183
222
  isMounted.current = true;
184
223
  if (!initialRequest) {
@@ -1 +1 @@
1
- {"version":3,"file":"ChromeProvider.js","sourceRoot":"","sources":["../src/ChromeProvider/ChromeProvider.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ChromeProvider.js","sourceRoot":"","sources":["../src/ChromeProvider/ChromeProvider.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+BAA2D;AAC3D,mDAAmD;AACnD,qDAA+C;AAC/C,kDAAiD;AACjD,8DAA2E;AAC3E,wCAA2E;AAE3E,IAAM,eAAe,GAAG,cAAM,OAAA,IAAA,WAAG,EAAe,oBAAY,CAAC,EAA/B,CAA+B,CAAC;AAE9D,IAAM,0BAA0B,GAAG,UAAC,aAA6C;IAC/E,IAAM,gBAAgB,GAAG,IAAI,GAAG,EAAE,CAAC;IACnC,IAAM,mBAAmB,GAAG,IAAI,GAAG,EAAE,GAAG,CAAC,CAAC;IAG1C,IAAM,eAAe,GAAG,IAAA,cAAM,EAA4C,SAAS,CAAC,CAAC;IACrF,IAAM,aAAa,GAAG,UAAO,WAA8B;;;;;;oBAEvD,WAAM,IAAA,YAAI,EAAkD,wBAAgB,EAAE;4BAC5E,KAAK,EAAE,WAAW;yBACnB,CAAC,EAAA;;oBAFF,SAEE,CAAC;;;;oBAEH,OAAO,CAAC,KAAK,CAAC,sCAAsC,EAAE,OAAK,CAAC,CAAC;;;;;SAEhE,CAAC;IAEF,IAAM,mBAAmB,GAAG,UAAC,WAA8B;QACzD,OAAO,WAAW,CAAC,GAAG,CAAC,UAAC,EAA2B;gBAAzB,QAAQ,cAAA,EAAE,KAAK,WAAA,EAAE,MAAM,YAAA;YAAO,OAAA,CAAC,EAAE,QAAQ,UAAA,EAAE,KAAK,OAAA,EAAE,MAAM,QAAA,EAAE,CAAC;QAA7B,CAA6B,CAAC,CAAC;IACzF,CAAC,CAAC;IAEF,IAAM,oBAAoB,GAAG;QAC3B,IAAI,eAAe,CAAC,OAAO,KAAK,SAAS,EAAE;YACzC,YAAY,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;YACtC,eAAe,CAAC,OAAO,GAAG,SAAS,CAAC;SACrC;IACH,CAAC,CAAC;IAEF,IAAM,qBAAqB,GAAG;;;;;oBACtB,WAAW,GAAG,aAAa,CAAC,QAAQ,EAAE,CAAC,gBAAgB,CAAC;oBACxD,cAAc,GAAsB,mBAAmB,CAAC,WAAW,CAAC,CAAC;oBAC3E,WAAM,aAAa,CAAC,cAAc,CAAC,EAAA;;oBAAnC,SAAmC,CAAC;;;;SACrC,CAAC;IAEF,IAAA,iBAAS,EAAC;QAER,IAAM,cAAc,GAAG,WAAW,CAAC;;gBACjC,qBAAqB,EAAE,CAAC;;;aACzB,EAAE,mBAAmB,CAAC,CAAC;QAExB,IAAM,sBAAsB,GAAG;YAE7B,IAAI,QAAQ,CAAC,eAAe,KAAK,SAAS,EAAE;gBAE1C,IAAI,eAAe,CAAC,OAAO,EAAE;oBAC3B,OAAO;iBACR;gBAED,eAAe,CAAC,OAAO,GAAG,UAAU,CAAC;;wBACnC,qBAAqB,EAAE,CAAC;;;qBACzB,EAAE,gBAAgB,CAAC,CAAC;aACtB;iBAAM;gBAEL,oBAAoB,EAAE,CAAC;aACxB;QACH,CAAC,CAAC;QACF,QAAQ,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,sBAAsB,CAAC,CAAC;QAEtE,OAAO;YACL,aAAa,CAAC,cAAc,CAAC,CAAC;YAC9B,oBAAoB,EAAE,CAAC;YACvB,QAAQ,CAAC,mBAAmB,CAAC,kBAAkB,EAAE,sBAAsB,CAAC,CAAC;QAC3E,CAAC,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;AACT,CAAC,CAAC;AAEF,IAAM,iBAAiB,GAAG,oBAAoB,CAAC;AAE/C,IAAM,0BAA0B,GAAG,UAAC,aAA6C;IACvE,IAAA,QAAQ,GAAK,IAAA,8BAAW,GAAE,SAAlB,CAAmB;IACnC,IAAM,QAAQ,GAAG,IAAA,wBAAW,GAAE,CAAC;IAC/B,IAAM,WAAW,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IACpD,IAAM,gBAAgB,GAAG,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACjE,IAAA,iBAAS,EAAC;QACR,IAAM,eAAe,GAAG;;;;;;;6BAEhB,CAAC,gBAAgB,EAAjB,cAAiB;wBACmB,WAAM,IAAA,WAAG,EAAoB,wBAAgB,CAAC,EAAA;;wBAA9E,UAAU,GAAsB,SAA8C;wBACpF,IAAI,UAAU,EAAE;4BACd,aAAa,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;4BACzC,IAAI;gCACF,YAAY,CAAC,OAAO,CAAC,iBAAiB,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;6BACrE;4BAAC,OAAO,KAAK,EAAE;gCACd,OAAO,CAAC,KAAK,CAAC,4CAA4C,EAAE,KAAK,CAAC,CAAC;6BACpE;yBACF;;;wBAEK,WAAW,GAAsB,IAAI,CAAC,KAAK,CAAC,MAAA,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,mCAAI,IAAI,CAAC,CAAC;wBACnG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;4BAC/B,YAAY,CAAC,OAAO,CAAC,iBAAiB,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;4BAC5D,aAAa,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;yBAClC;6BAAM;4BACL,aAAa,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;yBAC3C;;;;;wBAGH,OAAO,CAAC,KAAK,CAAC,uDAAuD,EAAE,OAAK,CAAC,CAAC;wBAC9E,aAAa,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;wBACjC,YAAY,CAAC,OAAO,CAAC,iBAAiB,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;;;;;aAE/D,CAAC;QACF,eAAe,EAAE,CAAC;IACpB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,IAAA,iBAAS,EAAC;QACR,IAAI,aAA2C,CAAC;QAChD,IAAI,SAAwB,CAAC;QAE7B,IAAI,WAAW,EAAE;YACf,aAAa,GAAG,IAAI,gBAAgB,CAAC,UAAC,SAAS;;gBAE7C,IAAM,YAAY,GAAG,MAAA,SAAS,CAAC,CAAC,CAAC,0CAAE,MAAM,CAAC,WAAW,CAAC;gBAEtD,IAAI,OAAO,YAAY,KAAK,QAAQ,IAAI,YAAY,KAAK,SAAS,EAAE;oBAClE,IAAI;wBACF,SAAS,GAAG,YAAY,CAAC;wBACzB,IAAM,SAAS,GAAG,aAAa,CAAC,QAAQ,EAAE,CAAC,gBAAgB,CAAC,MAAM,CAAC,UAAC,IAAI,IAAK,OAAA,IAAI,CAAC,QAAQ,KAAK,QAAQ,EAA1B,CAA0B,CAAC,CAAC;wBACzG,SAAS,CAAC,OAAO,CAAC,EAAE,QAAQ,UAAA,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,MAAA,QAAQ,CAAC,GAAG,0CAAE,MAAM,CAAC,aAAa,GAAG,WAAW,EAAE,CAAC,CAAC;wBAC/G,aAAa,CAAC,cAAc,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;wBAErD,YAAY,CAAC,OAAO,CAAC,iBAAiB,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;qBACjF;oBAAC,OAAO,KAAK,EAAE;wBAEd,OAAO,CAAC,KAAK,CAAC,sCAAsC,EAAE,KAAK,CAAC,CAAC;qBAC9D;iBACF;YACH,CAAC,CAAC,CAAC;YAEH,aAAa,CAAC,OAAO,CAAC,WAAW,EAAE;gBACjC,SAAS,EAAE,IAAI;aAChB,CAAC,CAAC;SACJ;QACD,OAAO;YACL,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,UAAU,EAAE,CAAC;QAC9B,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;AACjB,CAAC,CAAC;AAEF,IAAM,cAAc,GAAsC,UAAC,EAAY;QAAV,QAAQ,cAAA;IACnE,IAAM,SAAS,GAAG,IAAA,cAAM,EAAC,KAAK,CAAC,CAAC;IAC1B,IAAA,KAAsC,IAAA,gBAAQ,EAAC,KAAK,CAAC,EAApD,cAAc,QAAA,EAAE,iBAAiB,QAAmB,CAAC;IAC5D,IAAM,aAAa,GAAG,IAAA,cAAM,GAAkC,CAAC;IAC/D,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE;QAC1B,aAAa,CAAC,OAAO,GAAG,IAAA,qBAAW,GAAE,CAAC;KACvC;IAED,0BAA0B,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAClD,0BAA0B,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAElD,IAAA,iBAAS,EAAC;QACR,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,cAAc,EAAE;YACnB,eAAe,EAAE;iBACd,IAAI,CAAC,UAAC,QAAQ;;gBACb,IAAI,SAAS,CAAC,OAAO,EAAE;oBACrB,MAAA,aAAa,CAAC,OAAO,0CAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;oBAC7C,iBAAiB,CAAC,IAAI,CAAC,CAAC;iBACzB;YACH,CAAC,CAAC;iBACD,KAAK,CAAC,UAAC,KAAK;gBACX,OAAO,CAAC,KAAK,CAAC,sCAAsC,EAAE,KAAK,CAAC,CAAC;YAC/D,CAAC,CAAC,CAAC;SACN;QACD,OAAO;YACL,SAAS,CAAC,OAAO,GAAG,KAAK,CAAC;QAC5B,CAAC,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,uBAAC,6BAAa,CAAC,QAAQ,IAAC,KAAK,EAAE,aAAa,CAAC,OAAO,YAAG,QAAQ,GAA0B,CAAC;AACnG,CAAC,CAAC;AAEF,kBAAe,cAAc,CAAC"}
@@ -25,20 +25,20 @@ var chromeState = function () {
25
25
  visitedBundles: {},
26
26
  initialized: false,
27
27
  };
28
- var subscribtions = {
28
+ var subscriptions = {
29
29
  lastVisited: new Map(),
30
30
  favoritePages: new Map(),
31
31
  visitedBundles: new Map(),
32
32
  };
33
33
  function subscribe(event, onUpdate) {
34
34
  var id = Symbol(event);
35
- subscribtions[event].set(id, { onUpdate: onUpdate });
35
+ subscriptions[event].set(id, { onUpdate: onUpdate });
36
36
  onUpdate();
37
37
  return id;
38
38
  }
39
39
  function unsubscribe(id, event) {
40
- if (subscribtions[event].has(id)) {
41
- subscribtions[event].delete(id);
40
+ if (subscriptions[event].has(id)) {
41
+ subscriptions[event].delete(id);
42
42
  }
43
43
  else {
44
44
  console.error('Trying to unsubscribe non existing client!');
@@ -46,7 +46,7 @@ var chromeState = function () {
46
46
  }
47
47
  function update(event, attributes) {
48
48
  state = __assign(__assign({}, state), attributes);
49
- var updateSubscriptions = subscribtions[event];
49
+ var updateSubscriptions = subscriptions[event];
50
50
  if (updateSubscriptions.size === 0) {
51
51
  return;
52
52
  }
@@ -68,7 +68,7 @@ var chromeState = function () {
68
68
  }
69
69
  function setIdentity(userIdentity) {
70
70
  state = __assign(__assign({}, userIdentity), { initialized: true });
71
- Object.values(subscribtions)
71
+ Object.values(subscriptions)
72
72
  .flat()
73
73
  .forEach(function (event) {
74
74
  Array.from(event.values()).forEach(function (sub) {
@@ -38,41 +38,25 @@ import { jsx as _jsx } from "react/jsx-runtime";
38
38
  import { useEffect, useRef, useState } from 'react';
39
39
  import { useScalprum } from '@scalprum/react-core';
40
40
  import { useLocation } from 'react-router-dom';
41
- import debounce from 'lodash/debounce';
42
41
  import { ChromeContext } from '../ChromeContext';
43
42
  import chromeState from './chromeState';
44
43
  import { IDENTITY_URL, LAST_VISITED_URL, get, post } from '../utils/fetch';
45
44
  var getUserIdentity = function () { return get(IDENTITY_URL); };
46
- var postDataDebounced = debounce(function (pathname, title, bundle) { return __awaiter(void 0, void 0, void 0, function () {
47
- var data;
48
- return __generator(this, function (_a) {
49
- switch (_a.label) {
50
- case 0: return [4, post(LAST_VISITED_URL, {
51
- pathname: pathname,
52
- title: title,
53
- bundle: bundle,
54
- })];
55
- case 1:
56
- data = _a.sent();
57
- return [2, data];
58
- }
59
- });
60
- }); }, 5000);
61
45
  var useLastPageVisitedUploader = function (providerState) {
62
- var scalprum = useScalprum();
63
- var pathname = useLocation().pathname;
64
- var postData = function (pathname, title, bundle) { return __awaiter(void 0, void 0, void 0, function () {
65
- var data, error_1;
46
+ var inactiveDuration = 1000 * 20;
47
+ var batchUpdateInterval = 1000 * 60 * 3;
48
+ var inactiveTimeout = useRef(undefined);
49
+ var postBatchData = function (recentPages) { return __awaiter(void 0, void 0, void 0, function () {
50
+ var error_1;
66
51
  return __generator(this, function (_a) {
67
52
  switch (_a.label) {
68
53
  case 0:
69
54
  _a.trys.push([0, 2, , 3]);
70
- return [4, postDataDebounced(pathname, title, bundle)];
55
+ return [4, post(LAST_VISITED_URL, {
56
+ pages: recentPages,
57
+ })];
71
58
  case 1:
72
- data = _a.sent();
73
- if (data) {
74
- providerState.setLastVisited(data);
75
- }
59
+ _a.sent();
76
60
  return [3, 3];
77
61
  case 2:
78
62
  error_1 = _a.sent();
@@ -82,63 +66,117 @@ var useLastPageVisitedUploader = function (providerState) {
82
66
  }
83
67
  });
84
68
  }); };
69
+ var sanitizeRecentPages = function (recentPages) {
70
+ return recentPages.map(function (_a) {
71
+ var pathname = _a.pathname, title = _a.title, bundle = _a.bundle;
72
+ return ({ pathname: pathname, title: title, bundle: bundle });
73
+ });
74
+ };
75
+ var clearInactiveTimeout = function () {
76
+ if (inactiveTimeout.current !== undefined) {
77
+ clearTimeout(inactiveTimeout.current);
78
+ inactiveTimeout.current = undefined;
79
+ }
80
+ };
81
+ var updateMostRecentPages = function () { return __awaiter(void 0, void 0, void 0, function () {
82
+ var recentPages, sanitizedPages;
83
+ return __generator(this, function (_a) {
84
+ switch (_a.label) {
85
+ case 0:
86
+ recentPages = providerState.getState().lastVisitedPages;
87
+ sanitizedPages = sanitizeRecentPages(recentPages);
88
+ return [4, postBatchData(sanitizedPages)];
89
+ case 1:
90
+ _a.sent();
91
+ return [2];
92
+ }
93
+ });
94
+ }); };
85
95
  useEffect(function () {
86
- var titleObserver;
87
- var prevTitle;
88
- var titleTarget = document.querySelector('title');
89
- if (titleTarget) {
90
- prevTitle = titleTarget.textContent;
91
- postData(pathname, prevTitle !== null && prevTitle !== void 0 ? prevTitle : '', scalprum.api.chrome.getBundleData().bundleTitle);
92
- titleObserver = new MutationObserver(function (mutations) {
93
- var _a;
94
- var currentTitle = (_a = mutations[0]) === null || _a === void 0 ? void 0 : _a.target.textContent;
95
- if (typeof currentTitle === 'string' && currentTitle !== prevTitle) {
96
- try {
97
- prevTitle = currentTitle;
98
- postData(pathname, currentTitle, scalprum.api.chrome.getBundleData().bundleTitle);
99
- }
100
- catch (error) {
101
- console.error('Unable to update last visited pages!', error);
102
- }
103
- }
104
- });
105
- titleObserver.observe(titleTarget, {
106
- childList: true,
96
+ var updateInterval = setInterval(function () { return __awaiter(void 0, void 0, void 0, function () {
97
+ return __generator(this, function (_a) {
98
+ updateMostRecentPages();
99
+ return [2];
107
100
  });
108
- }
101
+ }); }, batchUpdateInterval);
102
+ var handleVisibilityChange = function () {
103
+ if (document.visibilityState !== 'visible') {
104
+ if (inactiveTimeout.current) {
105
+ return;
106
+ }
107
+ inactiveTimeout.current = setTimeout(function () { return __awaiter(void 0, void 0, void 0, function () {
108
+ return __generator(this, function (_a) {
109
+ updateMostRecentPages();
110
+ return [2];
111
+ });
112
+ }); }, inactiveDuration);
113
+ }
114
+ else {
115
+ clearInactiveTimeout();
116
+ }
117
+ };
118
+ document.addEventListener('visibilitychange', handleVisibilityChange);
109
119
  return function () {
110
- titleObserver === null || titleObserver === void 0 ? void 0 : titleObserver.disconnect();
111
- postDataDebounced === null || postDataDebounced === void 0 ? void 0 : postDataDebounced.cancel();
120
+ clearInterval(updateInterval);
121
+ clearInactiveTimeout();
122
+ document.removeEventListener('visibilitychange', handleVisibilityChange);
112
123
  };
113
- }, [pathname]);
124
+ }, []);
114
125
  };
115
126
  var LAST_VISITED_FLAG = 'chrome:lastVisited';
116
127
  var useLastVisitedLocalStorage = function (providerState) {
117
128
  var pathname = useLocation().pathname;
118
129
  var scalprum = useScalprum();
119
130
  var titleTarget = document.querySelector('title');
131
+ var lastVisitedLocal = localStorage.getItem(LAST_VISITED_FLAG);
132
+ useEffect(function () {
133
+ var getInitialPages = function () { return __awaiter(void 0, void 0, void 0, function () {
134
+ var firstPages, lastVisited, error_2;
135
+ var _a;
136
+ return __generator(this, function (_b) {
137
+ switch (_b.label) {
138
+ case 0:
139
+ _b.trys.push([0, 4, , 5]);
140
+ if (!!lastVisitedLocal) return [3, 2];
141
+ return [4, get(LAST_VISITED_URL)];
142
+ case 1:
143
+ firstPages = _b.sent();
144
+ if (firstPages) {
145
+ providerState.setLastVisited(firstPages);
146
+ try {
147
+ localStorage.setItem(LAST_VISITED_FLAG, JSON.stringify(firstPages));
148
+ }
149
+ catch (error) {
150
+ console.error('Unable to load initial last visited pages!', error);
151
+ }
152
+ }
153
+ return [3, 3];
154
+ case 2:
155
+ lastVisited = JSON.parse((_a = localStorage.getItem(LAST_VISITED_FLAG)) !== null && _a !== void 0 ? _a : '[]');
156
+ if (!Array.isArray(lastVisited)) {
157
+ localStorage.setItem(LAST_VISITED_FLAG, JSON.stringify([]));
158
+ providerState.setLastVisited([]);
159
+ }
160
+ else {
161
+ providerState.setLastVisited(lastVisited);
162
+ }
163
+ _b.label = 3;
164
+ case 3: return [3, 5];
165
+ case 4:
166
+ error_2 = _b.sent();
167
+ console.error('Unable to parse last visited pages from localStorage!', error_2);
168
+ providerState.setLastVisited([]);
169
+ localStorage.setItem(LAST_VISITED_FLAG, JSON.stringify([]));
170
+ return [3, 5];
171
+ case 5: return [2];
172
+ }
173
+ });
174
+ }); };
175
+ getInitialPages();
176
+ }, []);
120
177
  useEffect(function () {
121
- var _a;
122
178
  var titleObserver;
123
179
  var prevTitle;
124
- var lastVisited = localStorage.getItem(LAST_VISITED_FLAG);
125
- if (lastVisited) {
126
- try {
127
- var lastVisited_1 = JSON.parse((_a = localStorage.getItem(LAST_VISITED_FLAG)) !== null && _a !== void 0 ? _a : '[]');
128
- if (!Array.isArray(lastVisited_1)) {
129
- localStorage.setItem(LAST_VISITED_FLAG, JSON.stringify([]));
130
- providerState.setLastVisited([]);
131
- }
132
- else {
133
- providerState.setLastVisited(lastVisited_1);
134
- }
135
- }
136
- catch (error) {
137
- console.error('Unable to parse last visited pages from localStorage!', error);
138
- providerState.setLastVisited([]);
139
- localStorage.setItem(LAST_VISITED_FLAG, JSON.stringify([]));
140
- }
141
- }
142
180
  if (titleTarget) {
143
181
  titleObserver = new MutationObserver(function (mutations) {
144
182
  var _a, _b;
@@ -174,6 +212,7 @@ var ChromeProvider = function (_a) {
174
212
  providerState.current = chromeState();
175
213
  }
176
214
  useLastVisitedLocalStorage(providerState.current);
215
+ useLastPageVisitedUploader(providerState.current);
177
216
  useEffect(function () {
178
217
  isMounted.current = true;
179
218
  if (!initialRequest) {
@@ -1 +1 @@
1
- {"version":3,"file":"ChromeProvider.js","sourceRoot":"","sources":["../../src/ChromeProvider/ChromeProvider.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ChromeProvider.js","sourceRoot":"","sources":["../../src/ChromeProvider/ChromeProvider.tsx"],"names":[],"mappings":"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"}
@@ -22,20 +22,20 @@ var chromeState = function () {
22
22
  visitedBundles: {},
23
23
  initialized: false,
24
24
  };
25
- var subscribtions = {
25
+ var subscriptions = {
26
26
  lastVisited: new Map(),
27
27
  favoritePages: new Map(),
28
28
  visitedBundles: new Map(),
29
29
  };
30
30
  function subscribe(event, onUpdate) {
31
31
  var id = Symbol(event);
32
- subscribtions[event].set(id, { onUpdate: onUpdate });
32
+ subscriptions[event].set(id, { onUpdate: onUpdate });
33
33
  onUpdate();
34
34
  return id;
35
35
  }
36
36
  function unsubscribe(id, event) {
37
- if (subscribtions[event].has(id)) {
38
- subscribtions[event].delete(id);
37
+ if (subscriptions[event].has(id)) {
38
+ subscriptions[event].delete(id);
39
39
  }
40
40
  else {
41
41
  console.error('Trying to unsubscribe non existing client!');
@@ -43,7 +43,7 @@ var chromeState = function () {
43
43
  }
44
44
  function update(event, attributes) {
45
45
  state = __assign(__assign({}, state), attributes);
46
- var updateSubscriptions = subscribtions[event];
46
+ var updateSubscriptions = subscriptions[event];
47
47
  if (updateSubscriptions.size === 0) {
48
48
  return;
49
49
  }
@@ -65,7 +65,7 @@ var chromeState = function () {
65
65
  }
66
66
  function setIdentity(userIdentity) {
67
67
  state = __assign(__assign({}, userIdentity), { initialized: true });
68
- Object.values(subscribtions)
68
+ Object.values(subscriptions)
69
69
  .flat()
70
70
  .forEach(function (event) {
71
71
  Array.from(event.values()).forEach(function (sub) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@redhat-cloud-services/chrome",
3
- "version": "1.0.7",
3
+ "version": "1.0.8",
4
4
  "description": "Chrome functions for RedHat Hybrid cloud console.",
5
5
  "main": "index.js",
6
6
  "typings": "index.d.ts",