passbolt-browser-extension 5.10.1 → 5.10.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/RELEASE_NOTES.md +117 -70
- package/build-safari-extension/Passbolt-Safari-Extension/Passbolt - password manager/Passbolt - password manager.entitlements +0 -4
- package/build-safari-extension/Passbolt-Safari-Extension/Passbolt - password manager Extension/Passbolt - password manager Extension.entitlements +0 -4
- package/build-safari-extension/Passbolt-Safari-Extension/Passbolt - password manager.xcodeproj/project.pbxproj +44 -12
- package/eslint.config.mjs +38 -63
- package/package.json +4 -3
- package/src/all/background_page/controller/InformMenuController/InformMenuController.js +8 -2
- package/src/all/background_page/controller/InformMenuController/InformMenuController.test.js +344 -0
- package/src/all/background_page/controller/account/updatePrivateKeyController.test.js +7 -5
- package/src/all/background_page/controller/auth/redirectPostLoginController.js +1 -1
- package/src/all/background_page/controller/autofill/AutofillController.js +12 -7
- package/src/all/background_page/controller/autofill/AutofillController.test.js +301 -85
- package/src/all/background_page/controller/exportAccount/exportDesktopAccountController.test.js +3 -1
- package/src/all/background_page/controller/informCallToActionController/informCallToActionController.js +7 -3
- package/src/all/background_page/controller/informCallToActionController/informCallToActionController.test.js +189 -0
- package/src/all/background_page/controller/metadata/createMetadataKeyController.test.js +0 -1
- package/src/all/background_page/controller/passwordExpiry/deletePasswordExpirySettingsController.test.js +3 -3
- package/src/all/background_page/controller/port/generatePortIdController.test.js +1 -1
- package/src/all/background_page/controller/scimSettings/createScimSettingsController.test.js +0 -1
- package/src/all/background_page/controller/scimSettings/disableScimSettingsController.test.js +0 -1
- package/src/all/background_page/controller/scimSettings/findScimSettingsController.test.js +0 -1
- package/src/all/background_page/controller/scimSettings/updateScimSettingsController.test.js +0 -1
- package/src/all/background_page/controller/share/shareResourcesController.test.js +0 -1
- package/src/all/background_page/event/appEvents.js +1 -1
- package/src/all/background_page/event/informCallToActionEvents.js +3 -2
- package/src/all/background_page/model/config.js +2 -1
- package/src/all/background_page/model/entity/folder/external/externalFoldersCollection.js +1 -1
- package/src/all/background_page/model/entity/folder/foldersCollection.js +3 -1
- package/src/all/background_page/model/entity/folder/foldersCollection.test.js +0 -1
- package/src/all/background_page/model/entity/import/importResourcesFileEntity.js +1 -1
- package/src/all/background_page/model/entity/import/importResourcesFileEntity.test.data.js +0 -13
- package/src/all/background_page/model/entity/mfa/mfaSetupYubikeyEntity.js +1 -1
- package/src/all/background_page/model/entity/resource/external/externalResourcesCollection.js +1 -1
- package/src/all/background_page/model/entity/resource/resourceEntity.js +1 -1
- package/src/all/background_page/model/entity/resource/resourceEntity.test.js +4 -5
- package/src/all/background_page/model/entity/resource/resourcesCollection.test.js +1 -2
- package/src/all/background_page/model/entity/secret/needed/neededSecretsCollection.test.js +0 -1
- package/src/all/background_page/model/entity/securityToken/securityTokenEntity.js +1 -1
- package/src/all/background_page/model/entity/theme/themeEntity.js +1 -1
- package/src/all/background_page/model/entity/userAndGroupSearchResultEntity/userAndGroupSearchResultCollestion.test.js +0 -1
- package/src/all/background_page/model/export/resources/resourcesKdbxExporter.js +3 -3
- package/src/all/background_page/model/passwordExpiry/passwordExpirySettingsModel.test.js +3 -5
- package/src/all/background_page/sdk/i18n.js +2 -2
- package/src/all/background_page/service/account/getActiveAccountService.js +1 -1
- package/src/all/background_page/service/account/getActiveAccountService.test.js +1 -5
- package/src/all/background_page/service/api/accountRecovery/validateAccountRecoveryOrganizationPrivateKeyService.test.data.js +1 -1
- package/src/all/background_page/service/api/comment/commentApiService.test.js +2 -3
- package/src/all/background_page/service/api/metadata/metadataKeysApiService.test.js +1 -1
- package/src/all/background_page/service/api/move/moveService.test.js +2 -2
- package/src/all/background_page/service/api/passwordExpiry/passwordExpirySettingsService.test.js +2 -2
- package/src/all/background_page/service/api/sessionKey/sessionKeysBundlesApiService.test.js +2 -2
- package/src/all/background_page/service/local_storage/resourceLocalStorage.test.js +0 -1
- package/src/all/background_page/service/metadata/decryptMetadataService.js +7 -5
- package/src/all/background_page/service/metadata/encryptMetadataService.js +8 -5
- package/src/all/background_page/service/metadata/encryptMetadataService.test.js +17 -15
- package/src/all/background_page/service/move/moveOneFolderService.test.js +0 -1
- package/src/all/background_page/service/move/moveResourcesService.test.js +0 -1
- package/src/all/background_page/service/publicWebsite/parsePublicWebsiteUrlService.js +1 -2
- package/src/all/background_page/service/resource/create/resourceCreateService.test.js +0 -1
- package/src/all/background_page/service/resource/getOrFindResourcesService.js +11 -4
- package/src/all/background_page/service/resource/getOrFindResourcesService.test.js +85 -3
- package/src/all/background_page/service/resource/update/resourceUpdateService.test.js +0 -1
- package/src/all/background_page/service/scimSettings/updateScimSettingsService.test.js +3 -3
- package/src/all/background_page/service/sessionKey/getOrFindSessionKeysService.test.js +0 -1
- package/src/all/background_page/service/sessionKey/saveSessionKeysService.test.js +0 -1
- package/src/all/background_page/service/share/shareFoldersService.test.js +0 -1
- package/src/all/background_page/service/share/shareResourceService.test.js +0 -1
- package/src/all/background_page/service/toolbar/toolbarService.js +14 -1
- package/src/all/background_page/service/webIntegration/parseWebIntegrationUrlService.js +1 -1
- package/src/all/background_page/utils/format/formDataUtils.test.js +7 -2
- package/src/all/background_page/utils/format/gpgUserIdParser.js +2 -2
- package/src/all/background_page/utils/promise/promiseTimeoutService.js +1 -1
- package/src/all/contentScripts/js/app/App.js +4 -7
- package/src/all/webAccessibleResources/js/app/App.js +4 -4
- package/src/all/webAccessibleResources/js/app/InFormCallToAction.js +2 -1
- package/src/chrome/manifest.json +1 -1
- package/src/chrome-mv3/manifest.json +1 -1
- package/src/firefox/manifest.json +1 -1
- package/src/safari/background_page/service/cookies/cookiesService.js +1 -1
- package/src/safari/manifest.json +1 -1
- package/test/jest.setup.js +0 -1
package/RELEASE_NOTES.md
CHANGED
|
@@ -1,76 +1,123 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
Passbolt 5.
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
1
|
+
Passbolt 5.10.0 is the first version of Passbolt that officially supports Safari. Also, this version comes with tags in the grid and security improvements regarding CSV exports.
|
|
2
|
+
|
|
3
|
+
# Safari is now supported
|
|
4
|
+
|
|
5
|
+
Passbolt 5.10.0 adds Safari as a supported browser. Safari has its own specificities and limitations, therefore features like avatars are disabled.
|
|
6
|
+
|
|
7
|
+
# TOTP Autofill
|
|
8
|
+
|
|
9
|
+
Passbolt 5.10.0 now automatically fills the one-time password directly into login forms, just like it does with usernames and passwords. This seamless integration simplifies your multi-factor authentication by eliminating manual copying.
|
|
10
|
+
|
|
11
|
+
# Tags are visible in the grid
|
|
12
|
+
|
|
13
|
+
This version also releases modernization of the tag codebase. This allows us to present these tags in the grid but also paves the way for further improvement of this feature.
|
|
14
|
+
|
|
15
|
+
# CSV export security update
|
|
16
|
+
|
|
17
|
+
CSV export has been updated to reinforce Passbolt's security postures. Some spreadsheet software that supports CSV also executes formulas when opening these files. It's a security issue that has been tackled in this version in 2 ways:
|
|
18
|
+
the CSV exports are disabled by default (import is still working) and can be reenabled via a server configuration
|
|
19
|
+
When CSV exports are enabled, a confirmation checkbox is displayed to ensure the users know what are the risks of this kind of export. Exported values are not modified to keep data integrity
|
|
20
|
+
|
|
21
|
+
# React 18 migration
|
|
22
|
+
|
|
23
|
+
The migration to React 18 is a significant step toward modernizing the application's entire codebase. This update improves the code and brings performance optimizations for our users.
|
|
24
|
+
|
|
25
|
+
# Conclusion
|
|
26
|
+
3 long awaited features are finally out: Safari, TOTP autofill and tags in the grid.
|
|
27
|
+
|
|
28
|
+
### Added
|
|
29
|
+
- PB-28063 Activate Safari support in the styleguide
|
|
30
|
+
- PB-29275 SAF - WP2.10 Add Safari as supported extension
|
|
31
|
+
- PB-29292 SAF - WP2.11 Fix quickaccess opening on Safari
|
|
32
|
+
- PB-29605 SAF - WP2.7 Fix detached quickaccess not being closed after "use on this page" click
|
|
33
|
+
- PB-36503 Browser extension causes performance degradation on some websites
|
|
34
|
+
- PB-36503 Browser extension causes performance degradation on some websites
|
|
35
|
+
- PB-43353 SAF - WP2.8 Fix file download on Safari
|
|
36
|
+
- PB-43355 SAF - WP2.9 Fix quickaccess animations
|
|
37
|
+
- PB-43997 SAF - WP1 Update the Safari browser extension build
|
|
38
|
+
- PB-44342 SAF - WP2.1 Provide Safari with its own polyfill
|
|
39
|
+
- PB-44343 SAF - WP2.2 Remove unsupported index.js callback
|
|
40
|
+
- PB-44345 SAF - WP2.4 fix the CSS injection in styleguide.js
|
|
41
|
+
- PB-45869 SAF - WP2.13 Implement file download using the native messaging
|
|
42
|
+
- PB-45870 SAF - WP2.14 Implement a custom fetch using the native messaging
|
|
43
|
+
- PB-46265 SAF - WP2.15 Fix authentication with MFA in the quickaccess
|
|
44
|
+
- PB-46679 SAF - Fix bold font rendering
|
|
45
|
+
- PB-47765 Tags modernization
|
|
46
|
+
- PB-47777 Migrate tags logic from components to TagServiceWorkerService
|
|
47
|
+
- PB-47789 REACT18 - Update ReactDom render to createRoot
|
|
48
|
+
- PB-47992 REACT 18 - migration of ResourceWorkspaceContext
|
|
49
|
+
- PB-48158 REACT 18 - Implement the migration of Dialog and Progress Contexts
|
|
50
|
+
- PB-48240 REACT18 - UserWorkspace migration
|
|
51
|
+
- PB-48252 REACT18 - Migrate ExtAppContext
|
|
52
|
+
- PB-48253 SAF - Temporarily remove Avatar download to avoid user being signed out
|
|
53
|
+
- PB-48258 SAF - Temporarily remove "upload avatar" feature
|
|
54
|
+
- PB-48337 REACT18 - Update contexts that should use functional update
|
|
55
|
+
- PB-48338 REACT18 - Update shared components that should use functional update
|
|
56
|
+
- PB-48339 REACT18 - Update quickaccess components that should use functional update
|
|
57
|
+
- PB-48340 REACT18 - Update authentication components that should use functional update
|
|
58
|
+
- PB-48342 REACT18 - Update user setting components that should use functional update
|
|
59
|
+
- PB-48343 REACT18 - Update administration components that should use functional update
|
|
60
|
+
- PB-48360 REACT18 - Update resource components that should use functional update
|
|
61
|
+
- PB-48363 REACT18 - Update user components that should use functional update
|
|
62
|
+
- PB-48366 REACT18 - Remove await set state in contexts
|
|
63
|
+
- PB-48384 REACT18 - Remove await setState in components and apps
|
|
64
|
+
- PB-48404 REACT18 - Object.assign should use functional set state for context
|
|
65
|
+
- PB-48408 CSV - WP1.2 Add a warning message when user is selecting a CSV format on the button
|
|
66
|
+
- PB-48416 CSV - WP2.9 Check if the setting is enabled when displaying the csv format on exportFormats
|
|
67
|
+
- PB-48419 REACT18 - Update the components to use functional setState
|
|
68
|
+
- PB-48425 REACT18 - Form validation should not check errors in the state for component
|
|
69
|
+
- PB-48470 Create ColumnTagsModel component
|
|
70
|
+
- PB-48471 TAGRID-1.2 Create CellTags component and make it resizable
|
|
71
|
+
- PB-48472 TAGRID-1.3 Add ColumnTagsModel and CellTags to DisplayResourcesList
|
|
72
|
+
- PB-48473 TAGRID-1.4 Clicking on a tag should filter the workspace
|
|
73
|
+
- PB-48521 Harmonise tags style
|
|
74
|
+
- PB-48553 SAF - Use webNavigation instead of tab update to improve navigation performances
|
|
75
|
+
- PB-49070 REACT18 - Migrate SSOContext for react-extension
|
|
76
|
+
- PB-49085 REACT18 - Migrate tests to remove legacyRoot true
|
|
77
|
+
- PB-49092 TAGRID-1.6 Hovering the tag on the resource detail should display tooltip
|
|
78
|
+
- PB-49106 CSV - WP2.2 Implement the exportPoliciesSettingsEntity
|
|
79
|
+
- PB-49107 CSV - WP2.3 Implement the exportPoliciesSettingsApiService
|
|
80
|
+
- PB-49108 CSV - WP2.4 Implement the findExportPoliciesSettingsService
|
|
81
|
+
- PB-49109 CSV - WP2.5 Implement findExportPoliciesSettingsController
|
|
82
|
+
- PB-49110 CSV - WP2.7 Implement exportPoliciesSettingsServiceWorkerService
|
|
83
|
+
- PB-49134 REACT18 - Migrate ApiAppContext
|
|
84
|
+
- PB-49137 CSV - WP2.8 Implement the ExportPoliciesContext
|
|
85
|
+
- PB-49138 CSV - WP2.6 Add event to find export policies settings
|
|
86
|
+
- PB-49172 REACT18 - Rename method in DisplaySelfRegistrationAdminstration
|
|
87
|
+
- PB-49248 REACT 18 - Revert functional setstate
|
|
88
|
+
- PB-49262 REACT18 - revert functional setstate in contexts and components
|
|
89
|
+
- PB-49270 SAF - Fix Safari Users settings for Duo MFA configuration
|
|
90
|
+
- PB-49293 TOTP Autofill
|
|
91
|
+
- PB-49294 Send TOTP through port to fill from in-form menu or quickaccess
|
|
36
92
|
|
|
37
93
|
### Fixed
|
|
38
|
-
- PB-
|
|
94
|
+
- PB-48468 Fix layout when an announcement is visible
|
|
95
|
+
- PB-49330 Alignment issues in 2FA Yubikey login page
|
|
39
96
|
|
|
40
97
|
### Maintenance
|
|
41
|
-
- PB-
|
|
42
|
-
- PB-
|
|
43
|
-
- PB-
|
|
44
|
-
- PB-
|
|
45
|
-
- PB-
|
|
46
|
-
- PB-
|
|
47
|
-
- PB-
|
|
48
|
-
- PB-
|
|
49
|
-
- PB-
|
|
50
|
-
- PB-47074 Rename subscriptionService to subscriptionApiService
|
|
51
|
-
- PB-47075 Migrate subscription key finder business logic
|
|
52
|
-
- PB-47100 Move find controller logic from SubscriptionController
|
|
53
|
-
- PB-47101 Migrate subscription logic from SubscriptionController to UpdateSubscriptionKeyController
|
|
54
|
-
- PB-47103 Remove grunt-contrib-clean dependency
|
|
55
|
-
- PB-47351 Chrome Bext is killed and not restarted on upgrade
|
|
56
|
-
- PB-47606 Add eslint-plugin-security
|
|
57
|
-
- PB-47607 Add eslint-plugin-n
|
|
58
|
-
- PB-47608 Add eslint-plugin-regexp
|
|
59
|
-
- PB-47609 Add eslint-plugin-promise
|
|
60
|
-
- PB-47621 Move SubscriptionEntity from browser extension to styleguide
|
|
61
|
-
- PB-47692 Fix prettier warning
|
|
62
|
-
- PB-47707 REACT18 Implement migration for Recover
|
|
63
|
-
- PB-47711 REACT18 Implement migration for Setup
|
|
64
|
-
- PB-47719 REACT18 Implement migration for Inform Menu
|
|
65
|
-
- PB-47783 REACT18 Implement migration for API Triage Feedback
|
|
66
|
-
- PB-47785 REACT18 Implement migration for Setup/Recover Account recovery
|
|
67
|
-
- PB-47867 Align dynamic roles to work with the windows application
|
|
68
|
-
- PB-47902 Add a ResponseEntity factory for the unit tests
|
|
69
|
-
- PB-47905 Refactor test mock for subscription refactoring
|
|
70
|
-
- PB-47931 Cleanup ResourceModel
|
|
71
|
-
- PB-47955 Update overlay calculation detection on inform
|
|
72
|
-
- PB-48014 Remove dead code from Google Closure library
|
|
73
|
-
- PB-48038 Small upgrade for validator
|
|
98
|
+
- PB-47191 Review Dependabot alert for useless regular expression escape in browser extension
|
|
99
|
+
- PB-47542 Add unit tests to roleApiService
|
|
100
|
+
- PB-47713 REACT18- 10.2 Implement migration for QuickAccess
|
|
101
|
+
- PB-48088 Remove console errors related to pagemod page detection
|
|
102
|
+
- PB-48242 Remove dev phantom dependencies
|
|
103
|
+
- PB-48375 Add tests to gpg user id parser
|
|
104
|
+
- PB-48467 Add unit test to improve coverage on Allowed Content type page
|
|
105
|
+
- PB-49472 Remove unnecessary permissions from entitlements and project
|
|
106
|
+
- PB-49631 Optimize getFirst function
|
|
74
107
|
|
|
75
108
|
### Security
|
|
76
|
-
- PB-
|
|
109
|
+
- PB-48025 Major upgrade for pino (Medium) - passbolt-browser-extension
|
|
110
|
+
- PB-48039 Small upgrade for validator (Medium) - styleguide
|
|
111
|
+
- PB-48256 Small upgrade for lodash-es (Medium) - all-projects
|
|
112
|
+
- PB-48257 Small upgrade for lodash (Medium) - all projects
|
|
113
|
+
- PB-48527 Small upgrade for locutus (Critical) - passbolt-windows
|
|
114
|
+
- PB-48535 NPM - Remove now unnecessary overrides in package.json for styleguide and bext
|
|
115
|
+
- PB-49119 Remove dev phantom dependencies - node-fetch
|
|
116
|
+
- PB-49120 Remove dev phantom dependencies - history
|
|
117
|
+
- PB-49121 Remove dev phantom dependencies - expect
|
|
118
|
+
- PB-49369 Fix GCVE-0-2026-2391 - Medium CVSS4.0
|
|
119
|
+
- PB-49372 Fix GCVE-0-2025-68458 & GCVE-0-2025-68157 - LOW CVSS3.1
|
|
120
|
+
- PB-49373 Fix GCVE-0-2026-25547 - CRITICAL CVSS4.0
|
|
121
|
+
- PB-49432 Fix GCVE-0-2025-69873 - MEDIUM CVSS4.0
|
|
122
|
+
- PB-49452 Fix GHSA-3ppc-4f35-3m26 - HIGH CVSS4.0
|
|
123
|
+
- PB-49454 Update CSPs to allow inline <style> in SVGs
|
|
@@ -593,14 +593,22 @@
|
|
|
593
593
|
buildSettings = {
|
|
594
594
|
CODE_SIGN_ENTITLEMENTS = "Passbolt - password manager Extension/Passbolt - password manager Extension.entitlements";
|
|
595
595
|
CODE_SIGN_STYLE = Automatic;
|
|
596
|
-
CURRENT_PROJECT_VERSION =
|
|
596
|
+
CURRENT_PROJECT_VERSION = 0;
|
|
597
597
|
DEAD_CODE_STRIPPING = YES;
|
|
598
598
|
DEVELOPMENT_TEAM = UHX38H22ZT;
|
|
599
599
|
ENABLE_APP_SANDBOX = YES;
|
|
600
600
|
ENABLE_FILE_ACCESS_DOWNLOADS_FOLDER = readwrite;
|
|
601
601
|
ENABLE_HARDENED_RUNTIME = YES;
|
|
602
|
+
ENABLE_INCOMING_NETWORK_CONNECTIONS = NO;
|
|
602
603
|
ENABLE_OUTGOING_NETWORK_CONNECTIONS = YES;
|
|
603
|
-
|
|
604
|
+
ENABLE_RESOURCE_ACCESS_AUDIO_INPUT = NO;
|
|
605
|
+
ENABLE_RESOURCE_ACCESS_BLUETOOTH = NO;
|
|
606
|
+
ENABLE_RESOURCE_ACCESS_CALENDARS = NO;
|
|
607
|
+
ENABLE_RESOURCE_ACCESS_CAMERA = NO;
|
|
608
|
+
ENABLE_RESOURCE_ACCESS_CONTACTS = NO;
|
|
609
|
+
ENABLE_RESOURCE_ACCESS_LOCATION = NO;
|
|
610
|
+
ENABLE_RESOURCE_ACCESS_PRINTING = NO;
|
|
611
|
+
ENABLE_RESOURCE_ACCESS_USB = NO;
|
|
604
612
|
GENERATE_INFOPLIST_FILE = YES;
|
|
605
613
|
INFOPLIST_FILE = "Passbolt - password manager Extension/Info.plist";
|
|
606
614
|
INFOPLIST_KEY_CFBundleDisplayName = "Passbolt - Open source password manager Extension";
|
|
@@ -612,7 +620,7 @@
|
|
|
612
620
|
"@executable_path/../../../../Frameworks",
|
|
613
621
|
);
|
|
614
622
|
MACOSX_DEPLOYMENT_TARGET = 15.6;
|
|
615
|
-
MARKETING_VERSION = 5.10.
|
|
623
|
+
MARKETING_VERSION = 5.10.1;
|
|
616
624
|
OTHER_LDFLAGS = (
|
|
617
625
|
"-framework",
|
|
618
626
|
SafariServices,
|
|
@@ -631,14 +639,22 @@
|
|
|
631
639
|
buildSettings = {
|
|
632
640
|
CODE_SIGN_ENTITLEMENTS = "Passbolt - password manager Extension/Passbolt - password manager Extension.entitlements";
|
|
633
641
|
CODE_SIGN_STYLE = Automatic;
|
|
634
|
-
CURRENT_PROJECT_VERSION =
|
|
642
|
+
CURRENT_PROJECT_VERSION = 0;
|
|
635
643
|
DEAD_CODE_STRIPPING = YES;
|
|
636
644
|
DEVELOPMENT_TEAM = UHX38H22ZT;
|
|
637
645
|
ENABLE_APP_SANDBOX = YES;
|
|
638
646
|
ENABLE_FILE_ACCESS_DOWNLOADS_FOLDER = readwrite;
|
|
639
647
|
ENABLE_HARDENED_RUNTIME = YES;
|
|
648
|
+
ENABLE_INCOMING_NETWORK_CONNECTIONS = NO;
|
|
640
649
|
ENABLE_OUTGOING_NETWORK_CONNECTIONS = YES;
|
|
641
|
-
|
|
650
|
+
ENABLE_RESOURCE_ACCESS_AUDIO_INPUT = NO;
|
|
651
|
+
ENABLE_RESOURCE_ACCESS_BLUETOOTH = NO;
|
|
652
|
+
ENABLE_RESOURCE_ACCESS_CALENDARS = NO;
|
|
653
|
+
ENABLE_RESOURCE_ACCESS_CAMERA = NO;
|
|
654
|
+
ENABLE_RESOURCE_ACCESS_CONTACTS = NO;
|
|
655
|
+
ENABLE_RESOURCE_ACCESS_LOCATION = NO;
|
|
656
|
+
ENABLE_RESOURCE_ACCESS_PRINTING = NO;
|
|
657
|
+
ENABLE_RESOURCE_ACCESS_USB = NO;
|
|
642
658
|
GENERATE_INFOPLIST_FILE = YES;
|
|
643
659
|
INFOPLIST_FILE = "Passbolt - password manager Extension/Info.plist";
|
|
644
660
|
INFOPLIST_KEY_CFBundleDisplayName = "Passbolt - Open source password manager Extension";
|
|
@@ -650,7 +666,7 @@
|
|
|
650
666
|
"@executable_path/../../../../Frameworks",
|
|
651
667
|
);
|
|
652
668
|
MACOSX_DEPLOYMENT_TARGET = 15.6;
|
|
653
|
-
MARKETING_VERSION = 5.10.
|
|
669
|
+
MARKETING_VERSION = 5.10.1;
|
|
654
670
|
OTHER_LDFLAGS = (
|
|
655
671
|
"-framework",
|
|
656
672
|
SafariServices,
|
|
@@ -672,13 +688,21 @@
|
|
|
672
688
|
CODE_SIGN_ENTITLEMENTS = "Passbolt - password manager/Passbolt - password manager.entitlements";
|
|
673
689
|
CODE_SIGN_STYLE = Automatic;
|
|
674
690
|
COMBINE_HIDPI_IMAGES = YES;
|
|
675
|
-
CURRENT_PROJECT_VERSION =
|
|
691
|
+
CURRENT_PROJECT_VERSION = 0;
|
|
676
692
|
DEAD_CODE_STRIPPING = YES;
|
|
677
693
|
DEVELOPMENT_TEAM = UHX38H22ZT;
|
|
678
694
|
ENABLE_APP_SANDBOX = YES;
|
|
679
695
|
ENABLE_HARDENED_RUNTIME = YES;
|
|
696
|
+
ENABLE_INCOMING_NETWORK_CONNECTIONS = NO;
|
|
680
697
|
ENABLE_OUTGOING_NETWORK_CONNECTIONS = YES;
|
|
681
|
-
|
|
698
|
+
ENABLE_RESOURCE_ACCESS_AUDIO_INPUT = NO;
|
|
699
|
+
ENABLE_RESOURCE_ACCESS_BLUETOOTH = NO;
|
|
700
|
+
ENABLE_RESOURCE_ACCESS_CALENDARS = NO;
|
|
701
|
+
ENABLE_RESOURCE_ACCESS_CAMERA = NO;
|
|
702
|
+
ENABLE_RESOURCE_ACCESS_CONTACTS = NO;
|
|
703
|
+
ENABLE_RESOURCE_ACCESS_LOCATION = NO;
|
|
704
|
+
ENABLE_RESOURCE_ACCESS_PRINTING = NO;
|
|
705
|
+
ENABLE_RESOURCE_ACCESS_USB = NO;
|
|
682
706
|
GENERATE_INFOPLIST_FILE = YES;
|
|
683
707
|
INFOPLIST_FILE = "Passbolt - password manager/Info.plist";
|
|
684
708
|
INFOPLIST_KEY_CFBundleDisplayName = "Passbolt - Open source password manager";
|
|
@@ -692,7 +716,7 @@
|
|
|
692
716
|
"@executable_path/../Frameworks",
|
|
693
717
|
);
|
|
694
718
|
MACOSX_DEPLOYMENT_TARGET = 15.6;
|
|
695
|
-
MARKETING_VERSION = 5.10.
|
|
719
|
+
MARKETING_VERSION = 5.10.1;
|
|
696
720
|
OTHER_LDFLAGS = (
|
|
697
721
|
"-framework",
|
|
698
722
|
SafariServices,
|
|
@@ -715,13 +739,21 @@
|
|
|
715
739
|
CODE_SIGN_ENTITLEMENTS = "Passbolt - password manager/Passbolt - password manager.entitlements";
|
|
716
740
|
CODE_SIGN_STYLE = Automatic;
|
|
717
741
|
COMBINE_HIDPI_IMAGES = YES;
|
|
718
|
-
CURRENT_PROJECT_VERSION =
|
|
742
|
+
CURRENT_PROJECT_VERSION = 0;
|
|
719
743
|
DEAD_CODE_STRIPPING = YES;
|
|
720
744
|
DEVELOPMENT_TEAM = UHX38H22ZT;
|
|
721
745
|
ENABLE_APP_SANDBOX = YES;
|
|
722
746
|
ENABLE_HARDENED_RUNTIME = YES;
|
|
747
|
+
ENABLE_INCOMING_NETWORK_CONNECTIONS = NO;
|
|
723
748
|
ENABLE_OUTGOING_NETWORK_CONNECTIONS = YES;
|
|
724
|
-
|
|
749
|
+
ENABLE_RESOURCE_ACCESS_AUDIO_INPUT = NO;
|
|
750
|
+
ENABLE_RESOURCE_ACCESS_BLUETOOTH = NO;
|
|
751
|
+
ENABLE_RESOURCE_ACCESS_CALENDARS = NO;
|
|
752
|
+
ENABLE_RESOURCE_ACCESS_CAMERA = NO;
|
|
753
|
+
ENABLE_RESOURCE_ACCESS_CONTACTS = NO;
|
|
754
|
+
ENABLE_RESOURCE_ACCESS_LOCATION = NO;
|
|
755
|
+
ENABLE_RESOURCE_ACCESS_PRINTING = NO;
|
|
756
|
+
ENABLE_RESOURCE_ACCESS_USB = NO;
|
|
725
757
|
GENERATE_INFOPLIST_FILE = YES;
|
|
726
758
|
INFOPLIST_FILE = "Passbolt - password manager/Info.plist";
|
|
727
759
|
INFOPLIST_KEY_CFBundleDisplayName = "Passbolt - Open source password manager";
|
|
@@ -735,7 +767,7 @@
|
|
|
735
767
|
"@executable_path/../Frameworks",
|
|
736
768
|
);
|
|
737
769
|
MACOSX_DEPLOYMENT_TARGET = 15.6;
|
|
738
|
-
MARKETING_VERSION = 5.10.
|
|
770
|
+
MARKETING_VERSION = 5.10.1;
|
|
739
771
|
OTHER_LDFLAGS = (
|
|
740
772
|
"-framework",
|
|
741
773
|
SafariServices,
|
package/eslint.config.mjs
CHANGED
|
@@ -66,6 +66,11 @@ export default [
|
|
|
66
66
|
react: {
|
|
67
67
|
version: "detect",
|
|
68
68
|
},
|
|
69
|
+
regexp: {
|
|
70
|
+
// Allow PGP armor header character ranges (RFC 4880)
|
|
71
|
+
// !-9 and ;-~ match all printable ASCII except colon
|
|
72
|
+
allowedCharacterRanges: ["alphanumeric", "!-9", ";-~"],
|
|
73
|
+
},
|
|
69
74
|
"import/resolver": {
|
|
70
75
|
node: {
|
|
71
76
|
paths: [__dirname], // Add project root to resolution paths
|
|
@@ -97,8 +102,14 @@ export default [
|
|
|
97
102
|
"no-console": "off", // Allow console.log in dev
|
|
98
103
|
"react/display-name": "off", // Don't require display names
|
|
99
104
|
"react/prop-types": "off", // Skip PropTypes (future TypeScript)
|
|
105
|
+
"react/jsx-uses-react": "error", // Marks React as used when JSX is present
|
|
100
106
|
"no-useless-escape": "off", // Too many false positives
|
|
101
107
|
"func-names": ["error", "never"],
|
|
108
|
+
"import/no-named-as-default": "off",
|
|
109
|
+
"security/detect-object-injection": "off",
|
|
110
|
+
"security/detect-non-literal-regexp": "off",
|
|
111
|
+
"security/detect-unsafe-regex": "off",
|
|
112
|
+
"prefer-regex-literals": "off",
|
|
102
113
|
|
|
103
114
|
// Phantom dependency detection (CRITICAL)
|
|
104
115
|
"import/no-extraneous-dependencies": [
|
|
@@ -123,69 +134,6 @@ export default [
|
|
|
123
134
|
"n/no-unsupported-features/node-builtins": "off", // We use browser APIs
|
|
124
135
|
"n/no-missing-import": "off", // Handled by import plugin
|
|
125
136
|
"n/no-missing-require": "off", // Handled by import plugin
|
|
126
|
-
|
|
127
|
-
// Muted during migration
|
|
128
|
-
"import/no-named-as-default-member": "off",
|
|
129
|
-
"import/no-duplicates": "off",
|
|
130
|
-
"import/named": "off",
|
|
131
|
-
"import/no-named-as-default": "off",
|
|
132
|
-
"no-empty": "off",
|
|
133
|
-
"react/jsx-uses-react": "error", // Marks React as used when JSX is present
|
|
134
|
-
"react/jsx-uses-vars": "error", // Marks JSX components as used
|
|
135
|
-
"react/react-in-jsx-scope": "error", // Ensures React is in scope for JSX
|
|
136
|
-
"security/detect-object-injection": "off",
|
|
137
|
-
"security/detect-non-literal-regexp": "off",
|
|
138
|
-
"security/detect-unsafe-regex": "off",
|
|
139
|
-
"security/detect-non-literal-fs-filename": "off",
|
|
140
|
-
"security/detect-possible-timing-attacks": "off",
|
|
141
|
-
"n/no-unpublished-import": [
|
|
142
|
-
"error",
|
|
143
|
-
{
|
|
144
|
-
allowModules: [
|
|
145
|
-
"jest-fetch-mock",
|
|
146
|
-
"jest-useragent-mock",
|
|
147
|
-
"jest-each",
|
|
148
|
-
"@testing-library/dom",
|
|
149
|
-
"@testing-library/jest-dom",
|
|
150
|
-
"@testing-library/react",
|
|
151
|
-
"@testing-library/user-event",
|
|
152
|
-
"fetch-mock",
|
|
153
|
-
"@babel/core",
|
|
154
|
-
"@storybook/test",
|
|
155
|
-
],
|
|
156
|
-
},
|
|
157
|
-
],
|
|
158
|
-
"n/no-unpublished-require": [
|
|
159
|
-
"error",
|
|
160
|
-
{
|
|
161
|
-
allowModules: ["jest-fetch-mock"],
|
|
162
|
-
},
|
|
163
|
-
],
|
|
164
|
-
"n/no-extraneous-import": [
|
|
165
|
-
"error",
|
|
166
|
-
{
|
|
167
|
-
allowModules: ["expect", "history"],
|
|
168
|
-
},
|
|
169
|
-
],
|
|
170
|
-
"prefer-regex-literals": "off",
|
|
171
|
-
"regexp/strict": "off",
|
|
172
|
-
"regexp/no-useless-escape": "off",
|
|
173
|
-
"regexp/no-dupe-characters-character-class": "off",
|
|
174
|
-
"regexp/use-ignore-case": "off",
|
|
175
|
-
"regexp/prefer-d": "off",
|
|
176
|
-
"regexp/prefer-character-class": "off",
|
|
177
|
-
"regexp/prefer-w": "off",
|
|
178
|
-
"regexp/no-obscure-range": "off",
|
|
179
|
-
"regexp/prefer-range": "off",
|
|
180
|
-
"regexp/no-dupe-disjunctions": "off",
|
|
181
|
-
"regexp/no-useless-assertions": "off",
|
|
182
|
-
"regexp/optimal-quantifier-concatenation": "off",
|
|
183
|
-
"regexp/no-unused-capturing-group": "off",
|
|
184
|
-
"regexp/sort-flags": "off",
|
|
185
|
-
"regexp/negation": "off",
|
|
186
|
-
"regexp/no-useless-flag": "off",
|
|
187
|
-
"promise/param-names": "off",
|
|
188
|
-
"promise/catch-or-return": "off",
|
|
189
137
|
},
|
|
190
138
|
},
|
|
191
139
|
/*
|
|
@@ -221,7 +169,34 @@ export default [
|
|
|
221
169
|
// Test-specific overrides
|
|
222
170
|
"no-console": "off", // Allow console in tests
|
|
223
171
|
"import/no-extraneous-dependencies": "off", // Dev deps OK in tests
|
|
172
|
+
"n/no-unpublished-import": "off", // Dev deps OK in tests
|
|
173
|
+
"n/no-unpublished-require": "off",
|
|
174
|
+
"n/no-extraneous-import": "off",
|
|
224
175
|
"jest/prefer-expect-assertions": "off", // Not always needed
|
|
176
|
+
"security/detect-non-literal-fs-filename": "off",
|
|
177
|
+
|
|
178
|
+
// Forbid explicit imports of Jest globals (they are injected automatically)
|
|
179
|
+
"no-restricted-imports": [
|
|
180
|
+
"error",
|
|
181
|
+
{
|
|
182
|
+
paths: [
|
|
183
|
+
{
|
|
184
|
+
name: "expect",
|
|
185
|
+
message: "Use Jest's global `expect` instead.",
|
|
186
|
+
},
|
|
187
|
+
{
|
|
188
|
+
name: "jest",
|
|
189
|
+
message: "Use Jest's global `jest` instead.",
|
|
190
|
+
},
|
|
191
|
+
],
|
|
192
|
+
patterns: [
|
|
193
|
+
{
|
|
194
|
+
group: ["@jest/globals"],
|
|
195
|
+
message: "Use Jest's injected globals instead of importing from '@jest/globals'.",
|
|
196
|
+
},
|
|
197
|
+
],
|
|
198
|
+
},
|
|
199
|
+
],
|
|
225
200
|
|
|
226
201
|
// Rules muted during migration
|
|
227
202
|
"jest/no-conditional-expect": "off",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "passbolt-browser-extension",
|
|
3
|
-
"version": "5.10.
|
|
3
|
+
"version": "5.10.3",
|
|
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",
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
"locutus": "~2.0.39",
|
|
23
23
|
"openpgp": "^6.1.1",
|
|
24
24
|
"papaparse": "^5.5.2",
|
|
25
|
-
"passbolt-styleguide": "
|
|
25
|
+
"passbolt-styleguide": "5.10.5",
|
|
26
26
|
"react": "^18.3.1",
|
|
27
27
|
"react-dom": "^18.3.1",
|
|
28
28
|
"secrets-passbolt": "github:passbolt/secrets.js#v2.0.1",
|
|
@@ -75,9 +75,10 @@
|
|
|
75
75
|
"jest-webextension-mock": "^3.8.9",
|
|
76
76
|
"lockfile-lint": "^4.14.1",
|
|
77
77
|
"prettier": "3.6.2",
|
|
78
|
+
"terser-webpack-plugin": "^5.3.16",
|
|
78
79
|
"text-encoding-utf-8": "^1.0.2",
|
|
79
80
|
"web-ext": "^9.2.0",
|
|
80
|
-
"webpack": "^5.
|
|
81
|
+
"webpack": "^5.105.2",
|
|
81
82
|
"webpack-cli": "^5.1.4"
|
|
82
83
|
},
|
|
83
84
|
"scripts": {
|
|
@@ -43,7 +43,7 @@ class InformMenuController {
|
|
|
43
43
|
|
|
44
44
|
/**
|
|
45
45
|
* Request the initial configuration of the in-form menu
|
|
46
|
-
* @param requestId The identifier of the request
|
|
46
|
+
* @param {string} requestId The identifier of the request
|
|
47
47
|
*/
|
|
48
48
|
async getInitialConfiguration(requestId) {
|
|
49
49
|
try {
|
|
@@ -52,12 +52,18 @@ class InformMenuController {
|
|
|
52
52
|
const callToActionInput = await webIntegrationWorker.port.request(
|
|
53
53
|
"passbolt.web-integration.last-performed-call-to-action-input",
|
|
54
54
|
);
|
|
55
|
-
|
|
55
|
+
|
|
56
|
+
const suggestedResources = await this.getOrFindResourcesService.getOrFindSuggested(
|
|
57
|
+
this.worker.tab.url,
|
|
58
|
+
callToActionInput.type,
|
|
59
|
+
);
|
|
60
|
+
|
|
56
61
|
const configuration = {
|
|
57
62
|
inputType: callToActionInput.type,
|
|
58
63
|
inputValue: callToActionInput.value,
|
|
59
64
|
suggestedResources: suggestedResources.toDto(),
|
|
60
65
|
};
|
|
66
|
+
|
|
61
67
|
this.worker.port.emit(requestId, "SUCCESS", configuration);
|
|
62
68
|
} catch (error) {
|
|
63
69
|
console.error(error);
|