dsh-vault 1.7.0 → 1.7.1-rc.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.
package/lib/client.js CHANGED
@@ -17,89 +17,89 @@ window.__ModuleLoader__.load({
17
17
  document.head.appendChild(tag);
18
18
  }
19
19
  var VaultSection_module_css_default = {
20
- "row": "t_j5va_row",
21
- "rowExpired": "t_j5va_rowExpired",
22
- "list": "t_j5va_list",
23
- "lockedTag": "t_j5va_lockedTag",
24
- "dangerButton": "t_j5va_dangerButton",
25
- "detailBox": "t_j5va_detailBox",
26
- "intro": "t_j5va_intro",
20
+ "saveButton": "t_j5va_saveButton",
21
+ "status": "t_j5va_status",
27
22
  "healthBar": "t_j5va_healthBar",
23
+ "backupButton": "t_j5va_backupButton",
24
+ "deleteButton": "t_j5va_deleteButton",
25
+ "badgeDanger": "t_j5va_badgeDanger",
26
+ "totp": "t_j5va_totp",
27
+ "section": "t_j5va_section",
28
+ "lockedBanner": "t_j5va_lockedBanner",
29
+ "dupMerge": "t_j5va_dupMerge",
28
30
  "auditIssues": "t_j5va_auditIssues",
29
- "error": "t_j5va_error",
30
- "identity": "t_j5va_identity",
31
- "footer": "t_j5va_footer",
32
- "emptyHint": "t_j5va_emptyHint",
33
- "badge": "t_j5va_badge",
34
- "scoreRing": "t_j5va_scoreRing",
35
- "saveButton": "t_j5va_saveButton",
36
- "emptyBox": "t_j5va_emptyBox",
37
- "editorBody": "t_j5va_editorBody",
38
- "retryButton": "t_j5va_retryButton",
39
- "kindFilter": "t_j5va_kindFilter",
31
+ "revealButton": "t_j5va_revealButton",
32
+ "pwBar": "t_j5va_pwBar",
33
+ "pwStrong": "t_j5va_pwStrong",
40
34
  "resultCount": "t_j5va_resultCount",
41
- "searchBox": "t_j5va_searchBox",
42
- "badgeWarn": "t_j5va_badgeWarn",
43
35
  "dupNames": "t_j5va_dupNames",
44
- "reportSub": "t_j5va_reportSub",
45
- "policyField": "t_j5va_policyField",
46
- "totp": "t_j5va_totp",
47
- "tabs": "t_j5va_tabs",
36
+ "field": "t_j5va_field",
37
+ "retryButton": "t_j5va_retryButton",
38
+ "footer": "t_j5va_footer",
39
+ "modeAsk": "t_j5va_modeAsk",
40
+ "dangerButton": "t_j5va_dangerButton",
41
+ "rowDue": "t_j5va_rowDue",
42
+ "kindIcon": "t_j5va_kindIcon",
43
+ "reportTitle": "t_j5va_reportTitle",
44
+ "pwWeak": "t_j5va_pwWeak",
45
+ "pwLabel": "t_j5va_pwLabel",
48
46
  "reportLine": "t_j5va_reportLine",
49
- "auditRow": "t_j5va_auditRow",
50
- "pwBar": "t_j5va_pwBar",
51
- "editor": "t_j5va_editor",
52
- "clearButton": "t_j5va_clearButton",
53
- "dupMerge": "t_j5va_dupMerge",
54
- "backupButton": "t_j5va_backupButton",
55
- "reportBox": "t_j5va_reportBox",
47
+ "tabs": "t_j5va_tabs",
56
48
  "srOnly": "t_j5va_srOnly",
57
- "detailItem": "t_j5va_detailItem",
58
- "trashButton": "t_j5va_trashButton",
59
- "badgeDanger": "t_j5va_badgeDanger",
60
- "empty": "t_j5va_empty",
61
- "badgeOk": "t_j5va_badgeOk",
62
- "pwWeak": "t_j5va_pwWeak",
63
- "pwStrong": "t_j5va_pwStrong",
64
- "genOpts": "t_j5va_genOpts",
49
+ "lockedTag": "t_j5va_lockedTag",
50
+ "badge": "t_j5va_badge",
65
51
  "uriCode": "t_j5va_uriCode",
66
- "deleteButton": "t_j5va_deleteButton",
67
- "modeReadonly": "t_j5va_modeReadonly",
52
+ "auditRow": "t_j5va_auditRow",
53
+ "emptyHint": "t_j5va_emptyHint",
68
54
  "rowActions": "t_j5va_rowActions",
69
- "toolbar": "t_j5va_toolbar",
70
- "modeAsk": "t_j5va_modeAsk",
71
55
  "highBadge": "t_j5va_highBadge",
56
+ "scoreRing": "t_j5va_scoreRing",
72
57
  "tab": "t_j5va_tab",
73
58
  "dueBadge": "t_j5va_dueBadge",
74
- "genHist": "t_j5va_genHist",
75
- "rowMain": "t_j5va_rowMain",
76
- "status": "t_j5va_status",
77
- "lockedBanner": "t_j5va_lockedBanner",
78
- "modeAuto": "t_j5va_modeAuto",
79
- "reportTitle": "t_j5va_reportTitle",
80
- "title": "t_j5va_title",
81
- "tabPane": "t_j5va_tabPane",
82
- "pwLabel": "t_j5va_pwLabel",
59
+ "reportBox": "t_j5va_reportBox",
60
+ "kindFilter": "t_j5va_kindFilter",
61
+ "badgeOk": "t_j5va_badgeOk",
83
62
  "totpRing": "t_j5va_totpRing",
63
+ "list": "t_j5va_list",
64
+ "intro": "t_j5va_intro",
65
+ "detailBox": "t_j5va_detailBox",
66
+ "reportSub": "t_j5va_reportSub",
67
+ "badgeWarn": "t_j5va_badgeWarn",
68
+ "policyBar": "t_j5va_policyBar",
69
+ "identity": "t_j5va_identity",
70
+ "title": "t_j5va_title",
71
+ "error": "t_j5va_error",
72
+ "copied": "t_j5va_copied",
84
73
  "pinStar": "t_j5va_pinStar",
74
+ "genHist": "t_j5va_genHist",
75
+ "secretField": "t_j5va_secretField",
76
+ "policyField": "t_j5va_policyField",
85
77
  "sortButton": "t_j5va_sortButton",
86
- "copied": "t_j5va_copied",
87
- "addButton": "t_j5va_addButton",
88
- "dupGroup": "t_j5va_dupGroup",
89
- "genOptRow": "t_j5va_genOptRow",
78
+ "tabPane": "t_j5va_tabPane",
79
+ "searchBox": "t_j5va_searchBox",
90
80
  "kindChip": "t_j5va_kindChip",
91
- "revealButton": "t_j5va_revealButton",
81
+ "dupGroup": "t_j5va_dupGroup",
82
+ "genOpts": "t_j5va_genOpts",
92
83
  "pwMeter": "t_j5va_pwMeter",
93
84
  "pwFair": "t_j5va_pwFair",
94
- "rowDue": "t_j5va_rowDue",
95
- "section": "t_j5va_section",
96
- "policyBar": "t_j5va_policyBar",
97
- "editorActions": "t_j5va_editorActions",
98
- "field": "t_j5va_field",
99
85
  "tabActive": "t_j5va_tabActive",
100
86
  "checkField": "t_j5va_checkField",
101
- "kindIcon": "t_j5va_kindIcon",
102
- "secretField": "t_j5va_secretField"
87
+ "row": "t_j5va_row",
88
+ "empty": "t_j5va_empty",
89
+ "editor": "t_j5va_editor",
90
+ "emptyBox": "t_j5va_emptyBox",
91
+ "rowExpired": "t_j5va_rowExpired",
92
+ "rowMain": "t_j5va_rowMain",
93
+ "modeAuto": "t_j5va_modeAuto",
94
+ "editorBody": "t_j5va_editorBody",
95
+ "clearButton": "t_j5va_clearButton",
96
+ "editorActions": "t_j5va_editorActions",
97
+ "trashButton": "t_j5va_trashButton",
98
+ "toolbar": "t_j5va_toolbar",
99
+ "genOptRow": "t_j5va_genOptRow",
100
+ "modeReadonly": "t_j5va_modeReadonly",
101
+ "addButton": "t_j5va_addButton",
102
+ "detailItem": "t_j5va_detailItem"
103
103
  };
104
104
  //#endregion
105
105
  //#region src/client/VaultSection.tsx
@@ -284,7 +284,7 @@ window.__ModuleLoader__.load({
284
284
  }
285
285
  /** Render the Vault settings section. */
286
286
  function VaultSection(props) {
287
- const { t, config, setAccessMode, setAutoCapture, setAutoLock, list, search, get, add, update, remove, trash, rotation, health, duplicates, duplicateGroups, merge, history, stats, backupStatus, backup, recent, restore, undeleteAll, totp, status, switchVault, listVaults, touch, verifyAll, breachCheck, generatePassword, strength, generateUsername, templates, saveTemplate, lock, totpUri, tags, renameTag, generatorHistory, backups, deleteBackup, restoreBackup, importChrome, importFirefox, import1password, importManagerCsv, importEnpass, importBitwarden, import1pif, importKeePassXml, importKdbx, importBitwardenEncrypted, keychainImport, searchSystem, sessionOpen, sessionCollect, sessionClose, sessionListOpen, sessionListSaved, sessionSave, sessionExport, sessionGet, sessionPrune, vaultRename, vaultDelete, watchtower, export1pux, exportBitwarden, recoveryCode, verifyRecovery, recoveryStatus, unlock } = props;
287
+ const { t, config, setAccessMode, setAutoCapture, setAutoLock, list, search, get, add, update, remove, purge, trash, rotation, health, duplicates, duplicateGroups, merge, history, stats, backupStatus, backup, recent, restore, undeleteAll, totp, status, switchVault, listVaults, touch, verifyAll, breachCheck, generatePassword, strength, generateUsername, templates, saveTemplate, lock, totpUri, tags, renameTag, generatorHistory, backups, deleteBackup, restoreBackup, importChrome, importFirefox, import1password, importManagerCsv, importEnpass, importBitwarden, import1pif, importKeePassXml, importKdbx, importBitwardenEncrypted, keychainImport, searchSystem, sessionOpen, sessionCollect, sessionClose, sessionListOpen, sessionListSaved, sessionSave, sessionExport, sessionGet, sessionPrune, vaultRename, vaultDelete, watchtower, export1pux, exportBitwarden, recoveryCode, verifyRecovery, recoveryStatus, unlock } = props;
288
288
  const searchId = (0, react.useId)();
289
289
  const [query, setQuery] = (0, react.useState)("");
290
290
  const [state, setState] = (0, react.useState)({ status: "loading" });
@@ -1316,7 +1316,9 @@ window.__ModuleLoader__.load({
1316
1316
  setMessage(t("error"));
1317
1317
  return;
1318
1318
  }
1319
- if (editor.status === "editing" && form.password !== void 0 && form.password !== editor.entry?.password) {
1319
+ const entryPw = editor.status === "editing" ? editor.entry?.password ?? "" : "";
1320
+ const typedPw = (form.password ?? "").trim();
1321
+ if (editor.status === "editing" && typedPw.length > 0 && typedPw !== entryPw) {
1320
1322
  if (!window.confirm(t("pwChangeConfirm"))) return;
1321
1323
  }
1322
1324
  setBusy(true);
@@ -2720,7 +2722,7 @@ window.__ModuleLoader__.load({
2720
2722
  onClick: () => {
2721
2723
  if (!window.confirm(t("clearTrashConfirm"))) return;
2722
2724
  setBusy(true);
2723
- Promise.all(trashEntries.map((e) => remove(e.id))).then(() => {
2725
+ Promise.all(trashEntries.map((e) => purge(e.id))).then(() => {
2724
2726
  trash().then(setTrashEntries);
2725
2727
  refresh();
2726
2728
  setBusy(false);
@@ -4148,6 +4150,7 @@ window.__ModuleLoader__.load({
4148
4150
  patch
4149
4151
  }),
4150
4152
  remove: (id) => invoke("delete", { id }),
4153
+ purge: (id) => invoke("purge", { id }),
4151
4154
  trash: () => invoke("trash").then((r) => r.entries),
4152
4155
  rotation: () => invoke("rotation").then((r) => r.entries),
4153
4156
  history: () => invoke("history").then((r) => r.events),