studiokit-scaffolding-js 7.0.11-alpha.5 → 7.0.11-alpha.7

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.
@@ -34,6 +34,7 @@ var actionCreator_1 = require("../../redux/actionCreator");
34
34
  var noStoreSaga_1 = require("../../redux/sagas/noStoreSaga");
35
35
  var fetch_1 = require("../../utils/fetch");
36
36
  var lockDownBrowser_1 = require("../../utils/lockDownBrowser");
37
+ var Loading_1 = require("../Loading");
37
38
  var ExitButton_1 = require("./ExitButton");
38
39
  var LockDownBrowserCheck = function () {
39
40
  var lockDownBrowserInfo = lockDownBrowser_1.getLockDownBrowserInfo();
@@ -53,13 +54,7 @@ var LockDownBrowserCheck = function () {
53
54
  setHasLoaded(true);
54
55
  noStoreSaga_1.noStoreHooks.registerNoStoreActionHook(hookId, function (data) {
55
56
  noStoreSaga_1.noStoreHooks.unregisterNoStoreActionHook(hookId);
56
- if (!data || fetch_1.isFetchErrorData(data)) {
57
- setTestData(data);
58
- console.error(data);
59
- }
60
- else {
61
- setTestData(data);
62
- }
57
+ setTestData(data);
63
58
  });
64
59
  actionCreator_1.dispatchModelFetchRequest({
65
60
  modelName: 'lockDownBrowserTest',
@@ -68,19 +63,34 @@ var LockDownBrowserCheck = function () {
68
63
  });
69
64
  }
70
65
  }, [hasLoaded, hookId]);
66
+ var isApiLockDownBrowser = !!testData && !fetch_1.isFetchErrorData(testData) && testData.isLockDownBrowser;
67
+ var isLockDownBrowserReadyToUse = lockDownBrowserInfo.isClientLockDownBrowser && isApiLockDownBrowser;
71
68
  return (react_1.default.createElement(react_1.default.Fragment, null,
72
69
  react_1.default.createElement(react_helmet_1.Helmet, { title: "LockDown Browser Check" }),
73
- react_1.default.createElement(react_bootstrap_1.Container, { className: "main-content" },
70
+ testData === undefined && react_1.default.createElement(Loading_1.Loading, null),
71
+ testData !== undefined && (react_1.default.createElement(react_bootstrap_1.Container, { className: "main-content" },
74
72
  react_1.default.createElement(react_bootstrap_1.Row, null,
75
73
  react_1.default.createElement(react_bootstrap_1.Col, { xs: 12 },
76
- react_1.default.createElement("h1", null, lockDownBrowserInfo.isClientLockDownBrowser ? (react_1.default.createElement(react_1.default.Fragment, null,
74
+ react_1.default.createElement("h1", null, isLockDownBrowserReadyToUse ? (react_1.default.createElement(react_1.default.Fragment, null,
77
75
  react_1.default.createElement(CheckCircle_1.default, { className: "fill-green f1 mr2" }),
78
76
  " Success! You are using LockDown Browser.")) : (react_1.default.createElement(react_1.default.Fragment, null,
79
77
  react_1.default.createElement(Cancel_1.default, { className: "fill-red f1 mr2" }),
80
- "Oops! You are not using LockDown Browser."))),
81
- lockDownBrowserInfo.isClientLockDownBrowser && (react_1.default.createElement(react_1.default.Fragment, null,
82
- react_1.default.createElement("p", null, "You\u2019re all set to use LockDown Browser for your assessments. You can close LockDown Browser when you\u2019re ready."),
83
- (lockDownBrowserInfo.buildId || platform) && (react_1.default.createElement("dl", { className: "f6" },
78
+ "Oops! We could not confirm LockDown Browser is being used."))),
79
+ isLockDownBrowserReadyToUse ? (react_1.default.createElement("p", null, "You\u2019re all set to use LockDown Browser for your assessments. You can close LockDown Browser when you\u2019re ready.")) : (react_1.default.createElement("p", null,
80
+ "There was an issue detecting LockDown Browser. Please",
81
+ ' ',
82
+ lockDownBrowserInfo.isClientLockDownBrowser && (react_1.default.createElement(react_1.default.Fragment, null, "close the browser and try again, or ")),
83
+ "contact us at ",
84
+ react_1.default.createElement("a", { href: "mailto:tlt@purdue.edu" }, "tlt@purdue.edu"),
85
+ " if you continue to have issues.")),
86
+ react_1.default.createElement("dl", { className: "f6" },
87
+ react_1.default.createElement("dt", null,
88
+ lockDownBrowserInfo.isClientLockDownBrowser ? (react_1.default.createElement(CheckCircle_1.default, { className: "fill-green f4" })) : (react_1.default.createElement(Cancel_1.default, { className: "fill-red f4" })),
89
+ ' ',
90
+ "Client"),
91
+ react_1.default.createElement("dd", null, lockDownBrowserInfo.isClientLockDownBrowser ? react_1.default.createElement(react_1.default.Fragment, null, "Confirmed") : react_1.default.createElement(react_1.default.Fragment, null, "Not Detected")),
92
+ lockDownBrowserInfo.isClientLockDownBrowser &&
93
+ (lockDownBrowserInfo.buildId || platform) && (react_1.default.createElement(react_1.default.Fragment, null,
84
94
  lockDownBrowserInfo.buildId && (react_1.default.createElement(react_1.default.Fragment, null,
85
95
  react_1.default.createElement("dt", null, "Build Id"),
86
96
  react_1.default.createElement("dd", null, lockDownBrowserInfo.buildId))),
@@ -89,8 +99,12 @@ var LockDownBrowserCheck = function () {
89
99
  react_1.default.createElement("dd", null, platform),
90
100
  react_1.default.createElement("dt", null, "Build Date"),
91
101
  react_1.default.createElement("dd", null, buildDate))))),
92
- react_1.default.createElement(ExitButton_1.LockDownBrowserExitButton, null))),
93
- testData && react_1.default.createElement("pre", null, JSON.stringify(testData, null, 2)))))));
102
+ react_1.default.createElement("dt", null,
103
+ isApiLockDownBrowser ? (react_1.default.createElement(CheckCircle_1.default, { className: "fill-green f4" })) : (react_1.default.createElement(Cancel_1.default, { className: "fill-red f4" })),
104
+ ' ',
105
+ "Server"),
106
+ react_1.default.createElement("dd", null, isApiLockDownBrowser ? react_1.default.createElement(react_1.default.Fragment, null, "Confirmed") : react_1.default.createElement(react_1.default.Fragment, null, "Not Detected"))),
107
+ lockDownBrowserInfo.isClientLockDownBrowser && react_1.default.createElement(ExitButton_1.LockDownBrowserExitButton, null)))))));
94
108
  };
95
109
  exports.LockDownBrowserCheck = LockDownBrowserCheck;
96
110
  // required for use in Routes / AsyncComponent
@@ -199,6 +199,7 @@ exports.endpointMappings = {
199
199
  _config: {
200
200
  fetch: {
201
201
  path: '/api/ldb/test',
202
+ // forward LockDown Browser cookies to API
202
203
  credentials: 'include'
203
204
  }
204
205
  }
@@ -27,14 +27,14 @@ var getCookies = function () {
27
27
  if (document.cookie && document.cookie !== '') {
28
28
  var cookieStrings = document.cookie.split(';');
29
29
  cookieStrings.forEach(function (cookieString) {
30
+ var cookieParts = cookieString.split('=');
30
31
  try {
31
- var cookieParts = cookieString.split('=');
32
32
  var name_1 = decodeURIComponent(cookieParts[0].replace(/^ /, ''));
33
33
  var value = decodeURIComponent(cookieParts[1]);
34
34
  cookies[name_1] = value;
35
35
  }
36
36
  catch (error) {
37
- Sentry.captureException(error);
37
+ Sentry.captureException("Failed to decode cookie \"" + cookieParts[0] + "\". " + error);
38
38
  }
39
39
  });
40
40
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "studiokit-scaffolding-js",
3
- "version": "7.0.11-alpha.5",
3
+ "version": "7.0.11-alpha.7",
4
4
  "description": "Common scaffolding for Studio apps at Purdue",
5
5
  "repository": "https://gitlab.com/purdue-informatics/studiokit/studiokit-scaffolding-js",
6
6
  "license": "MIT",