passbolt-browser-extension 3.12.1 → 4.6.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 (791) hide show
  1. package/.eslintrc.json +5 -0
  2. package/.github/workflows/release.yaml +17 -0
  3. package/.github/workflows/release_candidate.yaml +17 -0
  4. package/.gitlab-ci/jobs/build.yml +42 -0
  5. package/.gitlab-ci/jobs/publish.yml +38 -0
  6. package/.gitlab-ci/jobs/release.yml +21 -0
  7. package/.gitlab-ci/jobs/review.yml +25 -0
  8. package/.gitlab-ci/jobs/test.yml +32 -0
  9. package/.gitlab-ci/scripts/bin/publish.sh +63 -0
  10. package/.gitlab-ci/scripts/bin/review.sh +52 -0
  11. package/.gitlab-ci/scripts/bin/slack-status-messages.sh +33 -0
  12. package/.gitlab-ci/scripts/lib/git-helpers.sh +29 -0
  13. package/.gitlab-ci/scripts/lib/set-env.sh +25 -0
  14. package/.gitlab-ci/scripts/lib/version-check.sh +25 -0
  15. package/.gitlab-ci.yml +13 -73
  16. package/CHANGELOG.md +387 -1
  17. package/Gruntfile.js +24 -86
  18. package/RELEASE_NOTES.md +23 -0
  19. package/crowdin.yml +15 -0
  20. package/jest.config.json +2 -1
  21. package/package.json +51 -36
  22. package/src/all/_locales/de/messages.json +2 -2
  23. package/src/all/_locales/es/messages.json +10 -0
  24. package/src/all/_locales/fr/messages.json +1 -1
  25. package/src/all/_locales/it/messages.json +10 -0
  26. package/src/all/_locales/ja/messages.json +2 -2
  27. package/src/all/_locales/ko/messages.json +10 -0
  28. package/src/all/_locales/lt/messages.json +10 -0
  29. package/src/all/_locales/nl/messages.json +1 -1
  30. package/src/all/_locales/pl/messages.json +2 -2
  31. package/src/all/_locales/pt/messages.json +10 -0
  32. package/src/all/_locales/ro/messages.json +10 -0
  33. package/src/all/_locales/ru/messages.json +10 -0
  34. package/src/all/background_page/controller/InformMenuController/InformMenuController.js +9 -45
  35. package/src/all/background_page/controller/account/getAndInitializeAccountLocaleController.js +0 -1
  36. package/src/all/background_page/controller/account/getAndInitializeAccountLocaleController.test.js +1 -1
  37. package/src/all/background_page/controller/account/updatePrivateKeyController.js +2 -3
  38. package/src/all/background_page/controller/account/updatePrivateKeyController.test.js +1 -1
  39. package/src/all/background_page/controller/accountRecovery/abortAndInitiateNewAccountRecoveryControllerr.test.js +1 -1
  40. package/src/all/background_page/controller/accountRecovery/accountRecoveryGenerateOrganizationKeyController.test.js +1 -1
  41. package/src/all/background_page/controller/accountRecovery/accountRecoveryGetRequestController.test.js +1 -1
  42. package/src/all/background_page/controller/accountRecovery/accountRecoveryGetUserRequestsController.test.js +1 -1
  43. package/src/all/background_page/controller/accountRecovery/accountRecoverySaveOrganizationPolicyController.js +8 -4
  44. package/src/all/background_page/controller/accountRecovery/accountRecoverySaveOrganizationPolicyController.test.js +45 -40
  45. package/src/all/background_page/controller/accountRecovery/accountRecoverySaveUserSettingController.js +3 -2
  46. package/src/all/background_page/controller/accountRecovery/accountRecoverySaveUserSettingController.test.js +5 -6
  47. package/src/all/background_page/controller/accountRecovery/accountRecoveryValidateOrganizationPrivateKeyController.test.js +28 -5
  48. package/src/all/background_page/controller/accountRecovery/accountRecoveryValidatePublicKeyController.test.js +1 -1
  49. package/src/all/background_page/controller/accountRecovery/continueAccountRecoveryController.test.js +3 -5
  50. package/src/all/background_page/controller/accountRecovery/getOrganizationPolicyController.test.js +1 -1
  51. package/src/all/background_page/controller/accountRecovery/hasUserPostponedUserSettingInvitationController.js +2 -2
  52. package/src/all/background_page/controller/accountRecovery/hasUserPostponedUserSettingInvitationController.test.js +2 -2
  53. package/src/all/background_page/controller/accountRecovery/postponeUserSettingInvitationController.js +4 -4
  54. package/src/all/background_page/controller/accountRecovery/postponeUserSettingInvitationController.test.js +3 -3
  55. package/src/all/background_page/controller/accountRecovery/recoverAccountController.js +0 -30
  56. package/src/all/background_page/controller/accountRecovery/recoverAccountController.test.js +4 -29
  57. package/src/all/background_page/controller/accountRecovery/reviewRequestController.js +8 -4
  58. package/src/all/background_page/controller/accountRecovery/reviewRequestController.test.js +90 -61
  59. package/src/all/background_page/controller/app/appInitController.js +6 -4
  60. package/src/all/background_page/controller/app/appInitController.test.js +14 -2
  61. package/src/all/background_page/controller/auth/authLoginController.js +16 -5
  62. package/src/all/background_page/controller/auth/authLoginController.test.js +6 -4
  63. package/src/all/background_page/controller/auth/authLogoutController.js +62 -0
  64. package/src/all/background_page/controller/auth/authLogoutController.test.js +55 -0
  65. package/src/all/background_page/controller/auth/authVerifyServerKeyController.js +0 -1
  66. package/src/all/background_page/controller/auth/authVerifyServerKeyController.test.js +1 -1
  67. package/src/all/background_page/controller/auth/generateSsoKitController.js +6 -7
  68. package/src/all/background_page/controller/auth/generateSsoKitController.test.js +19 -12
  69. package/src/all/background_page/controller/auth/requestHelpCredentialsLostController.test.js +1 -1
  70. package/src/all/background_page/controller/autofill/AutofillController.js +134 -0
  71. package/src/all/background_page/controller/autofill/AutofillController.test.js +149 -0
  72. package/src/all/background_page/controller/comment/createCommentController.test.js +15 -3
  73. package/src/all/background_page/controller/comment/deleteCommentController.test.js +2 -2
  74. package/src/all/background_page/controller/comment/getCommentsByRessourceidController.test.js +2 -2
  75. package/src/all/background_page/controller/crypto/downloadUserPrivateKeyController.js +6 -4
  76. package/src/all/background_page/controller/crypto/downloadUserPrivateKeyController.test.js +5 -6
  77. package/src/all/background_page/controller/crypto/getUserPrivateKeyController.js +63 -0
  78. package/src/all/background_page/controller/crypto/getUserPrivateKeyController.test.js +64 -0
  79. package/src/all/background_page/controller/export/exportResourcesFileController.js +17 -32
  80. package/src/all/background_page/controller/exportAccount/exportDesktopAccountController.js +75 -0
  81. package/src/all/background_page/controller/exportAccount/exportDesktopAccountController.test.data.js +25 -0
  82. package/src/all/background_page/controller/exportAccount/exportDesktopAccountController.test.js +104 -0
  83. package/src/all/background_page/controller/extension/onExtensionInstalledController.js +107 -0
  84. package/src/all/background_page/controller/extension/onExtensionInstalledController.test.js +109 -0
  85. package/src/all/background_page/controller/extension/onExtensionUpdateAvailableController.js +56 -0
  86. package/src/all/background_page/controller/extension/onExtensionUpdateAvailableController.test.js +76 -0
  87. package/src/all/background_page/controller/folder/folderCreateController.js +2 -0
  88. package/src/all/background_page/controller/group/groupUpdateController.js +7 -5
  89. package/src/all/background_page/controller/group/groupUpdateController.test.data.js +1 -1
  90. package/src/all/background_page/controller/group/groupUpdateController.test.js +7 -10
  91. package/src/all/background_page/controller/import/importResourcesFileController.js +15 -10
  92. package/src/all/background_page/controller/informCallToActionController/informCallToActionController.js +3 -3
  93. package/src/all/background_page/controller/mfaPolicy/hasUserPostponedUserSettingInvitationController.js +2 -2
  94. package/src/all/background_page/controller/mfaPolicy/hasUserPostponedUserSettingInvitationController.test.js +2 -2
  95. package/src/all/background_page/controller/mfaPolicy/mfaGetMfaSettingsController.test.js +1 -1
  96. package/src/all/background_page/controller/mfaPolicy/mfaGetPolicyController.test.js +1 -1
  97. package/src/all/background_page/controller/mfaPolicy/{postponeUserSettingInvitationController.js → postponeUserSettingMfaInvitationController.js} +4 -5
  98. package/src/all/background_page/controller/mfaPolicy/{postponeUserSettingInvitationController.test.js → postponeUserSettingMfaInvitationController.test.js} +5 -5
  99. package/src/all/background_page/controller/mfaSetup/MfaSetupGetTotpCodeController.js +54 -0
  100. package/src/all/background_page/controller/mfaSetup/MfaSetupGetTotpCodeController.test.js +44 -0
  101. package/src/all/background_page/controller/mfaSetup/MfaSetupRemoveProviderController.js +58 -0
  102. package/src/all/background_page/controller/mfaSetup/MfaSetupRemoveProviderController.test.js +56 -0
  103. package/src/all/background_page/controller/mfaSetup/MfaSetupVerifyOtpCodeController.js +56 -0
  104. package/src/all/background_page/controller/mfaSetup/MfaSetupVerifyOtpCodeController.test.js +57 -0
  105. package/src/all/background_page/controller/mfaSetup/MfaSetupVerifyProviderController.js +58 -0
  106. package/src/all/background_page/controller/mfaSetup/MfaSetupVerifyProviderController.test.js +59 -0
  107. package/src/all/background_page/controller/mfaSetup/MfaSetupVerifyTotpCodeController.js +56 -0
  108. package/src/all/background_page/controller/mfaSetup/MfaSetupVerifyTotpCodeController.test.js +57 -0
  109. package/src/all/background_page/controller/mfaSetup/MfaSetupVerifyYubikeyCodeController.js +59 -0
  110. package/src/all/background_page/controller/mfaSetup/MfaSetupVerifyYubikeyCodeController.test.js +56 -0
  111. package/src/all/background_page/controller/move/moveController.js +7 -5
  112. package/src/all/background_page/controller/move/moveFolderController.js +12 -9
  113. package/src/all/background_page/controller/move/moveResourcesController.js +11 -8
  114. package/src/all/background_page/controller/move/moveResourcesController.test.js +20 -15
  115. package/src/all/background_page/controller/organizationSettings/getOrganizationSettingsController.test.js +1 -1
  116. package/src/all/background_page/controller/passwordExpiry/deletePasswordExpirySettingsController.js +55 -0
  117. package/src/all/background_page/controller/passwordExpiry/deletePasswordExpirySettingsController.test.js +66 -0
  118. package/src/all/background_page/controller/passwordExpiry/getOrFindPasswordExpirySettingsController.js +56 -0
  119. package/src/all/background_page/controller/passwordExpiry/getOrFindPasswordExpirySettingsController.test.js +113 -0
  120. package/src/all/background_page/controller/passwordExpiry/savePasswordExpirySettingsController.js +62 -0
  121. package/src/all/background_page/controller/passwordExpiry/savePasswordExpirySettingsController.test.js +108 -0
  122. package/src/all/background_page/controller/passwordPolicies/findPasswordPoliciesController.js +58 -0
  123. package/src/all/background_page/controller/passwordPolicies/findPasswordPoliciesController.test.js +90 -0
  124. package/src/all/background_page/controller/passwordPolicies/getOrFindPasswordPoliciesController.js +88 -0
  125. package/src/all/background_page/controller/passwordPolicies/getOrFindPasswordPoliciesController.test.js +177 -0
  126. package/src/all/background_page/controller/passwordPolicies/savePasswordPoliciesController.js +54 -0
  127. package/src/all/background_page/controller/passwordPolicies/savePasswordPoliciesController.test.js +87 -0
  128. package/src/all/background_page/controller/port/generatePortIdController.js +19 -33
  129. package/src/all/background_page/controller/port/generatePortIdController.test.js +13 -56
  130. package/src/all/background_page/controller/port/removePortController.js +105 -0
  131. package/src/all/background_page/controller/port/removePortController.test.js +162 -0
  132. package/src/all/background_page/controller/rbac/findMeController.js +55 -0
  133. package/src/all/background_page/controller/rbac/findMeController.test.js +49 -0
  134. package/src/all/background_page/controller/recover/abortAndRequestHelpController.test.js +1 -1
  135. package/src/all/background_page/controller/recover/completeRecoverController.js +0 -20
  136. package/src/all/background_page/controller/recover/completeRecoverController.test.js +2 -15
  137. package/src/all/background_page/controller/recover/generateRecoverAccountRecoveryRequestKeyController.test.js +1 -1
  138. package/src/all/background_page/controller/recover/importRecoverPrivateKeyController.test.js +1 -5
  139. package/src/all/background_page/controller/recover/requestAccountRecoveryController.test.js +1 -1
  140. package/src/all/background_page/controller/recover/startRecoverController.js +8 -9
  141. package/src/all/background_page/controller/recover/startRecoverController.test.js +31 -28
  142. package/src/all/background_page/controller/rememberMe/getUserRememberMeLatestChoiceController.js +55 -0
  143. package/src/all/background_page/controller/rememberMe/getUserRememberMeLatestChoiceController.test.js +50 -0
  144. package/src/all/background_page/controller/resource/resourceCreateController.js +11 -9
  145. package/src/all/background_page/controller/resource/resourceUpdateController.js +8 -6
  146. package/src/all/background_page/controller/resource/setResourcesExpiryDateController.js +74 -0
  147. package/src/all/background_page/controller/resource/setResourcesExpiryDateController.test.js +94 -0
  148. package/src/all/background_page/controller/resourceGridSetting/getResourceGridUserSettingController.js +53 -0
  149. package/src/all/background_page/controller/resourceGridSetting/getResourceGridUserSettingController.test.js +60 -0
  150. package/src/all/background_page/controller/resourceGridSetting/setResourceGridUserSettingController.js +56 -0
  151. package/src/all/background_page/controller/resourceGridSetting/setResourceGridUserSettingController.test.js +51 -0
  152. package/src/all/background_page/controller/secret/secretDecryptController.js +34 -43
  153. package/src/all/background_page/controller/secret/secretDecryptController.test.js +180 -0
  154. package/src/all/background_page/controller/setup/completeSetupController.js +0 -27
  155. package/src/all/background_page/controller/setup/completeSetupController.test.js +2 -16
  156. package/src/all/background_page/controller/setup/generateSetupKeyPairController.test.js +2 -2
  157. package/src/all/background_page/controller/setup/getAndInitSetupLocaleController.test.js +1 -3
  158. package/src/all/background_page/controller/setup/getUserPassphrasePoliciesController.js +54 -0
  159. package/src/all/background_page/controller/setup/getUserPassphrasePoliciesController.test.js +40 -0
  160. package/src/all/background_page/controller/setup/importSetupPrivateKeyController.js +1 -0
  161. package/src/all/background_page/controller/setup/importSetupPrivateKeyController.test.js +1 -5
  162. package/src/all/background_page/controller/setup/setSetupAccountRecoveryUserSettingController.test.js +0 -2
  163. package/src/all/background_page/controller/setup/setSetupLocaleController.test.js +1 -1
  164. package/src/all/background_page/controller/setup/signInSetupController.js +0 -1
  165. package/src/all/background_page/controller/setup/signInSetupController.test.js +2 -2
  166. package/src/all/background_page/controller/setup/startSetupController.js +6 -1
  167. package/src/all/background_page/controller/setup/startSetupController.test.js +38 -5
  168. package/src/all/background_page/controller/share/shareFoldersController.js +12 -8
  169. package/src/all/background_page/controller/share/shareFoldersController.test.data.js +113 -0
  170. package/src/all/background_page/controller/share/shareFoldersController.test.js +242 -0
  171. package/src/all/background_page/controller/share/shareResourcesController.js +11 -9
  172. package/src/all/background_page/controller/share/shareResourcesController.test.data.js +14 -14
  173. package/src/all/background_page/controller/share/shareResourcesController.test.js +73 -7
  174. package/src/all/background_page/controller/sso/activateSsoSettingsController.test.js +3 -2
  175. package/src/all/background_page/controller/sso/deleteLocalSsoKitController.js +52 -0
  176. package/src/all/background_page/controller/sso/deleteLocalSsoKitController.test.js +29 -0
  177. package/src/all/background_page/controller/sso/deleteSsoSettingsController.test.js +2 -2
  178. package/src/all/background_page/controller/sso/getCurrentSsoSettingsController.test.data.js +3 -3
  179. package/src/all/background_page/controller/sso/getCurrentSsoSettingsController.test.js +2 -3
  180. package/src/all/background_page/controller/sso/getQualifiedSsoLoginErrorController.js +56 -0
  181. package/src/all/background_page/controller/sso/getQualifiedSsoLoginErrorController.test.js +75 -0
  182. package/src/all/background_page/controller/sso/hasSsoLoginErrorController.js +53 -0
  183. package/src/all/background_page/controller/sso/hasSsoLoginErrorController.test.js +46 -0
  184. package/src/all/background_page/controller/sso/saveSsoSettingsAsDraftController.js +1 -1
  185. package/src/all/background_page/controller/sso/saveSsoSettingsAsDraftController.test.data.js +8 -4
  186. package/src/all/background_page/controller/sso/saveSsoSettingsAsDraftController.test.js +4 -8
  187. package/src/all/background_page/controller/sso/{azureSsoAuthenticationController.js → ssoAuthenticationController.js} +54 -20
  188. package/src/all/background_page/controller/sso/ssoAuthenticationController.test.js +342 -0
  189. package/src/all/background_page/controller/sso/{testAzureSsoAuthenticationController.js → testSsoAuthenticationController.js} +8 -8
  190. package/src/all/background_page/controller/sso/{testAzureSsoAuthenticationController.test.js → testSsoAuthenticationController.test.js} +11 -10
  191. package/src/all/background_page/controller/sso/updateLocalSsoProviderController.js +56 -0
  192. package/src/all/background_page/controller/sso/updateLocalSsoProviderController.test.js +53 -0
  193. package/src/all/background_page/controller/tag/tagController.js +4 -3
  194. package/src/all/background_page/controller/toolbarController.js +61 -30
  195. package/src/all/background_page/controller/toolbarController.test.js +155 -2
  196. package/src/all/background_page/controller/user/getOrFindLoggedInUserController.js +56 -0
  197. package/src/all/background_page/controller/user/getOrFindLoggedInUserController.test.js +92 -0
  198. package/src/all/background_page/controller/user/updateUserController.js +57 -0
  199. package/src/all/background_page/controller/user/updateUserController.test.js +88 -0
  200. package/src/all/background_page/controller/user/updateUserLocalStorageController.test.js +2 -2
  201. package/src/all/background_page/controller/userPassphrasePolicies/findUserPassphrasePoliciesController.js +52 -0
  202. package/src/all/background_page/controller/userPassphrasePolicies/findUserPassphrasePoliciesController.test.js +70 -0
  203. package/src/all/background_page/controller/userPassphrasePolicies/saveUserPassphrasePoliciesController.js +55 -0
  204. package/src/all/background_page/controller/userPassphrasePolicies/saveUserPassphrasePoliciesController.test.js +76 -0
  205. package/src/all/background_page/error/mfaAuthenticationRequiredError.js +7 -1
  206. package/src/all/background_page/{service/api/apiClient/apiClientOptions.test.data.js → error/ssoDisabledError.js} +8 -5
  207. package/src/all/background_page/{sdk/polyfill/browserPolyfill.js → error/ssoProviderMismatchError.js} +9 -10
  208. package/src/all/background_page/{model/entity/permission/permissionEntity.test.data.js → error/ssoSettingsChangedError.js} +8 -15
  209. package/src/all/background_page/event/actionLogEvents.js +7 -4
  210. package/src/all/background_page/event/appEvents.js +114 -5
  211. package/src/all/background_page/event/authEvents.js +67 -46
  212. package/src/all/background_page/event/commentEvents.js +7 -5
  213. package/src/all/background_page/event/exportResourcesEvents.js +8 -5
  214. package/src/all/background_page/event/favoriteEvents.js +3 -6
  215. package/src/all/background_page/event/folderEvents.js +13 -12
  216. package/src/all/background_page/event/groupEvents.js +13 -14
  217. package/src/all/background_page/event/importResourcesEvents.js +8 -4
  218. package/src/all/background_page/event/informCallToActionEvents.js +7 -9
  219. package/src/all/background_page/event/informMenuEvents.js +25 -19
  220. package/src/all/background_page/event/keyringEvents.js +5 -15
  221. package/src/all/background_page/event/localeEvents.js +6 -5
  222. package/src/all/background_page/event/mfaEvents.js +33 -6
  223. package/src/all/background_page/event/mobileEvents.js +6 -6
  224. package/src/all/background_page/event/multiFactorAuthenticationEvents.js +7 -5
  225. package/src/all/background_page/event/organizationSettingsEvents.js +1 -1
  226. package/src/all/background_page/event/passwordPoliciesEvents.js +41 -0
  227. package/src/all/background_page/event/publicWebsiteSignInEvents.js +2 -1
  228. package/src/all/background_page/event/quickAccessEvents.js +53 -29
  229. package/src/all/background_page/event/recoverEvents.js +7 -1
  230. package/src/all/background_page/event/rememberMeEvents.js +29 -0
  231. package/src/all/background_page/event/resourceEvents.js +47 -15
  232. package/src/all/background_page/event/resourceTypeEvents.js +6 -4
  233. package/src/all/background_page/event/roleEvents.js +6 -3
  234. package/src/all/background_page/event/secretEvents.js +10 -15
  235. package/src/all/background_page/event/setupEvents.js +6 -0
  236. package/src/all/background_page/event/shareEvents.js +10 -30
  237. package/src/all/background_page/event/subscriptionEvents.js +6 -4
  238. package/src/all/background_page/event/tagEvents.js +6 -12
  239. package/src/all/background_page/event/themeEvents.js +8 -7
  240. package/src/all/background_page/event/userEvents.js +21 -40
  241. package/src/all/background_page/event/webIntegrationEvents.js +7 -0
  242. package/src/all/background_page/index.js +60 -100
  243. package/src/all/background_page/model/account/accountModel.js +5 -3
  244. package/src/all/background_page/model/auth/authModel.js +4 -17
  245. package/src/all/background_page/model/auth/authModel.test.js +40 -0
  246. package/src/all/background_page/model/desktopTransfer/desktopTransferModel.js +34 -0
  247. package/src/all/background_page/model/desktopTransfer/desktopTransferModel.test.js +50 -0
  248. package/src/all/background_page/model/entity/account/abstractAccountEntity.js +22 -9
  249. package/src/all/background_page/model/entity/account/accountAccountRecoveryEntity.js +5 -9
  250. package/src/all/background_page/model/entity/account/accountAccountRecoveryEntity.test.js +2 -2
  251. package/src/all/background_page/model/entity/account/accountEntity.js +5 -9
  252. package/src/all/background_page/model/entity/account/accountEntity.test.js +2 -2
  253. package/src/all/background_page/model/entity/account/accountKitEntity.js +118 -0
  254. package/src/all/background_page/model/entity/account/accountKitEntity.test.data.js +25 -0
  255. package/src/all/background_page/model/entity/account/accountKitEntity.test.js +101 -0
  256. package/src/all/background_page/model/entity/account/accountRecoverEntity.js +6 -9
  257. package/src/all/background_page/model/entity/account/accountRecoverEntity.test.data.js +33 -50
  258. package/src/all/background_page/model/entity/account/accountSetupEntity.js +5 -8
  259. package/src/all/background_page/model/entity/accountRecovery/accountRecoveryOrganizationPolicyChangeEntity.js +10 -10
  260. package/src/all/background_page/model/entity/accountRecovery/accountRecoveryOrganizationPolicyChangeEntity.test.js +2 -2
  261. package/src/all/background_page/model/entity/accountRecovery/accountRecoveryOrganizationPolicyEntity.js +13 -13
  262. package/src/all/background_page/model/entity/accountRecovery/accountRecoveryOrganizationPolicyEntity.test.data.js +1 -1
  263. package/src/all/background_page/model/entity/accountRecovery/accountRecoveryOrganizationPolicyEntity.test.js +3 -3
  264. package/src/all/background_page/model/entity/accountRecovery/accountRecoveryOrganizationPublicKeyEntity.js +6 -8
  265. package/src/all/background_page/model/entity/accountRecovery/accountRecoveryOrganizationPublicKeyEntity.test.js +2 -2
  266. package/src/all/background_page/model/entity/accountRecovery/accountRecoveryPrivateKeyEntity.js +8 -9
  267. package/src/all/background_page/model/entity/accountRecovery/accountRecoveryPrivateKeyEntity.test.js +2 -2
  268. package/src/all/background_page/model/entity/accountRecovery/accountRecoveryPrivateKeyPasswordDecryptedDataEntity.js +5 -8
  269. package/src/all/background_page/model/entity/accountRecovery/accountRecoveryPrivateKeyPasswordEntity.js +5 -8
  270. package/src/all/background_page/model/entity/accountRecovery/accountRecoveryPrivateKeyPasswordEntity.test.js +2 -2
  271. package/src/all/background_page/model/entity/accountRecovery/accountRecoveryPrivateKeyPasswordsCollection.js +9 -11
  272. package/src/all/background_page/model/entity/accountRecovery/accountRecoveryPrivateKeyPasswordsCollection.test.js +2 -2
  273. package/src/all/background_page/model/entity/accountRecovery/accountRecoveryRequestCreateEntity.js +6 -9
  274. package/src/all/background_page/model/entity/accountRecovery/accountRecoveryRequestEntity.js +7 -7
  275. package/src/all/background_page/model/entity/accountRecovery/accountRecoveryRequestEntity.test.data.js +37 -22
  276. package/src/all/background_page/model/entity/accountRecovery/accountRecoveryRequestEntity.test.js +2 -2
  277. package/src/all/background_page/model/entity/accountRecovery/accountRecoveryRequestsCollection.js +8 -10
  278. package/src/all/background_page/model/entity/accountRecovery/accountRecoveryRequestsCollection.test.js +2 -2
  279. package/src/all/background_page/model/entity/accountRecovery/accountRecoveryResponseEntity.js +5 -8
  280. package/src/all/background_page/model/entity/accountRecovery/accountRecoveryResponseEntity.test.js +2 -2
  281. package/src/all/background_page/model/entity/accountRecovery/accountRecoveryResponsesCollection.js +8 -10
  282. package/src/all/background_page/model/entity/accountRecovery/accountRecoveryUserSettingEntity.js +6 -9
  283. package/src/all/background_page/model/entity/accountRecovery/accountRecoveryUserSettingEntity.test.js +2 -2
  284. package/src/all/background_page/model/entity/accountRecovery/pendingAccountRecoveryRequestEntity.js +4 -4
  285. package/src/all/background_page/model/entity/accountRecovery/pendingAccountRecoveryRequestEntity.test.js +2 -2
  286. package/src/all/background_page/model/entity/actionLog/abstractActionLogEntity.js +5 -7
  287. package/src/all/background_page/model/entity/actionLog/actionLogsCollection.js +12 -13
  288. package/src/all/background_page/model/entity/actionLog/defaultActionLog.test.js +2 -2
  289. package/src/all/background_page/model/entity/actionLog/defaultActionLogEntity.js +4 -7
  290. package/src/all/background_page/model/entity/actionLog/permissionsUpdatedActionLogEntity.js +7 -10
  291. package/src/all/background_page/model/entity/authenticationToken/authenticationTokenEntity.js +5 -8
  292. package/src/all/background_page/model/entity/authenticationToken/authenticationTokenEntity.test.js +2 -2
  293. package/src/all/background_page/model/entity/avatar/avatarEntity.js +5 -38
  294. package/src/all/background_page/model/entity/avatar/avatarEntity.test.js +126 -42
  295. package/src/all/background_page/model/entity/avatar/update/avatarUpdateEntity.js +7 -8
  296. package/src/all/background_page/model/entity/comment/commentEntity.js +7 -10
  297. package/src/all/background_page/model/entity/comment/commentEntity.test.js +2 -2
  298. package/src/all/background_page/model/entity/comment/commentsCollection.js +9 -10
  299. package/src/all/background_page/model/entity/comment/commentsCollection.test.js +2 -2
  300. package/src/all/background_page/model/entity/export/exportResourcesFileEntity.js +17 -10
  301. package/src/all/background_page/model/entity/favorite/favoriteEntity.js +6 -38
  302. package/src/all/background_page/model/entity/favorite/favoriteEntity.test.js +112 -51
  303. package/src/all/background_page/model/entity/folder/external/externalFolderEntity.js +8 -9
  304. package/src/all/background_page/model/entity/folder/external/externalFolderEntity.test.js +2 -2
  305. package/src/all/background_page/model/entity/folder/external/externalFoldersCollection.js +6 -9
  306. package/src/all/background_page/model/entity/folder/external/externalFoldersCollection.test.js +1 -1
  307. package/src/all/background_page/model/entity/folder/folderEntity.js +14 -16
  308. package/src/all/background_page/model/entity/folder/folderEntity.test.js +362 -200
  309. package/src/all/background_page/model/entity/folder/foldersCollection.js +8 -10
  310. package/src/all/background_page/model/entity/folder/foldersCollection.test.js +1 -1
  311. package/src/all/background_page/model/entity/gpgkey/external/externalGpgKeyCollection.js +8 -10
  312. package/src/all/background_page/model/entity/gpgkey/external/externalGpgKeyCollection.test.js +1 -1
  313. package/src/all/background_page/model/entity/gpgkey/external/externalGpgKeyEntity.js +5 -8
  314. package/src/all/background_page/model/entity/gpgkey/external/externalGpgKeyEntity.test.js +2 -2
  315. package/src/all/background_page/model/entity/gpgkey/external/externalGpgKeyPairEntity.js +7 -10
  316. package/src/all/background_page/model/entity/gpgkey/external/externalGpgKeyPairEntity.test.js +2 -2
  317. package/src/all/background_page/model/entity/gpgkey/generate/generateGpgKeyPairOptionsEntity.js +5 -8
  318. package/src/all/background_page/model/entity/gpgkey/generate/generateGpgKeyPairOptionsEntity.test.js +2 -2
  319. package/src/all/background_page/model/entity/gpgkey/gpgkeyEntity.js +5 -8
  320. package/src/all/background_page/model/entity/gpgkey/gpgkeyEntity.test.js +1 -1
  321. package/src/all/background_page/model/entity/gpgkey/privateGpgkeyEntity.js +5 -8
  322. package/src/all/background_page/model/entity/gpgkey/privateGpgkeyEntity.test.js +2 -2
  323. package/src/all/background_page/model/entity/group/groupEntity.js +9 -12
  324. package/src/all/background_page/model/entity/group/groupEntity.test.js +1 -1
  325. package/src/all/background_page/model/entity/group/groupsCollection.js +10 -10
  326. package/src/all/background_page/model/entity/group/groupsCollection.test.js +2 -2
  327. package/src/all/background_page/model/entity/group/transfer/groupDeleteTransfer.js +6 -9
  328. package/src/all/background_page/model/entity/group/transfer/groupDeleteTransfer.test.js +1 -1
  329. package/src/all/background_page/model/entity/group/update/groupUpdateDryRunResultEntity.js +7 -10
  330. package/src/all/background_page/model/entity/group/update/groupUpdateEntity.js +7 -10
  331. package/src/all/background_page/model/entity/group/update/groupUpdateEntity.test.js +2 -2
  332. package/src/all/background_page/model/entity/groupUser/change/groupUserChangeEntity.js +5 -8
  333. package/src/all/background_page/model/entity/groupUser/change/groupUserChangesCollection.js +5 -8
  334. package/src/all/background_page/model/entity/groupUser/groupUserEntity.js +5 -8
  335. package/src/all/background_page/model/entity/groupUser/groupUserEntity.test.js +1 -1
  336. package/src/all/background_page/model/entity/groupUser/groupUsersEntity.test.data.js +2 -0
  337. package/src/all/background_page/model/entity/groupUser/groupsUsersCollection.js +6 -9
  338. package/src/all/background_page/model/entity/groupUser/groupsUsersCollection.test.js +1 -1
  339. package/src/all/background_page/model/entity/groupUser/transfer/groupUserTransfer.test.js +2 -2
  340. package/src/all/background_page/model/entity/groupUser/transfer/groupUserTransferEntity.js +5 -9
  341. package/src/all/background_page/model/entity/groupUser/transfer/groupUserTransfersCollection.js +7 -10
  342. package/src/all/background_page/model/entity/groupUser/transfer/groupUserTransfersCollection.test.js +2 -2
  343. package/src/all/background_page/model/entity/import/importResourcesFileEntity.js +5 -8
  344. package/src/all/background_page/model/entity/import/importResourcesFileEntity.test.js +2 -2
  345. package/src/all/background_page/model/entity/locale/localeEntity.js +5 -8
  346. package/src/all/background_page/model/entity/locale/localeEntity.test.js +2 -2
  347. package/src/all/background_page/model/entity/locale/localesCollection.js +6 -9
  348. package/src/all/background_page/model/entity/mfa/mfaCombinedEnabledProvidersEntity.js +7 -10
  349. package/src/all/background_page/model/entity/mfa/mfaCombinedEnabledProvidersEntity.test.js +2 -2
  350. package/src/all/background_page/model/entity/mfa/mfaEnabledProviderEntity.js +5 -10
  351. package/src/all/background_page/model/entity/mfa/mfaEnabledProviderEntity.test.js +2 -2
  352. package/src/all/background_page/model/entity/mfa/mfaPolicyEntity.js +5 -8
  353. package/src/all/background_page/model/entity/mfa/mfaProviderEntity.js +86 -0
  354. package/src/all/background_page/model/entity/mfa/mfaProviderEntity.test.data.js +21 -0
  355. package/src/all/background_page/model/entity/mfa/mfaProviderEntity.test.js +49 -0
  356. package/src/all/background_page/model/entity/{passordGenerator/passwordGeneratorEntity.js → mfa/mfaSetupTotpEntity.js} +24 -30
  357. package/src/all/background_page/model/entity/mfa/mfaSetupTotpEntity.test.data.js +29 -0
  358. package/src/all/background_page/model/entity/mfa/mfaSetupTotpEntity.test.js +51 -0
  359. package/src/all/background_page/model/entity/mfa/mfaSetupYubikeyEntity.js +66 -0
  360. package/src/all/background_page/model/entity/mfa/mfaSetupYubikeyEntity.test.data.js +21 -0
  361. package/src/all/background_page/model/entity/mfa/mfaSetupYubikeyEntity.test.js +54 -0
  362. package/src/all/background_page/model/entity/mfa/mfaTotpSetupInfoEntity.js +67 -0
  363. package/src/all/background_page/model/entity/mfa/mfaTotpSetupInfoEntity.test.data.js +20 -0
  364. package/src/all/background_page/model/entity/mfa/mfaTotpSetupInfoEntity.test.js +67 -0
  365. package/src/all/background_page/model/entity/mfa/mfaVerifyProviderEntity.js +66 -0
  366. package/src/all/background_page/model/entity/mfa/mfaVerifyProviderEntity.test.data.js +21 -0
  367. package/src/all/background_page/model/entity/mfa/mfaVerifyProviderEntity.test.js +49 -0
  368. package/src/all/background_page/model/entity/organizationSettings/organizationSettingsEntity.js +6 -9
  369. package/src/all/background_page/model/entity/organizationSettings/organizationSettingsEntity.test.data.js +9 -0
  370. package/src/all/background_page/model/entity/organizationSettings/organizationSettingsEntity.test.js +1 -1
  371. package/src/all/background_page/model/entity/passwordExpiry/passwordExpiryResourceCollection.test.data.js +22 -0
  372. package/src/all/background_page/model/entity/passwordExpiry/passwordExpiryResourceCollection.test.js +46 -0
  373. package/src/all/background_page/model/entity/passwordExpiry/passwordExpiryResourceEntity.js +110 -0
  374. package/src/all/background_page/model/entity/passwordExpiry/passwordExpiryResourceEntity.test.data.js +36 -0
  375. package/src/all/background_page/model/entity/passwordExpiry/passwordExpiryResourceEntity.test.js +104 -0
  376. package/src/all/background_page/model/entity/passwordExpiry/passwordExpiryResourcesCollection.js +147 -0
  377. package/src/all/background_page/model/entity/passwordExpiry/passwordExpiryResourcesCollection.test.js +69 -0
  378. package/src/all/background_page/model/entity/passwordPolicies/passphraseGeneratorSettingsEntity.js +110 -0
  379. package/src/all/background_page/model/entity/passwordPolicies/passphraseGeneratorSettingsEntity.test.data.js +24 -0
  380. package/src/all/background_page/model/entity/passwordPolicies/passphraseGeneratorSettingsEntity.test.js +80 -0
  381. package/src/all/background_page/model/entity/passwordPolicies/passwordGeneratorSettingsEntity.js +145 -0
  382. package/src/all/background_page/model/entity/passwordPolicies/passwordGeneratorSettingsEntity.test.data.js +33 -0
  383. package/src/all/background_page/model/entity/passwordPolicies/passwordGeneratorSettingsEntity.test.js +88 -0
  384. package/src/all/background_page/model/entity/passwordPolicies/passwordPoliciesEntity.js +204 -0
  385. package/src/all/background_page/model/entity/passwordPolicies/passwordPoliciesEntity.test.data.js +26 -0
  386. package/src/all/background_page/model/entity/passwordPolicies/passwordPoliciesEntity.test.js +106 -0
  387. package/src/all/background_page/model/entity/permission/actionLog/updatedPermissionEntity.js +7 -10
  388. package/src/all/background_page/model/entity/permission/actionLog/updatedPermissionEntity.test.js +2 -2
  389. package/src/all/background_page/model/entity/permission/actionLog/updatedPermissionsCollection.js +8 -10
  390. package/src/all/background_page/model/entity/permission/change/permissionChangeEntity.js +5 -8
  391. package/src/all/background_page/model/entity/permission/change/permissionChangesCollection.js +5 -8
  392. package/src/all/background_page/model/entity/permission/change/permissionChangesCollection.test.js +4 -4
  393. package/src/all/background_page/model/entity/permission/permissionEntity.js +7 -10
  394. package/src/all/background_page/model/entity/permission/permissionEntity.test.js +3 -3
  395. package/src/all/background_page/model/entity/permission/permissionsCollection.js +17 -17
  396. package/src/all/background_page/model/entity/permission/permissionsCollection.test.js +35 -35
  397. package/src/all/background_page/model/entity/permission/transfer/permissionTransfer.test.js +2 -2
  398. package/src/all/background_page/model/entity/permission/transfer/permissionTransferEntity.js +5 -9
  399. package/src/all/background_page/model/entity/permission/transfer/permissionTransfersCollection.js +7 -9
  400. package/src/all/background_page/model/entity/permission/transfer/permissionTransfersCollection.test.js +2 -2
  401. package/src/all/background_page/model/entity/plaintext/plaintextEntity.js +42 -2
  402. package/src/all/background_page/model/entity/profile/profileEntity.js +11 -13
  403. package/src/all/background_page/model/entity/profile/profileEntity.test.js +199 -107
  404. package/src/all/background_page/model/entity/rememberMe/userRememberMeLatestChoiceEntity.js +81 -0
  405. package/src/all/background_page/model/entity/rememberMe/userRememberMeLatestChoiceEntity.test.data.js +20 -0
  406. package/src/all/background_page/model/entity/rememberMe/userRememberMeLatestChoiceEntity.test.js +44 -0
  407. package/src/all/background_page/model/entity/resource/external/externalResourceEntity.js +34 -12
  408. package/src/all/background_page/model/entity/resource/external/externalResourceEntity.test.js +43 -2
  409. package/src/all/background_page/model/entity/resource/external/externalResourcesCollection.js +6 -9
  410. package/src/all/background_page/model/entity/resource/external/externalResourcesCollection.test.js +1 -1
  411. package/src/all/background_page/model/entity/resource/resourceEntity.js +45 -15
  412. package/src/all/background_page/model/entity/resource/resourceEntity.test.js +2 -2
  413. package/src/all/background_page/model/entity/resource/resourcesCollection.js +48 -12
  414. package/src/all/background_page/model/entity/resource/resourcesCollection.test.data.js +41 -11
  415. package/src/all/background_page/model/entity/resource/resourcesCollection.test.js +120 -5
  416. package/src/all/background_page/model/entity/resourceType/resourceTypeEntity.js +10 -8
  417. package/src/all/background_page/model/entity/resourceType/resourceTypeEntity.test.js +2 -2
  418. package/src/all/background_page/model/entity/resourceType/resourceTypesCollection.js +72 -15
  419. package/src/all/background_page/model/entity/resourceType/resourceTypesCollection.test.js +158 -0
  420. package/src/all/background_page/model/entity/secret/needed/neededSecretEntity.js +8 -9
  421. package/src/all/background_page/model/entity/secret/needed/neededSecretsCollection.js +6 -9
  422. package/src/all/background_page/model/entity/secret/resource/resourceSecretsCollection.js +11 -10
  423. package/src/all/background_page/model/entity/secret/secretEntity.js +7 -10
  424. package/src/all/background_page/model/entity/secret/secretEntity.test.data.js +1 -1
  425. package/src/all/background_page/model/entity/secret/secretEntity.test.js +2 -2
  426. package/src/all/background_page/model/entity/secret/secretsCollection.js +9 -10
  427. package/src/all/background_page/model/entity/securityToken/securityTokenEntity.js +5 -8
  428. package/src/all/background_page/model/entity/securityToken/securityTokenEntity.test.js +2 -2
  429. package/src/all/background_page/model/entity/sso/ssoKitClientPartEntity.js +11 -9
  430. package/src/all/background_page/model/entity/sso/ssoKitClientPartEntity.test.js +2 -2
  431. package/src/all/background_page/model/entity/sso/ssoKitServerPart.test.data.js +1 -1
  432. package/src/all/background_page/model/entity/sso/ssoKitServerPartEntity.js +5 -8
  433. package/src/all/background_page/model/entity/sso/ssoKitServerPartEntity.test.js +1 -1
  434. package/src/all/background_page/model/entity/sso/ssoLoginUrlEntity.js +28 -13
  435. package/src/all/background_page/model/entity/sso/ssoLoginUrlEntity.test.js +20 -12
  436. package/src/all/background_page/model/entity/subscription/subscriptionEntity.js +5 -8
  437. package/src/all/background_page/model/entity/subscription/subscriptionEntity.test.js +2 -2
  438. package/src/all/background_page/model/entity/subscription/update/updateSubscriptionEntity.js +5 -8
  439. package/src/all/background_page/model/entity/subscription/update/updateSubscriptionEntity.test.js +2 -2
  440. package/src/all/background_page/model/entity/tag/tagEntity.js +8 -9
  441. package/src/all/background_page/model/{import/resources/csvRowParser/abstractCsvRowParser.test.data.js → entity/tag/tagEntity.test.data.js} +16 -9
  442. package/src/all/background_page/model/entity/tag/tagEntity.test.js +2 -2
  443. package/src/all/background_page/model/entity/tag/tagsCollection.js +60 -27
  444. package/src/all/background_page/model/entity/tag/tagsCollection.test.js +198 -127
  445. package/src/all/background_page/model/entity/theme/change/ChangeThemeEntity.js +5 -8
  446. package/src/all/background_page/model/entity/theme/themeEntity.js +5 -8
  447. package/src/all/background_page/model/entity/theme/themeEntity.test.js +2 -2
  448. package/src/all/background_page/model/entity/theme/themesCollection.js +9 -10
  449. package/src/all/background_page/{event/browser/browserEvents.js → model/entity/totp/totpDto.test.data.js} +14 -7
  450. package/src/all/background_page/model/entity/totp/totpEntity.js +202 -0
  451. package/src/all/background_page/model/entity/totp/totpEntity.test.js +111 -0
  452. package/src/all/background_page/model/entity/transfer/transferEntity.js +6 -9
  453. package/src/all/background_page/model/entity/transfer/transferEntity.test.js +2 -2
  454. package/src/all/background_page/model/entity/user/actionLog/loggedUserEntity.js +6 -9
  455. package/src/all/background_page/model/entity/user/actionLog/loggedUserEntity.test.js +2 -2
  456. package/src/all/background_page/model/entity/user/transfer/userDeleteTransfer.js +8 -14
  457. package/src/all/background_page/model/entity/user/transfer/userDeleteTransfer.test.js +1 -1
  458. package/src/all/background_page/model/entity/user/userEntity.js +21 -17
  459. package/src/all/background_page/model/entity/user/userEntity.test.fixtures.js +5 -3
  460. package/src/all/background_page/model/entity/user/userEntity.test.js +14 -8
  461. package/src/all/background_page/model/entity/user/usersCollection.js +9 -11
  462. package/src/all/background_page/model/entity/user/usersCollection.test.js +2 -2
  463. package/src/all/background_page/model/entity/worker/workerEntity.js +81 -9
  464. package/src/all/background_page/model/entity/worker/workerEntity.test.data.js +2 -0
  465. package/src/all/background_page/model/entity/worker/workerEntity.test.js +39 -5
  466. package/src/all/background_page/model/export/resources/csvRowComposer/csvKdbxRowComposer.js +8 -1
  467. package/src/all/background_page/model/export/resources/csvRowComposer/csvKdbxRowComposer.test.js +28 -1
  468. package/src/all/background_page/model/export/resources/resourcesKdbxExporter.js +43 -2
  469. package/src/all/background_page/model/export/resources/resourcesKdbxExporter.test.js +117 -13
  470. package/src/all/background_page/model/favorite/favoriteModel.js +3 -2
  471. package/src/all/background_page/model/folder/folderModel.js +3 -3
  472. package/src/all/background_page/model/folder/folderModel.test.js +2 -2
  473. package/src/all/background_page/model/gpgauth.js +3 -84
  474. package/src/all/background_page/model/group/groupModel.js +2 -2
  475. package/src/all/background_page/model/import/resources/csvRowParser/csvBitWardenRowParser.test.js +5 -2
  476. package/src/all/background_page/model/import/resources/csvRowParser/csvChromiumRowParser.test.js +5 -2
  477. package/src/all/background_page/model/import/resources/csvRowParser/csvDashlaneRowParser.test.js +5 -2
  478. package/src/all/background_page/model/import/resources/csvRowParser/csvKdbxRowParser.js +34 -10
  479. package/src/all/background_page/model/import/resources/csvRowParser/csvKdbxRowParser.test.js +51 -1
  480. package/src/all/background_page/model/import/resources/csvRowParser/csvLogMeOnceRowParser.test.js +5 -2
  481. package/src/all/background_page/model/import/resources/csvRowParser/csvMozillaPlatformRowParser.test.js +5 -2
  482. package/src/all/background_page/model/import/resources/csvRowParser/csvNordpassRowParser.test.js +5 -2
  483. package/src/all/background_page/model/import/resources/csvRowParser/csvSafariRowParser.test.js +5 -2
  484. package/src/all/background_page/model/import/resources/kdbx/kdbx-protected-password.kdbx +0 -0
  485. package/src/all/background_page/model/import/resources/kdbx/kdbx-windows-with-totp-protected-password.kdbx +0 -0
  486. package/src/all/background_page/model/import/resources/kdbx/kdbx-with-totp-protected-password.kdbx +0 -0
  487. package/src/all/background_page/model/import/resources/resourcesCsvImportParser.test.js +1 -1
  488. package/src/all/background_page/model/import/resources/resourcesKdbxImportParser.js +49 -18
  489. package/src/all/background_page/model/import/resources/resourcesKdbxImportParser.test.js +109 -4
  490. package/src/all/background_page/model/multiFactorAuthentication/multiFactorAuthenticationModel.js +54 -0
  491. package/src/all/background_page/model/multiFactorAuthentication/multiFactorAuthenticationModel.test.js +84 -0
  492. package/src/all/background_page/model/organizationSettings/organizationSettingsModel.js +1 -1
  493. package/src/all/background_page/model/passwordExpiry/passwordExpiryResourceModel.js +49 -0
  494. package/src/all/background_page/model/passwordExpiry/passwordExpiryResourceModel.test.js +62 -0
  495. package/src/all/background_page/model/passwordExpiry/passwordExpirySettingsModel.js +110 -0
  496. package/src/all/background_page/model/passwordExpiry/passwordExpirySettingsModel.test.js +243 -0
  497. package/src/all/background_page/model/passwordPolicies/passwordPoliciesModel.js +86 -0
  498. package/src/all/background_page/model/passwordPolicies/passwordPoliciesModel.test.js +231 -0
  499. package/src/all/background_page/model/rbac/RbacModel.js +75 -0
  500. package/src/all/background_page/model/resource/resourceModel.js +45 -59
  501. package/src/all/background_page/model/resourceType/resourceTypeModel.js +1 -1
  502. package/src/all/background_page/model/role/roleModel.js +1 -1
  503. package/src/all/background_page/model/setup/setupModel.js +14 -9
  504. package/src/all/background_page/model/share/shareModel.js +165 -0
  505. package/src/all/background_page/model/sso/ssoDryRunModel.js +1 -1
  506. package/src/all/background_page/model/sso/{ssoAzureLoginModel.js → ssoLoginModel.js} +8 -8
  507. package/src/all/background_page/model/sso/ssoSettingsModel.js +2 -3
  508. package/src/all/background_page/model/tag/tagModel.js +3 -2
  509. package/src/all/background_page/model/toolbar.js +3 -10
  510. package/src/all/background_page/model/user/userModel.js +20 -3
  511. package/src/all/background_page/model/user.js +8 -24
  512. package/src/all/background_page/model/userPassphrasePolicies/userPassphrasePoliciesModel.js +57 -0
  513. package/src/all/background_page/model/userPassphrasePolicies/userPassphrasePoliciesModel.test.js +136 -0
  514. package/src/all/background_page/pagemod/accountRecoveryBootstrapPagemod.js +62 -39
  515. package/src/{chrome-mv3 → all/background_page}/pagemod/accountRecoveryBootstrapPagemod.test.js +6 -5
  516. package/src/all/background_page/pagemod/accountRecoveryPagemod.js +43 -44
  517. package/src/{chrome-mv3 → all/background_page}/pagemod/accountRecoveryPagemod.test.js +5 -4
  518. package/src/all/background_page/pagemod/appBootstrapPagemod.js +83 -73
  519. package/src/{chrome-mv3 → all/background_page}/pagemod/appBootstrapPagemod.test.js +11 -10
  520. package/src/all/background_page/pagemod/appPagemod.js +105 -92
  521. package/src/all/background_page/pagemod/appPagemod.test.js +184 -0
  522. package/src/all/background_page/pagemod/authBootstrapPagemod.js +80 -48
  523. package/src/{chrome-mv3 → all/background_page}/pagemod/authBootstrapPagemod.test.js +9 -8
  524. package/src/all/background_page/pagemod/authPagemod.js +60 -49
  525. package/src/all/background_page/pagemod/authPagemod.test.js +86 -0
  526. package/src/all/background_page/pagemod/filePagemod.js +23 -30
  527. package/src/all/background_page/pagemod/filePagemod.test.js +53 -0
  528. package/src/{chrome-mv3/pagemod/authPagemod.js → all/background_page/pagemod/informCallToActionPagemod.js} +18 -19
  529. package/src/{chrome-mv3 → all/background_page}/pagemod/informCallToActionPagemod.test.js +14 -3
  530. package/src/all/background_page/pagemod/informMenuPagemod.js +41 -23
  531. package/src/{chrome-mv3 → all/background_page}/pagemod/informMenuPagemod.test.js +17 -4
  532. package/src/{chrome-mv3 → all/background_page}/pagemod/pagemod.js +18 -13
  533. package/src/{chrome-mv3 → all/background_page}/pagemod/pagemod.test.js +6 -5
  534. package/src/{chrome-mv3 → all/background_page}/pagemod/pagemodManager.js +25 -14
  535. package/src/{chrome-mv3 → all/background_page}/pagemod/pagemodManager.test.js +22 -5
  536. package/src/all/background_page/pagemod/publicWebsiteSignInPagemod.js +81 -41
  537. package/src/{chrome-mv3 → all/background_page}/pagemod/publicWebsiteSignInPagemod.test.js +13 -9
  538. package/src/all/background_page/pagemod/quickAccessPagemod.js +60 -65
  539. package/src/all/background_page/pagemod/quickAccessPagemod.test.js +104 -0
  540. package/src/all/background_page/pagemod/recoverBootstrapPagemod.js +69 -35
  541. package/src/{chrome-mv3 → all/background_page}/pagemod/recoverBootstrapPagemod.test.js +6 -5
  542. package/src/all/background_page/pagemod/recoverPagemod.js +45 -44
  543. package/src/{chrome-mv3 → all/background_page}/pagemod/recoverPagemod.test.js +8 -8
  544. package/src/all/background_page/pagemod/setupBootstrapPagemod.js +69 -36
  545. package/src/{chrome-mv3 → all/background_page}/pagemod/setupBootstrapPagemod.test.js +6 -5
  546. package/src/all/background_page/pagemod/setupPagemod.js +43 -44
  547. package/src/{chrome-mv3 → all/background_page}/pagemod/setupPagemod.test.js +8 -8
  548. package/src/all/background_page/pagemod/webIntegrationPagemod.js +75 -31
  549. package/src/{chrome-mv3 → all/background_page}/pagemod/webIntegrationPagemod.test.js +15 -14
  550. package/src/{chrome-mv3/sdk → all/background_page/sdk/port}/portManager.js +42 -14
  551. package/src/{chrome-mv3/sdk → all/background_page/sdk/port}/portManager.test.js +21 -15
  552. package/src/all/background_page/sdk/port.js +17 -0
  553. package/src/all/background_page/sdk/port.test.js +45 -2
  554. package/src/all/background_page/sdk/scriptExecution.js +0 -1
  555. package/src/all/background_page/sdk/scriptExecution.test.js +5 -4
  556. package/src/all/background_page/service/account/buildApiClientOptionsService.js +2 -8
  557. package/src/all/background_page/service/account/buildApiClientOptionsService.test.js +65 -4
  558. package/src/all/background_page/service/account/updateSsoCredentialsService.js +1 -1
  559. package/src/all/background_page/service/api/abstract/abstractService.js +1 -1
  560. package/src/all/background_page/service/api/abstract/abstractService.test.js +3 -3
  561. package/src/all/background_page/service/api/accountRecovery/validateAccountRecoveryOrganizationPrivateKeyService.js +4 -1
  562. package/src/all/background_page/service/api/accountRecovery/validateAccountRecoveryOrganizationPrivateKeyService.test.data.js +13 -0
  563. package/src/all/background_page/service/api/accountRecovery/validateAccountRecoveryOrganizationPrivateKeyService.test.js +6 -0
  564. package/src/all/background_page/service/api/auth/authService.js +35 -12
  565. package/src/all/background_page/service/api/auth/authService.test.js +103 -0
  566. package/src/all/background_page/service/api/multiFactorAuthentication/multiFactorAuthenticationService.js +66 -0
  567. package/src/all/background_page/service/api/{passwordGenerator/passwordGeneratorService.js → passwordExpiry/passwordExpiryResourceService.js} +18 -15
  568. package/src/all/background_page/service/api/passwordExpiry/passwordExpiryResourceService.test.js +82 -0
  569. package/src/all/background_page/service/api/passwordExpiry/passwordExpirySettingsService.js +72 -0
  570. package/src/all/background_page/service/api/passwordExpiry/passwordExpirySettingsService.test.js +157 -0
  571. package/src/all/background_page/service/api/passwordPolicies/passwordPoliciesService.js +92 -0
  572. package/src/all/background_page/service/api/passwordPolicies/passwordPoliciesService.test.js +127 -0
  573. package/src/all/background_page/service/api/resource/resourceLocalStorageUpdateService.js +112 -0
  574. package/src/all/background_page/service/api/resource/resourceLocalStorageUpdateService.test.js +109 -0
  575. package/src/all/background_page/service/api/setup/setupService.js +14 -4
  576. package/src/all/background_page/service/api/share/shareService.js +32 -0
  577. package/src/all/background_page/service/api/sso/ssoDryRunService.js +1 -1
  578. package/src/all/background_page/service/api/sso/{ssoAzureLoginService.js → ssoLoginService.js} +25 -8
  579. package/src/all/background_page/service/api/user/userService.js +1 -63
  580. package/src/all/background_page/service/api/userPassphrasePolicies/userPassphrasePoliciesService.js +63 -0
  581. package/src/all/background_page/service/api/userPassphrasePolicies/userPassphrasePoliciesService.test.js +121 -0
  582. package/src/all/background_page/service/auth/startLoopAuthSessionCheckService.js +76 -0
  583. package/src/all/background_page/service/auth/startLoopAuthSessionCheckService.test.js +91 -0
  584. package/src/all/background_page/service/auth.js +13 -100
  585. package/src/all/background_page/service/cache/resourceInProgressCache.service.js +0 -1
  586. package/src/all/background_page/service/cache/resourceInProgressCache.service.test.js +0 -1
  587. package/src/all/background_page/service/crypto/cryptoRandomValuesService.test.js +2 -1
  588. package/src/all/background_page/service/crypto/decryptMessageService.js +3 -4
  589. package/src/all/background_page/service/crypto/encryptPrivateKeyService.js +2 -4
  590. package/src/all/background_page/service/crypto/encryptPrivateKeyService.test.js +6 -5
  591. package/src/all/background_page/service/crypto/generateSsoIvService.test.js +2 -0
  592. package/src/all/background_page/service/crypto/getGpgKeyCreationDateService.test.js +1 -1
  593. package/src/all/background_page/service/crypto/signMessageService.js +55 -0
  594. package/src/all/background_page/service/crypto/signMessageService.test.js +94 -0
  595. package/src/all/background_page/service/crypto/verifyMessageSign.js +56 -0
  596. package/src/all/background_page/service/crypto/verifyMessageSign.test.data.js +44 -0
  597. package/src/all/background_page/service/crypto/verifyMessageSign.test.js +116 -0
  598. package/src/all/background_page/service/file/fileService.js +0 -1
  599. package/src/all/background_page/service/file/fileService.test.js +0 -1
  600. package/src/all/background_page/service/indexedDB_storage/ssoDataStorage.js +56 -8
  601. package/src/all/background_page/service/{api/invitation/postponedUserSettingInvitationService.js → invitation/postponeUserSettingInvitationService.js} +2 -14
  602. package/src/all/background_page/service/invitation/postponeUserSettingInvitationService.test.js +52 -0
  603. package/src/all/background_page/service/localStorage/localStorageService.js +73 -0
  604. package/src/all/background_page/service/localStorage/localStorageService.test.js +102 -0
  605. package/src/all/background_page/service/local_storage/AccountLocalStorage.test.js +2 -3
  606. package/src/all/background_page/service/local_storage/accountLocalStorage.js +0 -1
  607. package/src/all/background_page/service/local_storage/authStatusLocalStorage.js +1 -15
  608. package/src/all/background_page/service/local_storage/folderLocalStorage.js +0 -14
  609. package/src/all/background_page/service/local_storage/groupLocalStorage.js +0 -14
  610. package/src/all/background_page/service/local_storage/passwordExpirySettingsLocalStorage.js +73 -0
  611. package/src/all/background_page/service/local_storage/passwordExpirySettingsLocalStorage.test.js +72 -0
  612. package/src/all/background_page/service/local_storage/passwordGeneratorLocalStorage.js +5 -40
  613. package/src/all/background_page/service/local_storage/passwordPoliciesLocalStorage.js +98 -0
  614. package/src/all/background_page/service/local_storage/rbacLocalStorage.js +109 -0
  615. package/src/all/background_page/service/local_storage/rbacLocalStorage.test.js +68 -0
  616. package/src/all/background_page/service/local_storage/resourceLocalStorage.js +30 -14
  617. package/src/all/background_page/service/local_storage/resourceTypeLocalStorage.js +0 -14
  618. package/src/all/background_page/service/local_storage/ressourceGridSettingLocalStorage.js +70 -0
  619. package/src/all/background_page/service/local_storage/rolesLocalStorage.js +2 -16
  620. package/src/all/background_page/service/local_storage/userLocalStorage.js +0 -14
  621. package/src/all/background_page/service/local_storage/userRememberMeLatestChoiceLocalStorage.js +82 -0
  622. package/src/all/background_page/service/local_storage/userRememberMeLatestChoiceLocalStorage.test.js +74 -0
  623. package/src/all/background_page/service/passphrase/getPassphraseService.js +152 -0
  624. package/src/all/background_page/service/passphrase/getPassphraseService.test.js +258 -0
  625. package/src/all/background_page/service/passwordExpirySettings/passwordExpirySettingsGetOrFindService.js +49 -0
  626. package/src/all/background_page/service/passwordExpirySettings/passwordExpirySettingsGetOrFindService.test.js +45 -0
  627. package/src/all/background_page/service/progress/progressService.js +11 -17
  628. package/src/all/background_page/service/secret/decryptAndParseResourceSecretService.js +60 -0
  629. package/src/all/background_page/service/secret/decryptAndParseResourceSecretService.test.js +83 -0
  630. package/src/all/background_page/service/sessionStorage/userMeSessionStorageService.js +94 -0
  631. package/src/all/background_page/service/sessionStorage/userMeSessionStorageService.test.js +146 -0
  632. package/src/{chrome-mv3 → all/background_page}/service/sessionStorage/workersSessionStorage.js +55 -6
  633. package/src/{chrome-mv3 → all/background_page}/service/sessionStorage/workersSessionStorage.test.js +42 -7
  634. package/src/all/background_page/service/session_storage/passphraseStorageService.js +14 -17
  635. package/src/all/background_page/service/session_storage/passphraseStorageService.test.js +12 -13
  636. package/src/all/background_page/service/session_storage/ssoKitTemporaryStorageService.js +2 -11
  637. package/src/all/background_page/service/sso/generateSsoKitService.test.js +2 -2
  638. package/src/all/background_page/service/sso/{azurePopupHandlerService.js → popupHandlerService.js} +6 -7
  639. package/src/all/background_page/service/sso/{azurePopupHandlerService.test.js → popupHandlerService.test.js} +24 -37
  640. package/src/all/background_page/service/sso/qualifySsoLoginErrorService.js +49 -0
  641. package/src/all/background_page/service/systemRequirementService/systemRequirementService.js +30 -0
  642. package/src/{chrome-mv3 → all/background_page}/service/systemRequirementService/systemRequirementService.test.js +3 -3
  643. package/src/all/background_page/service/tab/tabService.js +99 -0
  644. package/src/all/background_page/service/tab/tabService.test.js +239 -0
  645. package/src/all/background_page/service/ui/browserExtensionIcon.service.js +0 -2
  646. package/src/all/background_page/service/ui/browserTab.service.js +0 -1
  647. package/src/all/background_page/service/ui/browserTab.service.test.js +0 -1
  648. package/src/all/background_page/service/ui/quickAccess.service.js +16 -23
  649. package/src/all/background_page/service/webIntegration/parseWebIntegrationUrlService.js +1 -1
  650. package/src/all/background_page/service/webIntegration/parseWebIntegrationUrlService.test.js +3 -1
  651. package/src/{chrome-mv3 → all/background_page}/service/webNavigation/webNavigationService.js +3 -1
  652. package/src/{chrome-mv3 → all/background_page}/service/webNavigation/webNavigationService.test.js +1 -1
  653. package/src/all/background_page/service/worker/workerService.js +69 -37
  654. package/src/all/background_page/service/worker/workerService.test.js +64 -65
  655. package/src/all/background_page/utils/assertions.js +38 -0
  656. package/src/all/background_page/utils/assertions.test.js +57 -0
  657. package/src/all/background_page/utils/lock.js +32 -31
  658. package/src/all/background_page/utils/openpgp/openpgpAssertions.js +48 -1
  659. package/src/all/background_page/utils/openpgp/openpgpAssertions.test.js +30 -0
  660. package/src/all/background_page/utils/promise/promiseTimeoutService.js +71 -0
  661. package/src/all/background_page/utils/promise/promiseTimeoutService.test.js +105 -0
  662. package/src/{chrome-mv3/pagemod/informMenuPagemod.js → all/background_page/utils/url/hasSameOriginUrl.js} +11 -10
  663. package/src/all/common/polyfill/browserPolyfill.js +31 -0
  664. package/src/all/{background_page/sdk → common}/polyfill/scriptingPolyfill.js +5 -6
  665. package/src/all/{background_page/sdk → common}/polyfill/scriptingPolyfill.test.js +7 -4
  666. package/src/all/{background_page/sdk → common}/polyfill/sessionStoragePolyfill.js +1 -4
  667. package/src/all/{background_page/sdk → common}/polyfill/sessionStoragePolyfill.test.js +0 -1
  668. package/src/all/contentScripts/js/app/AccountRecovery.js +2 -0
  669. package/src/all/contentScripts/js/app/App.js +2 -1
  670. package/src/all/contentScripts/js/app/BrowserIntegration.js +2 -0
  671. package/src/all/contentScripts/js/app/Login.js +2 -0
  672. package/src/all/contentScripts/js/app/PublicWebsiteSignIn.js +2 -0
  673. package/src/all/contentScripts/js/app/Recover.js +2 -0
  674. package/src/all/contentScripts/js/app/Setup.js +2 -0
  675. package/src/all/contentScripts/js/service/messageService.js +0 -1
  676. package/src/all/contentScripts/js/service/messageService.test.js +0 -1
  677. package/src/all/locales/de-DE/common.json +4 -4
  678. package/src/all/locales/en-UK/common.json +4 -4
  679. package/src/all/locales/es-ES/common.json +4 -4
  680. package/src/all/locales/fr-FR/common.json +8 -8
  681. package/src/all/locales/it-IT/common.json +8 -8
  682. package/src/all/locales/ja-JP/common.json +4 -4
  683. package/src/all/locales/ko-KR/common.json +4 -4
  684. package/src/all/locales/lt-LT/common.json +4 -4
  685. package/src/all/locales/nl-NL/common.json +4 -4
  686. package/src/all/locales/pl-PL/common.json +4 -4
  687. package/src/all/locales/pt-BR/common.json +4 -4
  688. package/src/all/locales/ro-RO/common.json +4 -4
  689. package/src/all/locales/ru-RU/common.json +94 -0
  690. package/src/all/locales/sv-SE/common.json +4 -4
  691. package/src/all/webAccessibleResources/js/app/App.js +0 -1
  692. package/src/all/webAccessibleResources/js/app/Login.js +0 -1
  693. package/src/all/webAccessibleResources/js/app/QuickAccess.js +9 -2
  694. package/src/all/webAccessibleResources/js/lib/port.js +7 -5
  695. package/src/all/webAccessibleResources/js/lib/port.test.js +48 -5
  696. package/src/all/webAccessibleResources/js/themes/stylesheet.js +2 -1
  697. package/src/all/webAccessibleResources/passbolt-iframe-app.html +14 -3
  698. package/src/chrome/manifest.json +5 -3
  699. package/src/chrome-mv3/index.js +19 -7
  700. package/src/chrome-mv3/manifest.json +12 -4
  701. package/src/firefox/manifest.json +9 -5
  702. package/src/safari/manifest.json +50 -0
  703. package/test/jest-webextension-force-runtime-id-setup-files.js +5 -0
  704. package/test/jest.custom-kdbx-environment.js +2 -14
  705. package/test/jest.setup.js +34 -66
  706. package/test/mocks/mockAlarms.js +2 -0
  707. package/test/mocks/mockCryptoKey.js +1 -6
  708. package/test/mocks/{mockTabs.js → mockEventListener.js} +2 -8
  709. package/{src/chrome-mv3/pagemod/informCallToActionPagemod.js → test/mocks/mockNavigatorLocks.js} +12 -8
  710. package/test/mocks/mockSsoDataStorage.js +38 -4
  711. package/test/mocks/mockStorage.js +74 -0
  712. package/{src/all/background_page/sdk/polyfill/actionPolyfill.js → test/mocks/mockTextEncoder.js} +7 -7
  713. package/test/mocks/mockWebExtensionPolyfill.js +77 -0
  714. package/webpack-content-scripts.browser-integration.config.js +7 -0
  715. package/webpack-content-scripts.config.js +7 -0
  716. package/webpack-content-scripts.public-website-sign-in.config.js +7 -0
  717. package/webpack-data.config.js +7 -0
  718. package/webpack-data.download.config.js +7 -0
  719. package/webpack-data.in-form-call-to-action.config.js +7 -0
  720. package/webpack-data.in-form-menu.config.js +7 -0
  721. package/webpack.background-page.config.js +7 -0
  722. package/webpack.service-worker.config.js +7 -0
  723. package/dist/chrome/passbolt-3.12.1.crx +0 -0
  724. package/dist/chrome/passbolt-3.12.1.zip +0 -0
  725. package/dist/chrome-mv3/passbolt-3.12.1.crx +0 -0
  726. package/dist/chrome-mv3/passbolt-3.12.1.zip +0 -0
  727. package/dist/firefox/passbolt-3.12.1.zip +0 -0
  728. package/src/all/background_page/app.js +0 -232
  729. package/src/all/background_page/controller/extension/OnExtensionInstalledController.js +0 -63
  730. package/src/all/background_page/controller/fileController.js +0 -0
  731. package/src/all/background_page/controller/passphrase/passphraseController.js +0 -142
  732. package/src/all/background_page/controller/sso/azureSsoAuthenticationController.test.js +0 -228
  733. package/src/all/background_page/error/passboltApiFetchError.js +0 -16
  734. package/src/all/background_page/event/passwordGeneratorEvents.js +0 -36
  735. package/src/all/background_page/model/entity/abstract/entity.js +0 -103
  736. package/src/all/background_page/model/entity/abstract/entity.test.js +0 -78
  737. package/src/all/background_page/model/entity/abstract/entityCollection.js +0 -148
  738. package/src/all/background_page/model/entity/abstract/entityCollection.test.js +0 -105
  739. package/src/all/background_page/model/entity/abstract/entityCollectionError.js +0 -40
  740. package/src/all/background_page/model/entity/abstract/entityCollectionError.test.js +0 -55
  741. package/src/all/background_page/model/entity/abstract/entitySchema.js +0 -451
  742. package/src/all/background_page/model/entity/abstract/entitySchema.test.js +0 -336
  743. package/src/all/background_page/model/entity/abstract/entityValidationError.js +0 -81
  744. package/src/all/background_page/model/entity/abstract/entityValidationError.test.js +0 -64
  745. package/src/all/background_page/model/entity/profile/ProfileEntity.test.data.js +0 -34
  746. package/src/all/background_page/model/entity/resource/resourceEntity.test.data.js +0 -36
  747. package/src/all/background_page/model/entity/role/roleEntity.js +0 -166
  748. package/src/all/background_page/model/entity/role/roleEntity.test.js +0 -77
  749. package/src/all/background_page/model/entity/role/rolesCollection.js +0 -148
  750. package/src/all/background_page/model/entity/sso/ssoConfigurationEntity.test.js +0 -80
  751. package/src/all/background_page/model/entity/sso/ssoSettingsEntity.js +0 -173
  752. package/src/all/background_page/model/entity/user/userEntity.test.data.js +0 -57
  753. package/src/all/background_page/model/passwordGenerator/passwordGeneratorModel.js +0 -163
  754. package/src/all/background_page/model/share.js +0 -180
  755. package/src/all/background_page/model/worker.js +0 -100
  756. package/src/all/background_page/pagemod/inFormCallToActionPagemod.js +0 -41
  757. package/src/all/background_page/sdk/jsonQ.js +0 -65
  758. package/src/all/background_page/sdk/page-mod.js +0 -371
  759. package/src/all/background_page/sdk/self.js +0 -10
  760. package/src/all/background_page/sdk/storage.test.mock.js +0 -62
  761. package/src/all/background_page/sdk/tab.js +0 -81
  762. package/src/all/background_page/sdk/worker.js +0 -89
  763. package/src/all/background_page/service/api/apiClient/apiClient.js +0 -348
  764. package/src/all/background_page/service/api/apiClient/apiClient.test.js +0 -88
  765. package/src/all/background_page/service/api/apiClient/apiClientOptions.js +0 -110
  766. package/src/all/background_page/service/api/apiClient/apiClientOptions.test.js +0 -46
  767. package/src/all/background_page/service/api/invitation/postponedUserSettingInvitationService.test.js +0 -52
  768. package/src/all/background_page/service/crypto/reEncryptPrivateKeyService.js +0 -55
  769. package/src/all/background_page/service/crypto/reEncryptPrivateKeyService.test.js +0 -80
  770. package/src/all/background_page/service/group.js +0 -71
  771. package/src/all/background_page/service/share.js +0 -216
  772. package/src/all/background_page/utils/csrfToken/csrfToken.js +0 -60
  773. package/src/chrome-mv3/pagemod/accountRecoveryBootstrapPagemod.js +0 -64
  774. package/src/chrome-mv3/pagemod/accountRecoveryPagemod.js +0 -53
  775. package/src/chrome-mv3/pagemod/appBootstrapPagemod.js +0 -89
  776. package/src/chrome-mv3/pagemod/appPagemod.js +0 -108
  777. package/src/chrome-mv3/pagemod/appPagemod.test.js +0 -166
  778. package/src/chrome-mv3/pagemod/authBootstrapPagemod.js +0 -75
  779. package/src/chrome-mv3/pagemod/authPagemod.test.js +0 -74
  780. package/src/chrome-mv3/pagemod/publicWebsiteSignInPagemod.js +0 -92
  781. package/src/chrome-mv3/pagemod/quickAccessPagemod.js +0 -52
  782. package/src/chrome-mv3/pagemod/quickAccessPagemod.test.js +0 -88
  783. package/src/chrome-mv3/pagemod/recoverBootstrapPagemod.js +0 -70
  784. package/src/chrome-mv3/pagemod/recoverPagemod.js +0 -52
  785. package/src/chrome-mv3/pagemod/setupBootstrapPagemod.js +0 -70
  786. package/src/chrome-mv3/pagemod/setupPagemod.js +0 -50
  787. package/src/chrome-mv3/pagemod/webIntegrationPagemod.js +0 -69
  788. package/src/chrome-mv3/service/localStorage/localStorageService.js +0 -48
  789. package/src/chrome-mv3/service/localStorage/localStorageService.test.js +0 -50
  790. package/src/chrome-mv3/service/systemRequirementService/systemRequirementService.js +0 -15
  791. /package/src/{chrome-mv3/sdk → all/background_page/sdk/port}/portManager.test.data.js +0 -0
package/.eslintrc.json CHANGED
@@ -40,6 +40,11 @@
40
40
  "urldecode": true,
41
41
  "OpenpgpkeyEntity": true
42
42
  },
43
+ "settings": {
44
+ "react": {
45
+ "version": "detect"
46
+ }
47
+ },
43
48
  "rules": {
44
49
  "strict": [
45
50
  "error",
@@ -0,0 +1,17 @@
1
+ name: Create Release
2
+
3
+ on:
4
+ push:
5
+ tags:
6
+ - "v[0-9]+.[0-9]+.[0-9]+"
7
+
8
+ jobs:
9
+ build:
10
+ name: Create release
11
+ runs-on: ubuntu-latest
12
+ steps:
13
+ - uses: actions/checkout@v3
14
+ - env:
15
+ GITHUB_TOKEN: ${{ secrets.GH_TOKEN }}
16
+ name: Create Release
17
+ run: gh release create "${GITHUB_REF#refs/*/}" -t "${GITHUB_REF#refs/*/}" --notes-file RELEASE_NOTES.md
@@ -0,0 +1,17 @@
1
+ name: Create Release Candidate
2
+
3
+ on:
4
+ push:
5
+ tags:
6
+ - "v[0-9]+.[0-9]+.[0-9]+-rc.[0-9]+"
7
+
8
+ jobs:
9
+ build:
10
+ name: Create release candidate
11
+ runs-on: ubuntu-latest
12
+ steps:
13
+ - uses: actions/checkout@v3
14
+ - env:
15
+ GITHUB_TOKEN: ${{ secrets.GH_TOKEN }}
16
+ name: Create Release candidate
17
+ run: gh release create "${GITHUB_REF#refs/*/}" -t "${GITHUB_REF#refs/*/}" -p --notes-file RELEASE_NOTES.md
@@ -0,0 +1,42 @@
1
+ build:
2
+ stage: build
3
+ image: node:18
4
+ extends: .rules
5
+ artifacts:
6
+ when: always
7
+ paths:
8
+ - dist/chrome
9
+ - dist/firefox
10
+ script:
11
+ - |
12
+ apt-get update
13
+ apt-get install -y curl zip
14
+ npm ci
15
+ mkdir -p dist/firefox dist/chrome
16
+ npx grunt build
17
+ if [[ "$CI_COMMIT_TAG" != "" ]]; then
18
+ echo "Sending slack build notification"
19
+ echo "================================"
20
+ bash ./.gitlab-ci/scripts/bin/slack-status-messages.sh ":jigsaw: A new wild browser extension appeared! $CI_COMMIT_TAG" "$CI_PROJECT_URL/-/jobs/$CI_JOB_ID/artifacts/browse/dist/"
21
+ fi
22
+
23
+ build_mv3:
24
+ stage: build
25
+ image: node:18
26
+ extends: .rules
27
+ artifacts:
28
+ when: always
29
+ paths:
30
+ - dist/chrome-mv3/
31
+ script:
32
+ - |
33
+ apt-get update
34
+ apt-get install -y curl zip
35
+ npm ci
36
+ mkdir -p dist/chrome-mv3
37
+ npx grunt build-chrome-mv3
38
+ if [[ "$CI_COMMIT_TAG" != "" ]]; then
39
+ echo "Sending slack build notification"
40
+ echo "================================"
41
+ bash ./.gitlab-ci/scripts/bin/slack-status-messages.sh ":jigsaw: A new wild MV3 browser extension appeared! $CI_COMMIT_TAG" "$CI_PROJECT_URL/-/jobs/$CI_JOB_ID/artifacts/browse/dist/"
42
+ fi
@@ -0,0 +1,38 @@
1
+ publish-chrome:
2
+ stage: publish
3
+ rules:
4
+ - if: "$CI_COMMIT_TAG"
5
+ when: manual
6
+ script:
7
+ - |
8
+ apt-get update && apt-get install -y curl
9
+ bash .gitlab-ci/scripts/bin/publish.sh chrome
10
+ echo "Sending slack build notification"
11
+ echo "================================"
12
+ bash ./.gitlab-ci/scripts/bin/slack-status-messages.sh ":rocket: passbolt-chrome-extension $CI_COMMIT_TAG has been published!" "$CI_PROJECT_URL/-/jobs/$CI_JOB_ID"
13
+
14
+ publish-firefox:
15
+ stage: publish
16
+ rules:
17
+ - if: "$CI_COMMIT_TAG"
18
+ when: manual
19
+ script:
20
+ - |
21
+ apt-get update && apt-get install -y curl
22
+ bash .gitlab-ci/scripts/bin/publish.sh firefox
23
+ echo "Sending slack build notification"
24
+ echo "================================"
25
+ bash ./.gitlab-ci/scripts/bin/slack-status-messages.sh ":rocket: passbolt-firefox-extension $CI_COMMIT_TAG has been published!" "$CI_PROJECT_URL/-/jobs/$CI_JOB_ID"
26
+
27
+ publish-edge:
28
+ stage: publish
29
+ rules:
30
+ - if: "$CI_COMMIT_TAG"
31
+ when: manual
32
+ script:
33
+ - |
34
+ apt-get update && apt-get install -y curl
35
+ bash .gitlab-ci/scripts/bin/publish.sh edge
36
+ echo "Sending slack build notification"
37
+ echo "================================"
38
+ bash ./.gitlab-ci/scripts/bin/slack-status-messages.sh ":rocket: passbolt-edge-extension $CI_COMMIT_TAG has been published!" "$CI_PROJECT_URL/-/jobs/$CI_JOB_ID"
@@ -0,0 +1,21 @@
1
+ release_notes:
2
+ image: registry.gitlab.com/gitlab-org/release-cli:latest
3
+ release:
4
+ description: "./RELEASE_NOTES.md"
5
+ tag_name: $CI_COMMIT_TAG
6
+ rules:
7
+ - if: '$CI_COMMIT_TAG =~ /^v[0-9]+\.[0-9]+\.[0-9]+$/'
8
+ when: on_success
9
+ script: echo "Creating relase notes for $CI_COMMIT_TAG"
10
+ stage: release
11
+
12
+ release_notes_candidate:
13
+ image: registry.gitlab.com/gitlab-org/release-cli:latest
14
+ release:
15
+ tag_name: $CI_COMMIT_TAG
16
+ description: $CI_COMMIT_TAG
17
+ rules:
18
+ - if: '$CI_COMMIT_TAG =~ /^v[0-9]+\.[0-9]+\.[0-9]+-rc\.[0-9]+$/'
19
+ when: on_success
20
+ script: echo "Creating relase notes for $CI_COMMIT_TAG"
21
+ stage: release
@@ -0,0 +1,25 @@
1
+ review-chrome:
2
+ stage: review
3
+ rules:
4
+ - if: "$CI_COMMIT_TAG"
5
+ script:
6
+ - |
7
+ apt-get update && apt-get install -y curl
8
+ bash .gitlab-ci/scripts/bin/review.sh chrome
9
+ echo "Sending slack build notification"
10
+ echo "================================"
11
+ bash ./.gitlab-ci/scripts/bin/slack-status-messages.sh ":airplane_departure: passbolt-chrome-extension $CI_COMMIT_TAG has been sent to review!" "$CI_PROJECT_URL/-/jobs/$CI_JOB_ID"
12
+
13
+ review-firefox:
14
+ stage: review
15
+ rules:
16
+ - if: "$CI_COMMIT_TAG"
17
+ script:
18
+ - bash .gitlab-ci/scripts/bin/review.sh firefox
19
+
20
+ review-edge:
21
+ stage: review
22
+ rules:
23
+ - if: "$CI_COMMIT_TAG"
24
+ script:
25
+ - bash .gitlab-ci/scripts/bin/review.sh edge
@@ -0,0 +1,32 @@
1
+ tester:
2
+ stage: test
3
+ image: node:18
4
+ coverage: /Lines\s* [:] ([\d\.]+)%/
5
+ extends: .rules
6
+ script:
7
+ - npm ci
8
+ - npm run test:coverage
9
+ artifacts:
10
+ when: always
11
+ reports:
12
+ junit:
13
+ - junit.xml
14
+ coverage_report:
15
+ coverage_format: cobertura
16
+ path: coverage/cobertura-coverage.xml
17
+
18
+ linter:
19
+ stage: test
20
+ image: node:18
21
+ extends: .rules
22
+ script:
23
+ - npm ci
24
+ - npm run lint
25
+
26
+ audit:
27
+ allow_failure: true
28
+ stage: test
29
+ image: node:18
30
+ extends: .rules
31
+ script:
32
+ - npm audit
@@ -0,0 +1,63 @@
1
+ #!/usr/bin/env bash
2
+
3
+ # shellcheck disable=SC1091
4
+
5
+ set -eu
6
+
7
+ CI_SCRIPTS_DIR=$(dirname "$0")/..
8
+
9
+ # shellcheck source=.gitlab-ci/scripts/lib/version-check.sh
10
+ source "$CI_SCRIPTS_DIR"/lib/version-check.sh
11
+
12
+ function send_to_firefox() {
13
+ echo "not supported yet"
14
+ exit 1
15
+ }
16
+
17
+ function send_to_edge() {
18
+ echo "not supported yet"
19
+ exit 1
20
+ }
21
+
22
+ function send_to_chrome() {
23
+ local token
24
+ token=$(curl "https://www.googleapis.com/oauth2/v4/token" -H 'Content-Type: application/json' -d "$PAYLOAD_WS" | grep access_token | awk '{print $2}' | awk -F'"' '$0=$2')
25
+ local id="$1"
26
+ curl \
27
+ -H "Authorization: Bearer $token" \
28
+ -H "x-goog-api-version: 2" \
29
+ -H "Content-Length: 0" \
30
+ -X POST \
31
+ https://www.googleapis.com/chromewebstore/v1.1/items/"$id"/publish
32
+ }
33
+
34
+ if is_release_candidate "$CI_COMMIT_TAG"; then
35
+ case $1 in
36
+ chrome)
37
+ send_to_chrome "$PASSBOLT_TESTING_CHROME_ID"
38
+ ;;
39
+ firefox)
40
+ echo "We don't send RC for firefox to review"
41
+ ;;
42
+
43
+ edge)
44
+ echo "We don't send RC for edge to review"
45
+ ;;
46
+ *) echo "I don't recognize this option"
47
+ ;;
48
+ esac
49
+ else
50
+ case "$1" in
51
+ chrome)
52
+ send_to_chrome "$PASSBOLT_STABLE_CHROME_ID"
53
+ ;;
54
+ firefox)
55
+ send_to_firefox
56
+ ;;
57
+ edge)
58
+ send_to_edge
59
+ ;;
60
+ *) echo "I don't recognize this option"
61
+ ;;
62
+ esac
63
+ fi
@@ -0,0 +1,52 @@
1
+ #!/usr/bin/env bash
2
+
3
+ # shellcheck disable=SC1091
4
+
5
+ set -eu
6
+
7
+ CI_SCRIPTS_DIR=$(dirname "$0")/..
8
+
9
+ # shellcheck source=.gitlab-ci/scripts/lib/version-check.sh
10
+ source "$CI_SCRIPTS_DIR"/lib/version-check.sh
11
+
12
+ function send_to_chrome() {
13
+ local token
14
+ token=$(curl "https://www.googleapis.com/oauth2/v4/token" -H 'Content-Type: application/json' -d "$PAYLOAD_WS" | grep access_token | awk '{print $2}' | awk -F'"' '$0=$2')
15
+ local id="$1"
16
+ curl \
17
+ -H "Authorization: Bearer $token" \
18
+ -H "x-goog-api-version: 2" \
19
+ -X PUT \
20
+ -T "dist/chrome/passbolt-${CI_COMMIT_TAG#v}.zip" \
21
+ https://www.googleapis.com/upload/chromewebstore/v1.1/items/"$id"
22
+ }
23
+
24
+ if is_release_candidate "$CI_COMMIT_TAG"; then
25
+ case $1 in
26
+ chrome)
27
+ send_to_chrome "$PASSBOLT_TESTING_CHROME_ID"
28
+ ;;
29
+ firefox)
30
+ echo "We don't send RC for firefox to review"
31
+ ;;
32
+ edge)
33
+ echo "We don't send RC for edge to review"
34
+ ;;
35
+ *) echo "I don't recognize this option"
36
+ ;;
37
+ esac
38
+ else
39
+ case $1 in
40
+ chrome)
41
+ send_to_chrome "$PASSBOLT_STABLE_CHROME_ID"
42
+ ;;
43
+ firefox)
44
+ echo "We don't send RC for firefox to review"
45
+ ;;
46
+ edge)
47
+ echo "We don't send RC for edge to review"
48
+ ;;
49
+ *) echo "I don't recognize this option"
50
+ ;;
51
+ esac
52
+ fi
@@ -0,0 +1,33 @@
1
+ #!/bin/bash
2
+
3
+ # Variables required
4
+ # CI_PROJECT_NAME
5
+ # CI_PIPELINE_ID
6
+ # SLACK_CHANNEL_ID
7
+ # SLACK_WEBHOOK
8
+
9
+ title="$1"
10
+ url="$2"
11
+
12
+ curl -X POST -H 'Content-type: application/json' $SLACK_WEBHOOK \
13
+ --data-binary @- <<EOF
14
+ {
15
+ "channel": "$SLACK_CHANNEL_ID",
16
+ "attachments": [
17
+ {
18
+ "color": "#36A64F",
19
+ "title": "$title",
20
+ "attachment_type": "default",
21
+ "actions": [
22
+ {
23
+ "name": "Check it!",
24
+ "text": "Check it!",
25
+ "type": "button",
26
+ "style": "primary",
27
+ "url": "$url"
28
+ }
29
+ ]
30
+ }
31
+ ]
32
+ }
33
+ EOF
@@ -0,0 +1,29 @@
1
+ function setup_gpg_key() {
2
+ key_path="$1"
3
+ passphrase="$2"
4
+ grip="$3"
5
+
6
+ mkdir -p ~/.gnupg
7
+ echo "allow-preset-passphrase" > ~/.gnupg/gpg-agent.conf
8
+ gpg-agent --homedir ~/.gnupg --use-standard-socket --daemon
9
+ /usr/lib/gnupg2/gpg-preset-passphrase -c "$grip" <<< "$passphrase"
10
+ gpg --pinentry-mode loopback --passphrase "$passphrase" --import "$key_path"
11
+ }
12
+
13
+ function setup_git_user() {
14
+ local email="$1"
15
+ local name="$2"
16
+ git config --global user.email "$email"
17
+ git config --global user.name "$name"
18
+ git config --global commit.gpgsign true
19
+ git config --global user.signingkey "$email"
20
+ }
21
+
22
+ function create_git_tag() {
23
+ local passbolt_version="$1"
24
+ local passbolt_flavour="$2"
25
+ local filter="$3"
26
+ local component="$4"
27
+ local tag="$passbolt_version-$passbolt_flavour-$filter"
28
+ git tag -a "$tag" -m "Release $tag version for $component package" > /dev/null
29
+ }
@@ -0,0 +1,25 @@
1
+ # This function parses a tag in the form of:
2
+ # v3.11.0-rc.1
3
+ #
4
+ # All of the fields are mandatory:
5
+ # Version: v3.11.0-rc.1|v3.11.0
6
+ #
7
+ # It also provides the component based on if it is RC: testing|stable
8
+ function parse_tag() {
9
+ local tag=$1
10
+
11
+ if is_release_candidate "$tag"; then
12
+ echo "$tag" | awk -F '-' '{print $1"-"$2,"testing"}'
13
+ else
14
+ echo "$tag" | awk -F '-' '{print $1,"stable"}'
15
+ fi
16
+ }
17
+
18
+ function calculate_regex() {
19
+ local message="$1"
20
+ local default_value="$2"
21
+ local pattern="$3"
22
+
23
+ result="$(echo "$message" | sed -nE "s/.*\[.*($pattern: *)([^]|^ |^,]+).*\]/\\2/p")"
24
+ echo "${result:-$default_value}"
25
+ }
@@ -0,0 +1,25 @@
1
+ function is_valid_api_tag () {
2
+ if [[ ! $PASSBOLT_VERSION =~ [0-9]+\.[0-9]+\.[0-9]+ ]]; then
3
+ echo "Invalid version format: $PASSBOLT_VERSION"
4
+ return 1
5
+ fi
6
+ }
7
+
8
+ function is_release_candidate () {
9
+ local version=$1
10
+ if [[ ! $version =~ [0-9]+\.[0-9]+\.[0-9]+-rc\.[0-9]+ ]];then
11
+ return 1
12
+ fi
13
+ return 0
14
+ }
15
+
16
+ function validate_config_version_and_api_tag () {
17
+ local version_file="$1"
18
+ local version
19
+ version=$(echo "$PASSBOLT_VERSION" | tr -d 'v')
20
+
21
+ if ! grep -q "$version" "$version_file"; then
22
+ echo "Version number in version.php does not match the tag: $PASSBOLT_VERSION"
23
+ return 1
24
+ fi
25
+ }
package/.gitlab-ci.yml CHANGED
@@ -2,80 +2,20 @@ image: debian:stable-slim
2
2
 
3
3
  stages:
4
4
  - test
5
+ - build
6
+ - review
7
+ - release
8
+ - publish
5
9
 
6
- tester:
7
- stage: test
8
- image: node:16
9
- coverage: /Lines\s* [:] ([\d\.]+)%/
10
+ .rules:
10
11
  rules:
11
- - if: $CI_COMMIT_BRANCH && $CI_OPEN_MERGE_REQUESTS
12
+ - if: "$CI_COMMIT_BRANCH && $CI_OPEN_MERGE_REQUESTS"
12
13
  when: never
13
- - if: $CI_PIPELINE_SOURCE == "merge_request_event"
14
- - if: $CI_COMMIT_TAG
15
- - if: $CI_COMMIT_BRANCH
16
- script:
17
- - npm ci
18
- - npm run test:coverage
19
- artifacts:
20
- when: always
21
- reports:
22
- junit:
23
- - junit.xml
24
- coverage_report:
25
- coverage_format: cobertura
26
- path: coverage/cobertura-coverage.xml
14
+ - if: '$CI_PIPELINE_SOURCE == "merge_request_event" || $CI_COMMIT_TAG || $CI_COMMIT_BRANCH'
27
15
 
28
- linter:
29
- stage: test
30
- image: node:16
31
- rules:
32
- - if: $CI_COMMIT_BRANCH && $CI_OPEN_MERGE_REQUESTS
33
- when: never
34
- - if: $CI_PIPELINE_SOURCE == "merge_request_event"
35
- - if: $CI_COMMIT_TAG
36
- - if: $CI_COMMIT_BRANCH
37
- script:
38
- - npm ci
39
- - npm run eslint
40
-
41
- build:
42
- stage: test
43
- image: node:16
44
- rules:
45
- - if: $CI_PIPELINE_SOURCE == "merge_request_event"
46
- - if: $CI_COMMIT_TAG
47
- - if: $CI_COMMIT_BRANCH == "master"
48
- - if: $CI_COMMIT_BRANCH == "release"
49
- - if: $CI_COMMIT_BRANCH == "develop"
50
- script:
51
- - apt-get update
52
- - apt-get install zip
53
- - npm ci
54
- - npx grunt build
55
-
56
- build_mv3:
57
- stage: test
58
- image: node:16
59
- rules:
60
- - if: $CI_PIPELINE_SOURCE == "merge_request_event"
61
- - if: $CI_COMMIT_TAG
62
- - if: $CI_COMMIT_BRANCH == "master"
63
- - if: $CI_COMMIT_BRANCH == "release"
64
- - if: $CI_COMMIT_BRANCH == "develop"
65
- script:
66
- - apt-get update
67
- - apt-get install zip
68
- - npm ci
69
- - npx grunt build-chrome-mv3
70
-
71
- audit:
72
- stage: test
73
- image: node:16
74
- rules:
75
- - if: $CI_PIPELINE_SOURCE == "merge_request_event"
76
- - if: $CI_COMMIT_TAG
77
- - if: $CI_COMMIT_BRANCH == "master"
78
- - if: $CI_COMMIT_BRANCH == "release"
79
- - if: $CI_COMMIT_BRANCH == "develop"
80
- script:
81
- - npm audit
16
+ include:
17
+ - local: "/.gitlab-ci/jobs/build.yml"
18
+ - local: "/.gitlab-ci/jobs/test.yml"
19
+ - local: "/.gitlab-ci/jobs/review.yml"
20
+ - local: "/.gitlab-ci/jobs/publish.yml"
21
+ - local: ".gitlab-ci/jobs/release.yml"