passbolt-browser-extension 5.11.1 → 5.13.0-alpha.1

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 (404) hide show
  1. package/.devcontainer/Dockerfile +15 -0
  2. package/.devcontainer/devcontainer.json +31 -0
  3. package/.devcontainer/docker-compose.yml +11 -0
  4. package/.devcontainer/post-start.sh +20 -0
  5. package/.devcontainer/safe-chain-config.json +7 -0
  6. package/.devcontainer/safe-chain-shims.sh +10 -0
  7. package/.jpmignore +0 -1
  8. package/CHANGELOG.md +87 -4
  9. package/RELEASE_NOTES.md +2 -95
  10. package/build-safari-extension/Passbolt-Safari-Extension/Passbolt - password manager.xcodeproj/project.pbxproj +13 -11
  11. package/build-safari-extension/Passbolt-Safari-Extension/Passbolt - password manager.xcodeproj/xcshareddata/xcschemes/Passbolt-Safari-Extension.xcscheme +1 -1
  12. package/i18next.config.js +28 -0
  13. package/jest.config.json +1 -0
  14. package/package.json +33 -50
  15. package/{.gitlab-ci/scripts → scripts}/bin/publish.sh +2 -2
  16. package/{.gitlab-ci/scripts → scripts}/bin/publish_npm.sh +1 -1
  17. package/{.gitlab-ci/scripts → scripts}/bin/review.sh +1 -1
  18. package/src/all/background_page/controller/InformMenuController/InformMenuController.test.js +11 -11
  19. package/src/all/background_page/controller/account/verifyAccountPassphraseController.test.js +3 -3
  20. package/src/all/background_page/controller/accountRecovery/accountRecoveryGenerateOrganizationKeyController.test.js +1 -1
  21. package/src/all/background_page/controller/accountRecovery/accountRecoveryGetRequestController.test.js +3 -5
  22. package/src/all/background_page/controller/accountRecovery/accountRecoveryGetUserRequestsController.test.js +1 -1
  23. package/src/all/background_page/controller/accountRecovery/accountRecoveryLoginController.test.js +5 -6
  24. package/src/all/background_page/controller/accountRecovery/accountRecoverySaveOrganizationPolicyController.test.js +4 -5
  25. package/src/all/background_page/controller/accountRecovery/accountRecoverySaveUserSettingController.test.js +2 -2
  26. package/src/all/background_page/controller/accountRecovery/accountRecoveryValidateOrganizationPrivateKeyController.test.js +5 -6
  27. package/src/all/background_page/controller/accountRecovery/accountRecoveryValidatePublicKeyController.test.js +2 -3
  28. package/src/all/background_page/controller/accountRecovery/continueAccountRecoveryController.test.js +1 -1
  29. package/src/all/background_page/controller/accountRecovery/downloadOrganizationGenerateKeyController.test.js +1 -1
  30. package/src/all/background_page/controller/accountRecovery/recoverAccountController.test.js +7 -8
  31. package/src/all/background_page/controller/accountRecovery/reviewRequestController.test.js +14 -20
  32. package/src/all/background_page/{event → controller/actionLog}/findAllForActionLogController.js +1 -1
  33. package/src/all/background_page/{event → controller/actionLog}/findAllForActionLogController.test.js +4 -4
  34. package/src/all/background_page/controller/applicationOverlaid/IsApplicationOverlaidController.test.js +2 -4
  35. package/src/all/background_page/controller/auth/authLoginController.test.js +5 -6
  36. package/src/all/background_page/controller/auth/authVerifyServerKeyController.test.js +7 -16
  37. package/src/all/background_page/controller/autofill/AutofillController.test.js +2 -2
  38. package/src/all/background_page/controller/comment/createCommentController.test.js +3 -3
  39. package/src/all/background_page/controller/comment/deleteCommentController.test.js +3 -3
  40. package/src/all/background_page/controller/comment/getCommentsByRessourceidController.test.js +3 -5
  41. package/src/all/background_page/controller/crypto/checkPassphraseController.test.js +2 -2
  42. package/src/all/background_page/controller/crypto/downloadUserPrivateKeyController.test.js +1 -2
  43. package/src/all/background_page/controller/crypto/downloadUserPublicKeyController.test.js +1 -2
  44. package/src/all/background_page/controller/crypto/getKeyInfoController.test.js +1 -1
  45. package/src/all/background_page/controller/crypto/validatePrivateGpgKeySetupController.test.js +5 -6
  46. package/src/all/background_page/controller/export/exportResourcesFileController.test.js +6 -7
  47. package/src/all/background_page/controller/exportPolicies/findExportPoliciesSettingsController.test.js +1 -1
  48. package/src/all/background_page/controller/extension/isExtensionAllowedOnEveryWebsiteController.test.js +1 -1
  49. package/src/all/background_page/controller/extension/openSafariExtensionSettingsController.test.js +1 -1
  50. package/src/all/background_page/controller/extension/startCheckingForPermissionUpdateController.test.js +1 -1
  51. package/src/all/background_page/controller/extension/stopCheckingForPermissionUpdateController.test.js +1 -1
  52. package/src/all/background_page/controller/folder/findFolderDetailsController.test.js +1 -1
  53. package/src/all/background_page/controller/folder/folderCreateController.js +3 -1
  54. package/src/all/background_page/controller/group/findMyGroupsController.test.js +2 -2
  55. package/src/all/background_page/controller/group/getOrFindGroupsController.js +61 -0
  56. package/src/all/background_page/controller/group/getOrFindGroupsController.test.js +69 -0
  57. package/src/all/background_page/controller/group/getOrFindGroupsUsersController.js +62 -0
  58. package/src/all/background_page/controller/group/getOrFindGroupsUsersController.test.js +69 -0
  59. package/src/all/background_page/controller/group/groupCreateController.js +1 -1
  60. package/src/all/background_page/controller/group/groupCreateController.test.js +1 -1
  61. package/src/all/background_page/controller/group/groupUpdateController.js +1 -1
  62. package/src/all/background_page/controller/group/updateAllGroupsLocalStorageController.test.js +1 -1
  63. package/src/all/background_page/controller/import/importResourcesFileController.test.js +17 -19
  64. package/src/all/background_page/controller/keyring/synchroniseKeyringController.js +51 -0
  65. package/src/all/background_page/controller/keyring/synchroniseKeyringController.test.js +49 -0
  66. package/src/all/background_page/controller/metadata/enableEncryptedMetadataForExistingInstanceController.test.js +1 -1
  67. package/src/all/background_page/controller/metadata/enableMetadataSetupSettingsController.test.js +2 -2
  68. package/src/all/background_page/controller/metadata/findMetadataSetupSettingsController.test.js +1 -1
  69. package/src/all/background_page/controller/metadata/keepCleartextMetadataForExistingInstanceController.test.js +1 -1
  70. package/src/all/background_page/controller/metadata/shareMetadataKeyPrivateController.test.js +1 -1
  71. package/src/all/background_page/controller/move/moveFolderController.js +0 -2
  72. package/src/all/background_page/controller/move/moveResourcesController.test.js +2 -2
  73. package/src/all/background_page/controller/passwordExpiry/deletePasswordExpirySettingsController.test.js +2 -2
  74. package/src/all/background_page/controller/permission/FindAcoPermissionsForDisplayController.js +1 -1
  75. package/src/all/background_page/controller/permission/FindAcoPermissionsForDisplayController.test.js +2 -2
  76. package/src/all/background_page/controller/recover/generateRecoverAccountRecoveryRequestKeyController.test.js +1 -1
  77. package/src/all/background_page/controller/recover/startRecoverController.test.js +2 -2
  78. package/src/all/background_page/controller/resource/findAllByIdsForDisplayPermissionsController.test.js +1 -1
  79. package/src/all/background_page/controller/resource/findAllIdsByIsSharedWithGroupController.test.js +1 -1
  80. package/src/all/background_page/controller/resource/resourceCreateController.js +1 -1
  81. package/src/all/background_page/controller/resource/resourceCreateController.test.js +1 -1
  82. package/src/all/background_page/controller/resource/resourceUpdateController.test.js +2 -3
  83. package/src/all/background_page/controller/resource/updateResourceLocalStorageByFolderParentIdController.test.js +1 -1
  84. package/src/all/background_page/controller/role/findAllRoleControler.test.js +1 -1
  85. package/src/all/background_page/controller/role/rolesUpdateLocalStorageController.test.js +1 -1
  86. package/src/all/background_page/controller/scimSettings/createScimSettingsController.test.js +2 -2
  87. package/src/all/background_page/controller/scimSettings/disableScimSettingsController.test.js +1 -1
  88. package/src/all/background_page/controller/scimSettings/findScimSettingsController.test.js +1 -1
  89. package/src/all/background_page/controller/scimSettings/updateScimSettingsController.test.js +1 -1
  90. package/src/all/background_page/controller/secretRevision/findResourceSecretRevisionsForDisplayController.test.js +3 -3
  91. package/src/all/background_page/controller/setup/downloadRecoverKitController.test.js +1 -1
  92. package/src/all/background_page/controller/setup/setSetupAccountRecoveryUserSettingController.test.js +1 -1
  93. package/src/all/background_page/controller/setup/setSetupLocaleController.test.js +1 -1
  94. package/src/all/background_page/controller/setup/signInSetupController.test.js +3 -3
  95. package/src/all/background_page/controller/setup/startSetupController.test.js +3 -3
  96. package/src/all/background_page/controller/setup/verifyImportedKeyPassphraseController.test.js +3 -3
  97. package/src/all/background_page/controller/share/findFoldersForShareController.js +66 -0
  98. package/src/all/background_page/controller/share/findFoldersForShareController.test.js +70 -0
  99. package/src/all/background_page/controller/share/searchUsersAndGroupsController.js +4 -4
  100. package/src/all/background_page/controller/share/searchUsersAndGroupsController.test.js +8 -23
  101. package/src/all/background_page/controller/share/shareOneFolderController.test.js +3 -5
  102. package/src/all/background_page/controller/share/shareResourcesController.test.js +7 -9
  103. package/src/all/background_page/controller/sso/hasSsoLoginErrorController.test.js +1 -2
  104. package/src/all/background_page/controller/sso/ssoAuthenticationController.test.js +1 -2
  105. package/src/all/background_page/controller/tab/openAdministrationPageController.test.js +1 -1
  106. package/src/all/background_page/controller/tab/openTrustedDomainTabController.test.js +1 -1
  107. package/src/all/background_page/controller/tab/openWebsiteGettingStartedPageController.test.js +1 -1
  108. package/src/all/background_page/controller/tag/addTagsToResourcesController.test.js +4 -6
  109. package/src/all/background_page/controller/tag/findTagsController.test.js +1 -1
  110. package/src/all/background_page/controller/user/deleteUserController.test.js +1 -1
  111. package/src/all/background_page/controller/user/getOrFindUsersController.js +61 -0
  112. package/src/all/background_page/controller/user/getOrFindUsersController.test.js +69 -0
  113. package/src/all/background_page/error/deleteDryRunError.js +1 -1
  114. package/src/all/background_page/event/actionLogEvents.js +1 -1
  115. package/src/all/background_page/event/appSignOutEvents.js +23 -0
  116. package/src/all/background_page/event/groupEvents.js +26 -0
  117. package/src/all/background_page/event/keyringEvents.js +12 -0
  118. package/src/all/background_page/event/shareEvents.js +3 -9
  119. package/src/all/background_page/event/userEvents.js +13 -0
  120. package/src/all/background_page/model/actionLog/findActionLogService.test.js +2 -2
  121. package/src/all/background_page/model/comment/commentService.test.js +3 -3
  122. package/src/all/background_page/model/config.js +12 -2
  123. package/src/all/background_page/model/entity/accountRecovery/accountRecoveryOrganizationPolicyChangeEntity.test.js +2 -3
  124. package/src/all/background_page/model/entity/accountRecovery/accountRecoveryOrganizationPolicyEntity.test.js +2 -3
  125. package/src/all/background_page/model/entity/accountRecovery/accountRecoveryOrganizationPublicKeyEntity.test.js +2 -3
  126. package/src/all/background_page/model/entity/folder/folderEntity.js +2 -2
  127. package/src/all/background_page/model/entity/folder/folderEntity.test.js +2 -2
  128. package/src/all/background_page/model/entity/folder/foldersCollection.test.js +1 -1
  129. package/src/all/background_page/model/entity/gpgkey/generate/generateGpgKeyPairOptionsEntity.test.js +2 -2
  130. package/src/all/background_page/model/entity/group/update/groupUpdateEntity.js +1 -1
  131. package/src/all/background_page/model/entity/group/update/groupUpdateEntity.test.js +1 -1
  132. package/src/all/background_page/model/entity/group/update/groupUpdatesCollection.test.js +1 -1
  133. package/src/all/background_page/model/entity/passwordPolicies/passphraseGeneratorSettingsEntity.test.js +2 -3
  134. package/src/all/background_page/model/entity/passwordPolicies/passwordGeneratorSettingsEntity.test.js +2 -3
  135. package/src/all/background_page/model/entity/passwordPolicies/passwordPoliciesEntity.test.js +4 -5
  136. package/src/all/background_page/model/entity/permission/actionLog/updatedPermissionEntity.js +2 -2
  137. package/src/all/background_page/model/entity/permission/actionLog/updatedPermissionEntity.test.data.js +1 -1
  138. package/src/all/background_page/model/entity/permission/change/permissionChangeEntity.js +1 -1
  139. package/src/all/background_page/model/entity/permission/change/permissionChangesCollection.js +2 -2
  140. package/src/all/background_page/model/entity/permission/change/permissionChangesCollection.test.js +2 -2
  141. package/src/all/background_page/model/entity/plaintext/plaintextEntity.js +9 -0
  142. package/src/all/background_page/model/entity/plaintext/plaintextEntity.test.js +33 -2
  143. package/src/all/background_page/model/entity/rememberMe/userRememberMeLatestChoiceEntity.test.js +1 -1
  144. package/src/all/background_page/model/entity/resource/external/externalResourceEntity.js +33 -0
  145. package/src/all/background_page/model/entity/resource/external/externalResourceEntity.test.js +64 -1
  146. package/src/all/background_page/model/entity/resource/resourceEntity.js +2 -2
  147. package/src/all/background_page/model/entity/resource/resourceEntity.test.js +1 -1
  148. package/src/all/background_page/model/entity/sso/ssoLoginUrlEntity.test.js +4 -5
  149. package/src/all/background_page/model/entity/totp/totpEntity.test.js +2 -3
  150. package/src/all/background_page/model/entity/user/userEntity.js +16 -377
  151. package/src/all/background_page/model/entity/user/userEntity.test.js +22 -297
  152. package/src/all/background_page/model/entity/userAndGroupSearchResultEntity/userAndGroupSearchResultEntity.js +1 -1
  153. package/src/all/background_page/model/export/resources/resourcesKdbxExporter.test.js +68 -0
  154. package/src/all/background_page/model/folder/folderModel.js +5 -154
  155. package/src/all/background_page/model/group/groupModel.js +1 -1
  156. package/src/all/background_page/model/import/resources/csvRowParser/csv1PasswordRowParser.js +1 -0
  157. package/src/all/background_page/model/import/resources/csvRowParser/csvBitWardenRowParser.js +1 -0
  158. package/src/all/background_page/model/import/resources/csvRowParser/csvChromiumRowParser.js +1 -0
  159. package/src/all/background_page/model/import/resources/csvRowParser/csvDashlaneRowParser.js +1 -0
  160. package/src/all/background_page/model/import/resources/csvRowParser/csvKdbxRowParser.js +1 -0
  161. package/src/all/background_page/model/import/resources/csvRowParser/csvLastPassRowParser.js +1 -0
  162. package/src/all/background_page/model/import/resources/csvRowParser/csvLogMeOnceRowParser.js +1 -0
  163. package/src/all/background_page/model/import/resources/csvRowParser/csvMozillaPlatformRowParser.js +1 -0
  164. package/src/all/background_page/model/import/resources/csvRowParser/csvNordpassRowParser.js +1 -0
  165. package/src/all/background_page/model/import/resources/csvRowParser/csvSafariRowParser.js +1 -0
  166. package/src/all/background_page/model/import/resources/resourcesCsvImportParser.test.js +6 -7
  167. package/src/all/background_page/model/import/resources/resourcesKdbxImportParser.js +1 -0
  168. package/src/all/background_page/model/import/resources/resourcesTypeImportParser.js +60 -0
  169. package/src/all/background_page/model/import/resources/resourcesTypeImportParser.test.js +398 -42
  170. package/src/all/background_page/model/passwordExpiry/passwordExpirySettingsModel.test.js +2 -2
  171. package/src/all/background_page/model/resource/resourceModel.js +2 -55
  172. package/src/all/background_page/model/resourceType/resourceTypeModel.test.js +1 -1
  173. package/src/all/background_page/model/setup/setupModel.js +2 -2
  174. package/src/all/background_page/model/user/userModel.js +16 -12
  175. package/src/all/background_page/model/userPassphrasePolicies/userPassphrasePoliciesModel.test.js +1 -1
  176. package/src/all/background_page/model/userSettings/userSettings.test.js +2 -2
  177. package/src/all/background_page/pagemod/accountRecoveryBootstrapPagemod.test.js +2 -3
  178. package/src/all/background_page/pagemod/appBootstrapPagemod.test.js +2 -3
  179. package/src/all/background_page/pagemod/appPagemod.js +9 -1
  180. package/src/all/background_page/pagemod/appPagemod.test.js +32 -2
  181. package/src/all/background_page/pagemod/authBootstrapPagemod.test.js +2 -3
  182. package/src/all/background_page/pagemod/publicWebsiteSignInPagemod.test.js +2 -3
  183. package/src/all/background_page/pagemod/recoverBootstrapPagemod.test.js +4 -5
  184. package/src/all/background_page/pagemod/setupBootstrapPagemod.test.js +4 -5
  185. package/src/all/background_page/pagemod/webIntegrationPagemod.test.js +2 -3
  186. package/src/all/background_page/service/accountRecovery/decryptPrivateKeyPasswordDataService.test.js +6 -6
  187. package/src/all/background_page/service/accountRecovery/decryptResponseDataService.test.js +5 -7
  188. package/src/all/background_page/service/accountRecovery/parseAccountRecoveryUrlService.test.js +6 -7
  189. package/src/all/background_page/service/accountRecovery/validateOrganizationPublicKeyService.test.js +2 -3
  190. package/src/all/background_page/service/api/accountRecovery/validateAccountRecoveryOrganizationPrivateKeyService.test.js +2 -2
  191. package/src/all/background_page/service/api/favorite/favoriteApiService.test.js +9 -9
  192. package/src/all/background_page/service/api/group/groupApiService.js +20 -10
  193. package/src/all/background_page/service/api/group/groupApiService.test.js +70 -0
  194. package/src/all/background_page/service/api/metadata/metadataKeysApiService.test.js +6 -6
  195. package/src/all/background_page/service/api/metadata/metadataRotateKeysResourcesApiService.test.js +2 -2
  196. package/src/all/background_page/service/api/metadata/metadataSetupSettingsApiService.test.js +1 -1
  197. package/src/all/background_page/service/api/secretRevision/resourceSecretRevisionApiService.test.js +4 -4
  198. package/src/all/background_page/service/api/secretRevision/secretRevisionsSettingsApiService.test.js +6 -6
  199. package/src/all/background_page/service/api/share/{shareService.js → shareApiService.js} +10 -7
  200. package/src/all/background_page/service/api/share/{shareService.test.js → shareApiService.test.js} +5 -5
  201. package/src/all/background_page/service/app/parseAppUrlService.test.js +5 -6
  202. package/src/all/background_page/service/auth/authVerifyServerChallengeService.test.js +2 -4
  203. package/src/all/background_page/service/auth/decryptUserAuthTokenService.test.js +8 -10
  204. package/src/all/background_page/service/auth/parseAuthUrlService.test.js +4 -5
  205. package/src/all/background_page/service/authenticationStatusService.test.js +2 -4
  206. package/src/all/background_page/service/clipboard/copyToClipboardService.test.js +2 -2
  207. package/src/all/background_page/service/crypto/decryptPrivateKeyService.test.js +1 -1
  208. package/src/all/background_page/service/crypto/decryptSecretsService.js +4 -0
  209. package/src/all/background_page/service/crypto/decryptSecretsService.test.js +8 -3
  210. package/src/all/background_page/service/crypto/encryptPrivateKeyService.test.js +1 -1
  211. package/src/all/background_page/service/crypto/generateGpgKeyPairService.test.js +1 -1
  212. package/src/all/background_page/service/crypto/generateSsoKeyService.test.js +2 -3
  213. package/src/all/background_page/service/crypto/getGpgKeyCreationDateService.test.js +1 -1
  214. package/src/all/background_page/service/crypto/getSessionKeyService.test.js +5 -5
  215. package/src/all/background_page/service/crypto/signMessageService.test.js +4 -10
  216. package/src/all/background_page/service/crypto/verifyMessageSign.test.js +8 -10
  217. package/src/all/background_page/service/execute/executeConcurrentlyService.test.js +4 -4
  218. package/src/all/background_page/service/exportPolicies/findExportPoliciesSettingsService.test.js +1 -1
  219. package/src/all/background_page/service/extension/openSafariExtensionSettingsService.test.js +1 -1
  220. package/src/all/background_page/service/folder/findFoldersService.test.js +7 -11
  221. package/src/all/background_page/service/folder/getOrFindFoldersService.test.js +1 -3
  222. package/src/all/background_page/service/group/createGroupService.js +1 -1
  223. package/src/all/background_page/service/group/createGroupService.test.js +2 -2
  224. package/src/all/background_page/service/group/findAndUpdateGroupsLocalStorageService.js +56 -1
  225. package/src/all/background_page/service/group/findAndUpdateGroupsLocalStorageService.test.js +84 -2
  226. package/src/all/background_page/service/group/findGroupsService.js +3 -3
  227. package/src/all/background_page/service/group/findGroupsService.test.data.js +1 -1
  228. package/src/all/background_page/service/group/findGroupsService.test.js +1 -1
  229. package/src/all/background_page/service/group/getOrFindGroupsService.js +65 -0
  230. package/src/all/background_page/service/group/getOrFindGroupsService.test.js +168 -0
  231. package/src/all/background_page/service/group/getOrFindGroupsUsersService.js +51 -0
  232. package/src/all/background_page/service/group/getOrFindGroupsUsersService.test.js +94 -0
  233. package/src/all/background_page/service/group/groupUpdateService.js +38 -4
  234. package/src/all/background_page/service/group/groupUpdateService.test.js +12 -7
  235. package/src/all/background_page/service/local_storage/folderLocalStorage.test.js +1 -1
  236. package/src/all/background_page/service/local_storage/groupLocalStorage.js +2 -2
  237. package/src/all/background_page/service/local_storage/groupLocalStorage.test.js +12 -18
  238. package/src/all/background_page/service/local_storage/resourceLocalStorage.test.js +1 -1
  239. package/src/all/background_page/service/local_storage/userLocalStorage.js +57 -36
  240. package/src/all/background_page/service/local_storage/userLocalStorage.test.js +282 -0
  241. package/src/all/background_page/service/metadata/configureMetadataSettingsService.test.js +11 -11
  242. package/src/all/background_page/service/metadata/createMetadataKeyService.test.js +3 -3
  243. package/src/all/background_page/service/metadata/decryptMetadataPrivateKeysService.test.js +10 -8
  244. package/src/all/background_page/service/metadata/decryptMetadataService.test.js +9 -7
  245. package/src/all/background_page/service/metadata/deleteMetadataKeyService.test.js +1 -1
  246. package/src/all/background_page/service/metadata/encryptMetadataPrivateKeysService.test.js +14 -10
  247. package/src/all/background_page/service/metadata/encryptMetadataService.test.js +14 -10
  248. package/src/all/background_page/service/metadata/expireMetadataKeyService.test.js +1 -1
  249. package/src/all/background_page/service/metadata/findMetadataKeysService.test.js +4 -4
  250. package/src/all/background_page/service/metadata/findMetadataSetupSettingsService.test.js +1 -1
  251. package/src/all/background_page/service/metadata/saveMetadataSettingsService.test.js +1 -1
  252. package/src/all/background_page/service/metadata/shareMetadataKeyPrivateService.test.js +1 -1
  253. package/src/all/background_page/service/migrateMetadata/migrateMetadataResourcesService.js +1 -1
  254. package/src/all/background_page/service/move/calculatePermissionsChangesForMoveService.js +113 -0
  255. package/src/all/background_page/service/move/calculatePermissionsChangesForMoveService.test.data.js +38 -0
  256. package/src/all/background_page/service/move/calculatePermissionsChangesForMoveService.test.js +158 -0
  257. package/src/all/background_page/service/move/moveOneFolderService.js +6 -7
  258. package/src/all/background_page/service/move/moveOneFolderService.test.js +93 -93
  259. package/src/all/background_page/service/move/moveResourcesService.js +4 -7
  260. package/src/all/background_page/service/move/moveResourcesService.test.js +72 -0
  261. package/src/all/background_page/service/permission/findPermissionsService.js +1 -1
  262. package/src/all/background_page/service/publicWebsite/parsePublicWebsiteUrlService.test.js +4 -5
  263. package/src/all/background_page/service/rbac/findRbacService.test.js +2 -2
  264. package/src/all/background_page/service/recover/buildAccountRecoverService.test.js +2 -2
  265. package/src/all/background_page/service/recover/parseRecoverUrlService.test.js +10 -11
  266. package/src/all/background_page/service/resource/create/resourceCreateService.js +14 -32
  267. package/src/all/background_page/service/resource/create/resourceCreateService.test.js +24 -18
  268. package/src/all/background_page/service/resource/export/exportResourcesService.js +1 -1
  269. package/src/all/background_page/service/resource/export/exportResourcesService.test.data.js +16 -5
  270. package/src/all/background_page/service/resource/export/exportResourcesService.test.js +48 -13
  271. package/src/all/background_page/service/resource/findResourcesService.test.js +7 -9
  272. package/src/all/background_page/service/resource/import/ImportResourcesService.test.js +4 -5
  273. package/src/all/background_page/service/resource/update/resourceUpdateLocalStorageService.test.js +2 -6
  274. package/src/all/background_page/service/resourceType/updateResourceTypesService.test.js +3 -2
  275. package/src/all/background_page/service/role/findRolesService.test.js +2 -2
  276. package/src/all/background_page/service/scimSettings/updateScimSettingsService.test.js +1 -1
  277. package/src/all/background_page/service/secretRevisions/deleteSecretRevisionsSettingsService.test.js +1 -1
  278. package/src/all/background_page/service/secretRevisions/findAndDecryptSecretRevisionsService.test.js +5 -7
  279. package/src/all/background_page/service/secretRevisions/findSecretRevisionsService.test.js +7 -7
  280. package/src/all/background_page/service/secretRevisions/saveSecretRevisionsSettingsService.test.js +2 -2
  281. package/src/all/background_page/service/sessionKey/decryptSessionKeysBundlesService.test.js +6 -6
  282. package/src/all/background_page/service/sessionKey/encryptSessionKeysBundlesService.test.js +4 -4
  283. package/src/all/background_page/service/sessionKey/findSessionKeysService.test.js +1 -1
  284. package/src/all/background_page/service/sessionKey/getOrFindSessionKeysService.test.js +2 -6
  285. package/src/all/background_page/service/sessionStorage/sessionKeysBundlesSessionStorageService.test.js +1 -1
  286. package/src/all/background_page/service/session_storage/keepSessionAliveService.js +3 -3
  287. package/src/all/background_page/service/session_storage/keepSessionAliveService.test.js +5 -3
  288. package/src/all/background_page/service/session_storage/metadataKeysSessionStorage.test.js +4 -4
  289. package/src/all/background_page/service/setup/buildAccountSetupService.test.js +2 -2
  290. package/src/all/background_page/service/setup/parseSetupUrlService.test.js +6 -9
  291. package/src/all/background_page/service/share/searchUsersAndGroupsService.js +41 -0
  292. package/src/all/background_page/service/share/searchUsersAndGroupsService.test.js +64 -0
  293. package/src/all/background_page/service/share/shareFoldersService.js +3 -3
  294. package/src/all/background_page/service/share/shareFoldersService.test.js +3 -3
  295. package/src/all/background_page/service/share/shareResourceService.js +4 -4
  296. package/src/all/background_page/service/share/shareResourceService.test.js +18 -21
  297. package/src/all/background_page/service/sso/generateSsoKitService.test.js +1 -1
  298. package/src/all/background_page/service/sso/popupHandlerService.test.js +2 -7
  299. package/src/all/background_page/service/tab/tabService.js +0 -22
  300. package/src/all/background_page/service/tab/tabService.test.js +0 -58
  301. package/src/all/background_page/service/tag/deleteTagService.test.js +6 -6
  302. package/src/all/background_page/service/tag/findTagsService.test.js +1 -1
  303. package/src/all/background_page/service/tag/updateResourceTagsService.test.js +25 -19
  304. package/src/all/background_page/service/tag/updateTagService.test.js +6 -6
  305. package/src/all/background_page/service/ui/browserTab.service.test.js +10 -10
  306. package/src/all/background_page/service/ui/openWebsiteGettingStartedPageService.test.js +1 -1
  307. package/src/all/background_page/service/user/deleteUserService.js +4 -4
  308. package/src/all/background_page/service/user/deleteUserService.test.js +10 -10
  309. package/src/all/background_page/service/user/findAndUpdateUsersLocalStorageService.js +81 -0
  310. package/src/all/background_page/service/user/findAndUpdateUsersLocalStorageService.test.js +132 -0
  311. package/src/all/background_page/service/user/findUsersService.js +6 -6
  312. package/src/all/background_page/service/user/findUsersService.test.js +39 -38
  313. package/src/all/background_page/service/user/getOrFindUsersService.js +60 -0
  314. package/src/all/background_page/service/user/getOrFindUsersService.test.js +110 -0
  315. package/src/all/background_page/service/webIntegration/parseWebIntegrationUrlService.test.js +4 -5
  316. package/src/all/background_page/service/webNavigation/webNavigationService.js +4 -3
  317. package/src/all/background_page/service/webNavigation/webNavigationService.test.js +2 -2
  318. package/src/all/background_page/utils/assertions.test.js +20 -21
  319. package/src/all/background_page/utils/openpgp/openpgpAssertions.test.js +11 -17
  320. package/src/all/contentScripts/js/message/messageEventHandler.test.js +7 -11
  321. package/src/all/locales/cs-CZ/common.json +1 -1
  322. package/src/all/locales/de-DE/common.json +1 -1
  323. package/src/all/locales/en-UK/common.json +1 -1
  324. package/src/all/locales/es-ES/common.json +1 -1
  325. package/src/all/locales/fr-FR/common.json +1 -1
  326. package/src/all/locales/it-IT/common.json +1 -1
  327. package/src/all/locales/ja-JP/common.json +1 -1
  328. package/src/all/locales/ko-KR/common.json +1 -1
  329. package/src/all/locales/lt-LT/common.json +1 -1
  330. package/src/all/locales/nl-NL/common.json +1 -1
  331. package/src/all/locales/pl-PL/common.json +1 -1
  332. package/src/all/locales/pt-BR/common.json +1 -1
  333. package/src/all/locales/ro-RO/common.json +1 -1
  334. package/src/all/locales/ru-RU/common.json +1 -1
  335. package/src/all/locales/sl-SI/common.json +1 -1
  336. package/src/all/locales/sv-SE/common.json +1 -1
  337. package/src/all/locales/uk-UA/common.json +1 -1
  338. package/src/chrome/manifest.json +1 -1
  339. package/src/chrome-mv3/manifest.json +1 -1
  340. package/src/chrome-mv3/offscreens/service/network/fetchOffscreenService.test.js +4 -5
  341. package/src/chrome-mv3/serviceWorker/service/network/requestFetchOffscreenService.test.js +14 -18
  342. package/src/chrome-mv3/serviceWorker/service/network/responseFetchOffscreenService.test.js +8 -9
  343. package/src/firefox/manifest.json +2 -2
  344. package/src/safari/background_page/index.js +2 -2
  345. package/src/safari/background_page/service/cookies/cookiesService.test.js +2 -2
  346. package/src/safari/background_page/service/nativeMessage/sendNativeMessageService.test.js +4 -4
  347. package/src/safari/manifest.json +1 -1
  348. package/test/jest.env-setup.js +31 -0
  349. package/webpack/applyOutputClean.js +69 -0
  350. package/webpack/base.config.js +33 -0
  351. package/webpack/common-blocks.js +91 -0
  352. package/webpack/expectedBuildArtifacts.js +51 -0
  353. package/webpack/i18nextExtractionPlugin.js +43 -0
  354. package/webpack/passboltEnvPlugin.js +41 -0
  355. package/webpack/webExtPlugin/index.js +75 -0
  356. package/webpack.chromium-mv2.config.js +40 -0
  357. package/webpack.chromium-mv3.config.js +40 -0
  358. package/webpack.common.config.js +186 -0
  359. package/webpack.config.js +38 -0
  360. package/webpack.firefox.config.js +40 -0
  361. package/webpack.mv2.config.js +65 -0
  362. package/webpack.mv3.config.js +99 -0
  363. package/webpack.safari-background-page.config.js +66 -57
  364. package/webpack.safari.config.js +44 -0
  365. package/.gitlab-ci/jobs/build.yml +0 -60
  366. package/.gitlab-ci/jobs/publish.yml +0 -58
  367. package/.gitlab-ci/jobs/release.yml +0 -21
  368. package/.gitlab-ci/jobs/review.yml +0 -25
  369. package/.gitlab-ci/jobs/test.yml +0 -32
  370. package/.gitlab-ci.yml +0 -21
  371. package/Gruntfile.js +0 -471
  372. package/i18next-parser.config.js +0 -22
  373. package/src/all/background_page/config/config.json +0 -7
  374. package/src/all/background_page/config/config.json.debug +0 -7
  375. package/src/all/background_page/config/config.json.default +0 -7
  376. package/src/all/background_page/model/entity/group/groupEntity.js +0 -241
  377. package/src/all/background_page/model/entity/group/groupEntity.test.js +0 -136
  378. package/src/all/background_page/model/entity/group/groupsCollection.js +0 -166
  379. package/src/all/background_page/model/entity/group/groupsCollection.test.data.js +0 -34
  380. package/src/all/background_page/model/entity/group/groupsCollection.test.js +0 -227
  381. package/src/all/background_page/model/entity/permission/permissionEntity.js +0 -485
  382. package/src/all/background_page/model/entity/permission/permissionEntity.test.js +0 -263
  383. package/src/all/background_page/model/entity/permission/permissionsCollection.js +0 -486
  384. package/src/all/background_page/model/entity/permission/permissionsCollection.test.js +0 -700
  385. package/src/all/background_page/model/entity/user/usersCollection.js +0 -147
  386. package/src/all/background_page/model/entity/user/usersCollection.test.js +0 -223
  387. package/src/all/background_page/model/share/shareModel.js +0 -183
  388. package/src/all/background_page/model/share/shareModel.test.js +0 -61
  389. package/src/all/background_page/service/api/user/userService.js +0 -260
  390. package/src/all/background_page/service/resource/create/resourceCreateService.test.data.js +0 -55
  391. package/webpack-content-scripts.browser-integration.config.js +0 -57
  392. package/webpack-content-scripts.config.js +0 -61
  393. package/webpack-content-scripts.public-website-sign-in.config.js +0 -57
  394. package/webpack-data.config.js +0 -102
  395. package/webpack-data.download.config.js +0 -59
  396. package/webpack-data.in-form-call-to-action.config.js +0 -97
  397. package/webpack-data.in-form-menu.config.js +0 -97
  398. package/webpack-offscreens.config.js +0 -55
  399. package/webpack.background-page.config.js +0 -62
  400. package/webpack.service-worker.config.js +0 -65
  401. /package/{.gitlab-ci/scripts → scripts}/bin/slack-status-messages.sh +0 -0
  402. /package/{.gitlab-ci/scripts → scripts}/lib/git-helpers.sh +0 -0
  403. /package/{.gitlab-ci/scripts → scripts}/lib/set-env.sh +0 -0
  404. /package/{.gitlab-ci/scripts → scripts}/lib/version-check.sh +0 -0
@@ -0,0 +1,15 @@
1
+ FROM mcr.microsoft.com/devcontainers/typescript-node:22
2
+
3
+ RUN npm install -g @aikidosec/safe-chain \
4
+ && install -d -o node -g node /home/node/.safe-chain \
5
+ && su node -c "safe-chain setup-ci"
6
+ COPY --chown=node:node safe-chain-config.json /home/node/.safe-chain/config.json
7
+ COPY safe-chain-shims.sh /etc/profile.d/safe-chain-shims.sh
8
+ RUN chmod 0644 /etc/profile.d/safe-chain-shims.sh \
9
+ && printf '\n# Force safe-chain shims to front of PATH for non-login shells\n[ -f /etc/profile.d/safe-chain-shims.sh ] && . /etc/profile.d/safe-chain-shims.sh\n' \
10
+ >> /etc/bash.bashrc
11
+ ENV PATH="/home/node/.safe-chain/shims:${PATH}"
12
+
13
+ RUN curl -fsSL https://claude.ai/install.sh | bash -s stable \
14
+ && cp /root/.local/bin/claude /usr/local/bin/claude
15
+
@@ -0,0 +1,31 @@
1
+ // @see: https://containers.dev/implementors/json_reference/#general-properties
2
+ {
3
+ "name": "[passbolt-browser-extension] Devcontainer",
4
+ "dockerComposeFile": "docker-compose.yml",
5
+ "service": "devcontainer",
6
+ "workspaceFolder": "/workspaces/passbolt-browser-extension",
7
+ "features": {
8
+ "ghcr.io/devcontainers/features/git:1": {}
9
+ },
10
+ "customizations": {
11
+ "vscode": {
12
+ "extensions": [
13
+ "Anthropic.claude-code",
14
+ "dbaeumer.vscode-eslint",
15
+ "esbenp.prettier-vscode",
16
+ "Orta.vscode-jest"
17
+ ]
18
+ },
19
+ "jetbrains": {
20
+ "plugins": [
21
+ "com.anthropic.code.plugin",
22
+ "com.intellij.reactivestreams",
23
+ "intellij.prettierJS"
24
+ ]
25
+ }
26
+ },
27
+ "remoteUser": "node",
28
+ "initializeCommand": "mkdir -p ${localEnv:HOME}/.claude/managed-settings && cp \"/Library/Application Support/ClaudeCode/managed-settings.json\" ${localEnv:HOME}/.claude/managed-settings/ 2>/dev/null || true",
29
+ "postCreateCommand": "npm install && echo 'Dev environment is ready!'",
30
+ "postStartCommand": "chmod +x .devcontainer/post-start.sh && .devcontainer/post-start.sh"
31
+ }
@@ -0,0 +1,11 @@
1
+ services:
2
+ devcontainer:
3
+ build:
4
+ context: .
5
+ dockerfile: Dockerfile
6
+ container_name: passbolt-browser-extension-devcontainer
7
+ volumes:
8
+ - ..:/workspaces/passbolt-browser-extension:cached
9
+ - ${HOME}/.claude:/home/node/.claude:cached
10
+ - ${HOME}/.claude/managed-settings:/etc/claude-code:ro
11
+ command: sleep infinity
@@ -0,0 +1,20 @@
1
+ #!/bin/bash
2
+ set -e
3
+
4
+ echo "==> Checking Claude mounts..."
5
+ ERRORS=0
6
+
7
+ if [ ! -d "$HOME/.claude" ]; then
8
+ echo "ERROR: ~/.claude directory is not mounted"
9
+ ERRORS=$((ERRORS + 1))
10
+ else
11
+ echo "OK: ~/.claude directory is mounted"
12
+ fi
13
+
14
+ if [ "$ERRORS" -gt 0 ]; then
15
+ echo "WARNING: $ERRORS mount(s) missing. Claude Code may not work correctly."
16
+ fi
17
+
18
+ echo "==> Updating Claude Code..."
19
+ curl -fsSL https://claude.ai/install.sh | bash -s stable
20
+ claude --version
@@ -0,0 +1,7 @@
1
+ {
2
+ "minimumPackageAgeHours": 48,
3
+ "npm": {
4
+ "minimumPackageAgeExclusions": ["passbolt-browser-extension", "passbolt-styleguide", "@aikidosec/*"],
5
+ "directDownloadMinimumPackageAgeExclusions": ["passbolt-browser-extension", "passbolt-styleguide"]
6
+ }
7
+ }
@@ -0,0 +1,10 @@
1
+ # Force the safe-chain shims dir to the FRONT of PATH on every shell start.
2
+ # VS Code's remote terminal layer can re-prepend nvm / npm-global after the
3
+ # Dockerfile's ENV PATH ran, which would otherwise push the shims behind
4
+ # corepack-managed pnpm/yarn under /usr/local/share/npm-global/bin.
5
+ if [ -d "$HOME/.safe-chain/shims" ]; then
6
+ _sc_shims="$HOME/.safe-chain/shims"
7
+ PATH=$(printf ':%s:' "$PATH" | sed -e "s|:$_sc_shims:|:|g" -e 's|^:||' -e 's|:$||')
8
+ export PATH="$_sc_shims:$PATH"
9
+ unset _sc_shims
10
+ fi
package/.jpmignore CHANGED
@@ -21,7 +21,6 @@ Gruntfile.js
21
21
  CHANGELOG.MD
22
22
  README.MD
23
23
  npm-debug.log
24
- config.json.default
25
24
 
26
25
  #jest test coverage
27
26
  /coverage
package/CHANGELOG.md CHANGED
@@ -4,6 +4,76 @@ This project adheres to [Semantic Versioning](http://semver.org/).
4
4
 
5
5
  ## [Unreleased]
6
6
 
7
+ ## [5.12.2] - 2026-05-19
8
+ ### Fixed
9
+ - PB-51648 Fix add user to group reducing set timeout
10
+
11
+ ## [5.12.1] - 2026-05-12
12
+ ### Fixed
13
+ - PB-51546 On Safari after log out, the login page does not show until the page is refreshed
14
+ - PB-51547 On Safari after log in, some pages take a lot of time to display
15
+
16
+ ## [5.12.0] - 2026-05-12
17
+ ### Added
18
+ - PB-51015 Add PIN code resource type in resourceTypeSchemasDefinition
19
+ - PB-51016 Handle PIN code in resourceTypeEntity
20
+ - PB-51017 Handle PIN code in resourceTypesCollection
21
+ - PB-51019 PINCODE - 1.5 Create secretDataV5StandalonePinCodeEntity and add...
22
+ - PB-51020 PINCODE - 1.6 Add pin code to ResourceEditCreateFormEnumerationTypes
23
+ - PB-51023 Update resourceTypesFormEntity to handle the new pin code resource type
24
+ - PB-51046 PINCODE - 3.2 Adapt ExternalResourceEntity to handle the pin code resource type schema
25
+ - PB-51047 PINCODE - 3.3 Adapt ExportResourcesService to handle the mapping of pin code
26
+ - PB-51048 PINCODE - 3.4 Adapt resourcesKdbxImportParser and to map pin code in case it exist to the correct resource types
27
+ - PB-51049 Add PIN code icon to passboltDefaultResourceTypeIcons.data
28
+ - PB-51050 Update DisplayContentTypesAllowedContentTypesAdministration to handle PIN code
29
+ - PB-51051 Add the pin code resource type to DisplayResourceCreationMenu
30
+ - PB-51052 Add PIN code in SelectResourceForm
31
+ - PB-51053 Create the new pin code resource type form
32
+ - PB-51054 Adapt OrchestrateResourceForm to handle the new AddResourcePinCode
33
+ - PB-51055 Create the new DisplayResourceDetailsPinCode to display the pin code into detail
34
+ - PB-51056 PINCODE - 3.5 Adapt resourcesKdbxExporter and to map pin code in case it exist to the correct resource types
35
+ - PB-51073 PINCODE - 2.8 Add pin code into the grid
36
+ - PB-51201 Fix notes-related issues
37
+ - PB-51246 Add pin code to workspace create menu
38
+
39
+ ### Fixed
40
+ - PB-49888 The contents of Resource Creation Progress Dialog always shows Creating Password
41
+ - PB-50166 Fix break vs continue bug in MoveResourcesService batch permission calculation
42
+ - PB-50535 DisplayuserbadgeMenu should display attention required on page served by API if MFA is required
43
+ - PB-50617 Add PingOne redirect URL field
44
+ - PB-50945 Fix expired session when port is disconnected
45
+ - PB-51012 Hide 'set expired' option for already expired resources
46
+ - PB-51018 Tighten fields selectors to avoid false positives
47
+ - PB-51077 Fix typo "susccessfully" to "successfully"
48
+
49
+ ### Security
50
+ - PB-50623 Fix GHSA-2328-f5f3-gj25 (HIGH)
51
+ - PB-50877 Fix undici GHSA-f269-vfmq-vjvj - MEDIUM CVSS3.1
52
+ - PB-50906 Fix svgo GHSA-xpqw-6gx7-v673 - HIGH CVSS3.1
53
+ - PB-50907 Fix flatted GHSA-rf6f-7fwh-wjgh - HIGH CVSS4.0
54
+ - PB-50908 Fix @xmldom/xmldom GHSA-wh4c-j3r5-mjhp - HIGH CVSS3.1
55
+ - PB-50920 Upgrade webpack-cli
56
+ - PB-50921 Upgrade web-ext
57
+ - PB-51060 Fix protocol-buffers-schema GHSA-j452-xhg8-qg39 - MEDIUM CVSS3.1
58
+ - PB-51151 Fix i18next-http-backend GHSA-r5fr-rjxr-66jc - MEDIUM CVSS3.1
59
+ - PB-51152 Fix uuid GHSA-w5hq-g745-h8pq - MEDIUM CVSS3.1
60
+ - PB-51170 Fix @xmldom/xmldom GHSA-2v35-w6hq-6mfw - HIGH CVSS4.0
61
+ - PB-51179 Investigate and/or enforce package cool down mechanism with safe-chain or npm or both
62
+
63
+ ### Maintenance
64
+ - PB-50224 Add devcontainer to bext
65
+ - PB-50301 removed GitLab CI definition as it's been moved to the ci-definitions repo
66
+ - PB-50340 Small upgrade for picomatch (Medium)
67
+ - PB-51086 keep notify expired session tests skipping
68
+
69
+ ## [5.11.2] - 2026-04-22
70
+ ### Fixed
71
+ - PB-51067 - Rework TOTP selectors
72
+
73
+ ## [5.11.1] - 2026-04-09
74
+ ### Fixed
75
+ - PB-50644 - Fix browser extension port messaging failure after logout caused by Chrome 147 BFCache changes
76
+
7
77
  ## [5.11.0] - 2026-04-07
8
78
  ### Added
9
79
  - PB-49733 SMTP-OAUTH - WP2.1 Update SmtpSettingsService to SmtpSettingsApiService
@@ -2655,10 +2725,23 @@ self registration settings option in the left-side bar
2655
2725
  - AP: User with plugin installed
2656
2726
  - LU: Logged in user
2657
2727
 
2658
- [Unreleased]: https://github.com/passbolt/passbolt_browser_extension/compare/v5.9.0...HEAD
2659
- [5.9.0]: https://github.com/passbolt/passbolt_browser_extension/compare/v5.8.0...5.9.0
2660
- [5.8.0]: https://github.com/passbolt/passbolt_browser_extension/compare/v5.7.0...5.8.0
2661
- [5.7.0]: https://github.com/passbolt/passbolt_browser_extension/compare/v5.6.0...5.7.0
2728
+ [Unreleased]: https://github.com/passbolt/passbolt_browser_extension/compare/v5.12.2...HEAD
2729
+ [5.12.2]: https://github.com/passbolt/passbolt_browser_extension/compare/v5.12.1...v5.12.2
2730
+ [5.12.1]: https://github.com/passbolt/passbolt_browser_extension/compare/v5.12.0...v5.12.1
2731
+ [5.12.0]: https://github.com/passbolt/passbolt_browser_extension/compare/v5.11.3...v5.12.0
2732
+ [5.11.3]: https://github.com/passbolt/passbolt_browser_extension/compare/v5.11.2...v5.11.3
2733
+ [5.11.2]: https://github.com/passbolt/passbolt_browser_extension/compare/v5.11.1...v5.11.0
2734
+ [5.11.1]: https://github.com/passbolt/passbolt_browser_extension/compare/v5.11.0...v5.11.1
2735
+ [5.11.1]: https://github.com/passbolt/passbolt_browser_extension/compare/v5.11.0...v5.11.1
2736
+ [5.11.0]: https://github.com/passbolt/passbolt_browser_extension/compare/v5.10.4...v5.11.0
2737
+ [5.10.4]: https://github.com/passbolt/passbolt_browser_extension/compare/v5.10.3...v5.10.4
2738
+ [5.10.3]: https://github.com/passbolt/passbolt_browser_extension/compare/v5.10.2...v5.10.3
2739
+ [5.10.2]: https://github.com/passbolt/passbolt_browser_extension/compare/v5.10.1...v5.10.2
2740
+ [5.10.1]: https://github.com/passbolt/passbolt_browser_extension/compare/v5.10.0...v5.10.1
2741
+ [5.10.0]: https://github.com/passbolt/passbolt_browser_extension/compare/v5.9.0...v5.10.0
2742
+ [5.9.0]: https://github.com/passbolt/passbolt_browser_extension/compare/v5.8.0...v5.9.0
2743
+ [5.8.0]: https://github.com/passbolt/passbolt_browser_extension/compare/v5.7.0...v5.8.0
2744
+ [5.7.0]: https://github.com/passbolt/passbolt_browser_extension/compare/v5.6.0...v5.7.0
2662
2745
  [5.6.0]: https://github.com/passbolt/passbolt_browser_extension/compare/v5.5.1...v5.6.0
2663
2746
  [5.5.1]: https://github.com/passbolt/passbolt_browser_extension/compare/v5.5.0...v5.5.1
2664
2747
  [5.5.0]: https://github.com/passbolt/passbolt_browser_extension/compare/v5.4.1...v5.5.0
package/RELEASE_NOTES.md CHANGED
@@ -1,97 +1,4 @@
1
- Passbolt 5.11.0 introduces improvements to enterprise authentication and integration capabilities, alongside continued security hardening.
2
-
3
- This release adds support for OAuth-based SMTP authentication for Microsoft Exchange Online and expands SSO coverage with PingOne. It also includes the finalisation of SCIM following external audit fixes.
4
-
5
- ## SMTP OAuth support for Microsoft Exchange Online
6
-
7
- Passbolt 5.11 introduces OAuth 2.0 support for SMTP with Microsoft Exchange Online, replacing legacy username/password authentication.
8
-
9
- Administrators can configure the OAuth (Client Credentials) method by registering an application in Microsoft Entra ID and providing the required tenant ID, client ID, client secret, and service account email.
10
-
11
- At runtime, Passbolt retrieves short-lived access tokens to authenticate SMTP connections without user interaction, improving security and aligning with modern authentication standards.
12
-
13
-
14
- ## PingOne SSO support (Passbolt Pro)
15
-
16
- Passbolt 5.11 adds support for PingOne as a new SSO provider, enabling organisations to authenticate users via their existing Ping Identity infrastructure.
17
-
18
- The integration is based on OpenID Connect (OIDC) using the Authorization Code flow, with Passbolt delegating authentication to PingOne and receiving a verified user identity via ID tokens.
19
-
20
- Administrators can configure PingOne from the SSO settings using the required environment ID, client ID, client secret, and base URL, with a dry-run option available to validate the setup before activation. Once enabled, users are redirected to PingOne for authentication and seamlessly logged into Passbolt, including during account recovery.
21
-
22
- This addition expands Passbolt’s SSO coverage for enterprise environments and removes a key adoption blocker for organisations standardised on Ping Identity.
23
-
24
- ## SCIM: audit fixes and general availability (Passbolt Pro)
25
-
26
- Following the external security audit conducted by Cure53, this release includes fixes addressing the identified findings in the SCIM provisioning implementation.
27
-
28
- With these changes, SCIM is now considered stable and exits beta.
29
-
30
- The audit-driven improvements strengthen validation, error handling, and overall robustness of the provisioning flow. SCIM is now ready for production use in environments requiring automated user lifecycle management.
31
-
32
- ## Security improvements
33
-
34
- This release continues the ongoing security hardening effort across the platform.
35
-
36
- In addition to the SCIM audit fixes, improvements have been made to align with external audit recommendations and reduce potential attack surface in authentication and integration layers.
37
-
38
- ## Maintenance & performance
39
-
40
- This release includes general performance improvements, particularly around background job processing and email delivery workflows.
41
-
42
- Email-related operations are now more efficient and better distributed, reducing bottlenecks in high-load environments.
43
-
44
- As usual, additional optimisations are already in progress for upcoming releases.
45
-
46
- ## Conclusion
47
-
48
- As usual, the release is also packed with additional improvements and fixes. Check out the changelog to learn more.
49
-
50
- Many thanks to everyone who provided feedback, reported bugs, and contributed to making passbolt better!
51
-
52
- ### Added
53
- - PB-49733 SMTP-OAUTH - WP2.1 Update SmtpSettingsService to SmtpSettingsApiService
54
- - PB-49734 SMTP-OAUTH - WP1.1 Create the SmtpSettingsEntity
55
- - PB-49737 SMTP-OAUTH - WP2.2 Update SmtpTestSettingsService to SmtpTestSettingsApiService
56
- - PB-49738 SMTP-OAUTH - WP2.3 Split SmtpSettingsModel to new architecture pattern
57
- - PB-49739 SMTP-OAUTH - WP2.4 Split SmtpTestSettingsModel to new architecture pattern
58
- - PB-49740 SMTP-OAUTH - WP3.1 Adapt context with the new SMTP entities
59
- - PB-49741 SMTP-OAUTH - WP3.2 Adapt ManageSmtpAdministationSettings to handle the new OAUTH fields
60
- - PB-50058 OAuth SMTP: add the new styleguide to backend
61
- - PB-50135 SSO with PingOne
62
- - PB-50157 Enable avatar upload for Safari
63
- - PB-50254 SCIM-WP1.2 Adapt form to handle the new date field and display warning message when expired
64
- - PB-50263 Add a username selector compatible with ProxMox
1
+ Passbolt 5.12.2 fixes an issue that arose in Chrome 148, which caused a service worker that did not respond within the specified time limit to be terminated.
65
2
 
66
3
  ### Fixed
67
- - PB-46678 Fix quickaccess closing issue on Safari
68
- - PB-49237 DisplayUserBadgeMenu attention required should be displayed on Administration page served by API
69
- - PB-49287 When deleting a user, the URL must changed not to reference the deleted user id
70
- - PB-49476 Fix autofill for websites using identifier as name for username field
71
- - PB-49619 Fix username input field selector for OVH
72
- - PB-49849 Sync generator password policy with the administration after save
73
- - PB-49866 Fix the expiry column in the resource workspace grid is not present anymore
74
- - PB-49882 Fix username input field selector for Supermicro IPMI WebUI
75
- - PB-50023 Fix multifield OTP selector matching hidden inputs
76
- - PB-50077 Fix React router issue that reloads the page unexpectedly
77
- - PB-50177 Fix autofill issues for two websites
78
-
79
- ### Maintenance
80
- - PB-49129 Delegate tab opening to service worker in order to send all cookie via Safari
81
- - PB-49459 Timeouts not cleared properly when filtering resources/users grids by keywords
82
- - PB-49705 Add missing TOTP unit tests
83
- - PB-49730 Setup an environment for publishing to npmjs registry
84
- - PB-49998 Add required `data_collection_permissions` for Firefox and set it to `none`
85
- - PB-50013 Make Safari download custom avatars
86
- - PB-50118 Major upgrade for locutus (Critical) - passbolt-browser-extension
87
- - PB-50158 Add Safari enablement through a feature flag
88
- - PB-50200 Move the logic of passbolt.groups.create to GroupCreateController
89
- - PB-50201 Update group create call in groupApiService to contain "my_group_user" as urlOptions
90
- - PB-50202 Add supported formats documentation link in export dialog
91
- - PB-50225 Create a CreateGroupService.js file and move the create call to api service inside it
92
- - PB-50338 - Fix phantom @babel/preset-react
93
-
94
- ### Security
95
- - PB-49608 Fix ReDoS vulnerability in PGP armor regex validation
96
- - PB-50271 Fix GHSA-25h7-pfq9-p65f - HIGH CVSS3.1
97
- - PB-50272 Fix brace-expansion vulnerabilities
4
+ - PB-51648 Fix add user to group reducing set timeout
@@ -291,7 +291,7 @@
291
291
  attributes = {
292
292
  BuildIndependentTargetsInParallel = 1;
293
293
  LastSwiftUpdateCheck = 2620;
294
- LastUpgradeCheck = 2600;
294
+ LastUpgradeCheck = 2630;
295
295
  TargetAttributes = {
296
296
  82EE77752F3C9D57000B30B5 = {
297
297
  CreatedOnToolsVersion = 26.2;
@@ -431,6 +431,7 @@
431
431
  BUNDLE_LOADER = "$(TEST_HOST)";
432
432
  CODE_SIGN_STYLE = Automatic;
433
433
  CURRENT_PROJECT_VERSION = 1;
434
+ DEAD_CODE_STRIPPING = YES;
434
435
  GENERATE_INFOPLIST_FILE = YES;
435
436
  MACOSX_DEPLOYMENT_TARGET = 15.6;
436
437
  MARKETING_VERSION = 1.0;
@@ -452,6 +453,7 @@
452
453
  BUNDLE_LOADER = "$(TEST_HOST)";
453
454
  CODE_SIGN_STYLE = Automatic;
454
455
  CURRENT_PROJECT_VERSION = 1;
456
+ DEAD_CODE_STRIPPING = YES;
455
457
  GENERATE_INFOPLIST_FILE = YES;
456
458
  MACOSX_DEPLOYMENT_TARGET = 15.6;
457
459
  MARKETING_VERSION = 1.0;
@@ -500,7 +502,7 @@
500
502
  CLANG_WARN_UNREACHABLE_CODE = YES;
501
503
  CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
502
504
  COPY_PHASE_STRIP = NO;
503
- DEAD_CODE_STRIPPING = NO;
505
+ DEAD_CODE_STRIPPING = YES;
504
506
  DEBUG_INFORMATION_FORMAT = dwarf;
505
507
  ENABLE_STRICT_OBJC_MSGSEND = YES;
506
508
  ENABLE_TESTABILITY = YES;
@@ -565,7 +567,7 @@
565
567
  CLANG_WARN_UNREACHABLE_CODE = YES;
566
568
  CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
567
569
  COPY_PHASE_STRIP = NO;
568
- DEAD_CODE_STRIPPING = NO;
570
+ DEAD_CODE_STRIPPING = YES;
569
571
  DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
570
572
  ENABLE_NS_ASSERTIONS = NO;
571
573
  ENABLE_STRICT_OBJC_MSGSEND = YES;
@@ -593,7 +595,7 @@
593
595
  buildSettings = {
594
596
  CODE_SIGN_ENTITLEMENTS = "Passbolt - password manager Extension/Passbolt - password manager Extension.entitlements";
595
597
  CODE_SIGN_STYLE = Automatic;
596
- CURRENT_PROJECT_VERSION = 0;
598
+ CURRENT_PROJECT_VERSION = 7;
597
599
  DEAD_CODE_STRIPPING = YES;
598
600
  DEVELOPMENT_TEAM = UHX38H22ZT;
599
601
  ENABLE_APP_SANDBOX = YES;
@@ -620,7 +622,7 @@
620
622
  "@executable_path/../../../../Frameworks",
621
623
  );
622
624
  MACOSX_DEPLOYMENT_TARGET = 15.6;
623
- MARKETING_VERSION = 5.10.1;
625
+ MARKETING_VERSION = 5.12.1;
624
626
  OTHER_LDFLAGS = (
625
627
  "-framework",
626
628
  SafariServices,
@@ -639,7 +641,7 @@
639
641
  buildSettings = {
640
642
  CODE_SIGN_ENTITLEMENTS = "Passbolt - password manager Extension/Passbolt - password manager Extension.entitlements";
641
643
  CODE_SIGN_STYLE = Automatic;
642
- CURRENT_PROJECT_VERSION = 0;
644
+ CURRENT_PROJECT_VERSION = 7;
643
645
  DEAD_CODE_STRIPPING = YES;
644
646
  DEVELOPMENT_TEAM = UHX38H22ZT;
645
647
  ENABLE_APP_SANDBOX = YES;
@@ -666,7 +668,7 @@
666
668
  "@executable_path/../../../../Frameworks",
667
669
  );
668
670
  MACOSX_DEPLOYMENT_TARGET = 15.6;
669
- MARKETING_VERSION = 5.10.1;
671
+ MARKETING_VERSION = 5.12.1;
670
672
  OTHER_LDFLAGS = (
671
673
  "-framework",
672
674
  SafariServices,
@@ -688,7 +690,7 @@
688
690
  CODE_SIGN_ENTITLEMENTS = "Passbolt - password manager/Passbolt - password manager.entitlements";
689
691
  CODE_SIGN_STYLE = Automatic;
690
692
  COMBINE_HIDPI_IMAGES = YES;
691
- CURRENT_PROJECT_VERSION = 0;
693
+ CURRENT_PROJECT_VERSION = 7;
692
694
  DEAD_CODE_STRIPPING = YES;
693
695
  DEVELOPMENT_TEAM = UHX38H22ZT;
694
696
  ENABLE_APP_SANDBOX = YES;
@@ -716,7 +718,7 @@
716
718
  "@executable_path/../Frameworks",
717
719
  );
718
720
  MACOSX_DEPLOYMENT_TARGET = 15.6;
719
- MARKETING_VERSION = 5.10.1;
721
+ MARKETING_VERSION = 5.12.1;
720
722
  OTHER_LDFLAGS = (
721
723
  "-framework",
722
724
  SafariServices,
@@ -739,7 +741,7 @@
739
741
  CODE_SIGN_ENTITLEMENTS = "Passbolt - password manager/Passbolt - password manager.entitlements";
740
742
  CODE_SIGN_STYLE = Automatic;
741
743
  COMBINE_HIDPI_IMAGES = YES;
742
- CURRENT_PROJECT_VERSION = 0;
744
+ CURRENT_PROJECT_VERSION = 7;
743
745
  DEAD_CODE_STRIPPING = YES;
744
746
  DEVELOPMENT_TEAM = UHX38H22ZT;
745
747
  ENABLE_APP_SANDBOX = YES;
@@ -767,7 +769,7 @@
767
769
  "@executable_path/../Frameworks",
768
770
  );
769
771
  MACOSX_DEPLOYMENT_TARGET = 15.6;
770
- MARKETING_VERSION = 5.10.1;
772
+ MARKETING_VERSION = 5.12.1;
771
773
  OTHER_LDFLAGS = (
772
774
  "-framework",
773
775
  SafariServices,
@@ -1,6 +1,6 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
2
  <Scheme
3
- LastUpgradeVersion = "2600"
3
+ LastUpgradeVersion = "2630"
4
4
  version = "2.2">
5
5
  <BuildAction
6
6
  parallelizeBuildables = "YES"
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Passbolt ~ Open source password manager for teams
3
+ * Copyright (c) Passbolt SA (https://www.passbolt.com)
4
+ *
5
+ * Licensed under GNU Affero General Public License version 3 of the or any later version.
6
+ * For full copyright and license information, please see the LICENSE.txt
7
+ * Redistributions of files must retain the above copyright notice.
8
+ *
9
+ * @copyright Copyright (c) Passbolt SA (https://www.passbolt.com)
10
+ * @license https://opensource.org/licenses/AGPL-3.0 AGPL License
11
+ * @link https://www.passbolt.com Passbolt(tm)
12
+ * @since 5.12.0
13
+ */
14
+ const { defineConfig } = require('i18next-cli');
15
+
16
+ module.exports = defineConfig({
17
+ locales: ['en-UK'],
18
+ extract: {
19
+ input: ['src/all/**/*.{js,jsx}'],
20
+ output: 'src/all/locales/{{language}}/{{namespace}}.json',
21
+ functions: ['t', '*.t', 'translate', '*.translate'],
22
+ defaultNS: 'common',
23
+ keySeparator: false,
24
+ nsSeparator: false,
25
+ sort: true,
26
+ defaultValue: key => key,
27
+ },
28
+ });
package/jest.config.json CHANGED
@@ -1,6 +1,7 @@
1
1
  {
2
2
  "testEnvironment": "node",
3
3
  "setupFiles": [
4
+ "<rootDir>/test/jest.env-setup.js",
4
5
  "jest-webextension-mock",
5
6
  "<rootDir>/test/jest-webextension-force-runtime-id-setup-files.js"
6
7
  ],
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "passbolt-browser-extension",
3
- "version": "5.11.1",
3
+ "version": "5.13.0-alpha.1",
4
4
  "license": "AGPL-3.0",
5
5
  "copyright": "Copyright 2025 Passbolt SA",
6
6
  "description": "Passbolt web extension for the open source password manager for teams",
@@ -15,17 +15,17 @@
15
15
  "downloadjs": "^1.4.7",
16
16
  "eckey-utils": "^0.7.14",
17
17
  "i18next": "^25.4.0",
18
- "i18next-http-backend": "^2.4.2",
18
+ "i18next-http-backend": "^3.0.5",
19
19
  "ip-regex": "^5.0.0",
20
20
  "jssha": "~3.3.1",
21
21
  "kdbxweb": "2.1.1",
22
22
  "openpgp": "^6.1.1",
23
23
  "papaparse": "^5.5.2",
24
- "passbolt-styleguide": "^5.11.3",
24
+ "passbolt-styleguide": "^5.13.0-alpha.6",
25
25
  "react": "^18.3.1",
26
26
  "react-dom": "^18.3.1",
27
27
  "secrets-passbolt": "github:passbolt/secrets.js#v2.0.1",
28
- "uuid": "^8.3.2",
28
+ "uuid": "^14.0.0",
29
29
  "validator": "^13.15.26",
30
30
  "webextension-polyfill": "^0.10.0",
31
31
  "xregexp": "~5.1.2"
@@ -34,16 +34,17 @@
34
34
  "@babel/core": "^7.23.2",
35
35
  "@babel/helpers": "^7.26.10",
36
36
  "@babel/plugin-transform-runtime": "^7.22.9",
37
- "@babel/preset-env": "^7.22.9",
37
+ "@babel/preset-env": "^7.29.5",
38
38
  "@babel/preset-react": "^7.28.5",
39
39
  "@babel/runtime": "^7.27.0",
40
40
  "@babel/runtime-corejs3": "^7.26.10",
41
41
  "@eslint/js": "^9.39.4",
42
42
  "@svgr/webpack": "^8.1.0",
43
- "babel-jest": "^29.6.2",
43
+ "babel-jest": "^30.3.0",
44
44
  "babel-loader": "^8.2.3",
45
45
  "buffer": "^6.0.3",
46
- "crx": "^5.0.1",
46
+ "copy-webpack-plugin": "^14.0.0",
47
+ "dotenv": "^16.4.5",
47
48
  "eslint": "^9.39.4",
48
49
  "eslint-config-prettier": "^10.1.8",
49
50
  "eslint-import-resolver-alias": "^1.1.2",
@@ -59,62 +60,44 @@
59
60
  "filereader": "^0.10.3",
60
61
  "formdata-node": "^6.0.3",
61
62
  "globals": "^16.4.0",
62
- "grunt": "^1.0.3",
63
- "grunt-contrib-clean": "^2.0.0",
64
- "grunt-contrib-copy": "^1.0.0",
65
- "grunt-shell": "^4.0.0",
66
- "i18next-parser": "^9.3.0",
67
- "jest": "^29.6.2",
68
- "jest-each": "^29.6.2",
69
- "jest-environment-jsdom": "^29.6.2",
70
- "jest-environment-node": "^29.6.2",
63
+ "i18next-cli": "^1.58.0",
64
+ "jest": "^30.3.0",
65
+ "jest-environment-jsdom": "^30.3.0",
66
+ "jest-environment-node": "^30.3.0",
71
67
  "jest-fetch-mock": "^3.0.3",
72
68
  "jest-junit": "^16.0.0",
73
- "jest-webextension-mock": "^3.8.9",
69
+ "jest-webextension-mock": "^4.1.1",
74
70
  "lockfile-lint": "^4.14.1",
75
71
  "prettier": "3.6.2",
76
- "terser-webpack-plugin": "^5.3.16",
72
+ "terser-webpack-plugin": "^5.4.0",
77
73
  "text-encoding-utf-8": "^1.0.2",
78
- "web-ext": "^9.2.0",
74
+ "web-ext": "^10.3.0",
79
75
  "webpack": "^5.105.2",
80
- "webpack-cli": "^5.1.4"
76
+ "webpack-cli": "^7.0.2"
77
+ },
78
+ "overrides": {
79
+ "@xmldom/xmldom": "0.8.13",
80
+ "uuid": "^14.0.0"
81
81
  },
82
82
  "scripts": {
83
- "build": "npx grunt build",
84
- "build:background-page": "webpack --config webpack.background-page.config.js",
85
- "build:safari:background-page": "webpack --config webpack.safari-background-page.config.js",
86
- "build:service-worker": "webpack --config webpack.service-worker.config.js; webpack --config webpack-offscreens.config.js",
87
- "build:content-scripts": "npm run build:content-scripts:app; npm run build:content-scripts:browser-integration; npm run build:content-scripts:public-website",
88
- "build:content-scripts:app": "webpack --config webpack-content-scripts.config.js",
89
- "build:content-scripts:browser-integration": "webpack --config webpack-content-scripts.browser-integration.config.js",
90
- "build:content-scripts:public-website": "webpack --config webpack-content-scripts.public-website-sign-in.config.js",
91
- "build:web-accessible-resources": "npm run build:web-accessible-resources:app; npm run build:web-accessible-resources:browser-integration",
92
- "build:web-accessible-resources:app": "webpack --config webpack-data.config.js; webpack --config webpack-data.download.config.js",
93
- "build:web-accessible-resources:browser-integration": "webpack --config webpack-data.in-form-call-to-action.config.js; webpack --config webpack-data.in-form-menu.config.js",
94
- "dev:build:background-page": "webpack --env debug=true --config webpack.background-page.config.js",
95
- "dev:build:safari:background-page": "webpack --env debug=true --config webpack.safari-background-page.config.js",
96
- "dev:build:service-worker": "webpack --env debug=true --config webpack.service-worker.config.js; webpack --env debug=true --config webpack-offscreens.config.js",
97
- "dev:build:content-scripts": "npm run dev:build:content-scripts:app; npm run dev:build:content-scripts:browser-integration; npm run dev:build:content-scripts:public-website",
98
- "dev:build:content-scripts:app": "webpack --env debug=true --config webpack-content-scripts.config.js",
99
- "dev:build:content-scripts:browser-integration": "webpack --env debug=true --config webpack-content-scripts.browser-integration.config.js",
100
- "dev:build:content-scripts:public-website": "webpack --env debug=true --config webpack-content-scripts.public-website-sign-in.config.js",
101
- "dev:build:web-accessible-resources": "npm run dev:build:web-accessible-resources:app; npm run dev:build:web-accessible-resources:browser-integration",
102
- "dev:build:web-accessible-resources:app": "webpack --env debug=true --config webpack-data.config.js; webpack --env debug=true --config webpack-data.download.config.js",
103
- "dev:build:web-accessible-resources:browser-integration": "webpack --env debug=true --config webpack-data.in-form-call-to-action.config.js; webpack --env debug=true --config webpack-data.in-form-menu.config.js",
104
- "dev:safari:build": "grunt build-safari-debug;",
83
+ "build": "webpack",
84
+ "build:firefox": "webpack --config webpack.firefox.config.js",
85
+ "build:chromium-mv2": "webpack --config webpack.chromium-mv2.config.js",
86
+ "build:chromium-mv3": "webpack --config webpack.chromium-mv3.config.js",
87
+ "build:safari": "webpack --config webpack.safari.config.js",
88
+ "dev:build:firefox": "NODE_ENV=development webpack --config webpack.firefox.config.js",
89
+ "dev:build:chromium-mv2": "NODE_ENV=development webpack --config webpack.chromium-mv2.config.js",
90
+ "dev:build:chromium-mv3": "NODE_ENV=development webpack --config webpack.chromium-mv3.config.js",
91
+ "dev:build:safari": "NODE_ENV=development webpack --config webpack.safari.config.js",
105
92
  "dev:safari:convert": "xcrun safari-web-extension-converter --app-name Passbolt-Safari-Extension --swift --macos-only --project-location ./build-safari-extension --bundle-identifier com.passbolt.safari-extension --force --no-open build/all/",
106
- "dev:watch:build:background-page": "npm run dev:build:background-page -- -w",
107
- "dev:watch:build:service-worker": "npm run dev:build:service-worker -- -w",
108
- "dev:watch:build:content-scripts:app": "npm run dev:build:content-scripts:app -- -w",
109
- "dev:watch:build:content-scripts:browser-integration": "npm run dev:build:content-scripts:browser-integration -- -w",
110
- "dev:watch:build:content-scripts:public-website": "npm run dev:build:content-scripts:public-website -- -w",
111
- "dev:watch:build:web-accessible-resources:app": "npm run dev:build:web-accessible-resources:app -- -w",
112
- "dev:watch:build:web-accessible-resources:browser-integration": "npm run dev:build:web-accessible-resources:browser-integration -- -w",
93
+ "dev:watch:build:firefox": "npm run dev:build:firefox -- -w",
94
+ "dev:watch:build:chromium-mv2": "npm run dev:build:chromium-mv2 -- -w",
95
+ "dev:watch:build:chromium-mv3": "npm run dev:build:chromium-mv3 -- -w",
96
+ "dev:watch:build:safari": "npm run dev:build:safari -- -w",
113
97
  "lint": "npm run lint:lockfile && npm run lint:eslint",
114
98
  "lint:lockfile": "lockfile-lint --path package-lock.json --allowed-hosts npm github.com --allowed-schemes \"https:\" \"git+ssh:\" --empty-hostname false --allowed-urls \"secrets-passbolt@2.0.1-ccce02543c135b0d92f69a70e960d634e7d64609@\"",
115
99
  "lint:eslint": "eslint src --max-warnings 0",
116
100
  "lint:eslint-fix": "eslint --fix src",
117
- "i18n:externalize": "i18next -c ./i18next-parser.config.js",
118
101
  "test": "npm run test:unit",
119
102
  "test:unit": "jest --no-cache ./src/all/ ./src/chrome-mv3/ ./src/chrome/ ./src/safari/",
120
103
  "test:coverage": "jest --no-cache ./src/all/ ./src/chrome-mv3/ ./src/safari/ --coverage",
@@ -6,7 +6,7 @@ set -eu
6
6
 
7
7
  CI_SCRIPTS_DIR=$(dirname "$0")/..
8
8
 
9
- # shellcheck source=.gitlab-ci/scripts/lib/version-check.sh
9
+ # shellcheck source=ci-scripts/lib/version-check.sh
10
10
  source "$CI_SCRIPTS_DIR"/lib/version-check.sh
11
11
 
12
12
  function send_to_firefox() {
@@ -62,4 +62,4 @@ elif is_stable "$CI_COMMIT_TAG"; then
62
62
  esac
63
63
  else
64
64
  echo "The tag format is not supported"
65
- fi
65
+ fi
@@ -6,7 +6,7 @@ set -eu
6
6
 
7
7
  CI_SCRIPTS_DIR=$(dirname "$0")/..
8
8
 
9
- # shellcheck source=.gitlab-ci/scripts/lib/version-check.sh
9
+ # shellcheck source=ci-scripts/lib/version-check.sh
10
10
  source "$CI_SCRIPTS_DIR"/lib/version-check.sh
11
11
 
12
12
  if is_release_candidate "$CI_COMMIT_TAG"; then