passbolt-browser-extension 5.13.0-alpha.1 → 5.14.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 (307) hide show
  1. package/.devcontainer/Dockerfile +33 -3
  2. package/.devcontainer/devcontainer-lock.json +9 -0
  3. package/.devcontainer/post-start.sh +1 -2
  4. package/.github/ISSUE_TEMPLATE/bug_report.md +30 -22
  5. package/.github/ISSUE_TEMPLATE/config.yml +11 -0
  6. package/.github/workflows/codeql-analysis.yml +2 -1
  7. package/.github/workflows/release_candidate.yaml +3 -1
  8. package/.gitlab-ci.yml +1 -0
  9. package/CHANGELOG.md +209 -1
  10. package/CODEOWNERS +2 -0
  11. package/CONTRIBUTING.md +1 -12
  12. package/README.md +5 -16
  13. package/RELEASE_NOTES.md +4 -2
  14. package/SECURITY.md +7 -0
  15. package/package.json +9 -7
  16. package/renovate.json +6 -0
  17. package/src/all/background_page/controller/InformMenuController/InformMenuController.js +2 -5
  18. package/src/all/background_page/controller/InformMenuController/InformMenuController.test.js +31 -1
  19. package/src/all/background_page/controller/account/getAndInitializeAccountLocaleController.js +1 -1
  20. package/src/all/background_page/controller/account/getAndInitializeAccountLocaleController.test.js +6 -14
  21. package/src/all/background_page/controller/account/updatePrivateKeyController.js +7 -5
  22. package/src/all/background_page/controller/account/updatePrivateKeyController.test.js +18 -13
  23. package/src/all/background_page/controller/accountRecovery/accountRecoveryGenerateOrganizationKeyController.js +4 -2
  24. package/src/all/background_page/controller/accountRecovery/accountRecoveryGenerateOrganizationKeyController.test.js +25 -2
  25. package/src/all/background_page/controller/accountRecovery/accountRecoveryLoginController.js +1 -1
  26. package/src/all/background_page/controller/accountRecovery/accountRecoveryLoginController.test.js +10 -5
  27. package/src/all/background_page/controller/accountRecovery/recoverAccountController.js +6 -2
  28. package/src/all/background_page/controller/accountRecovery/recoverAccountController.test.js +11 -4
  29. package/src/all/background_page/controller/auth/authCheckStatus.test.data.js +6 -6
  30. package/src/all/background_page/controller/auth/authCheckStatusController.js +11 -3
  31. package/src/all/background_page/controller/auth/authCheckStatusController.test.js +74 -44
  32. package/src/all/background_page/controller/auth/authIsMfaRequiredController.js +11 -3
  33. package/src/all/background_page/controller/auth/authIsMfaRequiredController.test.js +18 -9
  34. package/src/all/background_page/controller/auth/authLoginController.js +1 -1
  35. package/src/all/background_page/controller/auth/authLoginController.test.js +10 -5
  36. package/src/all/background_page/controller/autofill/AutofillController.js +3 -3
  37. package/src/all/background_page/controller/autofill/AutofillController.test.js +20 -12
  38. package/src/all/background_page/controller/export/exportResourcesFileController.js +6 -3
  39. package/src/all/background_page/controller/export/exportResourcesFileController.test.js +41 -6
  40. package/src/all/background_page/controller/extension/onExtensionInstalledController.js +8 -2
  41. package/src/all/background_page/controller/extension/onExtensionInstalledController.test.js +5 -1
  42. package/src/all/background_page/controller/group/{getOrFindGroupsController.js → findGroupsByIdsForShareController.js} +9 -10
  43. package/src/all/background_page/controller/group/{getOrFindGroupsController.test.js → findGroupsByIdsForShareController.test.js} +8 -8
  44. package/src/all/background_page/controller/group/groupUpdateController.test.js +1 -0
  45. package/src/all/background_page/controller/import/importResourcesFileController.test.js +8 -1
  46. package/src/all/background_page/controller/informCallToActionController/informCallToActionController.js +2 -2
  47. package/src/all/background_page/controller/informCallToActionController/informCallToActionController.test.js +7 -4
  48. package/src/all/background_page/controller/locale/getLocaleController.js +3 -2
  49. package/src/all/background_page/controller/metadata/findMetadataTypesSettingsController.test.js +9 -15
  50. package/src/all/background_page/controller/metadata/getMetadataTypesSettingsController.test.js +9 -15
  51. package/src/all/background_page/controller/metadata/getOrFindMetadataKeysSettingsController.test.js +12 -22
  52. package/src/all/background_page/controller/metadata/shareMetadataKeyPrivateController.test.js +14 -2
  53. package/src/all/background_page/controller/move/moveFolderController.test.js +8 -0
  54. package/src/all/background_page/controller/move/moveResourcesController.test.js +8 -0
  55. package/src/all/background_page/controller/passwordExpiry/getOrFindPasswordExpirySettingsController.test.js +13 -8
  56. package/src/all/background_page/controller/passwordExpiry/savePasswordExpirySettingsController.js +4 -4
  57. package/src/all/background_page/controller/passwordExpiry/savePasswordExpirySettingsController.test.js +8 -10
  58. package/src/all/background_page/controller/permission/findPermissionsByIdsForShareController.js +62 -0
  59. package/src/all/background_page/controller/permission/findPermissionsByIdsForShareController.test.js +71 -0
  60. package/src/all/background_page/controller/recover/generateRecoverAccountRecoveryRequestKeyController.js +1 -1
  61. package/src/all/background_page/controller/resource/findAllIdsByIsSharedWithGroupController.test.js +9 -4
  62. package/src/all/background_page/controller/resource/resourceCreateController.js +11 -4
  63. package/src/all/background_page/controller/resource/resourceCreateController.test.js +12 -1
  64. package/src/all/background_page/controller/resource/resourceUpdateController.js +11 -4
  65. package/src/all/background_page/controller/resource/resourceUpdateController.test.js +35 -2
  66. package/src/all/background_page/controller/resourceLocalStorage/resourceUpdateLocalStorageController.test.js +5 -2
  67. package/src/all/background_page/controller/resourceType/getResourceTypesController.js +5 -4
  68. package/src/all/background_page/controller/resourceType/getResourceTypesController.test.js +5 -2
  69. package/src/all/background_page/controller/resourceType/updateAllResourceTypesDeletedStatusController.js +3 -2
  70. package/src/all/background_page/controller/resourceType/updateAllResourceTypesDeletedStatusController.test.js +16 -3
  71. package/src/all/background_page/controller/secret/findSecretByResourceIdController.js +3 -3
  72. package/src/all/background_page/controller/secret/findSecretByResourceIdController.test.js +24 -0
  73. package/src/all/background_page/controller/secretRevision/findResourceSecretRevisionsForDisplayController.js +2 -1
  74. package/src/all/background_page/controller/setup/generateSetupKeyPairController.js +6 -3
  75. package/src/all/background_page/controller/setup/generateSetupKeyPairController.test.js +11 -1
  76. package/src/all/background_page/controller/setup/getAndInitSetupLocaleController.js +1 -1
  77. package/src/all/background_page/controller/setup/getAndInitSetupLocaleController.test.js +14 -18
  78. package/src/all/background_page/controller/setup/setSetupLocaleController.js +1 -1
  79. package/src/all/background_page/controller/setup/setSetupLocaleController.test.js +6 -10
  80. package/src/all/background_page/controller/setup/signInSetupController.js +6 -2
  81. package/src/all/background_page/controller/setup/signInSetupController.test.js +10 -5
  82. package/src/all/background_page/controller/share/shareOneFolderController.test.js +8 -0
  83. package/src/all/background_page/controller/share/shareResourcesController.test.js +9 -1
  84. package/src/all/background_page/controller/siteSettings/getOrFindSiteSettingsController.js +59 -0
  85. package/src/all/background_page/controller/siteSettings/getOrFindSiteSettingsController.test.js +150 -0
  86. package/src/all/background_page/controller/subscription/createSubscriptionKeyController.js +63 -0
  87. package/src/all/background_page/controller/subscription/createSubscriptionKeyController.test.js +56 -0
  88. package/src/all/background_page/controller/{organizationSettings/getOrganizationSettingsController.js → subscription/deleteSubscriptionKeyController.js} +18 -18
  89. package/src/all/background_page/controller/subscription/deleteSubscriptionKeyController.test.js +50 -0
  90. package/src/all/background_page/controller/{group/getOrFindGroupsUsersController.js → user/getOrFindAllUsersController.js} +12 -17
  91. package/src/all/background_page/controller/user/getOrFindAllUsersController.test.js +55 -0
  92. package/src/all/background_page/controller/user/getOrFindLoggedInUserController.js +3 -3
  93. package/src/all/background_page/controller/user/getOrFindLoggedInUserController.test.js +19 -15
  94. package/src/all/background_page/controller/user/updateUserLocalStorageController.test.js +8 -5
  95. package/src/all/background_page/event/accountRecoveryEvents.js +4 -4
  96. package/src/all/background_page/event/appEvents.js +32 -2
  97. package/src/all/background_page/event/authEvents.js +2 -2
  98. package/src/all/background_page/event/groupEvents.js +4 -17
  99. package/src/all/background_page/event/informCallToActionEvents.js +1 -1
  100. package/src/all/background_page/event/informMenuEvents.js +1 -1
  101. package/src/all/background_page/event/localeEvents.js +4 -3
  102. package/src/all/background_page/event/permissionEvents.js +13 -0
  103. package/src/all/background_page/event/recoverEvents.js +4 -4
  104. package/src/all/background_page/event/resourceEvents.js +6 -15
  105. package/src/all/background_page/event/resourceTypeEvents.js +4 -3
  106. package/src/all/background_page/event/setupEvents.js +4 -4
  107. package/src/all/background_page/event/siteSettingsEvents.js +29 -0
  108. package/src/all/background_page/event/userEvents.js +4 -8
  109. package/src/all/background_page/index.js +0 -37
  110. package/src/all/background_page/model/entity/account/abstractAccountEntity.js +2 -2
  111. package/src/all/background_page/model/entity/account/accountAccountRecoveryEntity.js +7 -17
  112. package/src/all/background_page/model/entity/account/accountEntity.js +7 -14
  113. package/src/all/background_page/model/entity/account/accountKitEntity.js +1 -2
  114. package/src/all/background_page/model/entity/account/accountRecoverEntity.js +4 -14
  115. package/src/all/background_page/model/entity/account/accountSetupEntity.js +4 -14
  116. package/src/all/background_page/model/entity/account/accountTemporaryEntity.js +2 -5
  117. package/src/all/background_page/model/entity/gpgkey/generate/generateGpgKeyPairOptionsEntity.test.js +5 -5
  118. package/src/all/background_page/model/entity/localStorage/localStorageMetadataEntity.js +49 -0
  119. package/src/all/background_page/model/entity/localStorage/localStorageMetadataEntity.test.data.js +23 -0
  120. package/src/all/background_page/model/entity/localStorage/localStorageMetadataEntity.test.js +51 -0
  121. package/src/all/background_page/model/entity/{organizationSettings/organizationSettingsEntity.js → siteSettings/siteSettingsEntity.js} +17 -24
  122. package/src/all/background_page/model/entity/{organizationSettings/organizationSettingsEntity.test.data.js → siteSettings/siteSettingsEntity.test.data.js} +9 -9
  123. package/src/all/background_page/model/entity/{organizationSettings/organizationSettingsEntity.test.js → siteSettings/siteSettingsEntity.test.js} +30 -39
  124. package/src/all/background_page/model/entity/user/userEntity.test.js +6 -6
  125. package/src/all/background_page/model/export/resources/resourcesKdbxExporter.js +40 -3
  126. package/src/all/background_page/model/export/resources/resourcesKdbxExporter.test.js +122 -0
  127. package/src/all/background_page/model/import/resources/resourcesKdbxImportParser.js +1 -1
  128. package/src/all/background_page/model/keyring.js +52 -17
  129. package/src/all/background_page/model/keyring.test.js +110 -0
  130. package/src/all/background_page/model/locale/localeModel.js +13 -8
  131. package/src/all/background_page/model/passwordExpiry/passwordExpirySettingsModel.js +6 -6
  132. package/src/all/background_page/model/passwordExpiry/passwordExpirySettingsModel.test.js +3 -2
  133. package/src/all/background_page/model/resource/resourceModel.js +4 -4
  134. package/src/all/background_page/model/user/userModel.js +10 -32
  135. package/src/all/background_page/model/user/userModel.test.js +51 -101
  136. package/src/all/background_page/pagemod/appBootstrapPagemod.js +4 -1
  137. package/src/all/background_page/pagemod/appBootstrapPagemod.test.js +5 -2
  138. package/src/all/background_page/pagemod/appPagemod.js +32 -6
  139. package/src/all/background_page/pagemod/appPagemod.test.js +22 -10
  140. package/src/all/background_page/pagemod/authPagemod.js +2 -10
  141. package/src/all/background_page/pagemod/authPagemod.test.js +4 -4
  142. package/src/all/background_page/pagemod/pagemodManager.test.js +5 -2
  143. package/src/all/background_page/pagemod/quickAccessPagemod.js +2 -2
  144. package/src/all/background_page/pagemod/quickAccessPagemod.test.js +4 -4
  145. package/src/all/background_page/pagemod/recoverPagemod.js +2 -2
  146. package/src/all/background_page/pagemod/recoverPagemod.test.js +6 -0
  147. package/src/all/background_page/pagemod/setupPagemod.js +2 -2
  148. package/src/all/background_page/pagemod/setupPagemod.test.js +6 -0
  149. package/src/all/background_page/pagemod/webIntegrationPagemod.js +21 -2
  150. package/src/all/background_page/pagemod/webIntegrationPagemod.test.js +16 -25
  151. package/src/all/background_page/service/account/getActiveAccountService.js +2 -3
  152. package/src/all/background_page/service/account/getLegacyAccountService.js +3 -14
  153. package/src/all/background_page/service/account/updateSsoCredentialsService.js +9 -5
  154. package/src/all/background_page/service/api/abstract/abstractService.js +3 -17
  155. package/src/all/background_page/service/api/edition/passboltEditionApiService.js +64 -0
  156. package/src/all/background_page/service/api/edition/passboltEditionApiService.test.js +99 -0
  157. package/src/all/background_page/service/api/group/groupApiService.js +11 -29
  158. package/src/all/background_page/service/api/group/groupApiService.test.js +59 -26
  159. package/src/all/background_page/service/api/resource/resourceService.js +18 -12
  160. package/src/all/background_page/service/api/siteSettings/siteSettingsApiService.js +46 -0
  161. package/src/all/background_page/service/api/siteSettings/siteSettingsApiService.test.js +63 -0
  162. package/src/all/background_page/service/auth/checkAuthStatusService.js +27 -14
  163. package/src/all/background_page/service/auth/checkAuthStatusService.test.js +80 -62
  164. package/src/all/background_page/service/auth/postLoginService.js +3 -3
  165. package/src/all/background_page/service/auth/postLoginService.test.js +4 -4
  166. package/src/all/background_page/service/auth/startLoopAuthSessionCheckService.js +5 -1
  167. package/src/all/background_page/service/auth/startLoopAuthSessionCheckService.test.js +14 -8
  168. package/src/all/background_page/service/authenticationStatusService.js +13 -18
  169. package/src/all/background_page/service/authenticationStatusService.test.js +9 -6
  170. package/src/all/background_page/service/crypto/generateGpgKeyPairService.test.js +5 -5
  171. package/src/all/background_page/service/crypto/getGpgKeyCreationDateService.js +7 -6
  172. package/src/all/background_page/service/crypto/getGpgKeyCreationDateService.test.js +10 -7
  173. package/src/all/background_page/service/extension/onExtensionUpdateAvailableService.js +7 -2
  174. package/src/all/background_page/service/extension/onExtensionUpdateAvailableService.test.js +5 -5
  175. package/src/all/background_page/service/group/findGroupsService.js +45 -8
  176. package/src/all/background_page/service/group/findGroupsService.test.js +91 -14
  177. package/src/all/background_page/service/group/groupUpdateSecretsCryptoService.js +82 -0
  178. package/src/all/background_page/service/group/groupUpdateSecretsCryptoService.test.js +102 -0
  179. package/src/all/background_page/service/group/groupUpdateService.js +49 -78
  180. package/src/all/background_page/service/group/groupUpdateService.test.js +136 -0
  181. package/src/all/background_page/service/localStorage/localStorageService.js +8 -6
  182. package/src/all/background_page/service/localStorage/localStorageService.test.js +33 -15
  183. package/src/all/background_page/service/local_storage/abstractLocalStorage.js +193 -0
  184. package/src/all/background_page/service/local_storage/abstractLocalStorage.test.data.js +45 -0
  185. package/src/all/background_page/service/local_storage/abstractLocalStorage.test.js +271 -0
  186. package/src/all/background_page/service/local_storage/activeSessionLocalStorage.js +105 -0
  187. package/src/all/background_page/service/local_storage/activeSessionLocalStorage.test.js +153 -0
  188. package/src/all/background_page/service/local_storage/rbacLocalStorage.js +10 -82
  189. package/src/all/background_page/service/local_storage/rbacLocalStorage.test.js +8 -8
  190. package/src/all/background_page/service/local_storage/resourceTypeLocalStorage.js +10 -43
  191. package/src/all/background_page/service/local_storage/resourceTypeLocalStorage.test.js +68 -0
  192. package/src/all/background_page/service/local_storage/siteSettingsLocalStorage.js +104 -0
  193. package/src/all/background_page/service/local_storage/siteSettingsLocalStorage.test.js +114 -0
  194. package/src/all/background_page/service/local_storage/userMeLocalStorage.js +50 -0
  195. package/src/all/background_page/service/{sessionStorage/userMeSessionStorageService.test.js → local_storage/userMeLocalStorage.test.js} +55 -36
  196. package/src/all/background_page/service/metadata/encryptMetadataService.js +3 -3
  197. package/src/all/background_page/service/metadata/encryptMetadataService.test.js +11 -11
  198. package/src/all/background_page/service/metadata/findAndUpdateMetadataSettingsLocalStorageService.js +4 -4
  199. package/src/all/background_page/service/metadata/findAndUpdateMetadataSettingsLocalStorageService.test.js +18 -16
  200. package/src/all/background_page/service/metadata/getOrFindMetadataSettingsService.test.js +6 -8
  201. package/src/all/background_page/service/metadata/rotateMetadata/rotateResourcesMetadataKeyService.test.js +4 -4
  202. package/src/all/background_page/service/metadata/shareMetadataKeyPrivateService.js +3 -3
  203. package/src/all/background_page/service/metadata/shareMetadataKeyPrivateService.test.js +1 -1
  204. package/src/all/background_page/service/metadata/verifyOrTrustMetadataKeyService.js +4 -4
  205. package/src/all/background_page/service/metadata/verifyOrTrustMetadataKeyService.test.js +9 -7
  206. package/src/all/background_page/service/migrateMetadata/migrateMetadataResourcesService.js +4 -4
  207. package/src/all/background_page/service/migrateMetadata/migrateMetadataResourcesService.test.js +6 -6
  208. package/src/all/background_page/service/rbac/findAndUpdateRbacsLocalStorageService.js +2 -2
  209. package/src/all/background_page/service/rbac/getOrFindRbacService.js +1 -1
  210. package/src/all/background_page/service/resource/create/resourceCreateService.js +41 -51
  211. package/src/all/background_page/service/resource/create/resourceCreateService.test.js +98 -95
  212. package/src/all/background_page/service/resource/export/exportResourcesService.js +7 -7
  213. package/src/all/background_page/service/resource/export/exportResourcesService.test.js +13 -4
  214. package/src/all/background_page/service/resource/findAndUpdateResourcesLocalStorageService.js +4 -4
  215. package/src/all/background_page/service/resource/findAndUpdateResourcesLocalStorageService.test.js +35 -28
  216. package/src/all/background_page/service/resource/findResourcesService.js +91 -18
  217. package/src/all/background_page/service/resource/findResourcesService.test.data.js +1 -1
  218. package/src/all/background_page/service/resource/findResourcesService.test.js +101 -41
  219. package/src/all/background_page/service/resource/getOrFindResourcesService.js +3 -3
  220. package/src/all/background_page/service/resource/getOrFindResourcesService.test.js +18 -8
  221. package/src/all/background_page/service/resource/import/ImportResourcesService.js +9 -9
  222. package/src/all/background_page/service/resource/import/ImportResourcesService.test.js +30 -15
  223. package/src/all/background_page/service/resource/update/resourceUpdateService.js +38 -19
  224. package/src/all/background_page/service/resource/update/resourceUpdateService.test.js +64 -31
  225. package/src/all/background_page/service/resourceType/getOrFindResourceTypesService.js +49 -0
  226. package/src/all/background_page/service/resourceType/getOrFindResourceTypesService.test.js +61 -0
  227. package/src/all/background_page/service/resourceType/getSecretSchemaResourceTypeService.js +44 -0
  228. package/src/all/background_page/service/resourceType/updateResourceTypesService.js +6 -4
  229. package/src/all/background_page/service/resourceType/updateResourceTypesService.test.js +19 -14
  230. package/src/all/background_page/service/secretRevisions/findAndDecryptSecretRevisionsService.js +5 -4
  231. package/src/all/background_page/service/secretRevisions/findAndDecryptSecretRevisionsService.test.js +16 -9
  232. package/src/all/background_page/service/share/shareResourceService.js +4 -4
  233. package/src/all/background_page/service/share/shareResourceService.test.js +6 -6
  234. package/src/all/background_page/service/siteSettings/findAndUpdateSiteSettingsLocalStorageService.js +77 -0
  235. package/src/all/background_page/service/siteSettings/findAndUpdateSiteSettingsLocalStorageService.test.js +130 -0
  236. package/src/all/background_page/service/siteSettings/findSiteSettingsService.js +47 -0
  237. package/src/all/background_page/service/siteSettings/findSiteSettingsService.test.js +68 -0
  238. package/src/all/background_page/service/siteSettings/getOrFindSiteSettingsService.js +84 -0
  239. package/src/all/background_page/service/siteSettings/getOrFindSiteSettingsService.test.js +175 -0
  240. package/src/all/background_page/service/siteSettings/siteSettingsRuntimeCache.js +70 -0
  241. package/src/all/background_page/service/sso/generateSsoKitService.test.js +2 -2
  242. package/src/all/background_page/service/subscription/createSubscriptionKeyService.js +57 -0
  243. package/src/all/background_page/service/subscription/createSubscriptionKeyService.test.js +111 -0
  244. package/src/all/background_page/service/subscription/deleteSubscriptionKeyService.js +35 -0
  245. package/src/all/background_page/service/subscription/deleteSubscriptionKeyService.test.js +55 -0
  246. package/src/all/background_page/service/toolbar/toolbarService.js +6 -4
  247. package/src/all/background_page/service/toolbar/toolbarService.test.js +14 -13
  248. package/src/all/background_page/service/user/findAndUpdateUsersLocalStorageService.js +4 -4
  249. package/src/all/background_page/service/user/findAndUpdateUsersLocalStorageService.test.js +3 -3
  250. package/src/all/background_page/service/user/getOrFindMeService.js +64 -0
  251. package/src/all/background_page/service/user/getOrFindMeService.test.js +65 -0
  252. package/src/all/background_page/service/userKeyPolicies/findUserKeyPoliciesSettingsService.js +5 -4
  253. package/src/all/background_page/service/userKeyPolicies/findUserKeyPoliciesSettingsService.test.js +12 -11
  254. package/src/all/background_page/service/validator/appEmailValidatorService.js +11 -6
  255. package/src/all/background_page/service/validator/appEmailValidatorService.test.js +11 -11
  256. package/src/all/background_page/utils/assertions.js +1 -0
  257. package/src/all/common/polyfill/browserPolyfill.js +8 -8
  258. package/src/all/locales/cs-CZ/common.json +1 -4
  259. package/src/all/locales/de-DE/common.json +1 -4
  260. package/src/all/locales/en-UK/common.json +0 -3
  261. package/src/all/locales/es-ES/common.json +1 -4
  262. package/src/all/locales/fr-FR/common.json +1 -4
  263. package/src/all/locales/it-IT/common.json +1 -4
  264. package/src/all/locales/ja-JP/common.json +1 -4
  265. package/src/all/locales/ko-KR/common.json +1 -4
  266. package/src/all/locales/lt-LT/common.json +1 -4
  267. package/src/all/locales/nl-NL/common.json +1 -4
  268. package/src/all/locales/pl-PL/common.json +1 -4
  269. package/src/all/locales/pt-BR/common.json +1 -4
  270. package/src/all/locales/ro-RO/common.json +1 -4
  271. package/src/all/locales/ru-RU/common.json +1 -4
  272. package/src/all/locales/sl-SI/common.json +1 -4
  273. package/src/all/locales/sv-SE/common.json +1 -4
  274. package/src/all/locales/uk-UA/common.json +1 -4
  275. package/src/all/webAccessibleResources/js/app/QuickAccess.js +7 -0
  276. package/src/chrome/manifest.json +1 -1
  277. package/src/chrome-mv3/manifest.json +1 -1
  278. package/src/chrome-mv3/offscreens/service/group/addUsersToGroupOffscreenService.js +132 -0
  279. package/src/chrome-mv3/offscreens/service/group/addUsersToGroupOffscreenService.test.js +125 -0
  280. package/src/chrome-mv3/offscreens/service/offscreen/handleOffscreenRequestService.js +4 -0
  281. package/src/chrome-mv3/serviceWorker/service/addUsersToGroup/requestAddUsersToGroupOffscreenService.js +83 -0
  282. package/src/chrome-mv3/serviceWorker/service/addUsersToGroup/requestAddUsersToGroupOffscreenService.test.js +116 -0
  283. package/src/chrome-mv3/serviceWorker/service/addUsersToGroup/responseAddUsersToGroupOffscreenService.js +99 -0
  284. package/src/chrome-mv3/serviceWorker/service/addUsersToGroup/responseAddUsersToGroupOffscreenService.test.data.js +45 -0
  285. package/src/chrome-mv3/serviceWorker/service/addUsersToGroup/responseAddUsersToGroupOffscreenService.test.js +87 -0
  286. package/src/chrome-mv3/serviceWorker/service/network/requestFetchOffscreenService.js +0 -1
  287. package/src/chrome-mv3/serviceWorker/service/offscreen/handleOffscreenResponseService.js +15 -0
  288. package/src/firefox/manifest.json +2 -2
  289. package/src/safari/background_page/index.js +0 -37
  290. package/src/safari/common/polyfill/safariBrowserPolyfill.js +10 -10
  291. package/src/safari/manifest.json +2 -2
  292. package/test/jest.setup.js +4 -2
  293. package/src/all/background_page/controller/group/getOrFindGroupsUsersController.test.js +0 -69
  294. package/src/all/background_page/controller/organizationSettings/getOrganizationSettingsController.test.js +0 -45
  295. package/src/all/background_page/controller/resource/findAllByIdsForDisplayPermissionsController.js +0 -76
  296. package/src/all/background_page/controller/resource/findAllByIdsForDisplayPermissionsController.test.js +0 -97
  297. package/src/all/background_page/event/organizationSettingsEvents.js +0 -37
  298. package/src/all/background_page/model/organizationSettings/organizationSettingsModel.js +0 -93
  299. package/src/all/background_page/model/resourceType/resourceTypeModel.js +0 -72
  300. package/src/all/background_page/model/resourceType/resourceTypeModel.test.js +0 -101
  301. package/src/all/background_page/service/api/organizationSettings/organizationSettingsService.js +0 -58
  302. package/src/all/background_page/service/group/getOrFindGroupsService.js +0 -65
  303. package/src/all/background_page/service/group/getOrFindGroupsService.test.js +0 -168
  304. package/src/all/background_page/service/group/getOrFindGroupsUsersService.js +0 -51
  305. package/src/all/background_page/service/group/getOrFindGroupsUsersService.test.js +0 -94
  306. package/src/all/background_page/service/local_storage/authStatusLocalStorage.js +0 -70
  307. package/src/all/background_page/service/sessionStorage/userMeSessionStorageService.js +0 -94
@@ -10,6 +10,36 @@ RUN chmod 0644 /etc/profile.d/safe-chain-shims.sh \
10
10
  >> /etc/bash.bashrc
11
11
  ENV PATH="/home/node/.safe-chain/shims:${PATH}"
12
12
 
13
- RUN curl -fsSL https://claude.ai/install.sh | bash -s stable \
14
- && cp /root/.local/bin/claude /usr/local/bin/claude
15
-
13
+ # Install Claude Code CLI by downloading the release binary directly and verifying it
14
+ # against Anthropic's GPG-signed manifest — no remote install script is ever executed.
15
+ # Bump CLAUDE_VERSION to upgrade (>= 2.1.89 required for signed manifests).
16
+ # Key fingerprint + manifest scheme: https://code.claude.com/docs/en/setup#binary-integrity-and-code-signing
17
+ # The per-version binary URL ("$base/$CLAUDE_VERSION/$platform/claude") is the path the
18
+ # official installer uses to fetch the binary (de-facto stable; not formally documented).
19
+ ARG CLAUDE_VERSION=2.1.176
20
+ RUN set -eux; \
21
+ apt-get update; \
22
+ apt-get install -y --no-install-recommends ca-certificates curl gnupg jq; \
23
+ rm -rf /var/lib/apt/lists/*; \
24
+ case "$(dpkg --print-architecture)" in \
25
+ amd64) platform=linux-x64 ;; \
26
+ arm64) platform=linux-arm64 ;; \
27
+ *) echo "Unsupported architecture" >&2; exit 1 ;; \
28
+ esac; \
29
+ export GNUPGHOME="$(mktemp -d)"; \
30
+ curl -fsSL https://downloads.claude.ai/keys/claude-code.asc | gpg --batch --import; \
31
+ gpg --batch --fingerprint security@anthropic.com \
32
+ | grep -q '31DD DE24 DDFA B679 F42D 7BD2 BAA9 29FF 1A7E CACE'; \
33
+ base=https://downloads.claude.ai/claude-code-releases; \
34
+ curl -fsSL "$base/$CLAUDE_VERSION/manifest.json" -o /tmp/manifest.json; \
35
+ curl -fsSL "$base/$CLAUDE_VERSION/manifest.json.sig" -o /tmp/manifest.json.sig; \
36
+ gpg --batch --verify /tmp/manifest.json.sig /tmp/manifest.json; \
37
+ expected="$(jq -r ".platforms[\"$platform\"].checksum" /tmp/manifest.json)"; \
38
+ curl -fsSL "$base/$CLAUDE_VERSION/$platform/claude" -o /tmp/claude; \
39
+ echo "$expected /tmp/claude" | sha256sum -c -; \
40
+ install -d -o node -g node /home/node/.local/bin; \
41
+ install -o node -g node -m 0755 /tmp/claude /home/node/.local/bin/claude; \
42
+ gpgconf --kill all; \
43
+ rm -rf "$GNUPGHOME" /tmp/manifest.json /tmp/manifest.json.sig /tmp/claude; \
44
+ /home/node/.local/bin/claude --version
45
+ ENV PATH="/home/node/.local/bin:${PATH}"
@@ -0,0 +1,9 @@
1
+ {
2
+ "features": {
3
+ "ghcr.io/devcontainers/features/git:1": {
4
+ "version": "1.3.5",
5
+ "resolved": "ghcr.io/devcontainers/features/git@sha256:27905dc196c01f77d6ba8709cb82eeaf330b3b108772e2f02d1cd0d826de1251",
6
+ "integrity": "sha256:27905dc196c01f77d6ba8709cb82eeaf330b3b108772e2f02d1cd0d826de1251"
7
+ }
8
+ }
9
+ }
@@ -15,6 +15,5 @@ if [ "$ERRORS" -gt 0 ]; then
15
15
  echo "WARNING: $ERRORS mount(s) missing. Claude Code may not work correctly."
16
16
  fi
17
17
 
18
- echo "==> Updating Claude Code..."
19
- curl -fsSL https://claude.ai/install.sh | bash -s stable
18
+ echo "==> Claude Code version:"
20
19
  claude --version
@@ -1,30 +1,38 @@
1
- ##IMPORTANT: PLEASE READ
1
+ ---
2
+ name: Report a bug
3
+ about: Report a bug in the Passbolt browser extension.
4
+ title: ""
5
+ labels: bug
6
+ assignees: ""
7
+ ---
2
8
 
3
- Only use github issues for bugs.
9
+ <!--
10
+ PLEASE READ
4
11
 
5
- We will be more than happy to help you on the community forum for:
6
- - feature requests: https://community.passbolt.com/c/backlog
7
- - issues related to an installation: https://community.passbolt.com/c/installation-issues
8
- - general questions: https://community.passbolt.com/c/uncategorized
12
+ This tracker is only for browser extension bugs. For anything else:
9
13
 
10
- This is only a issue tracker for bugs related to the Passbolt Browser Extensions.
11
- For passbolt API, docker, command line interface, in short any other bugs
12
- please use [the other relevant repositories](https://github.com/passbolt).
14
+ - Security issues: https://www.passbolt.com/docs/contribute/security/vulnerability/
15
+ - Feature requests: https://community.passbolt.com/c/backlog
16
+ - Installation issues: https://community.passbolt.com/c/installation-issues
17
+ - General questions: https://community.passbolt.com/c/uncategorized
13
18
 
14
- If you are certain this is a new Browser Extension bug please use the following format:
19
+ If you are certain this is a browser extension bug, please fill in the format below.
20
+ -->
15
21
 
16
- ## ISSUE NAME
17
- * Passbolt Version: EXACT RELEASE VERSION OR COMMIT HASH, HERE.
18
- * Platform and Target:
19
- -- Browser: NAME AND VERSION
20
- -- Web server: NAME AND VERSION
21
- -- etc.: OTHER RELEVANT PLATFORM INFO
22
+ * Browser extension version: <!-- e.g. 5.13.0 -->
23
+ * API edition & version: <!-- e.g. CE 5.12.0 -->
24
+ * Environment
25
+ * Client: <!-- browser and OS, e.g. Chrome 148.1 on Ubuntu 26.04 -->
26
+ * Server: <!-- e.g. Debian 13, Docker latest-ce, or Passbolt Cloud -->
22
27
 
23
- ### What you did
24
- EXPLAIN WHAT YOU DID, PREFERABLY WITH CODE EXAMPLES, HERE.
28
+ ### What you did?
25
29
 
26
- ### What happened
27
- EXPLAIN WHAT IS ACTUALLY HAPPENING, HERE.
30
+ <!-- Explain what you did, preferably with steps or code examples. -->
28
31
 
29
- ### What you expected to happen
30
- EXPLAIN WHAT IS TO BE EXPECTED, HERE.
32
+ ### What happened?
33
+
34
+ <!-- Explain what actually happened. -->
35
+
36
+ ### What you expected to happen?
37
+
38
+ <!-- Explain what you expected instead. -->
@@ -0,0 +1,11 @@
1
+ blank_issues_enabled: false
2
+ contact_links:
3
+ - name: Request a feature or change
4
+ url: https://community.passbolt.com/c/backlog
5
+ about: Suggest and vote on features in the community forum.
6
+ - name: Get installation help
7
+ url: https://community.passbolt.com/c/installation-issues
8
+ about: Ask installation and configuration questions in the community forum.
9
+ - name: Ask a question
10
+ url: https://community.passbolt.com/c/uncategorized
11
+ about: Ask usage questions in the community forum.
@@ -16,8 +16,9 @@ jobs:
16
16
 
17
17
  steps:
18
18
  - name: Checkout repository
19
- uses: actions/checkout@v2
19
+ uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
20
20
  with:
21
+ persist-credentials: false
21
22
  # We must fetch at least the immediate parents so that if this is
22
23
  # a pull request then we can checkout the head.
23
24
  fetch-depth: 2
@@ -12,7 +12,9 @@ jobs:
12
12
  permissions:
13
13
  contents: write
14
14
  steps:
15
- - uses: actions/checkout@v4
15
+ - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
16
+ with:
17
+ persist-credentials: false
16
18
  - env:
17
19
  GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
18
20
  name: Create Release candidate
package/.gitlab-ci.yml ADDED
@@ -0,0 +1 @@
1
+ # Empty file to make NPMJS happy :D
package/CHANGELOG.md CHANGED
@@ -4,6 +4,206 @@ This project adheres to [Semantic Versioning](http://semver.org/).
4
4
 
5
5
  ## [Unreleased]
6
6
 
7
+ ## [5.14.2] - 2026-07-27
8
+ ### Fixed
9
+ - PB-53322: throttle permissions confirmation dialog requests
10
+ - PB-53211: fix an error when creating an account
11
+ - PB-53316: fix edition name translation
12
+
13
+ ## [5.14.1] - 2026-07-23
14
+ ### Fixed
15
+ - PB-53277: adapt findAllByIdsForShare to fetch the user profiles
16
+
17
+ ### Maintenance
18
+ - PB-53277: update groupApiService to support 'contains' on 'get' method
19
+
20
+
21
+ ## [5.14.0] - 2026-07-09
22
+ ### Added
23
+ - PB-45405 - Sort suggested resources by relevance instead of URI lengths
24
+ - PB-51236 - OFM - WP2.3 Create SiteSettingsLocalStorage
25
+ - PB-51476 - Add support for ADFS and OIDC on the account recovery with SSO workflow
26
+ - PB-51810 - PCD 2.29 - Create GroupPermissionItem
27
+ - PB-51811 - PCD 2.30 - Remove SharePermissionItem
28
+ - PB-51813 - PCD 2.32 - Update CreateResource to call the workflow handler
29
+ - PB-51814 - PCD 2.33 - Create PermissionServiceWorkerService
30
+ - PB-51826 - PCD 3.01 - Update EditResource to call the workflow handler
31
+ - PB-51828 - PCD 3.03 - Add edition handling in HandlePermissionWorkflow
32
+ - PB-51829 - PCD 3.04 - Update resourceUpdateService to get permissions list from the styleguide
33
+ - PB-51830 - PCD 3.05 - Update EditResource to display dialog
34
+ - PB-51831 - PCD 3.06 - Update DisplayResourcesListContextualMenu to trigger HandlePermissionWorkflow
35
+ - PB-51832 - PCD 3.07 - Update DisplayResourcesWorkspaceMenu to trigger HandlePermissionWorkflow
36
+ - PB-51833 - PCD 3.08 - Handle read-only mode in permission dialog
37
+ - PB-51835 - PCD 4.01 - Add share handling in HandlePermissionWorkflow
38
+ - PB-51836 - PCD 4.02 - Adapt PermissionServiceWorkerService (savePermissions)
39
+ - PB-51838 - PCD 4.04 - Update DisplayResourcesListContextualMenu to trigger HandlePermissionWorkflow from sharing
40
+ - PB-51839 - PCD 4.05 - Update DisplayResourcesWorkspaceMenu to trigger HandlePermissionWorkflow from sharing
41
+ - PB-52205 - OFM - WP1.4 Create SiteSettingsEntity
42
+ - PB-52213 - OFM - WP3.4 Create SiteSettingsApiService
43
+ - PB-52215 - OFM - WP4.18 Create GetOrFindSiteSettingsService
44
+ - PB-52216 - OFM - WP4.19 Create FindSiteSettingsService
45
+ - PB-52217 - OFM - WP4.20 findAndUpdateSiteSettingsLocalStorageService
46
+ - PB-52350 - LS - WP1.1 Create local storage online session entity
47
+ - PB-52352 - LS - WP1.2 Create local storage metadata entity
48
+ - PB-52354 - LS - WP2.1 Create online session local storage
49
+ - PB-52363 - LS - WP2.2 Create abstract local storage
50
+ - PB-52374 - LS - WP2.3 Migrate Rbac local storage
51
+ - PB-52375 - LS - WP2.4 Migrate Resource types local storage
52
+ - PB-52411 - LS - WP2.5 Migrate UserMe local storage
53
+ - PB-52412 - LS - WP2.6 Remove AuthStatus local storage to use ActiveSession local storage
54
+ - PB-52447 - LS - WP3.1 Update GetOrFindRbacService
55
+ - PB-52451 - LS - WP3.2 Create GetOrFindMeService and remove userModel getOrFindMe
56
+ - PB-52460 - LS - WP 3.3 Create GetOrFindResourceTypes and remove resourceTypeModel getOrFindAll
57
+ - PB-52713 - SORTURL - WP 1.1 - Implement url sorting algorithm in sortUtils
58
+ - PB-52714 - SORTURL - WP 1.2 - Use sortUtils in HomePage
59
+ - PB-52715 - SORTURL - WP 1.3 - Use sortUtils in InformMenuController
60
+ - PB-52965 - HLL - WP 4.1 Hide the last logged in column for non admins
61
+ - PB-52977 - PCD 6.26 - Fix group member count display on newly added group
62
+ - PB-53028 - PCD 6.27 - Adapt Permission confirmation dialog title based on the ran process
63
+ - PB-52536 - Display passbolt edition in right sidebar footer
64
+
65
+ ### Fixed
66
+ - PB-50607 - Inject In-form menu CTA container inside Dialog element
67
+ - PB-50876 - Secret history doesn't take in consideration RBAC cfg
68
+ - PB-51920 - Multiple autofill issues
69
+ - PB-52683 - Fix missing translation in healthcheck page
70
+ - PB-52799 - In-Form menu CTA not visible anymore
71
+ - PB-52357 - Mark "OpenId Configuration Path" as a required field in SSO
72
+ - PB-52938 - Fix the subscriptionKey button not appearing when API is below than 5.13
73
+
74
+ ### Maintenance
75
+ - PB-50075 - Remove DisplayUserDetailsActivity
76
+ - PB-51917 - Remove getOrFindAll from UserModel
77
+ - PB-52199 - Remove `formatOrderOptions` reference in API services as it is not in use
78
+ - PB-52298 - Cover admin edition management journeys with end to end tests
79
+ - PB-52467 - Pin js dependencies in lockfile
80
+ - PB-52606 - Assert Subscription Details
81
+ - PB-52607 - Assert Current Subscription Edition
82
+ - PB-52609 - Upgrade to Pro
83
+ - PB-52612 - Downgrade to CE
84
+ - PB-52613 - Edit the organization subscription key in adminer
85
+ - PB-52614 - Notify user of successful downgrade, Expire User's Session and Re-authenticate the user
86
+ - PB-52615 - Assert Subscription Panel
87
+ - PB-52691 - Retry In-form menu CTA injection when DOM changes are detected
88
+ - PB-52711 - Create new subscription key using rsa public/private keys to avoid exposing production valid subscription key
89
+ - PB-52542 - Update subscription page design
90
+ - PB-52584 - Downgrade to CE design
91
+
92
+ ### Security
93
+ - PB-49150 - Aikido#915877 Potential Cross Site Scripting (XSS) via window.location.href - passbolt-styleguide (info)
94
+ - PB-51261 - Major upgrade for i18next (High)
95
+ - PB-52333 - Improper Access Control in portManager (Info)
96
+ - PB-52334 - Improper Input Validation in resourcesKdbxExporter (Medium)
97
+ - PB-52485 - Fix esbuild GHSA-gv7w-rqvm-qjhr - HIGH CVSS3.1
98
+ - PB-52538 - Major upgrade for js-yaml (Medium)
99
+ - PB-52554 - Fix ws GHSA-96hv-2xvq-fx4p - HIGH CVSS 3.1
100
+ - PB-52555 - Fix launch-editor GHSA-v6wh-96g9-6wx3 - MEDIUM CVSS4.0
101
+ - PB-52556 - Fix tmp GHSA-7c78-jf6q-g5cm - HIGH CVSS3.1
102
+ - PB-52557 - Fix form-data GHSA-hmw2-7cc7-3qxx - HIGH CVSS4.0
103
+ - PB-52558 - Fix @babel/core GHSA-4x5r-pxfx-6jf8 - LOW CVSS3.1
104
+ - PB-52601 - Fix undici GHSA-vmh5-mc38-953g - HIGH CVSS3.1
105
+ - PB-52602 - Fix http-proxy-middleware GHSA-64mm-vxmg-q3vj - MEDIUM CVSS4.0
106
+ - PB-52603 - Fix webpack-dev-server GHSA-mx8g-39q3-5c79 - MEDIUM CVSS3.1
107
+ - PB-52611 - Small upgrade for serialize-javascript (High)
108
+ - PB-52621 - Fix undici GHSA-g8m3-5g58-fq7m - HIGH CVSS 3.1
109
+ - PB-52719 - Potential Cross Site Scripting (XSS) via window.location.href (Medium)
110
+
111
+
112
+ ## [5.13.4] - 2026-06-18
113
+ ### Fixed
114
+ - PB-52569 Add user to group freezing the page
115
+
116
+ ## [5.13.3] - 2026-06-17
117
+ ### Fixed
118
+ - Fix version mismatch between tag and package.json
119
+
120
+ ## [5.13.2] - 2026-06-17
121
+ ### Fixed
122
+ - PB-51699 Fix adding a user to a large group
123
+
124
+ ## [5.13.1] - 2026-06-15
125
+ ### Fixed
126
+ - PB-52478 Remove subscription CTA when edition plugin is not enabled
127
+
128
+ ### Maintenance
129
+ - PB-52428 Update subscription links
130
+
131
+ ## [5.13.0] - 2026-06-11
132
+ ### Added
133
+ - PB-51594 Move findAllForActionLogController and test to the correct location
134
+ - PB-48516 Build process improvement - Webpack
135
+ - PB-51534 Update group edit call in groupApiService to contain "my_group_user" as urlOptions
136
+ - PB-51580 PCD 1.1 - Migrate SearchUsersAndGroupsController off ShareModel
137
+ - PB-51585 PCD 1.2 - Migrate resourceCreateService ShareModel usage to ShareResourceService
138
+ - PB-51586 PCD 1.3 - Move passbolt.share.get-folders to controller pattern
139
+ - PB-51587 PCD 1.4 - Clear ShareModel
140
+ - PB-51588 PCD 1.5 - Migrate MoveFolderController off FolderModel
141
+ - PB-51589 PCD 1.6 - Migrate MoveOneFolderService off FolderModel
142
+ - PB-51590 PCD 1.7 - Migrate MoveResourcesService off FolderModel + ResourceModel
143
+ - PB-51782 PCD 2.01 - Create SynchroniseKeyringController and binding
144
+ - PB-51783 PCD 2.02 - Create KeyringServiceWorkerService
145
+ - PB-51785 PCD 2.04 - Create GetOrFindGroupService
146
+ - PB-51786 PCD 2.05 - Create GetOrFindGroupController and binding
147
+ - PB-51787 PCD 2.06 - Create GetOrFindGroupsUsersService
148
+ - PB-51788 PCD 2.07 - Create GetOrFindGroupsUsersController and binding
149
+ - PB-51789 PCD 2.08 - Create GetOrFindUsersService
150
+ - PB-51790 PCD 2.09 - Create GetOrFindUsersController and binding
151
+ - PB-51791 PCD 2.10 - Add new methods getByIds, getGroupsUsersByGropuId on GroupServiceWorkerService
152
+ - PB-51999 PCD 2.10.B - Consolidate UserEntity between browser extension and styleguide
153
+ - PB-52000 PCD 2.10.C - Move GroupEntity + GroupsCollection to the styleguide
154
+ - PB-51792 PCD 2.11 - Create UserServiceWorkerService
155
+ - PB-51793 PCD 2.12 - Create PermissionServiceWorkerService
156
+ - PB-51794 PCD 2.13 - Create SearchUsersAndGroupsService
157
+ - PB-51795 PCD 2.14 - Refactor ShareService into ShareApiService
158
+ - PB-51796 PCD 2.15 - Update GroupApiService to support the new filter
159
+ - PB-51798 PCD 2.17 - Update FindAndUpdateGroupsLocalStorageService to add a method findForLocalStorageByIds
160
+ - PB-51799 PCD 2.18 - Align UserLocalStorage to add memory cache
161
+ - PB-51800 PCD 2.19 - Rename UserService to UserApiService
162
+ - PB-52047 CE/PRO upgrade
163
+ - PB-49605 Grid columns min-width
164
+ - PB-51808 PCD 2.27 - Create UserPermissionItem
165
+ - PB-51809 PCD 2.28 - Create GroupUserPermissionItem
166
+ - PB-47929 PAG - WP1.1 Add pagination support to ResourceService
167
+ - PB-47930 PAG - WP1.2 Paginate resource fetch for updating local storage in FindResourceService
168
+ - PB-52056 Add create method to SubscriptionKeyServiceWorkerService
169
+ - PB-52057 Add delete method to SubscriptionKeyServiceWorkerService
170
+ - PB-52058 Adapt EditSubscriptionKey to be customizable
171
+ - PB-52061 Adapt DisplaySubscriptionKeyTeasing to handle upgrade from app
172
+ - PB-52064 Create ConfirmDowngradeSubscriptionDialog
173
+ - PB-52062 Adapt DisplaySubscriptionKey to handle downgrading
174
+ - PB-52128 DisplaySubscriptionKey new layout
175
+
176
+ ### Security
177
+ - PB-51937 Fix ws GHSA-58qx-3vcg-4xpx - MEDIUM CVSS3.1
178
+ - PB-51938 Fix brace-expansion GHSA-jxxr-4gwj-5jf2 - MEDIUM CVSS3.1
179
+ - PB-52029 Fix tmp GHSA-ph9p-34f9-6g65 - HIGH CVSS4.0
180
+ - PB-51532 Include GitLab file from ci-definitions repo
181
+ - PB-51642 Fix fast-uri GHSA-q3j6-qgpj-74h6 - HIGH CVSS3.1
182
+ - PB-51643 Fix @babel/plugin-transform-modules-systemjs GHSA-fv7c-fp4j-7gwp - HIGH CVSS3.1
183
+ - PB-51940 Fix qs GHSA-q8mj-m7cp-5q26 - MEDIUM CVSS4.0
184
+ - PB-52030 Fix webpack-dev-server GHSA-79cf-xcqc-c78w - MEDIUM CVSS3.1
185
+ - PB-51698 Use correct passbolt repo names in safe-chain whitelist
186
+
187
+ ### Fixed
188
+ - PB-52148 CSP is blocking upload to TOTP QRCode on Firefox
189
+ - PB-50949 Fix MetadataKeysSettingsLocalStorageContext and MetadataTypesSettingsLocalStorageContext entity issue on storage changes
190
+ - PB-52047 Fix Passbolt Pro Edition wording
191
+ - PB-52156 Fix password preview button min-width
192
+
193
+ ### Maintenance
194
+ - PB-48560 Use NODE_ENV for webpack mode config
195
+ - PB-48564 Remove grunt-header
196
+ - PB-48528 Transpile LESS from webpack
197
+ - PB-48558 Extract translations directly from webpack
198
+ - PB-48559 Remove rimraf
199
+ - PB-49064 Remove Grunt
200
+ - PB-48516 Replace eval sourcemap by inline
201
+ - PB-48516 Prevent br tags to be added in translations.
202
+ - PB-48516 Remove duplicated translations
203
+ - PB-51793: Add PermissionServiceWorkerService and transfer Permission entity and collection on styleguide
204
+ - PB-51160 Update Firefox manifest to avoid Mozilla warnings
205
+ - PB-52155 Update github issue template
206
+
7
207
  ## [5.12.2] - 2026-05-19
8
208
  ### Fixed
9
209
  - PB-51648 Fix add user to group reducing set timeout
@@ -2725,7 +2925,15 @@ self registration settings option in the left-side bar
2725
2925
  - AP: User with plugin installed
2726
2926
  - LU: Logged in user
2727
2927
 
2728
- [Unreleased]: https://github.com/passbolt/passbolt_browser_extension/compare/v5.12.2...HEAD
2928
+ [Unreleased]: https://github.com/passbolt/passbolt_browser_extension/compare/v5.14.2...HEAD
2929
+ [5.14.2]: https://github.com/passbolt/passbolt_browser_extension/compare/v5.14.1...v5.14.2
2930
+ [5.14.1]: https://github.com/passbolt/passbolt_browser_extension/compare/v5.14.0...v5.14.1
2931
+ [5.14.0]: https://github.com/passbolt/passbolt_browser_extension/compare/v5.13.4...v5.14.0
2932
+ [5.13.4]: https://github.com/passbolt/passbolt_browser_extension/compare/v5.13.3...v5.13.4
2933
+ [5.13.3]: https://github.com/passbolt/passbolt_browser_extension/compare/v5.13.2...v5.13.3
2934
+ [5.13.2]: https://github.com/passbolt/passbolt_browser_extension/compare/v5.13.1...v5.13.2
2935
+ [5.13.1]: https://github.com/passbolt/passbolt_browser_extension/compare/v5.13.0...v5.13.1
2936
+ [5.13.0]: https://github.com/passbolt/passbolt_browser_extension/compare/v5.12.1...v5.13.0
2729
2937
  [5.12.2]: https://github.com/passbolt/passbolt_browser_extension/compare/v5.12.1...v5.12.2
2730
2938
  [5.12.1]: https://github.com/passbolt/passbolt_browser_extension/compare/v5.12.0...v5.12.1
2731
2939
  [5.12.0]: https://github.com/passbolt/passbolt_browser_extension/compare/v5.11.3...v5.12.0
package/CODEOWNERS ADDED
@@ -0,0 +1,2 @@
1
+ [Front-end]
2
+ * @passbolt/groups/front-end-group
package/CONTRIBUTING.md CHANGED
@@ -15,18 +15,7 @@ There are a few guidelines that we need contributors to follow so that we have a
15
15
 
16
16
  ### Reporting a security Issue
17
17
 
18
- If you've found a security related issue in Passbolt, please don't open an issue in GitHub.
19
- Instead contact us at security@passbolt.com. In the spirit of responsible disclosure we ask that the reporter keep the
20
- issue confidential until we announce it.
21
-
22
- The passbolt team will take the following actions:
23
- - Try to first reproduce the issue and confirm the vulnerability.
24
- - Acknowledge to the reporter that we’ve received the issue and are working on a fix.
25
- - Get a fix/patch prepared and create associated automated tests.
26
- - Prepare a post describing the vulnerability, and the possible exploits.
27
- - Release new versions of all affected major versions.
28
- - Prominently feature the problem in the release announcement.
29
- - Provide credits in the release announcement to the reporter if they so desire.
18
+ If you've found a security related issue in Passbolt, please don't open an issue on GitHub. Follow our responsible disclosure process: https://www.passbolt.com/docs/contribute/security/vulnerability/.
30
19
 
31
20
  ### Reporting a bug
32
21
  Please only use github for bugs or pull request.
package/README.md CHANGED
@@ -5,14 +5,14 @@
5
5
  /_/ \__,_/____/____/_.___/\____/_/\__/
6
6
 
7
7
  Open source password manager for teams
8
- (c) 2025 Passbolt SA
8
+ (c) 2026 Passbolt SA
9
9
  https://www.passbolt.com
10
10
 
11
11
  ## License
12
12
 
13
13
  Passbolt - Open source password manager for teams
14
14
 
15
- (c) 2025 Passbolt SA
15
+ (c) 2026 Passbolt SA
16
16
 
17
17
  This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General
18
18
  Public License (AGPL) as published by the Free Software Foundation version 3.
@@ -54,22 +54,11 @@ such as auto filling your passwords when visiting known websites.
54
54
 
55
55
  # Contributing
56
56
 
57
- Please check ```CONTRIBUTING.md``` for more information about how to get involved.
57
+ Please check [CONTRIBUTING.md](CONTRIBUTING.md) for more information about how to get involved.
58
58
 
59
- ### Reporting a security Issue
59
+ ## Reporting a security Issue
60
60
 
61
- If you've found a security related issue in Passbolt, please don't open an issue in GitHub.
62
- Instead contact us at security@passbolt.com. In the spirit of responsible disclosure we ask that the reporter keep the
63
- issue confidential until we announce it.
64
-
65
- The passbolt team will take the following actions:
66
- - Try to first reproduce the issue and confirm the vulnerability.
67
- - Acknowledge to the reporter that we’ve received the issue and are working on a fix.
68
- - Get a fix/patch prepared and create associated automated tests.
69
- - Prepare a post describing the vulnerability, and the possible exploits.
70
- - Release new versions of all affected major versions.
71
- - Prominently feature the problem in the release announcement.
72
- - Provide credits in the release announcement to the reporter if they so desire.
61
+ If you've found a security related issue in Passbolt, please don't open an issue on GitHub. Follow our responsible disclosure process: https://www.passbolt.com/docs/contribute/security/vulnerability/.
73
62
 
74
63
  # Quick how-to for developers
75
64
 
package/RELEASE_NOTES.md CHANGED
@@ -1,4 +1,6 @@
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.
1
+ # v5.14.2
2
2
 
3
3
  ### Fixed
4
- - PB-51648 Fix add user to group reducing set timeout
4
+ - PB-53322: throttle permissions confirmation dialog requests
5
+ - PB-53211: fix an error when creating an account
6
+ - PB-53316: fix edition name translation
package/SECURITY.md ADDED
@@ -0,0 +1,7 @@
1
+ # Security Policy
2
+
3
+ For general information about security at Passbolt, see https://www.passbolt.com/security
4
+
5
+ ## Reporting a security issue
6
+
7
+ If you've found a security issue in Passbolt, please do not open a public issue. Follow our responsible disclosure process: https://www.passbolt.com/docs/contribute/security/vulnerability/
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "passbolt-browser-extension",
3
- "version": "5.13.0-alpha.1",
3
+ "version": "5.14.2",
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",
@@ -14,14 +14,14 @@
14
14
  "await-lock": "^2.1.0",
15
15
  "downloadjs": "^1.4.7",
16
16
  "eckey-utils": "^0.7.14",
17
- "i18next": "^25.4.0",
17
+ "i18next": "^26.3.4",
18
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.13.0-alpha.6",
24
+ "passbolt-styleguide": "^5.14.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",
@@ -31,7 +31,7 @@
31
31
  "xregexp": "~5.1.2"
32
32
  },
33
33
  "devDependencies": {
34
- "@babel/core": "^7.23.2",
34
+ "@babel/core": "^7.29.7",
35
35
  "@babel/helpers": "^7.26.10",
36
36
  "@babel/plugin-transform-runtime": "^7.22.9",
37
37
  "@babel/preset-env": "^7.29.5",
@@ -71,13 +71,15 @@
71
71
  "prettier": "3.6.2",
72
72
  "terser-webpack-plugin": "^5.4.0",
73
73
  "text-encoding-utf-8": "^1.0.2",
74
- "web-ext": "^10.3.0",
75
- "webpack": "^5.105.2",
74
+ "web-ext": "^10.4.0",
75
+ "webpack": "^5.107.2",
76
76
  "webpack-cli": "^7.0.2"
77
77
  },
78
78
  "overrides": {
79
79
  "@xmldom/xmldom": "0.8.13",
80
- "uuid": "^14.0.0"
80
+ "uuid": "^14.0.0",
81
+ "shell-quote": "1.8.4",
82
+ "js-yaml": "^4.2.0"
81
83
  },
82
84
  "scripts": {
83
85
  "build": "webpack",
package/renovate.json ADDED
@@ -0,0 +1,6 @@
1
+ {
2
+ "$schema": "https://docs.renovatebot.com/renovate-schema.json",
3
+ "extends": [
4
+ "local>passbolt/passbolt-ops/renovate"
5
+ ]
6
+ }
@@ -12,15 +12,14 @@
12
12
  * @since 3.4.0
13
13
  */
14
14
 
15
- import ResourceModel from "../../model/resource/resourceModel";
16
15
  import { QuickAccessService } from "../../service/ui/quickAccess.service";
17
16
  import GetPassphraseService from "../../service/passphrase/getPassphraseService";
18
17
  import BrowserTabService from "../../service/ui/browserTab.service";
19
18
  import ExternalResourceEntity from "../../model/entity/resource/external/externalResourceEntity";
20
19
  import ResourceInProgressCacheService from "../../service/cache/resourceInProgressCache.service";
21
20
  import WorkerService from "../../service/worker/workerService";
22
- import ResourceTypeModel from "../../model/resourceType/resourceTypeModel";
23
21
  import ResourceMetadataEntity from "passbolt-styleguide/src/shared/models/entity/resource/metadata/resourceMetadataEntity";
22
+ import { sortResourcesByUriMatchingScore } from "passbolt-styleguide/src/shared/utils/sortUtils";
24
23
  import GetOrFindResourcesService from "../../service/resource/getOrFindResourcesService";
25
24
 
26
25
  /**
@@ -35,8 +34,6 @@ class InformMenuController {
35
34
  */
36
35
  constructor(worker, apiClientOptions, account) {
37
36
  this.worker = worker;
38
- this.resourceModel = new ResourceModel(apiClientOptions, account);
39
- this.resourceTypeModel = new ResourceTypeModel(apiClientOptions);
40
37
  this.getPassphraseService = new GetPassphraseService(account);
41
38
  this.getOrFindResourcesService = new GetOrFindResourcesService(account, apiClientOptions);
42
39
  }
@@ -61,7 +58,7 @@ class InformMenuController {
61
58
  const configuration = {
62
59
  inputType: callToActionInput.type,
63
60
  inputValue: callToActionInput.value,
64
- suggestedResources: suggestedResources.toDto(),
61
+ suggestedResources: sortResourcesByUriMatchingScore(suggestedResources.toDto(), this.worker.tab.url),
65
62
  };
66
63
 
67
64
  this.worker.port.emit(requestId, "SUCCESS", configuration);
@@ -27,6 +27,9 @@ import { defaultResourcesDtos } from "passbolt-styleguide/src/shared/models/enti
27
27
  import ResourcesCollection from "../../model/entity/resource/resourcesCollection";
28
28
  import ExternalResourceEntity from "../../model/entity/resource/external/externalResourceEntity";
29
29
  import ResourceMetadataEntity from "passbolt-styleguide/src/shared/models/entity/resource/metadata/resourceMetadataEntity";
30
+ import { sortResourcesByUriMatchingScore } from "passbolt-styleguide/src/shared/utils/sortUtils";
31
+ import { defaultResourceDto } from "passbolt-styleguide/src/shared/models/entity/resource/resourceEntity.test.data";
32
+ import { defaultResourceMetadataDto } from "passbolt-styleguide/src/shared/models/entity/resource/metadata/resourceMetadataEntity.test.data";
30
33
 
31
34
  describe("InformMenuController", () => {
32
35
  let requestId, worker, port, controller, webIntegrationPort;
@@ -79,10 +82,37 @@ describe("InformMenuController", () => {
79
82
  expect(port.emit).toHaveBeenCalledWith(requestId, "SUCCESS", {
80
83
  inputType: "password",
81
84
  inputValue: "test",
82
- suggestedResources: suggestedResourcesDtos,
85
+ suggestedResources: sortResourcesByUriMatchingScore(suggestedResourcesDtos, worker.tab.url),
83
86
  });
84
87
  });
85
88
 
89
+ it("Should sort suggestedResources by URI matching score with the tab url, best match first", async () => {
90
+ expect.assertions(2);
91
+
92
+ const noMatch = defaultResourceDto({ metadata: defaultResourceMetadataDto({ uris: ["https://example.com"] }) });
93
+ const sameDomain = defaultResourceDto({ metadata: defaultResourceMetadataDto({ uris: ["passbolt.com"] }) });
94
+ const sameFqdn = defaultResourceDto({
95
+ metadata: defaultResourceMetadataDto({ uris: ["https://www.passbolt.com/login"] }),
96
+ });
97
+ const exactMatch = defaultResourceDto({
98
+ metadata: defaultResourceMetadataDto({ uris: ["https://www.passbolt.com"] }),
99
+ });
100
+
101
+ const unsortedCollection = new ResourcesCollection([noMatch, sameDomain, sameFqdn, exactMatch]);
102
+ jest.spyOn(controller.getOrFindResourcesService, "getOrFindSuggested").mockResolvedValue(unsortedCollection);
103
+
104
+ await controller.getInitialConfiguration(requestId);
105
+
106
+ const emittedConfiguration = port.emit.mock.calls[0][2];
107
+ expect(port.emit).toHaveBeenCalledWith(requestId, "SUCCESS", expect.anything());
108
+ expect(emittedConfiguration.suggestedResources.map((resource) => resource.id)).toEqual([
109
+ exactMatch.id,
110
+ sameFqdn.id,
111
+ sameDomain.id,
112
+ noMatch.id,
113
+ ]);
114
+ });
115
+
86
116
  it("Should catch and emit ERROR when WorkerService throws an error", async () => {
87
117
  expect.assertions(1);
88
118
 
@@ -25,7 +25,7 @@ class GetAndInitializeAccountLocaleController {
25
25
  this.worker = worker;
26
26
  this.requestId = requestId;
27
27
  this.account = account;
28
- this.localeModel = new LocaleModel(apiClientOptions);
28
+ this.localeModel = new LocaleModel(apiClientOptions, account);
29
29
  }
30
30
 
31
31
  /**