@northern.tech/store 0.19.0 → 0.19.2

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.
Files changed (125) hide show
  1. package/dist/actions.js +1 -1
  2. package/dist/api/general-api.cjs +13 -9
  3. package/dist/api/general-api.cjs.map +1 -1
  4. package/dist/api/general-api.js +3 -3
  5. package/dist/api/users-api.cjs +13 -9
  6. package/dist/api/users-api.cjs.map +1 -1
  7. package/dist/api/users-api.js +4 -4
  8. package/dist/appSlice/constants.cjs +8 -4
  9. package/dist/appSlice/constants.cjs.map +1 -1
  10. package/dist/appSlice/constants.d.cts +1 -1
  11. package/dist/appSlice/constants.d.ts +1 -1
  12. package/dist/appSlice/constants.js +1 -1
  13. package/dist/appSlice/index.js +1 -1
  14. package/dist/appSlice/mocks.js +1 -1
  15. package/dist/appSlice/thunks.cjs +37 -21
  16. package/dist/appSlice/thunks.cjs.map +1 -1
  17. package/dist/appSlice/thunks.js +12 -12
  18. package/dist/auth.cjs +7 -9
  19. package/dist/auth.cjs.map +1 -1
  20. package/dist/auth.js +2 -2
  21. package/dist/{chunk-GEQ2QQEE.js → chunk-42GZ6FGV.js} +2 -2
  22. package/dist/{chunk-QL6FN2JC.js → chunk-43ZBO3JW.js} +2 -2
  23. package/dist/{chunk-GAHFKM3N.js → chunk-45BHMNX6.js} +5 -5
  24. package/dist/{chunk-EL672W25.js → chunk-AJ6DIDO4.js} +9 -5
  25. package/dist/chunk-AJ6DIDO4.js.map +1 -0
  26. package/dist/{chunk-XC7DABLM.js → chunk-AV7SRATY.js} +6 -6
  27. package/dist/{chunk-U5TPV5X5.js → chunk-B3C6H2PR.js} +2 -2
  28. package/dist/{chunk-5M6EUVNO.js → chunk-IRQRV552.js} +8 -2
  29. package/dist/chunk-IRQRV552.js.map +1 -0
  30. package/dist/{chunk-QFYSFHAF.js → chunk-KJ2SUFAU.js} +19 -10
  31. package/dist/chunk-KJ2SUFAU.js.map +1 -0
  32. package/dist/{chunk-FDSMCFV5.js → chunk-UVTLZV34.js} +8 -10
  33. package/dist/chunk-UVTLZV34.js.map +1 -0
  34. package/dist/{chunk-Y3DJIMEN.js → chunk-XJLZK4QY.js} +3 -3
  35. package/dist/{chunk-TJBX7YHM.js → chunk-XOASGJZU.js} +5 -5
  36. package/dist/{chunk-RVAERI6U.js → chunk-ZAZTNDSY.js} +2 -2
  37. package/dist/commonConstants.js +1 -1
  38. package/dist/commonSelectors.cjs +8 -4
  39. package/dist/commonSelectors.cjs.map +1 -1
  40. package/dist/commonSelectors.js +5 -5
  41. package/dist/constants.cjs +8 -4
  42. package/dist/constants.cjs.map +1 -1
  43. package/dist/constants.js +1 -1
  44. package/dist/deploymentsSlice/constants.js +1 -1
  45. package/dist/deploymentsSlice/index.js +1 -1
  46. package/dist/deploymentsSlice/mocks.js +1 -1
  47. package/dist/deploymentsSlice/selectors.js +1 -1
  48. package/dist/deploymentsSlice/thunks.cjs +37 -21
  49. package/dist/deploymentsSlice/thunks.cjs.map +1 -1
  50. package/dist/deploymentsSlice/thunks.js +12 -12
  51. package/dist/devicesSlice/constants.js +1 -1
  52. package/dist/devicesSlice/index.js +1 -1
  53. package/dist/devicesSlice/mocks.js +1 -1
  54. package/dist/devicesSlice/selectors.js +1 -1
  55. package/dist/devicesSlice/thunks.cjs +39 -21
  56. package/dist/devicesSlice/thunks.cjs.map +1 -1
  57. package/dist/devicesSlice/thunks.d.cts +41 -3
  58. package/dist/devicesSlice/thunks.d.ts +41 -3
  59. package/dist/devicesSlice/thunks.js +14 -12
  60. package/dist/liststatehook.js +1 -1
  61. package/dist/locationutils.js +1 -1
  62. package/dist/monitorSlice/index.js +1 -1
  63. package/dist/monitorSlice/mocks.js +1 -1
  64. package/dist/monitorSlice/thunks.cjs +21 -13
  65. package/dist/monitorSlice/thunks.cjs.map +1 -1
  66. package/dist/monitorSlice/thunks.js +9 -9
  67. package/dist/onboardingSlice/thunks.cjs +40 -24
  68. package/dist/onboardingSlice/thunks.cjs.map +1 -1
  69. package/dist/onboardingSlice/thunks.js +12 -12
  70. package/dist/organizationSlice/constants.js +1 -1
  71. package/dist/organizationSlice/index.js +1 -1
  72. package/dist/organizationSlice/mocks.js +1 -1
  73. package/dist/organizationSlice/selectors.js +1 -1
  74. package/dist/organizationSlice/thunks.cjs +43 -27
  75. package/dist/organizationSlice/thunks.cjs.map +1 -1
  76. package/dist/organizationSlice/thunks.js +12 -12
  77. package/dist/releasesSlice/index.js +1 -1
  78. package/dist/releasesSlice/mocks.js +1 -1
  79. package/dist/releasesSlice/selectors.js +3 -3
  80. package/dist/releasesSlice/thunks.cjs +21 -13
  81. package/dist/releasesSlice/thunks.cjs.map +1 -1
  82. package/dist/releasesSlice/thunks.js +9 -9
  83. package/dist/selectors.cjs +8 -4
  84. package/dist/selectors.cjs.map +1 -1
  85. package/dist/selectors.js +5 -5
  86. package/dist/sockethook.js +1 -1
  87. package/dist/store.cjs +7 -9
  88. package/dist/store.cjs.map +1 -1
  89. package/dist/store.js +3 -3
  90. package/dist/storehooks.cjs +50 -34
  91. package/dist/storehooks.cjs.map +1 -1
  92. package/dist/storehooks.js +12 -12
  93. package/dist/thunks.cjs +48 -30
  94. package/dist/thunks.cjs.map +1 -1
  95. package/dist/thunks.d.cts +1 -1
  96. package/dist/thunks.d.ts +1 -1
  97. package/dist/thunks.js +14 -12
  98. package/dist/useDeploymentDevice.cjs +37 -21
  99. package/dist/useDeploymentDevice.cjs.map +1 -1
  100. package/dist/useDeploymentDevice.js +12 -12
  101. package/dist/usersSlice/constants.js +1 -1
  102. package/dist/usersSlice/index.js +1 -1
  103. package/dist/usersSlice/mocks.js +1 -1
  104. package/dist/usersSlice/selectors.cjs +8 -4
  105. package/dist/usersSlice/selectors.cjs.map +1 -1
  106. package/dist/usersSlice/selectors.js +3 -3
  107. package/dist/usersSlice/thunks.cjs +37 -21
  108. package/dist/usersSlice/thunks.cjs.map +1 -1
  109. package/dist/usersSlice/thunks.js +12 -12
  110. package/dist/utils.cjs +8 -4
  111. package/dist/utils.cjs.map +1 -1
  112. package/dist/utils.js +2 -2
  113. package/package.json +3 -3
  114. package/dist/chunk-5M6EUVNO.js.map +0 -1
  115. package/dist/chunk-EL672W25.js.map +0 -1
  116. package/dist/chunk-FDSMCFV5.js.map +0 -1
  117. package/dist/chunk-QFYSFHAF.js.map +0 -1
  118. /package/dist/{chunk-GEQ2QQEE.js.map → chunk-42GZ6FGV.js.map} +0 -0
  119. /package/dist/{chunk-QL6FN2JC.js.map → chunk-43ZBO3JW.js.map} +0 -0
  120. /package/dist/{chunk-GAHFKM3N.js.map → chunk-45BHMNX6.js.map} +0 -0
  121. /package/dist/{chunk-XC7DABLM.js.map → chunk-AV7SRATY.js.map} +0 -0
  122. /package/dist/{chunk-U5TPV5X5.js.map → chunk-B3C6H2PR.js.map} +0 -0
  123. /package/dist/{chunk-Y3DJIMEN.js.map → chunk-XJLZK4QY.js.map} +0 -0
  124. /package/dist/{chunk-TJBX7YHM.js.map → chunk-XOASGJZU.js.map} +0 -0
  125. /package/dist/{chunk-RVAERI6U.js.map → chunk-ZAZTNDSY.js.map} +0 -0
@@ -4,9 +4,9 @@ import {
4
4
  getDeviceMonitorConfig,
5
5
  getIssueCountsByType,
6
6
  getLatestDeviceAlerts
7
- } from "../chunk-GAHFKM3N.js";
8
- import "../chunk-RVAERI6U.js";
9
- import "../chunk-5M6EUVNO.js";
7
+ } from "../chunk-45BHMNX6.js";
8
+ import "../chunk-ZAZTNDSY.js";
9
+ import "../chunk-IRQRV552.js";
10
10
  import "../chunk-RJRZXDVT.js";
11
11
  import "../chunk-TRKA7XYU.js";
12
12
  import "../chunk-YR65C62H.js";
@@ -16,23 +16,23 @@ import "../chunk-CQXDAXQF.js";
16
16
  import "../chunk-VODRLEDP.js";
17
17
  import "../chunk-6WJI4MOP.js";
18
18
  import "../chunk-OLKM53RL.js";
19
- import "../chunk-FDSMCFV5.js";
19
+ import "../chunk-UVTLZV34.js";
20
20
  import "../chunk-NMAXZ3ZY.js";
21
- import "../chunk-TJBX7YHM.js";
22
- import "../chunk-GEQ2QQEE.js";
23
- import "../chunk-QL6FN2JC.js";
21
+ import "../chunk-XOASGJZU.js";
22
+ import "../chunk-42GZ6FGV.js";
23
+ import "../chunk-43ZBO3JW.js";
24
24
  import "../chunk-3NOV7X4M.js";
25
25
  import "../chunk-YO22XLHI.js";
26
26
  import "../chunk-JIS4PA3R.js";
27
27
  import "../chunk-WR6RQKF5.js";
28
28
  import "../chunk-O7DR57RN.js";
29
29
  import "../chunk-4BHM6WVX.js";
30
- import "../chunk-U5TPV5X5.js";
30
+ import "../chunk-B3C6H2PR.js";
31
31
  import "../chunk-WWED74SG.js";
32
32
  import "../chunk-2DYA3X77.js";
33
33
  import "../chunk-FAJ3I2UQ.js";
34
34
  import "../chunk-ZKAH3APE.js";
35
- import "../chunk-EL672W25.js";
35
+ import "../chunk-AJ6DIDO4.js";
36
36
  export {
37
37
  changeNotificationSetting,
38
38
  getDeviceAlerts,
@@ -40,7 +40,7 @@ __export(thunks_exports, {
40
40
  module.exports = __toCommonJS(thunks_exports);
41
41
  var import_helpers11 = require("@northern.tech/utils/helpers");
42
42
  var import_tracking2 = __toESM(require("@northern.tech/utils/tracking"), 1);
43
- var import_universal_cookie4 = __toESM(require("universal-cookie"), 1);
43
+ var import_universal_cookie5 = __toESM(require("universal-cookie"), 1);
44
44
 
45
45
  // src/onboardingSlice/index.ts
46
46
  var import_toolkit = require("@reduxjs/toolkit");
@@ -137,7 +137,7 @@ var ADDONS = {
137
137
  configure: {
138
138
  id: "configure",
139
139
  title: "Configure",
140
- description: "Expand your plan with device configuration features",
140
+ description: "Seamlessly configure applications and devices remotely \u2013 configure each device to its environment.",
141
141
  needs: ["hasDeviceConfig"],
142
142
  os: {
143
143
  price: "$11/month",
@@ -152,7 +152,7 @@ var ADDONS = {
152
152
  monitor: {
153
153
  id: "monitor",
154
154
  title: "Monitor",
155
- description: "Expand your plan with device monitoring features",
155
+ description: "Detect and analyze health issues of devices, services and applications. Set up alerts so you can act quickly.",
156
156
  needs: ["hasMonitor"],
157
157
  os: {
158
158
  price: "-",
@@ -167,7 +167,7 @@ var ADDONS = {
167
167
  troubleshoot: {
168
168
  id: "troubleshoot",
169
169
  title: "Troubleshoot",
170
- description: "Expand your plan with device troubleshooting features",
170
+ description: "Secure, remote access to your devices \u2013 quickly diagnose and fix issues in real time.",
171
171
  needs: ["hasDeviceConnect"],
172
172
  os: {
173
173
  price: "$27/month",
@@ -181,7 +181,11 @@ var ADDONS = {
181
181
  }
182
182
  };
183
183
  var BENEFITS = {
184
- auditlog: { id: "auditlog", benefit: "trace change across your devices and access troubleshooting session replay", requiredPlan: PLANS.professional.id },
184
+ auditlog: {
185
+ id: "auditlog",
186
+ benefit: "gain access to logs for important events such as changes to devices, deployments and user management, as well as remote terminal session replays",
187
+ requiredPlan: PLANS.enterprise.id
188
+ },
185
189
  dashboard: { id: "dashboard", benefit: "actionable insights into the devices you are updating with Mender", requiredPlan: PLANS.enterprise.id },
186
190
  deltaGeneration: {
187
191
  id: "deltaGeneration",
@@ -2351,19 +2355,17 @@ var getSessionInfo = () => {
2351
2355
  sessionInfo = JSON.parse(window.localStorage.getItem("JWT") ?? "");
2352
2356
  } catch {
2353
2357
  }
2358
+ const jwtTokenFromCookie = cookies.get("JWT", { doNotParse: true }) ?? "";
2359
+ if (jwtTokenFromCookie) {
2360
+ setSessionInfo({ token: jwtTokenFromCookie });
2361
+ cookies.remove("JWT");
2362
+ cookies.remove("JWT", { path: "/" });
2363
+ return { token: jwtTokenFromCookie, expiresAt: void 0 };
2364
+ }
2354
2365
  if (sessionInfo.expiresAt && new Date(sessionInfo.expiresAt) < /* @__PURE__ */ new Date()) {
2355
2366
  cleanUp();
2356
2367
  return { ...emptySession };
2357
2368
  }
2358
- if (!sessionInfo.token) {
2359
- const jwtTokenFromCookie = cookies.get("JWT", { doNotParse: true }) ?? "";
2360
- if (jwtTokenFromCookie) {
2361
- setSessionInfo({ token: jwtTokenFromCookie });
2362
- sessionInfo.token = jwtTokenFromCookie;
2363
- cookies.remove("JWT");
2364
- cookies.remove("JWT", { path: "/" });
2365
- }
2366
- }
2367
2369
  sessionInfo.token = sessionInfo.token || "";
2368
2370
  tokenCache = sessionInfo.token;
2369
2371
  return sessionInfo;
@@ -2473,12 +2475,18 @@ var createAppAsyncThunk = import_toolkit16.createAsyncThunk.withTypes();
2473
2475
 
2474
2476
  // src/appSlice/thunks.ts
2475
2477
  var import_helpers7 = require("@northern.tech/utils/helpers");
2476
- var import_universal_cookie2 = __toESM(require("universal-cookie"), 1);
2478
+ var import_universal_cookie3 = __toESM(require("universal-cookie"), 1);
2477
2479
 
2478
2480
  // src/api/general-api.ts
2479
2481
  var import_axios = __toESM(require("axios"), 1);
2482
+ var import_universal_cookie2 = __toESM(require("universal-cookie"), 1);
2483
+ var cookies2 = new import_universal_cookie2.default();
2480
2484
  var unauthorizedRedirect = (error) => {
2481
2485
  if (!(0, import_axios.isCancel)(error) && error.response?.status === 401 && getToken() && !window.location.pathname.endsWith("/subscription")) {
2486
+ if (cookies2.get("JWT", { doNotParse: true })) {
2487
+ window.location.reload();
2488
+ return Promise.reject(error);
2489
+ }
2482
2490
  cleanUp();
2483
2491
  window.location.replace("/ui/");
2484
2492
  }
@@ -2514,9 +2522,9 @@ var Api = {
2514
2522
  var general_api_default = Api;
2515
2523
 
2516
2524
  // src/appSlice/thunks.ts
2517
- var cookies2 = new import_universal_cookie2.default();
2525
+ var cookies3 = new import_universal_cookie3.default();
2518
2526
  var setFirstLoginAfterSignup = createAppAsyncThunk(`${sliceName2}/setFirstLoginAfterSignup`, (firstLoginAfterSignup, { dispatch }) => {
2519
- cookies2.set("firstLoginAfterSignup", !!firstLoginAfterSignup, { maxAge: 60, path: "/", domain: ".mender.io", sameSite: false });
2527
+ cookies3.set("firstLoginAfterSignup", !!firstLoginAfterSignup, { maxAge: 60, path: "/", domain: ".mender.io", sameSite: false });
2520
2528
  dispatch(actions2.setFirstLoginAfterSignup(!!firstLoginAfterSignup));
2521
2529
  });
2522
2530
  var dateFunctionMap = {
@@ -3099,11 +3107,18 @@ var addStaticGroup = createAppAsyncThunk(
3099
3107
  )
3100
3108
  ).catch((err) => commonErrorHandler(err, `Group could not be updated:`, dispatch))
3101
3109
  );
3110
+ var removeReportsByGroupName = createAppAsyncThunk(`${sliceName4}/removeReportsByGroupName`, (groupName, { dispatch, getState }) => {
3111
+ if (!groupName) return Promise.resolve();
3112
+ const reports = getDeviceReportsForUser(getState());
3113
+ const filteredReports = reports.filter((report) => report.group !== groupName);
3114
+ dispatch(saveUserSettings({ reports: filteredReports }));
3115
+ });
3102
3116
  var removeStaticGroup = createAppAsyncThunk(
3103
3117
  `${sliceName4}/removeStaticGroup`,
3104
3118
  (groupName, { dispatch }) => general_api_default.delete(`${import_constants5.inventoryApiUrl}/groups/${groupName}`).then(
3105
3119
  () => Promise.all([
3106
3120
  dispatch(actions4.removeGroup(groupName)),
3121
+ dispatch(removeReportsByGroupName(groupName)),
3107
3122
  dispatch(getGroups2()),
3108
3123
  dispatch(setSnackbar3({ message: "Group was removed successfully", autoHideDuration: TIMEOUTS.fiveSeconds }))
3109
3124
  ])
@@ -3169,6 +3184,7 @@ var removeDynamicGroup = createAppAsyncThunk(`${sliceName4}/removeDynamicGroup`,
3169
3184
  return general_api_default.delete(`${import_constants5.inventoryApiUrlV2}/filters/${filterId}`).then(
3170
3185
  () => Promise.all([
3171
3186
  dispatch(actions4.removeGroup(groupName)),
3187
+ dispatch(removeReportsByGroupName(groupName)),
3172
3188
  dispatch(setSnackbar3({ message: "Group was removed successfully", autoHideDuration: TIMEOUTS.fiveSeconds }))
3173
3189
  ])
3174
3190
  );
@@ -3939,7 +3955,7 @@ var import_helpers10 = require("@northern.tech/utils/helpers");
3939
3955
  var import_retrytimer = require("@northern.tech/utils/retrytimer");
3940
3956
  var import_dayjs2 = __toESM(require("dayjs"), 1);
3941
3957
  var import_md5 = __toESM(require("md5"), 1);
3942
- var import_universal_cookie3 = __toESM(require("universal-cookie"), 1);
3958
+ var import_universal_cookie4 = __toESM(require("universal-cookie"), 1);
3943
3959
 
3944
3960
  // src/api/users-api.ts
3945
3961
  var import_axios3 = __toESM(require("axios"), 1);
@@ -3956,7 +3972,7 @@ var Api2 = {
3956
3972
  var users_api_default = Api2;
3957
3973
 
3958
3974
  // src/usersSlice/thunks.ts
3959
- var cookies3 = new import_universal_cookie3.default();
3975
+ var cookies4 = new import_universal_cookie4.default();
3960
3976
  var { setAnnouncement, setSnackbar: setSnackbar4 } = actions_default;
3961
3977
  var handleLoginError = (err, { token2fa: has2FA, password }, rejectWithValue) => () => {
3962
3978
  const errorText = (0, import_helpers10.extractErrorMessage)(err);
@@ -3991,7 +4007,7 @@ var loginUser = createAppAsyncThunk(
3991
4007
  now.setSeconds(now.getSeconds() + import_constants5.maxSessionAge);
3992
4008
  const expiresAt = stayLoggedIn ? void 0 : now.toISOString();
3993
4009
  setSessionInfo({ token, expiresAt });
3994
- cookies3.remove("JWT", { path: "/" });
4010
+ cookies4.remove("JWT", { path: "/" });
3995
4011
  return dispatch(getUser(OWN_USER_ID)).unwrap().catch((e) => {
3996
4012
  cleanUp();
3997
4013
  return Promise.reject(dispatch(setSnackbar4((0, import_helpers10.extractErrorMessage)(e))));
@@ -4546,9 +4562,9 @@ var setHideAnnouncement = createAppAsyncThunk(
4546
4562
  ({ shouldHide, userId }, { dispatch, getState }) => {
4547
4563
  const currentUserId = userId || getCurrentUser(getState()).id;
4548
4564
  const hash = getState().app.hostedAnnouncement ? (0, import_md5.default)(getState().app.hostedAnnouncement) : "";
4549
- const announceCookie = cookies3.get(`${currentUserId}${hash}`);
4565
+ const announceCookie = cookies4.get(`${currentUserId}${hash}`);
4550
4566
  if (shouldHide || hash.length && typeof announceCookie !== "undefined") {
4551
- cookies3.set(`${currentUserId}${hash}`, true, { maxAge: 604800 });
4567
+ cookies4.set(`${currentUserId}${hash}`, true, { maxAge: 604800 });
4552
4568
  dispatch(setAnnouncement(""));
4553
4569
  }
4554
4570
  }
@@ -4601,7 +4617,7 @@ var submitUserFeedback = createAppAsyncThunk(
4601
4617
  );
4602
4618
 
4603
4619
  // src/onboardingSlice/thunks.ts
4604
- var cookies4 = new import_universal_cookie4.default();
4620
+ var cookies5 = new import_universal_cookie5.default();
4605
4621
  var applyOnboardingFallbacks = (progress2) => {
4606
4622
  const step = orderedOnboardingSteps[progress2];
4607
4623
  if (step && step.fallbackStep) {
@@ -4619,7 +4635,7 @@ var determineProgress = (acceptedDevices, pendingDevices, releases, pastDeployme
4619
4635
  };
4620
4636
  var deductOnboardingState = ({ devicesById, devicesByStatus, onboardingState, pastDeployments, releases, userCapabilities, userId }) => {
4621
4637
  const { canDeploy, canManageDevices, canReadDeployments, canReadDevices, canReadReleases, canUploadReleases } = userCapabilities;
4622
- const userCookie = cookies4.get(`${userId}-onboarded`);
4638
+ const userCookie = cookies5.get(`${userId}-onboarded`);
4623
4639
  const acceptedDevices = devicesByStatus[import_constants5.DEVICE_STATES.accepted].deviceIds;
4624
4640
  const pendingDevices = devicesByStatus[import_constants5.DEVICE_STATES.pending].deviceIds;
4625
4641
  let deviceType = onboardingState.deviceType ?? [];