@northern.tech/store 0.3.3 → 0.3.4

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 (207) hide show
  1. package/dist/BillingProfile-ChP2_Sqw.d.cts +45 -0
  2. package/dist/BillingProfile-ChP2_Sqw.d.ts +45 -0
  3. package/dist/actions.cjs +2 -6
  4. package/dist/actions.cjs.map +1 -1
  5. package/dist/actions.js +12 -12
  6. package/dist/api/general-api.cjs.map +1 -1
  7. package/dist/api/general-api.js +5 -5
  8. package/dist/api/users-api.cjs.map +1 -1
  9. package/dist/api/users-api.js +6 -6
  10. package/dist/appSlice/constants.cjs.map +1 -1
  11. package/dist/appSlice/constants.d.cts +7 -7
  12. package/dist/appSlice/constants.d.ts +7 -7
  13. package/dist/appSlice/constants.js +1 -1
  14. package/dist/appSlice/index.cjs +1 -3
  15. package/dist/appSlice/index.cjs.map +1 -1
  16. package/dist/appSlice/index.js +4 -4
  17. package/dist/appSlice/thunks.cjs +16 -26
  18. package/dist/appSlice/thunks.cjs.map +1 -1
  19. package/dist/appSlice/thunks.js +28 -27
  20. package/dist/auth.cjs.map +1 -1
  21. package/dist/auth.js +4 -4
  22. package/dist/{chunk-LGNOTPUG.js → chunk-4RWZR3BN.js} +23 -25
  23. package/dist/{chunk-LGNOTPUG.js.map → chunk-4RWZR3BN.js.map} +1 -1
  24. package/dist/{chunk-TUACATJA.js → chunk-7YZCUAXZ.js} +2 -2
  25. package/dist/{chunk-7PVGDMNM.js → chunk-AFICTIVU.js} +3 -5
  26. package/dist/{chunk-7PVGDMNM.js.map → chunk-AFICTIVU.js.map} +1 -1
  27. package/dist/{chunk-YT73QWCN.js → chunk-AUBJUUP3.js} +3 -3
  28. package/dist/{chunk-VMNMD6KF.js → chunk-AVX7VVOK.js} +3 -3
  29. package/dist/{chunk-4B3IMP4I.js → chunk-BSN2TOQC.js} +1 -1
  30. package/dist/{chunk-4B3IMP4I.js.map → chunk-BSN2TOQC.js.map} +1 -1
  31. package/dist/{chunk-X7IEZBM4.js → chunk-DCEKU6UV.js} +2 -2
  32. package/dist/{chunk-HPBE6KYY.js → chunk-DGQKXSRI.js} +3 -3
  33. package/dist/{chunk-2JHFUQ6B.js → chunk-EQLHIPPR.js} +88 -85
  34. package/dist/chunk-EQLHIPPR.js.map +1 -0
  35. package/dist/{chunk-LTKOV26W.js → chunk-EYCORLYU.js} +30 -28
  36. package/dist/chunk-EYCORLYU.js.map +1 -0
  37. package/dist/{chunk-WXL7PVI5.js → chunk-FQDSV3NK.js} +4 -4
  38. package/dist/{chunk-TI2RL5P2.js → chunk-FRSA2YB5.js} +3 -3
  39. package/dist/{chunk-DCK2DBOA.js → chunk-FVCYB5OP.js} +22 -24
  40. package/dist/{chunk-DCK2DBOA.js.map → chunk-FVCYB5OP.js.map} +1 -1
  41. package/dist/{chunk-AMGWP7A4.js → chunk-GAI4VYRZ.js} +2 -2
  42. package/dist/{chunk-4XJMRVFI.js → chunk-GWJIY56H.js} +10 -12
  43. package/dist/chunk-GWJIY56H.js.map +1 -0
  44. package/dist/{chunk-2CYOM4BK.js → chunk-JO33IORF.js} +2 -2
  45. package/dist/chunk-K4MMUDYT.js +391 -0
  46. package/dist/chunk-K4MMUDYT.js.map +1 -0
  47. package/dist/{chunk-YDS36ALB.js → chunk-L3SY3J5M.js} +3 -3
  48. package/dist/{chunk-JAROCU6M.js → chunk-NCSKCF2S.js} +3 -3
  49. package/dist/{chunk-CYV6632F.js → chunk-NOQR3TE7.js} +2 -2
  50. package/dist/{chunk-C5NEDBJI.js → chunk-OEP2D6QL.js} +3 -3
  51. package/dist/{chunk-C5NEDBJI.js.map → chunk-OEP2D6QL.js.map} +1 -1
  52. package/dist/{chunk-LEMVXAYP.js → chunk-PAIB5V27.js} +15 -15
  53. package/dist/{chunk-FGKMJS3B.js → chunk-RX32WLVJ.js} +2 -4
  54. package/dist/chunk-RX32WLVJ.js.map +1 -0
  55. package/dist/{chunk-QRGTG4YB.js → chunk-X3GZILYD.js} +3 -3
  56. package/dist/{chunk-UWMYZNUB.js → chunk-Y575RZHR.js} +1 -1
  57. package/dist/{chunk-UWMYZNUB.js.map → chunk-Y575RZHR.js.map} +1 -1
  58. package/dist/{chunk-7JKWI5FK.js → chunk-ZWOAFHAR.js} +2 -2
  59. package/dist/{chunk-DAPAXWA5.js → chunk-ZZMFXRQK.js} +12 -12
  60. package/dist/commonConstants.cjs.map +1 -1
  61. package/dist/commonConstants.d.cts +1 -1
  62. package/dist/commonConstants.d.ts +1 -1
  63. package/dist/commonConstants.js +1 -1
  64. package/dist/commonSelectors.cjs +7 -11
  65. package/dist/commonSelectors.cjs.map +1 -1
  66. package/dist/commonSelectors.d.cts +12 -11
  67. package/dist/commonSelectors.d.ts +12 -11
  68. package/dist/commonSelectors.js +11 -11
  69. package/dist/constants.cjs.map +1 -1
  70. package/dist/constants.js +3 -3
  71. package/dist/deploymentdevicehook.cjs +16 -26
  72. package/dist/deploymentdevicehook.cjs.map +1 -1
  73. package/dist/deploymentdevicehook.js +30 -29
  74. package/dist/deploymentdevicehook.js.map +1 -1
  75. package/dist/deploymentsSlice/constants.cjs.map +1 -1
  76. package/dist/deploymentsSlice/constants.js +3 -3
  77. package/dist/deploymentsSlice/index.cjs.map +1 -1
  78. package/dist/deploymentsSlice/index.js +4 -4
  79. package/dist/deploymentsSlice/selectors.cjs.map +1 -1
  80. package/dist/deploymentsSlice/selectors.js +4 -4
  81. package/dist/deploymentsSlice/thunks.cjs +16 -26
  82. package/dist/deploymentsSlice/thunks.cjs.map +1 -1
  83. package/dist/deploymentsSlice/thunks.js +28 -27
  84. package/dist/devicesSlice/constants.cjs.map +1 -1
  85. package/dist/devicesSlice/constants.js +3 -3
  86. package/dist/devicesSlice/index.cjs.map +1 -1
  87. package/dist/devicesSlice/index.js +4 -4
  88. package/dist/devicesSlice/selectors.cjs.map +1 -1
  89. package/dist/devicesSlice/selectors.js +4 -4
  90. package/dist/devicesSlice/thunks.cjs +16 -26
  91. package/dist/devicesSlice/thunks.cjs.map +1 -1
  92. package/dist/devicesSlice/thunks.js +28 -27
  93. package/dist/liststatehook.cjs +971 -0
  94. package/dist/liststatehook.cjs.map +1 -0
  95. package/dist/liststatehook.d.cts +246 -0
  96. package/dist/liststatehook.d.ts +246 -0
  97. package/dist/liststatehook.js +88 -0
  98. package/dist/liststatehook.js.map +1 -0
  99. package/dist/locationutils.cjs +942 -0
  100. package/dist/locationutils.cjs.map +1 -0
  101. package/dist/locationutils.d.cts +113 -0
  102. package/dist/locationutils.d.ts +113 -0
  103. package/dist/locationutils.js +46 -0
  104. package/dist/locationutils.js.map +1 -0
  105. package/dist/monitorSlice/constants.cjs.map +1 -1
  106. package/dist/monitorSlice/constants.js +3 -3
  107. package/dist/monitorSlice/index.cjs.map +1 -1
  108. package/dist/monitorSlice/index.js +4 -4
  109. package/dist/monitorSlice/thunks.cjs +15 -25
  110. package/dist/monitorSlice/thunks.cjs.map +1 -1
  111. package/dist/monitorSlice/thunks.js +24 -24
  112. package/dist/onboardingSlice/index.cjs +1 -3
  113. package/dist/onboardingSlice/index.cjs.map +1 -1
  114. package/dist/onboardingSlice/index.js +1 -1
  115. package/dist/onboardingSlice/thunks.cjs +22 -35
  116. package/dist/onboardingSlice/thunks.cjs.map +1 -1
  117. package/dist/onboardingSlice/thunks.d.cts +1 -2
  118. package/dist/onboardingSlice/thunks.d.ts +1 -2
  119. package/dist/onboardingSlice/thunks.js +28 -29
  120. package/dist/organizationSlice/constants.cjs.map +1 -1
  121. package/dist/organizationSlice/constants.js +3 -3
  122. package/dist/organizationSlice/index.cjs.map +1 -1
  123. package/dist/organizationSlice/index.d.cts +2 -1
  124. package/dist/organizationSlice/index.d.ts +2 -1
  125. package/dist/organizationSlice/index.js +4 -4
  126. package/dist/organizationSlice/selectors.cjs.map +1 -1
  127. package/dist/organizationSlice/selectors.d.cts +2 -1
  128. package/dist/organizationSlice/selectors.d.ts +2 -1
  129. package/dist/organizationSlice/selectors.js +4 -4
  130. package/dist/organizationSlice/thunks.cjs +38 -44
  131. package/dist/organizationSlice/thunks.cjs.map +1 -1
  132. package/dist/organizationSlice/thunks.d.cts +5 -5
  133. package/dist/organizationSlice/thunks.d.ts +5 -5
  134. package/dist/organizationSlice/thunks.js +28 -27
  135. package/dist/organizationSlice/types.cjs.map +1 -1
  136. package/dist/organizationSlice/types.d.cts +3 -112
  137. package/dist/organizationSlice/types.d.ts +3 -112
  138. package/dist/releasesSlice/index.cjs.map +1 -1
  139. package/dist/releasesSlice/index.js +4 -4
  140. package/dist/releasesSlice/selectors.cjs +6 -8
  141. package/dist/releasesSlice/selectors.cjs.map +1 -1
  142. package/dist/releasesSlice/selectors.js +5 -5
  143. package/dist/releasesSlice/thunks.cjs +51 -46
  144. package/dist/releasesSlice/thunks.cjs.map +1 -1
  145. package/dist/releasesSlice/thunks.js +25 -24
  146. package/dist/selectors.cjs +7 -11
  147. package/dist/selectors.cjs.map +1 -1
  148. package/dist/selectors.d.cts +2 -1
  149. package/dist/selectors.d.ts +2 -1
  150. package/dist/selectors.js +37 -37
  151. package/dist/sockethook.cjs +529 -0
  152. package/dist/sockethook.cjs.map +1 -0
  153. package/dist/sockethook.d.cts +10 -0
  154. package/dist/sockethook.d.ts +10 -0
  155. package/dist/sockethook.js +141 -0
  156. package/dist/sockethook.js.map +1 -0
  157. package/dist/store.cjs +2 -6
  158. package/dist/store.cjs.map +1 -1
  159. package/dist/store.d.cts +2 -1
  160. package/dist/store.d.ts +2 -1
  161. package/dist/store.js +14 -14
  162. package/dist/storehooks.cjs +86 -90
  163. package/dist/storehooks.cjs.map +1 -1
  164. package/dist/storehooks.js +37 -48
  165. package/dist/storehooks.js.map +1 -1
  166. package/dist/thunks.cjs +83 -79
  167. package/dist/thunks.cjs.map +1 -1
  168. package/dist/thunks.d.cts +2 -2
  169. package/dist/thunks.d.ts +2 -2
  170. package/dist/thunks.js +28 -29
  171. package/dist/types-DBj17FZO.d.cts +135 -0
  172. package/dist/types-DnfZa6xd.d.ts +135 -0
  173. package/dist/usersSlice/constants.cjs.map +1 -1
  174. package/dist/usersSlice/constants.d.cts +6 -6
  175. package/dist/usersSlice/constants.d.ts +6 -6
  176. package/dist/usersSlice/constants.js +3 -3
  177. package/dist/usersSlice/index.cjs.map +1 -1
  178. package/dist/usersSlice/index.js +4 -4
  179. package/dist/usersSlice/selectors.cjs.map +1 -1
  180. package/dist/usersSlice/selectors.js +5 -5
  181. package/dist/usersSlice/thunks.cjs +16 -26
  182. package/dist/usersSlice/thunks.cjs.map +1 -1
  183. package/dist/usersSlice/thunks.js +28 -27
  184. package/dist/utils.cjs +6 -8
  185. package/dist/utils.cjs.map +1 -1
  186. package/dist/utils.js +4 -4
  187. package/package.json +6 -5
  188. package/dist/chunk-2JHFUQ6B.js.map +0 -1
  189. package/dist/chunk-4XJMRVFI.js.map +0 -1
  190. package/dist/chunk-FGKMJS3B.js.map +0 -1
  191. package/dist/chunk-LTKOV26W.js.map +0 -1
  192. /package/dist/{chunk-TUACATJA.js.map → chunk-7YZCUAXZ.js.map} +0 -0
  193. /package/dist/{chunk-YT73QWCN.js.map → chunk-AUBJUUP3.js.map} +0 -0
  194. /package/dist/{chunk-VMNMD6KF.js.map → chunk-AVX7VVOK.js.map} +0 -0
  195. /package/dist/{chunk-X7IEZBM4.js.map → chunk-DCEKU6UV.js.map} +0 -0
  196. /package/dist/{chunk-HPBE6KYY.js.map → chunk-DGQKXSRI.js.map} +0 -0
  197. /package/dist/{chunk-WXL7PVI5.js.map → chunk-FQDSV3NK.js.map} +0 -0
  198. /package/dist/{chunk-TI2RL5P2.js.map → chunk-FRSA2YB5.js.map} +0 -0
  199. /package/dist/{chunk-AMGWP7A4.js.map → chunk-GAI4VYRZ.js.map} +0 -0
  200. /package/dist/{chunk-2CYOM4BK.js.map → chunk-JO33IORF.js.map} +0 -0
  201. /package/dist/{chunk-YDS36ALB.js.map → chunk-L3SY3J5M.js.map} +0 -0
  202. /package/dist/{chunk-JAROCU6M.js.map → chunk-NCSKCF2S.js.map} +0 -0
  203. /package/dist/{chunk-CYV6632F.js.map → chunk-NOQR3TE7.js.map} +0 -0
  204. /package/dist/{chunk-LEMVXAYP.js.map → chunk-PAIB5V27.js.map} +0 -0
  205. /package/dist/{chunk-QRGTG4YB.js.map → chunk-X3GZILYD.js.map} +0 -0
  206. /package/dist/{chunk-7JKWI5FK.js.map → chunk-ZWOAFHAR.js.map} +0 -0
  207. /package/dist/{chunk-DAPAXWA5.js.map → chunk-ZZMFXRQK.js.map} +0 -0
package/dist/store.d.cts CHANGED
@@ -1,10 +1,11 @@
1
1
  import * as _reduxjs_toolkit from '@reduxjs/toolkit';
2
2
  import * as redux_thunk from 'redux-thunk';
3
3
  import * as redux from 'redux';
4
- import { OrganizationState } from './organizationSlice/types.cjs';
4
+ import { a as OrganizationState } from './types-DBj17FZO.cjs';
5
5
  import './appSlice/constants.cjs';
6
6
  import '@mui/material/OverridableComponent';
7
7
  import '@mui/material';
8
+ import './BillingProfile-ChP2_Sqw.cjs';
8
9
 
9
10
  declare const commonErrorFallback = "Please check your connection.";
10
11
  declare const commonErrorHandler: (err: any, errorContext: any, dispatch: any, fallback: any, mightBeAuthRelated?: boolean) => Promise<never>;
package/dist/store.d.ts CHANGED
@@ -1,10 +1,11 @@
1
1
  import * as _reduxjs_toolkit from '@reduxjs/toolkit';
2
2
  import * as redux_thunk from 'redux-thunk';
3
3
  import * as redux from 'redux';
4
- import { OrganizationState } from './organizationSlice/types.js';
4
+ import { a as OrganizationState } from './types-DnfZa6xd.js';
5
5
  import './appSlice/constants.js';
6
6
  import '@mui/material/OverridableComponent';
7
7
  import '@mui/material';
8
+ import './BillingProfile-ChP2_Sqw.js';
8
9
 
9
10
  declare const commonErrorFallback = "Please check your connection.";
10
11
  declare const commonErrorHandler: (err: any, errorContext: any, dispatch: any, fallback: any, mightBeAuthRelated?: boolean) => Promise<never>;
package/dist/store.js CHANGED
@@ -5,22 +5,22 @@ import {
5
5
  sessionReducer,
6
6
  store,
7
7
  useAppDispatch
8
- } from "./chunk-LEMVXAYP.js";
9
- import "./chunk-DAPAXWA5.js";
10
- import "./chunk-TUACATJA.js";
11
- import "./chunk-TI2RL5P2.js";
12
- import "./chunk-CYV6632F.js";
13
- import "./chunk-HPBE6KYY.js";
14
- import "./chunk-FGKMJS3B.js";
15
- import "./chunk-QRGTG4YB.js";
16
- import "./chunk-VMNMD6KF.js";
17
- import "./chunk-7PVGDMNM.js";
18
- import "./chunk-AMGWP7A4.js";
19
- import "./chunk-C5NEDBJI.js";
8
+ } from "./chunk-PAIB5V27.js";
9
+ import "./chunk-ZZMFXRQK.js";
10
+ import "./chunk-DGQKXSRI.js";
11
+ import "./chunk-7YZCUAXZ.js";
12
+ import "./chunk-FRSA2YB5.js";
13
+ import "./chunk-NOQR3TE7.js";
14
+ import "./chunk-AVX7VVOK.js";
15
+ import "./chunk-RX32WLVJ.js";
16
+ import "./chunk-X3GZILYD.js";
17
+ import "./chunk-AFICTIVU.js";
18
+ import "./chunk-GAI4VYRZ.js";
19
+ import "./chunk-OEP2D6QL.js";
20
20
  import "./chunk-CK6YE6AN.js";
21
21
  import "./chunk-MRCFLG45.js";
22
- import "./chunk-UWMYZNUB.js";
23
- import "./chunk-4B3IMP4I.js";
22
+ import "./chunk-Y575RZHR.js";
23
+ import "./chunk-BSN2TOQC.js";
24
24
  export {
25
25
  commonErrorFallback,
26
26
  commonErrorHandler,
@@ -36,8 +36,7 @@ __export(storehooks_exports, {
36
36
  module.exports = __toCommonJS(storehooks_exports);
37
37
  var import_react = require("react");
38
38
  var import_react_redux2 = require("react-redux");
39
- var import_helpers14 = require("@northern.tech/utils/helpers");
40
- var import_onboardingManager2 = require("@northern.tech/utils/onboardingManager");
39
+ var import_helpers15 = require("@northern.tech/utils/helpers");
41
40
  var import_dayjs = __toESM(require("dayjs"), 1);
42
41
  var import_duration = __toESM(require("dayjs/plugin/duration"), 1);
43
42
  var import_universal_cookie6 = __toESM(require("universal-cookie"), 1);
@@ -1208,9 +1207,7 @@ var appSlice = (0, import_toolkit.createSlice)({
1208
1207
  ...action.payload
1209
1208
  };
1210
1209
  },
1211
- setEnvironmentData: (state, action) => {
1212
- return { ...state, ...action.payload };
1213
- }
1210
+ setEnvironmentData: (state, action) => ({ ...state, ...action.payload })
1214
1211
  }
1215
1212
  });
1216
1213
  var actions = appSlice.actions;
@@ -1585,9 +1582,7 @@ var onboardingSlice = (0, import_toolkit5.createSlice)({
1585
1582
  name: sliceName5,
1586
1583
  initialState: initialState5,
1587
1584
  reducers: {
1588
- setOnboardingState: (state, action) => {
1589
- return { ...state, ...action.payload };
1590
- },
1585
+ setOnboardingState: (state, action) => ({ ...state, ...action.payload }),
1591
1586
  setDemoArtifactPort: (state, action) => {
1592
1587
  state.demoArtifactPort = action.payload;
1593
1588
  },
@@ -2242,14 +2237,12 @@ var filtersFilter = (item, index, array) => {
2242
2237
  const firstIndex = array.findIndex((filter) => filterCompare(filter, item));
2243
2238
  return firstIndex === index;
2244
2239
  };
2245
- var listItemMapper = (byId, ids, { defaultObject = {}, cutOffSize = DEVICE_LIST_MAXIMUM_LENGTH }) => {
2246
- return ids.slice(0, cutOffSize).reduce((accu, id) => {
2247
- if (id && byId[id]) {
2248
- accu.push({ ...defaultObject, ...byId[id] });
2249
- }
2250
- return accu;
2251
- }, []);
2252
- };
2240
+ var listItemMapper = (byId, ids, { defaultObject = {}, cutOffSize = DEVICE_LIST_MAXIMUM_LENGTH }) => ids.slice(0, cutOffSize).reduce((accu, id) => {
2241
+ if (id && byId[id]) {
2242
+ accu.push({ ...defaultObject, ...byId[id] });
2243
+ }
2244
+ return accu;
2245
+ }, []);
2253
2246
  var mergePermissions = (existingPermissions = { ...emptyUiPermissions }, addedPermissions) => Object.entries(existingPermissions).reduce(
2254
2247
  (accu, [key, value]) => {
2255
2248
  let values;
@@ -2549,9 +2542,7 @@ var getGroupNames = (0, import_toolkit15.createSelector)([getGroupsById, getUser
2549
2542
  });
2550
2543
  var getDeviceReportsForUser = (0, import_toolkit15.createSelector)(
2551
2544
  [getUserSettings, getCurrentUser, getGlobalSettings, getDevicesById],
2552
- ({ reports }, { id: currentUserId }, globalSettings, devicesById) => {
2553
- return reports || globalSettings[`${currentUserId}-reports`] || (Object.keys(devicesById).length ? defaultReports : []);
2554
- }
2545
+ ({ reports }, { id: currentUserId }, globalSettings, devicesById) => reports || globalSettings[`${currentUserId}-reports`] || (Object.keys(devicesById).length ? defaultReports : [])
2555
2546
  );
2556
2547
  var listTypeDeviceIdMap = {
2557
2548
  deviceList: getListedDevices,
@@ -2805,7 +2796,7 @@ var import_validator = require("validator");
2805
2796
  var { receivedDevice, setSnackbar: setSnackbar2 } = actions_default;
2806
2797
  var { page: defaultPage, perPage: defaultPerPage } = DEVICE_LIST_DEFAULTS;
2807
2798
  var deriveDeploymentGroup = ({ filter = {}, group, groups = [], name }) => group || groups.length === 1 && !(0, import_validator.isUUID)(name) ? groups[0] : filter.name;
2808
- var transformDeployments = (deployments, deploymentsById) => deployments.sort(import_helpers8.startTimeSort).reduce(
2799
+ var transformDeployments = (deployments, deploymentsById) => deployments.sort((0, import_helpers8.customSort)(true, "created")).reduce(
2809
2800
  (accu, item) => {
2810
2801
  const filter = item.filter ?? {};
2811
2802
  let deployment = {
@@ -4101,32 +4092,29 @@ var getDeviceMonitorConfig = (0, import_toolkit20.createAsyncThunk)(
4101
4092
  );
4102
4093
  var changeNotificationSetting = (0, import_toolkit20.createAsyncThunk)(
4103
4094
  `${sliceName4}/changeNotificationSetting`,
4104
- ({ enabled, channel = alertChannels.email }, { dispatch }) => {
4105
- return general_api_default.put(`${monitorApiUrlv1}/settings/global/channel/alerts/${channel}/status`, { enabled }).catch((err) => commonErrorHandler(err, `${enabled ? "En" : "Dis"}abling ${channel} alerts failed:`, dispatch)).then(
4106
- () => Promise.all([
4107
- dispatch(actions4.changeAlertChannel({ channel, enabled })),
4108
- dispatch(actions_default.setSnackbar(`Successfully ${enabled ? "en" : "dis"}abled ${channel} alerts`, TIMEOUTS.fiveSeconds))
4109
- ])
4110
- );
4111
- }
4095
+ ({ enabled, channel = alertChannels.email }, { dispatch }) => general_api_default.put(`${monitorApiUrlv1}/settings/global/channel/alerts/${channel}/status`, { enabled }).catch((err) => commonErrorHandler(err, `${enabled ? "En" : "Dis"}abling ${channel} alerts failed:`, dispatch)).then(
4096
+ () => Promise.all([
4097
+ dispatch(actions4.changeAlertChannel({ channel, enabled })),
4098
+ dispatch(actions_default.setSnackbar(`Successfully ${enabled ? "en" : "dis"}abled ${channel} alerts`, TIMEOUTS.fiveSeconds))
4099
+ ])
4100
+ )
4112
4101
  );
4113
4102
 
4114
4103
  // src/onboardingSlice/thunks.ts
4115
4104
  var import_helpers10 = require("@northern.tech/utils/helpers");
4116
- var import_onboardingManager = require("@northern.tech/utils/onboardingManager");
4117
4105
  var import_tracking2 = __toESM(require("@northern.tech/utils/tracking"), 1);
4118
4106
  var import_toolkit21 = require("@reduxjs/toolkit");
4119
4107
  var import_universal_cookie3 = __toESM(require("universal-cookie"), 1);
4120
4108
  var cookies3 = new import_universal_cookie3.default();
4121
4109
  var applyOnboardingFallbacks = (progress2) => {
4122
- const step = import_onboardingManager.onboardingSteps[progress2];
4110
+ const step = orderedOnboardingSteps[progress2];
4123
4111
  if (step && step.fallbackStep) {
4124
4112
  return step.fallbackStep;
4125
4113
  }
4126
4114
  return progress2;
4127
4115
  };
4128
4116
  var determineProgress = (acceptedDevices, pendingDevices, releases, pastDeployments) => {
4129
- const steps = Object.keys(import_onboardingManager.onboardingSteps);
4117
+ const steps = orderedOnboardingSteps;
4130
4118
  let progress2 = -1;
4131
4119
  progress2 = pendingDevices.length > 1 ? steps.findIndex((step) => step === onboardingSteps.DEVICES_PENDING_ACCEPTING_ONBOARDING) : progress2;
4132
4120
  progress2 = acceptedDevices.length >= 1 ? steps.findIndex((step) => step === onboardingSteps.DEVICES_ACCEPTED_ONBOARDING) : progress2;
@@ -4143,7 +4131,7 @@ var deductOnboardingState = ({ devicesById, devicesByStatus, onboardingState, pa
4143
4131
  const progress2 = applyOnboardingFallbacks(onboardingState.progress || determineProgress(acceptedDevices, pendingDevices, releases, pastDeployments));
4144
4132
  return {
4145
4133
  ...onboardingState,
4146
- complete: !!(Boolean(userCookie) || onboardingState.complete || acceptedDevices.length > 1 && pendingDevices.length > 0 && releases.length > 1 && pastDeployments.length > 1 || acceptedDevices.length >= 1 && releases.length >= 2 && pastDeployments.length > 2 || acceptedDevices.length >= 1 && pendingDevices.length > 0 && releases.length >= 2 && pastDeployments.length >= 2 || Object.keys(import_onboardingManager.onboardingSteps).findIndex((step) => step === progress2) >= Object.keys(import_onboardingManager.onboardingSteps).length - 1 || onboardingState.disable || ![canDeploy, canManageDevices, canReadDeployments, canReadDevices, canReadReleases, canUploadReleases].every((i) => i)),
4134
+ complete: !!(Boolean(userCookie) || onboardingState.complete || acceptedDevices.length > 1 && pendingDevices.length > 0 && releases.length > 1 && pastDeployments.length > 1 || acceptedDevices.length >= 1 && releases.length >= 2 && pastDeployments.length > 2 || acceptedDevices.length >= 1 && pendingDevices.length > 0 && releases.length >= 2 && pastDeployments.length >= 2 || orderedOnboardingSteps.findIndex((step) => step === progress2) >= orderedOnboardingSteps.length - 1 || onboardingState.disable || ![canDeploy, canManageDevices, canReadDeployments, canReadDevices, canReadReleases, canUploadReleases].every((i) => i)),
4147
4135
  showTips: onboardingState.showTips != null ? onboardingState.showTips : true,
4148
4136
  deviceType,
4149
4137
  approach: onboardingState.approach || (deviceType.some((type) => type.startsWith("qemu")) ? "virtual" : "physical"),
@@ -4196,10 +4184,10 @@ var setOnboardingCanceled = (0, import_toolkit21.createAsyncThunk)(
4196
4184
  Promise.resolve(dispatch(actions5.setShowOnboardingHelp(false))),
4197
4185
  Promise.resolve(dispatch(actions5.setShowDismissOnboardingTipsDialog(false))),
4198
4186
  Promise.resolve(dispatch(actions5.setOnboardingComplete(true)))
4199
- ]).then(() => dispatch(advanceOnboarding(onboardingSteps.DEPLOYMENTS_PAST_COMPLETED_FAILURE))).then(() => import_tracking2.default.event({ category: "onboarding", action: import_onboardingManager.onboardingSteps.ONBOARDING_CANCELED }))
4187
+ ]).then(() => dispatch(advanceOnboarding(onboardingSteps.DEPLOYMENTS_PAST_COMPLETED_FAILURE))).then(() => import_tracking2.default.event({ category: "onboarding", action: onboardingSteps.ONBOARDING_CANCELED }))
4200
4188
  );
4201
4189
  var advanceOnboarding = (0, import_toolkit21.createAsyncThunk)(`${sliceName5}/advanceOnboarding`, (stepId, { dispatch, getState }) => {
4202
- const steps = Object.keys(import_onboardingManager.onboardingSteps);
4190
+ const steps = orderedOnboardingSteps;
4203
4191
  const progress2 = steps.findIndex((step) => step === getState().onboarding.progress);
4204
4192
  const stepIndex = steps.findIndex((step) => step === stepId);
4205
4193
  if (progress2 > stepIndex || getState().onboarding.progress === null) {
@@ -4207,7 +4195,7 @@ var advanceOnboarding = (0, import_toolkit21.createAsyncThunk)(`${sliceName5}/ad
4207
4195
  }
4208
4196
  const madeProgress = steps[stepIndex + 1];
4209
4197
  const state = { ...getOnboardingState(getState()), progress: madeProgress };
4210
- state.complete = stepIndex + 1 >= Object.keys(import_onboardingManager.onboardingSteps).findIndex((step) => step === onboardingSteps.DEPLOYMENTS_PAST_COMPLETED_FAILURE) ? true : state.complete;
4198
+ state.complete = stepIndex + 1 >= orderedOnboardingSteps.findIndex((step) => step === onboardingSteps.DEPLOYMENTS_PAST_COMPLETED_FAILURE) ? true : state.complete;
4211
4199
  import_tracking2.default.event({ category: "onboarding", action: stepId });
4212
4200
  return Promise.all([dispatch(actions5.setOnboardingProgress(madeProgress)), dispatch(saveUserSettings({ onboarding: state }))]);
4213
4201
  });
@@ -4335,14 +4323,15 @@ var setAuditlogsState = (0, import_toolkit22.createAsyncThunk)(`${sliceName6}/se
4335
4323
  return Promise.all(tasks);
4336
4324
  });
4337
4325
  var tenantDataDivergedMessage = "The system detected there is a change in your plan or purchased add-ons. Please log out and log in again";
4338
- var addTenant = (0, import_toolkit22.createAsyncThunk)(`${sliceName6}/createTenant`, (selectionState, { dispatch }) => {
4339
- return general_api_default.post(`${tenantadmApiUrlv2}/tenants`, selectionState).then(
4326
+ var addTenant = (0, import_toolkit22.createAsyncThunk)(
4327
+ `${sliceName6}/createTenant`,
4328
+ (selectionState, { dispatch }) => general_api_default.post(`${tenantadmApiUrlv2}/tenants`, selectionState).then(
4340
4329
  () => Promise.all([
4341
4330
  dispatch(setSnackbar4("Tenant was created successfully.")),
4342
4331
  new Promise((resolve) => setTimeout(() => resolve(dispatch(getTenants())), TIMEOUTS.oneSecond))
4343
4332
  ])
4344
- ).catch((err) => commonErrorHandler(err, "There was an error creating tenant", dispatch, commonErrorFallback));
4345
- });
4333
+ ).catch((err) => commonErrorHandler(err, "There was an error creating tenant", dispatch, commonErrorFallback))
4334
+ );
4346
4335
  var tenantListRetrieval = async (config) => {
4347
4336
  const { page, perPage } = config;
4348
4337
  const params = new URLSearchParams({ page, per_page: perPage }).toString();
@@ -4367,26 +4356,29 @@ var setTenantsListState = (0, import_toolkit22.createAsyncThunk)(`${sliceName6}/
4367
4356
  }
4368
4357
  return dispatch(actions6.setTenantListState({ ...nextState }));
4369
4358
  });
4370
- var editTenantDeviceLimit = (0, import_toolkit22.createAsyncThunk)(`${sliceName6}/editDeviceLimit`, ({ newLimit, id, name }, { dispatch }) => {
4371
- return general_api_default.put(`${tenantadmApiUrlv2}/tenants/${id}/child`, { device_limit: newLimit, name }).catch((err) => commonErrorHandler(err, `Device Limit cannot be changed`, dispatch)).then(() => {
4372
- return Promise.all([
4359
+ var editTenantDeviceLimit = (0, import_toolkit22.createAsyncThunk)(
4360
+ `${sliceName6}/editDeviceLimit`,
4361
+ ({ newLimit, id, name }, { dispatch }) => general_api_default.put(`${tenantadmApiUrlv2}/tenants/${id}/child`, { device_limit: newLimit, name }).catch((err) => commonErrorHandler(err, `Device Limit cannot be changed`, dispatch)).then(
4362
+ () => Promise.all([
4373
4363
  dispatch(setSnackbar4("Device Limit was changed successfully")),
4374
4364
  dispatch(getUserOrganization()),
4375
4365
  new Promise((resolve) => setTimeout(() => resolve(dispatch(getTenants())), TIMEOUTS.oneSecond))
4376
- ]);
4377
- });
4378
- });
4379
- var removeTenant = (0, import_toolkit22.createAsyncThunk)(`${sliceName6}/editDeviceLimit`, ({ id }, { dispatch }) => {
4380
- return general_api_default.post(`${tenantadmApiUrlv2}/tenants/${id}/remove/start`).catch((err) => commonErrorHandler(err, `There was an error removing the tenant`, dispatch)).then(
4366
+ ])
4367
+ )
4368
+ );
4369
+ var removeTenant = (0, import_toolkit22.createAsyncThunk)(
4370
+ `${sliceName6}/editDeviceLimit`,
4371
+ ({ id }, { dispatch }) => general_api_default.post(`${tenantadmApiUrlv2}/tenants/${id}/remove/start`).catch((err) => commonErrorHandler(err, `There was an error removing the tenant`, dispatch)).then(
4381
4372
  () => Promise.all([
4382
4373
  dispatch(setSnackbar4("The tenant was removed successfully")),
4383
4374
  dispatch(getUserOrganization()),
4384
4375
  new Promise((resolve) => setTimeout(() => resolve(dispatch(getTenants())), TIMEOUTS.oneSecond))
4385
4376
  ])
4386
- );
4387
- });
4388
- var getUserOrganization = (0, import_toolkit22.createAsyncThunk)(`${sliceName6}/getUserOrganization`, (_, { dispatch, getState }) => {
4389
- return general_api_default.get(`${tenantadmApiUrlv1}/user/tenant`).then((res) => {
4377
+ )
4378
+ );
4379
+ var getUserOrganization = (0, import_toolkit22.createAsyncThunk)(
4380
+ `${sliceName6}/getUserOrganization`,
4381
+ (_, { dispatch, getState }) => general_api_default.get(`${tenantadmApiUrlv1}/user/tenant`).then((res) => {
4390
4382
  let tasks = [dispatch(actions6.setOrganization(res.data))];
4391
4383
  const { addons, plan, trial } = res.data;
4392
4384
  const { token } = getCurrentSession(getState());
@@ -4398,8 +4390,8 @@ var getUserOrganization = (0, import_toolkit22.createAsyncThunk)(`${sliceName6}/
4398
4390
  tasks.push(dispatch(setAnnouncement(tenantDataDivergedMessage)));
4399
4391
  }
4400
4392
  return Promise.all(tasks);
4401
- });
4402
- });
4393
+ })
4394
+ );
4403
4395
  var sendSupportMessage = (0, import_toolkit22.createAsyncThunk)(
4404
4396
  `${sliceName6}/sendSupportMessage`,
4405
4397
  (content, { dispatch }) => general_api_default.post(`${tenantadmApiUrlv2}/contact/support`, content).catch((err) => commonErrorHandler(err, "There was an error sending your request", dispatch, commonErrorFallback)).then(() => Promise.resolve(dispatch(setSnackbar4({ message: "Your request was sent successfully", autoHideDuration: TIMEOUTS.fiveSeconds }))))
@@ -4501,9 +4493,22 @@ var getSsoConfigs = (0, import_toolkit22.createAsyncThunk)(
4501
4493
  )
4502
4494
  );
4503
4495
 
4504
- // src/releasesSlice/thunks.ts
4496
+ // src/locationutils.ts
4505
4497
  var import_helpers12 = require("@northern.tech/utils/helpers");
4506
- var import_locationutils = require("@northern.tech/utils/locationutils");
4498
+ var defaultSelector = (result) => result[0];
4499
+ var commonFields = {
4500
+ ...Object.keys(DEVICE_LIST_DEFAULTS).reduce((accu, key) => ({ ...accu, [key]: { parse: Number, select: defaultSelector, target: key } }), {}),
4501
+ id: { parse: String, select: (i) => i, target: "id" },
4502
+ issues: { parse: void 0, select: defaultSelector, target: "selectedIssues" },
4503
+ open: { parse: Boolean, select: defaultSelector, target: "open" }
4504
+ };
4505
+ var formatReleases = ({ pageState: { searchTerm, selectedTags = [], tab, type } }) => Object.entries({ name: searchTerm, tab, type }).reduce(
4506
+ (accu, [key, value]) => value ? [...accu, `${key}=${value}`] : accu,
4507
+ selectedTags.map((tag) => `tag=${tag}`)
4508
+ ).join("&");
4509
+
4510
+ // src/releasesSlice/thunks.ts
4511
+ var import_helpers13 = require("@northern.tech/utils/helpers");
4507
4512
  var import_toolkit23 = require("@reduxjs/toolkit");
4508
4513
  var import_axios3 = require("axios");
4509
4514
  var import_uuid2 = require("uuid");
@@ -4511,7 +4516,7 @@ var { setSnackbar: setSnackbar5, initUpload: initUpload2, uploadProgress: upload
4511
4516
  var { page: defaultPage5, perPage: defaultPerPage5 } = DEVICE_LIST_DEFAULTS;
4512
4517
  var sortingDefaults = { direction: SORTING_OPTIONS.desc, key: "modified" };
4513
4518
  var flattenRelease = (release, stateRelease) => {
4514
- const updatedArtifacts = release.artifacts?.sort((0, import_helpers12.customSort)(1, "modified")) || [];
4519
+ const updatedArtifacts = release.artifacts?.sort((0, import_helpers13.customSort)(true, "modified")) || [];
4515
4520
  const { artifacts, deviceTypes, modified } = updatedArtifacts.reduce(
4516
4521
  (accu, item) => {
4517
4522
  accu.deviceTypes.push(...item.device_types_compatible);
@@ -4525,7 +4530,7 @@ var flattenRelease = (release, stateRelease) => {
4525
4530
  },
4526
4531
  { artifacts: [], deviceTypes: [], modified: void 0 }
4527
4532
  );
4528
- return { ...stateRelease, ...release, artifacts, device_types_compatible: deviceTypes.filter(import_helpers12.duplicateFilter), modified };
4533
+ return { ...stateRelease, ...release, artifacts, device_types_compatible: deviceTypes.filter(import_helpers13.duplicateFilter), modified };
4529
4534
  };
4530
4535
  var reduceReceivedReleases = (releases, stateReleasesById) => releases.reduce((accu, release) => {
4531
4536
  const stateRelease = stateReleasesById[release.name] || {};
@@ -4549,7 +4554,7 @@ var getArtifactInstallCount = (0, import_toolkit23.createAsyncThunk)(`${sliceNam
4549
4554
  }
4550
4555
  const releaseArtifacts = [...release.artifacts];
4551
4556
  const artifact = releaseArtifacts[index];
4552
- const { key, name, version } = (0, import_helpers12.extractSoftwareItem)(artifact.artifact_provides) ?? {};
4557
+ const { key, name, version } = (0, import_helpers13.extractSoftwareItem)(artifact.artifact_provides) ?? {};
4553
4558
  const attribute = `${key}${name ? `.${name}` : ""}.version`;
4554
4559
  const { filterTerms } = convertDeviceListStateToFilters({
4555
4560
  filters: [{ ...emptyFilter, key: attribute, value: version, scope: "inventory" }]
@@ -4725,7 +4730,7 @@ var setReleasesListState = (0, import_toolkit23.createAsyncThunk)(`${sliceName7}
4725
4730
  let tasks = [];
4726
4731
  const { isLoading: currentLoading, ...currentRequestState } = currentState;
4727
4732
  const { isLoading: selectionLoading, ...selectionRequestState } = nextState;
4728
- if (!(0, import_helpers12.deepCompare)(currentRequestState, selectionRequestState)) {
4733
+ if (!(0, import_helpers13.deepCompare)(currentRequestState, selectionRequestState)) {
4729
4734
  nextState.isLoading = true;
4730
4735
  tasks.push(dispatch(getReleases(nextState)).finally(() => dispatch(setReleasesListState({ isLoading: false }))));
4731
4736
  }
@@ -4735,7 +4740,7 @@ var setReleasesListState = (0, import_toolkit23.createAsyncThunk)(`${sliceName7}
4735
4740
  var releaseListRetrieval = (config) => {
4736
4741
  const { searchTerm = "", page = defaultPage5, perPage = defaultPerPage5, sort = sortingDefaults, selectedTags = [], type = "" } = config;
4737
4742
  const { key: attribute, direction } = sort;
4738
- const filterQuery = (0, import_locationutils.formatReleases)({ pageState: { searchTerm, selectedTags } });
4743
+ const filterQuery = formatReleases({ pageState: { searchTerm, selectedTags } });
4739
4744
  const updateType = type ? `update_type=${type}` : "";
4740
4745
  const sorting = attribute ? `sort=${attribute}:${direction}`.toLowerCase() : "";
4741
4746
  return general_api_default.get(
@@ -4745,7 +4750,7 @@ var releaseListRetrieval = (config) => {
4745
4750
  var deductSearchState = (receivedReleases, config, total, state) => {
4746
4751
  let releaseListState = { ...state.releasesList };
4747
4752
  const { searchTerm, searchOnly, sort = {}, selectedTags = [], type } = config;
4748
- const flattenedReleases = Object.values(receivedReleases).sort((0, import_helpers12.customSort)(sort.direction === SORTING_OPTIONS.desc, sort.key));
4753
+ const flattenedReleases = Object.values(receivedReleases).sort((0, import_helpers13.customSort)(sort.direction === SORTING_OPTIONS.desc, sort.key));
4749
4754
  const releaseIds = flattenedReleases.map((item) => item.name);
4750
4755
  const isFiltering = !!(selectedTags.length || type || searchTerm);
4751
4756
  if (searchOnly) {
@@ -4784,21 +4789,21 @@ var getRelease = (0, import_toolkit23.createAsyncThunk)(`${sliceName7}/getReleas
4784
4789
  });
4785
4790
  var updateReleaseInfo = (0, import_toolkit23.createAsyncThunk)(
4786
4791
  `${sliceName7}/updateReleaseInfo`,
4787
- ({ name, info }, { dispatch, getState }) => general_api_default.patch(`${deploymentsApiUrlV2}/deployments/releases/${name}`, info).catch((err) => commonErrorHandler(err, `Release details couldn't be updated.`, dispatch)).then(() => {
4788
- return Promise.all([
4792
+ ({ name, info }, { dispatch, getState }) => general_api_default.patch(`${deploymentsApiUrlV2}/deployments/releases/${name}`, info).catch((err) => commonErrorHandler(err, `Release details couldn't be updated.`, dispatch)).then(
4793
+ () => Promise.all([
4789
4794
  dispatch(actions7.receiveRelease({ ...getReleasesById(getState())[name], ...info, name })),
4790
4795
  dispatch(setSnackbar5("Release details were updated successfully.", TIMEOUTS.fiveSeconds, ""))
4791
- ]);
4792
- })
4796
+ ])
4797
+ )
4793
4798
  );
4794
4799
  var setReleaseTags = (0, import_toolkit23.createAsyncThunk)(
4795
4800
  `${sliceName7}/setReleaseTags`,
4796
- ({ name, tags = [] }, { dispatch, getState }) => general_api_default.put(`${deploymentsApiUrlV2}/deployments/releases/${name}/tags`, tags).catch((err) => commonErrorHandler(err, `Release tags couldn't be set.`, dispatch)).then(() => {
4797
- return Promise.all([
4801
+ ({ name, tags = [] }, { dispatch, getState }) => general_api_default.put(`${deploymentsApiUrlV2}/deployments/releases/${name}/tags`, tags).catch((err) => commonErrorHandler(err, `Release tags couldn't be set.`, dispatch)).then(
4802
+ () => Promise.all([
4798
4803
  dispatch(actions7.receiveRelease({ ...getReleasesById(getState())[name], name, tags })),
4799
4804
  dispatch(setSnackbar5("Release tags were set successfully.", TIMEOUTS.fiveSeconds, ""))
4800
- ]);
4801
- })
4805
+ ])
4806
+ )
4802
4807
  );
4803
4808
  var getExistingReleaseTags = (0, import_toolkit23.createAsyncThunk)(
4804
4809
  `${sliceName7}/getReleaseTags`,
@@ -4827,7 +4832,7 @@ var Api2 = {
4827
4832
  var users_api_default = Api2;
4828
4833
 
4829
4834
  // src/usersSlice/thunks.ts
4830
- var import_helpers13 = require("@northern.tech/utils/helpers");
4835
+ var import_helpers14 = require("@northern.tech/utils/helpers");
4831
4836
  var import_retrytimer = require("@northern.tech/utils/retrytimer");
4832
4837
  var import_toolkit24 = require("@reduxjs/toolkit");
4833
4838
  var import_md52 = __toESM(require("md5"), 1);
@@ -4835,7 +4840,7 @@ var import_universal_cookie5 = __toESM(require("universal-cookie"), 1);
4835
4840
  var cookies5 = new import_universal_cookie5.default();
4836
4841
  var { setAnnouncement: setAnnouncement2, setSnackbar: setSnackbar6 } = actions_default;
4837
4842
  var handleLoginError = (err, { token2fa: has2FA, password }, rejectWithValue) => (dispatch) => {
4838
- const errorText = (0, import_helpers13.extractErrorMessage)(err);
4843
+ const errorText = (0, import_helpers14.extractErrorMessage)(err);
4839
4844
  const is2FABackend = errorText.includes("2fa");
4840
4845
  if (is2FABackend && !has2FA) {
4841
4846
  return rejectWithValue({ error: "2fa code missing" });
@@ -4845,7 +4850,7 @@ var handleLoginError = (err, { token2fa: has2FA, password }, rejectWithValue) =>
4845
4850
  }
4846
4851
  const twoFAError = is2FABackend ? " and verification code" : "";
4847
4852
  const errorMessage = `There was a problem logging in. Please check your email${twoFAError ? "," : " and"} password${twoFAError}. If you still have problems, contact an administrator.`;
4848
- return Promise.reject(dispatch(setSnackbar6({ message: (0, import_helpers13.preformatWithRequestID)(err.response, errorMessage), action: "Copy to clipboard" })));
4853
+ return Promise.reject(dispatch(setSnackbar6({ message: (0, import_helpers14.preformatWithRequestID)(err.response, errorMessage), action: "Copy to clipboard" })));
4849
4854
  };
4850
4855
  var loginUser = (0, import_toolkit24.createAsyncThunk)(
4851
4856
  `${sliceName8}/loginUser`,
@@ -4871,7 +4876,7 @@ var loginUser = (0, import_toolkit24.createAsyncThunk)(
4871
4876
  cookies5.remove("JWT", { path: "/" });
4872
4877
  return dispatch(getUser(OWN_USER_ID)).unwrap().catch((e) => {
4873
4878
  cleanUp();
4874
- return Promise.reject(dispatch(setSnackbar6((0, import_helpers13.extractErrorMessage)(e))));
4879
+ return Promise.reject(dispatch(setSnackbar6((0, import_helpers14.extractErrorMessage)(e))));
4875
4880
  }).then(() => {
4876
4881
  window.sessionStorage.removeItem("pendings-redirect");
4877
4882
  if (window.location.pathname !== "/ui/") {
@@ -5039,9 +5044,9 @@ var mapHttpPermission = (permission) => Object.entries(uiPermissionsByArea).redu
5039
5044
  permissionsAccu.push(uiPermission.value);
5040
5045
  }
5041
5046
  return permissionsAccu;
5042
- }, []).filter(import_helpers13.duplicateFilter);
5047
+ }, []).filter(import_helpers14.duplicateFilter);
5043
5048
  if (Array.isArray(accu[area])) {
5044
- accu[area] = [...accu[area], ...collector].filter(import_helpers13.duplicateFilter);
5049
+ accu[area] = [...accu[area], ...collector].filter(import_helpers14.duplicateFilter);
5045
5050
  } else {
5046
5051
  accu[area] = mergePermissions(accu[area], { [scopedPermissionAreas[area].excessiveAccessSelector]: collector });
5047
5052
  }
@@ -5066,7 +5071,7 @@ var permissionActionTypes = {
5066
5071
  };
5067
5072
  var combinePermissions = (existingPermissions, additionalPermissions = {}) => Object.entries(additionalPermissions).reduce((accu, [name, permissions]) => {
5068
5073
  let maybeExistingPermissions = accu[name] || [];
5069
- accu[name] = [...permissions, ...maybeExistingPermissions].filter(import_helpers13.duplicateFilter);
5074
+ accu[name] = [...permissions, ...maybeExistingPermissions].filter(import_helpers14.duplicateFilter);
5070
5075
  return accu;
5071
5076
  }, existingPermissions);
5072
5077
  var tryParseCustomPermission = (permission) => {
@@ -5091,7 +5096,7 @@ var isEmptyPermissionSet = (permissionSet) => !Object.values(permissionSet).redu
5091
5096
  if (Array.isArray(permissions)) {
5092
5097
  return accu || !!permissions.length;
5093
5098
  }
5094
- return accu || !(0, import_helpers13.isEmpty)(permissions);
5099
+ return accu || !(0, import_helpers14.isEmpty)(permissions);
5095
5100
  }, false);
5096
5101
  var parseRolePermissions = ({ permission_sets_with_scope = [], permissions = [] }, permissionSets) => {
5097
5102
  const preliminaryResult = permission_sets_with_scope.reduce(
@@ -5159,7 +5164,7 @@ var getPermissionSets = (0, import_toolkit24.createAsyncThunk)(
5159
5164
  return collector;
5160
5165
  }
5161
5166
  if (permissionSet2 === permissionSetObject.name) {
5162
- collector[area] = [...collector[area], item.value].filter(import_helpers13.duplicateFilter);
5167
+ collector[area] = [...collector[area], item.value].filter(import_helpers14.duplicateFilter);
5163
5168
  }
5164
5169
  return collector;
5165
5170
  }, accu2),
@@ -5227,7 +5232,7 @@ var transformAreaRoleDataToScopedPermissionsSets = (area, areaPermissions, exces
5227
5232
  if (value.includes(excessiveAccessSelector)) {
5228
5233
  return { name };
5229
5234
  }
5230
- return { name, scope: { ...scope, value: value.filter(import_helpers13.duplicateFilter) } };
5235
+ return { name, scope: { ...scope, value: value.filter(import_helpers14.duplicateFilter) } };
5231
5236
  });
5232
5237
  };
5233
5238
  var transformRoleDataToRole = (roleData, roleState = {}) => {
@@ -5442,7 +5447,7 @@ var submitFeedback = (0, import_toolkit24.createAsyncThunk)(
5442
5447
  // src/storehooks.ts
5443
5448
  var cookies6 = new import_universal_cookie6.default();
5444
5449
  import_dayjs.default.extend(import_duration.default);
5445
- var { setSnackbar: setSnackbar7, setDeviceListState: setDeviceListState2, setFirstLoginAfterSignup: setFirstLoginAfterSignup2, setTooltipsState, setShowStartupNotification } = actions_default;
5450
+ var { setDeviceListState: setDeviceListState2, setFirstLoginAfterSignup: setFirstLoginAfterSignup2, setTooltipsState, setShowStartupNotification } = actions_default;
5446
5451
  var featureFlags = [
5447
5452
  "hasAuditlogs",
5448
5453
  "hasMultitenancy",
@@ -5510,15 +5515,6 @@ var maybeAddOnboardingTasks = ({ devicesByStatus, dispatch, onboardingState, tas
5510
5515
  if (!onboardingState.showTips || onboardingState.complete) {
5511
5516
  return tasks;
5512
5517
  }
5513
- const welcomeTip = (0, import_onboardingManager2.getOnboardingComponentFor)(onboardingSteps.ONBOARDING_START, {
5514
- progress: onboardingState.progress,
5515
- complete: onboardingState.complete,
5516
- showTips: onboardingState.showTips
5517
- });
5518
- if (welcomeTip) {
5519
- tasks.push(dispatch(setSnackbar7({ message: "open", autoHideDuration: TIMEOUTS.refreshDefault, children: welcomeTip, onClick: () => {
5520
- }, onClose: true })));
5521
- }
5522
5518
  return devicesByStatus[DEVICE_STATES.accepted].deviceIds.reduce((accu, id) => {
5523
5519
  accu.push(dispatch(getDeviceById2(id)));
5524
5520
  return accu;
@@ -5619,7 +5615,7 @@ var useAppInit = (userId) => {
5619
5615
  tooltips
5620
5616
  ]);
5621
5617
  const initializeAppData = (0, import_react.useCallback)(
5622
- () => retrieveAppData().then(interpretAppData).catch((err) => console.log((0, import_helpers14.extractErrorMessage)(err))).then(() => dispatch(getOnboardingState2())),
5618
+ () => retrieveAppData().then(interpretAppData).catch((err) => console.log((0, import_helpers15.extractErrorMessage)(err))).then(() => dispatch(getOnboardingState2())),
5623
5619
  [dispatch, retrieveAppData, interpretAppData]
5624
5620
  );
5625
5621
  (0, import_react.useEffect)(() => {