@nordicsemiconductor/pc-nrfconnect-shared 247.0.0 → 248.0.0

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.
package/Changelog.md CHANGED
@@ -7,6 +7,13 @@ This project does _not_ adhere to
7
7
  [Semantic Versioning](https://semver.org/spec/v2.0.0.html) but contrary to it
8
8
  every new version is a new major version.
9
9
 
10
+ ## 248.0.0 - 2026-05-20
11
+
12
+ ### Fixed
13
+
14
+ - In case app is executing important task application will properly reopen when
15
+ resetting defaults.
16
+
10
17
  ## 247.0.0 - 2026-04-23
11
18
 
12
19
  ### Changed
@@ -48,14 +55,12 @@ structure of `Card` changed. Follow this format:
48
55
  import { Card } from '@nordicsemiconductor/pc-nrfconnect-shared';
49
56
 
50
57
  <Card>
51
- <Card.Header className="tw-flex tw-flex-row tw-justify-between">
52
- <Card.Header.Title cardTitle="your title here" />
53
- { /* your button here */ }
54
- </Card.Header>
55
- <Card.Body>
56
- { /* your card content here */ }
57
- </Card.Body>
58
- </Card>
58
+ <Card.Header className="tw-flex tw-flex-row tw-justify-between">
59
+ <Card.Header.Title cardTitle="your title here" />
60
+ {/* your button here */}
61
+ </Card.Header>
62
+ <Card.Body>{/* your card content here */}</Card.Body>
63
+ </Card>;
59
64
  ```
60
65
 
61
66
  ## 244.0.0 - 2026-01-22
@@ -1 +1 @@
1
- {"version":3,"file":"ConfirmCloseDialog.d.ts","sourceRoot":"","sources":["../../../../src/ConfirmBeforeClose/ConfirmCloseDialog.tsx"],"names":[],"mappings":";AAqBA,wBAgEE"}
1
+ {"version":3,"file":"ConfirmCloseDialog.d.ts","sourceRoot":"","sources":["../../../../src/ConfirmBeforeClose/ConfirmCloseDialog.tsx"],"names":[],"mappings":";AAuBA,wBAiEE"}
@@ -7,12 +7,16 @@ export interface ConfirmBeforeCloseApp {
7
7
  onClose?: () => void;
8
8
  }
9
9
  export type ConfirmBeforeCloseOptionalTitle = Optional<ConfirmBeforeCloseApp, 'title'>;
10
+ type OnCompleteAction = 'close' | 'reload';
10
11
  export interface ConfirmBeforeCloseState {
11
12
  confirmCloseApp: ConfirmBeforeCloseApp[];
12
13
  showCloseDialog: boolean;
14
+ actionOnAllComplete: OnCompleteAction;
13
15
  }
14
- export declare const reducer: import("redux").Reducer<ConfirmBeforeCloseState>, addConfirmBeforeClose: import("@reduxjs/toolkit").ActionCreatorWithPayload<ConfirmBeforeCloseOptionalTitle, "confirmBeforeCloseDialog/addConfirmBeforeClose">, setShowCloseDialog: import("@reduxjs/toolkit").ActionCreatorWithPayload<boolean, "confirmBeforeCloseDialog/setShowCloseDialog">, clearConfirmBeforeClose: import("@reduxjs/toolkit").ActionCreatorWithPayload<string, "confirmBeforeCloseDialog/clearConfirmBeforeClose">;
16
+ export declare const reducer: import("redux").Reducer<ConfirmBeforeCloseState>, addConfirmBeforeClose: import("@reduxjs/toolkit").ActionCreatorWithPayload<ConfirmBeforeCloseOptionalTitle, "confirmBeforeCloseDialog/addConfirmBeforeClose">, setShowCloseDialog: import("@reduxjs/toolkit").ActionCreatorWithPayload<boolean, "confirmBeforeCloseDialog/setShowCloseDialog">, clearConfirmBeforeClose: import("@reduxjs/toolkit").ActionCreatorWithPayload<string, "confirmBeforeCloseDialog/clearConfirmBeforeClose">, setActionOnAllComplete: import("@reduxjs/toolkit").ActionCreatorWithPayload<OnCompleteAction, "confirmBeforeCloseDialog/setActionOnAllComplete">;
15
17
  export declare const getNextConfirmDialog: (state: RootState) => ConfirmBeforeCloseApp | undefined;
16
18
  export declare const getShowConfirmCloseDialog: (state: RootState) => boolean;
19
+ export declare const getActionOnComplete: (state: RootState) => OnCompleteAction;
17
20
  export declare const preventAppCloseUntilComplete: (dialogInfo: Omit<ConfirmBeforeCloseOptionalTitle, "id">, promise: Promise<unknown>, abortController?: AbortController) => AppThunk;
21
+ export {};
18
22
  //# sourceMappingURL=confirmBeforeCloseSlice.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"confirmBeforeCloseSlice.d.ts","sourceRoot":"","sources":["../../../../src/ConfirmBeforeClose/confirmBeforeCloseSlice.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAGpD,MAAM,MAAM,QAAQ,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAE9E,MAAM,WAAW,qBAAqB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACxB;AAED,MAAM,MAAM,+BAA+B,GAAG,QAAQ,CAClD,qBAAqB,EACrB,OAAO,CACV,CAAC;AAEF,MAAM,WAAW,uBAAuB;IACpC,eAAe,EAAE,qBAAqB,EAAE,CAAC;IACzC,eAAe,EAAE,OAAO,CAAC;CAC5B;AAyCD,eAAO,MACH,OAAO,oDAEH,qBAAqB,0IACrB,kBAAkB,+GAClB,uBAAuB,iHAEtB,CAAC;AAEV,eAAO,MAAM,oBAAoB,GAAI,OAAO,SAAS,sCAGlC,CAAC;AAEpB,eAAO,MAAM,yBAAyB,GAAI,OAAO,SAAS,YACR,CAAC;AAEnD,eAAO,MAAM,4BAA4B,GAEjC,YAAY,IAAI,CAAC,+BAA+B,EAAE,IAAI,CAAC,EACvD,SAAS,OAAO,CAAC,OAAO,CAAC,EACzB,kBAAkB,eAAe,KAClC,QAcF,CAAC"}
1
+ {"version":3,"file":"confirmBeforeCloseSlice.d.ts","sourceRoot":"","sources":["../../../../src/ConfirmBeforeClose/confirmBeforeCloseSlice.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAGpD,MAAM,MAAM,QAAQ,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAE9E,MAAM,WAAW,qBAAqB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACxB;AAED,MAAM,MAAM,+BAA+B,GAAG,QAAQ,CAClD,qBAAqB,EACrB,OAAO,CACV,CAAC;AAEF,KAAK,gBAAgB,GAAG,OAAO,GAAG,QAAQ,CAAC;AAC3C,MAAM,WAAW,uBAAuB;IACpC,eAAe,EAAE,qBAAqB,EAAE,CAAC;IACzC,eAAe,EAAE,OAAO,CAAC;IACzB,mBAAmB,EAAE,gBAAgB,CAAC;CACzC;AA6CD,eAAO,MACH,OAAO,oDAEH,qBAAqB,0IACrB,kBAAkB,+GAClB,uBAAuB,mHACvB,sBAAsB,0HAErB,CAAC;AAEV,eAAO,MAAM,oBAAoB,GAAI,OAAO,SAAS,sCAGlC,CAAC;AAEpB,eAAO,MAAM,yBAAyB,GAAI,OAAO,SAAS,YACR,CAAC;AAEnD,eAAO,MAAM,mBAAmB,GAAI,OAAO,SAAS,qBACE,CAAC;AAEvD,eAAO,MAAM,4BAA4B,GAEjC,YAAY,IAAI,CAAC,+BAA+B,EAAE,IAAI,CAAC,EACvD,SAAS,OAAO,CAAC,OAAO,CAAC,EACzB,kBAAkB,eAAe,KAClC,QAcF,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { AppThunk } from '../store';
2
+ export declare const onUserConfirmAll: () => AppThunk;
3
+ //# sourceMappingURL=effects.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"effects.d.ts","sourceRoot":"","sources":["../../../../src/ConfirmBeforeClose/effects.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAGzC,eAAO,MAAM,gBAAgB,QAAO,QAOnC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"FactoryResetButton.d.ts","sourceRoot":"","sources":["../../../../src/FactoryReset/FactoryResetButton.tsx"],"names":[],"mappings":"AAMA,OAAc,EAAE,KAAK,EAAE,EAAoB,MAAM,OAAO,CAAC;AAGzD,OAAe,EAAE,KAAK,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAK/D,UAAU,KAAK;IACX,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,OAAO,CAAC;CACnB;AAKD,QAAA,MAAM,kBAAkB,EAAE,EAAE,CAAC,KAAK,CAsDjC,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
1
+ {"version":3,"file":"FactoryResetButton.d.ts","sourceRoot":"","sources":["../../../../src/FactoryReset/FactoryResetButton.tsx"],"names":[],"mappings":"AAMA,OAAc,EAAE,KAAK,EAAE,EAAoB,MAAM,OAAO,CAAC;AAIzD,OAAe,EAAE,KAAK,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAM/D,UAAU,KAAK;IACX,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,OAAO,CAAC;CACnB;AAKD,QAAA,MAAM,kBAAkB,EAAE,EAAE,CAAC,KAAK,CAwDjC,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nordicsemiconductor/pc-nrfconnect-shared",
3
- "version": "247.0.0",
3
+ "version": "248.0.0",
4
4
  "description": "Shared commodities for developing pc-nrfconnect-* packages",
5
5
  "repository": {
6
6
  "type": "git",
package/release_notes.md CHANGED
@@ -1,3 +1,4 @@
1
- ### Changed
1
+ ### Fixed
2
2
 
3
- - In the repo URL check, ignore the hostname for ssh git URLs.
3
+ - In case app is executing important task application will properly reopen when
4
+ resetting defaults.
@@ -16,8 +16,10 @@ import {
16
16
  type ConfirmBeforeCloseApp,
17
17
  getNextConfirmDialog,
18
18
  getShowConfirmCloseDialog,
19
+ setActionOnAllComplete,
19
20
  setShowCloseDialog,
20
21
  } from './confirmBeforeCloseSlice';
22
+ import { onUserConfirmAll } from './effects';
21
23
 
22
24
  export default () => {
23
25
  const dispatch = useDispatch();
@@ -34,7 +36,7 @@ export default () => {
34
36
  if (confirmedDialog.onClose) confirmedDialog.onClose();
35
37
  });
36
38
  setConfirmedDialogs([]);
37
- getCurrentWindow().close();
39
+ dispatch(onUserConfirmAll());
38
40
  }
39
41
  }, [nextConfirmDialog, dispatch, showCloseDialog, confirmedDialogs]);
40
42
 
@@ -78,6 +80,7 @@ export default () => {
78
80
  dispatch(addConfirmBeforeClose(confirmedDialog)),
79
81
  );
80
82
  setConfirmedDialogs([]);
83
+ dispatch(setActionOnAllComplete('close'));
81
84
  }}
82
85
  >
83
86
  {nextConfirmDialog?.message}
@@ -24,14 +24,17 @@ export type ConfirmBeforeCloseOptionalTitle = Optional<
24
24
  'title'
25
25
  >;
26
26
 
27
+ type OnCompleteAction = 'close' | 'reload';
27
28
  export interface ConfirmBeforeCloseState {
28
29
  confirmCloseApp: ConfirmBeforeCloseApp[];
29
30
  showCloseDialog: boolean;
31
+ actionOnAllComplete: OnCompleteAction;
30
32
  }
31
33
 
32
34
  const initialState: ConfirmBeforeCloseState = {
33
35
  confirmCloseApp: [],
34
36
  showCloseDialog: false,
37
+ actionOnAllComplete: 'close',
35
38
  };
36
39
 
37
40
  const slice = createSlice({
@@ -65,6 +68,9 @@ const slice = createSlice({
65
68
  setShowCloseDialog(state, action: PayloadAction<boolean>) {
66
69
  state.showCloseDialog = action.payload;
67
70
  },
71
+ setActionOnAllComplete(state, action: PayloadAction<OnCompleteAction>) {
72
+ state.actionOnAllComplete = action.payload;
73
+ },
68
74
  },
69
75
  });
70
76
 
@@ -74,6 +80,7 @@ export const {
74
80
  addConfirmBeforeClose,
75
81
  setShowCloseDialog,
76
82
  clearConfirmBeforeClose,
83
+ setActionOnAllComplete,
77
84
  },
78
85
  } = slice;
79
86
 
@@ -85,6 +92,9 @@ export const getNextConfirmDialog = (state: RootState) =>
85
92
  export const getShowConfirmCloseDialog = (state: RootState) =>
86
93
  state.confirmBeforeCloseDialog.showCloseDialog;
87
94
 
95
+ export const getActionOnComplete = (state: RootState) =>
96
+ state.confirmBeforeCloseDialog.actionOnAllComplete;
97
+
88
98
  export const preventAppCloseUntilComplete =
89
99
  (
90
100
  dialogInfo: Omit<ConfirmBeforeCloseOptionalTitle, 'id'>,
@@ -0,0 +1,19 @@
1
+ /*
2
+ * Copyright (c) 2024 Nordic Semiconductor ASA
3
+ *
4
+ * SPDX-License-Identifier: LicenseRef-Nordic-4-Clause
5
+ */
6
+
7
+ import { getCurrentWindow } from '@electron/remote';
8
+
9
+ import type { AppThunk } from '../store';
10
+ import { getActionOnComplete } from './confirmBeforeCloseSlice';
11
+
12
+ export const onUserConfirmAll = (): AppThunk => (_, getState) => {
13
+ const actionType = getActionOnComplete(getState());
14
+ if (actionType === 'close') {
15
+ getCurrentWindow().close();
16
+ } else {
17
+ getCurrentWindow().reload();
18
+ }
19
+ };
@@ -5,9 +5,11 @@
5
5
  */
6
6
 
7
7
  import React, { type FC, useRef, useState } from 'react';
8
+ import { useDispatch } from 'react-redux';
8
9
  import { getCurrentWindow } from '@electron/remote';
9
10
 
10
11
  import Button, { type ButtonVariants } from '../Button/Button';
12
+ import { setActionOnAllComplete } from '../ConfirmBeforeClose/confirmBeforeCloseSlice';
11
13
  import { Dialog, DialogButton } from '../Dialog/Dialog';
12
14
  import logger from '../logging';
13
15
  import { getAppSpecificStore as store } from '../utils/persistentStore';
@@ -32,11 +34,13 @@ const FactoryResetButton: FC<Props> = ({
32
34
  classNames,
33
35
  large = false,
34
36
  }) => {
37
+ const dispatch = useDispatch();
35
38
  const [showDialog, setShowDialog] = useState(false);
36
39
  useRef(); // showdialog
37
40
  const defaultResetFn = () => {
38
41
  store().clear();
39
42
  logger.info('Successfully restored defaults');
43
+ dispatch(setActionOnAllComplete('reload'));
40
44
  getCurrentWindow().reload();
41
45
  };
42
46