passbolt-styleguide 5.14.0-alpha.2 → 5.14.0-alpha.4

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 (154) 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/workflows/storybook.yml +3 -2
  5. package/RELEASE_NOTES.md +1 -3
  6. package/build/css/help.min.css +2 -2
  7. package/build/css/public.min.css +2 -2
  8. package/build/css/themes/default/api_authentication.min.css +2 -2
  9. package/build/css/themes/default/api_cloud.min.css +2 -2
  10. package/build/css/themes/default/api_main.min.css +2 -2
  11. package/build/css/themes/default/api_reports.min.css +2 -2
  12. package/build/css/themes/default/api_webinstaller.min.css +2 -2
  13. package/build/css/themes/default/ext_app.min.css +3 -3
  14. package/build/css/themes/default/ext_authentication.min.css +2 -2
  15. package/build/css/themes/default/ext_external.min.css +2 -2
  16. package/build/css/themes/default/ext_in_form_cta.min.css +2 -2
  17. package/build/css/themes/default/ext_in_form_menu.min.css +2 -2
  18. package/build/css/themes/default/ext_quickaccess.min.css +3 -3
  19. package/build/css/themes/midgar/api_authentication.min.css +2 -2
  20. package/build/css/themes/midgar/api_main.min.css +2 -2
  21. package/build/css/themes/midgar/api_reports.min.css +2 -2
  22. package/build/css/themes/midgar/ext_app.min.css +3 -3
  23. package/build/css/themes/midgar/ext_authentication.min.css +2 -2
  24. package/build/css/themes/midgar/ext_in_form_cta.min.css +2 -2
  25. package/build/css/themes/midgar/ext_in_form_menu.min.css +2 -2
  26. package/build/css/themes/midgar/ext_quickaccess.min.css +3 -3
  27. package/build/css/themes/solarized_dark/api_authentication.min.css +2 -2
  28. package/build/css/themes/solarized_dark/api_main.min.css +2 -2
  29. package/build/css/themes/solarized_dark/api_reports.min.css +2 -2
  30. package/build/css/themes/solarized_dark/ext_app.min.css +3 -3
  31. package/build/css/themes/solarized_dark/ext_authentication.min.css +2 -2
  32. package/build/css/themes/solarized_dark/ext_in_form_cta.min.css +2 -2
  33. package/build/css/themes/solarized_dark/ext_in_form_menu.min.css +2 -2
  34. package/build/css/themes/solarized_dark/ext_quickaccess.min.css +3 -3
  35. package/build/css/themes/solarized_light/api_authentication.min.css +2 -2
  36. package/build/css/themes/solarized_light/api_main.min.css +2 -2
  37. package/build/css/themes/solarized_light/api_reports.min.css +2 -2
  38. package/build/css/themes/solarized_light/ext_app.min.css +3 -3
  39. package/build/css/themes/solarized_light/ext_authentication.min.css +2 -2
  40. package/build/css/themes/solarized_light/ext_in_form_cta.min.css +2 -2
  41. package/build/css/themes/solarized_light/ext_in_form_menu.min.css +2 -2
  42. package/build/css/themes/solarized_light/ext_quickaccess.min.css +3 -3
  43. package/build/js/dist/api-app.js +1 -1
  44. package/build/locales/en-UK/common.json +27 -0
  45. package/package.json +5 -3
  46. package/src/img/svg/offline_mode.svg +3 -0
  47. package/src/locales/en-UK/common.json +14 -0
  48. package/src/react-extension/ApiApp.js +1 -0
  49. package/src/react-extension/ExtApp.js +1 -0
  50. package/src/react-extension/ExtAuthenticationAccountRecovery.js +1 -1
  51. package/src/react-extension/ExtAuthenticationLogin.js +1 -1
  52. package/src/react-extension/ExtAuthenticationLogin.test.stories.js +1 -1
  53. package/src/react-extension/ExtAuthenticationRecover.js +1 -1
  54. package/src/react-extension/ExtAuthenticationSetup.js +1 -1
  55. package/src/react-extension/ExtBootstrapApp.js +1 -0
  56. package/src/react-extension/components/Administration/AdministrationWorkspace.js +12 -0
  57. package/src/react-extension/components/Administration/AdministrationWorkspace.test.js +4 -0
  58. package/src/react-extension/components/Administration/AdministrationWorkspace.test.page.js +7 -0
  59. package/src/react-extension/components/Administration/AdministrationWorkspace.test.stories.js +1 -1
  60. package/src/react-extension/components/Administration/DisplayAdministrationMenu/DisplayAdministrationMenu.js +41 -0
  61. package/src/react-extension/components/Administration/DisplayAdministrationMenu/DisplayAdministrationMenu.test.js +27 -0
  62. package/src/react-extension/components/Administration/DisplayAdministrationMenu/DisplayAdministrationMenu.test.page.js +12 -0
  63. package/src/react-extension/components/Administration/DisplayAdministrationWorkspaceBreadcrumb/DisplayAdministrationWorkspaceBreadcrumb.js +2 -0
  64. package/src/react-extension/components/Administration/DisplayAdministrationWorkspaceBreadcrumb/DisplayAdministrationWorkspaceBreadcrumb.test.js +1 -0
  65. package/src/react-extension/components/Administration/DisplayHealthcheckAdministration/DisplayHealthcheckAdministration.js +2 -2
  66. package/src/react-extension/components/Administration/DisplayOfflineAdministration/DisplayOfflineAdministration.js +382 -0
  67. package/src/react-extension/components/Administration/DisplayOfflineAdministration/DisplayOfflineAdministration.test.data.js +28 -0
  68. package/src/react-extension/components/Administration/DisplayOfflineAdministration/DisplayOfflineAdministration.test.js +182 -0
  69. package/src/react-extension/components/Administration/DisplayOfflineAdministration/DisplayOfflineAdministration.test.page.js +163 -0
  70. package/src/react-extension/components/Administration/DisplayOfflineAdministration/DisplayOfflineAdministrationHelp.js +69 -0
  71. package/src/react-extension/components/Administration/DisplayOfflineAdministration/DisplayOfflineAdministrationHelp.test.js +69 -0
  72. package/src/react-extension/components/Administration/DisplayOfflineAdministration/DisplayOfflineAdministrationHelp.test.page.js +105 -0
  73. package/src/react-extension/components/Administration/DisplayRbacAdministration/DisplayRbacAdministration.js +41 -0
  74. package/src/react-extension/components/Administration/DisplayRbacAdministration/DisplayRbacAdministration.test.js +11 -11
  75. package/src/react-extension/components/Administration/HomePage/AdministrationHomePage.js +8 -0
  76. package/src/react-extension/components/Administration/HomePage/AdministrationHomePage.test.js +6 -0
  77. package/src/react-extension/components/Administration/HomePage/AdministrationHomePage.test.page.js +12 -0
  78. package/src/react-extension/components/Resource/DisplayResourcesList/DisplayResourcesList.js +35 -0
  79. package/src/react-extension/components/Resource/DisplayResourcesList/DisplayResourcesList.test.data.js +39 -0
  80. package/src/react-extension/components/Resource/DisplayResourcesList/DisplayResourcesList.test.js +40 -0
  81. package/src/react-extension/components/Resource/DisplayResourcesList/DisplayResourcesList.test.page.js +3 -0
  82. package/src/react-extension/components/Resource/DisplayResourcesList/DisplayResourcesListContextualMenu.js +69 -0
  83. package/src/react-extension/components/Resource/DisplayResourcesList/DisplayResourcesListContextualMenu.test.js +74 -0
  84. package/src/react-extension/components/Resource/DisplayResourcesList/DisplayResourcesListContextualMenu.test.page.js +15 -0
  85. package/src/react-extension/components/Resource/DisplayResourcesWorkspace/DisplayResourcesWorkspace.test.stories.js +1 -1
  86. package/src/react-extension/components/Resource/DisplayResourcesWorkspace/DisplayResourcesWorkspaceFIlters.test.stories.js +5 -0
  87. package/src/react-extension/components/Resource/DisplayResourcesWorkspace/DisplayResourcesWorkspaceFilters.js +48 -1
  88. package/src/react-extension/components/Resource/DisplayResourcesWorkspace/DisplayResourcesWorkspaceFilters.test.data.js +32 -0
  89. package/src/react-extension/components/Resource/DisplayResourcesWorkspace/DisplayResourcesWorkspaceFilters.test.js +20 -1
  90. package/src/react-extension/components/Resource/DisplayResourcesWorkspace/DisplayResourcesWorkspaceMenu.js +69 -1
  91. package/src/react-extension/components/Resource/DisplayResourcesWorkspace/DisplayResourcesWorkspaceMenu.test.data.js +14 -0
  92. package/src/react-extension/components/Resource/DisplayResourcesWorkspace/DisplayResourcesWorkspaceMenu.test.js +90 -0
  93. package/src/react-extension/components/Resource/DisplayResourcesWorkspace/DisplayResourcesWorkspaceMenu.test.page.js +8 -0
  94. package/src/react-extension/components/Resource/FilterResourcesByBreadcrumb/FilterResourcesByBreadcrumb.js +3 -0
  95. package/src/react-extension/components/Resource/FilterResourcesByBreadcrumb/FilterResourcesByBreadcrumb.test.js +10 -0
  96. package/src/react-extension/components/Resource/FilterResourcesByBreadcrumb/FilterResourcesByBreadcrumb.test.stories.js +10 -0
  97. package/src/react-extension/components/ResourceDetails/DisplayResourceDetails/DisplayResourceDetails.test.stories.js +1 -1
  98. package/src/react-extension/components/ResourceDetails/DisplayResourceDetails/DisplayResourcesListDetails.test.stories.js +1 -1
  99. package/src/react-extension/components/User/DisplayUserWorkspace/DisplayUserWorkspace.test.stories.js +1 -1
  100. package/src/react-extension/components/UserSetting/DisplayUserSettingsWorkspace/DisplayUserSettingsWorkspace.test.stories.js +1 -1
  101. package/src/react-extension/contexts/AdministrationWorkspaceContext.js +5 -0
  102. package/src/react-extension/contexts/AdministrationWorkspaceContext.test.js +26 -0
  103. package/src/react-extension/contexts/AdministrationWorkspaceContext.test.page.js +11 -0
  104. package/src/react-extension/contexts/ExtAppContext.js +1 -1
  105. package/src/react-extension/contexts/NavigationContext.js +10 -0
  106. package/src/react-extension/contexts/NavigationContext.test.data.js +1 -0
  107. package/src/react-extension/contexts/ResourceWorkspaceContext.js +27 -0
  108. package/src/react-extension/contexts/ResourceWorkspaceContext.test.js +27 -3
  109. package/src/react-extension/contexts/ResourceWorkspaceContext.test.page.js +16 -0
  110. package/src/react-extension/test/fixture/Settings/siteSettings.js +3 -0
  111. package/src/react-quickaccess/ExtQuickAccess.js +98 -93
  112. package/src/react-quickaccess/components/QuickAccessServerUnavailable/QuickAccessServerUnavailable.js +58 -0
  113. package/src/react-quickaccess/components/QuickAccessServerUnavailable/QuickAccessServerUnavailable.test.data.js +42 -0
  114. package/src/react-quickaccess/components/QuickAccessServerUnavailable/QuickAccessServerUnavailable.test.js +76 -0
  115. package/src/react-quickaccess/components/QuickAccessServerUnavailable/QuickAccessServerUnavailable.test.page.js +80 -0
  116. package/src/react-quickaccess/components/QuickAccessServerUnavailable/QuickAccessServerUnavailable.test.stories.js +55 -0
  117. package/src/react-web-integration/BrowserIntegrationBootstrap.js +1 -1
  118. package/src/shared/components/Table/CellOffline.js +31 -0
  119. package/src/shared/components/Table/CellOffline.test.data.js +62 -0
  120. package/src/shared/components/Table/CellOffline.test.js +91 -0
  121. package/src/shared/components/Table/CellOffline.test.page.js +51 -0
  122. package/src/shared/context/ResourceTypesLocalStorageContext/ResourceTypesLocalStorageContext.js +11 -3
  123. package/src/shared/context/ResourceTypesLocalStorageContext/ResourceTypesLocalStorageContext.test.js +3 -2
  124. package/src/shared/context/offline/OfflineSettingsLocalStorageContext.js +189 -0
  125. package/src/shared/context/offline/OfflineSettingsLocalStorageContext.test.data.js +26 -0
  126. package/src/shared/context/offline/OfflineSettingsLocalStorageContext.test.js +307 -0
  127. package/src/shared/models/column/ColumnModel.js +2 -0
  128. package/src/shared/models/column/ColumnOfflineModel.js +38 -0
  129. package/src/shared/models/column/ColumnOfflineModel.test.js +81 -0
  130. package/src/shared/models/entity/offline/offlineItemEntity.js +117 -0
  131. package/src/shared/models/entity/offline/offlineItemEntity.test.data.js +31 -0
  132. package/src/shared/models/entity/offline/offlineItemEntity.test.js +147 -0
  133. package/src/shared/models/entity/offline/offlineSettingsEntity.js +134 -0
  134. package/src/shared/models/entity/offline/offlineSettingsEntity.test.data.js +35 -0
  135. package/src/shared/models/entity/offline/offlineSettingsEntity.test.js +141 -0
  136. package/src/shared/models/entity/rbac/rbacsCollection.test.data.js +18 -0
  137. package/src/shared/models/entity/resource/columnsResourceSettingCollection.js +1 -0
  138. package/src/shared/models/entity/resource/resourceEntity.test.data.js +17 -1
  139. package/src/shared/models/entity/session/onlineSessionEntity.js +73 -0
  140. package/src/shared/models/entity/session/onlineSessionEntity.test.data.js +35 -0
  141. package/src/shared/models/entity/session/onlineSessionEntity.test.js +91 -0
  142. package/src/shared/services/rbacs/actionEnumeration.js +3 -0
  143. package/src/shared/services/rbacs/actionEnumeration.test.js +5 -2
  144. package/src/shared/services/rbacs/controlFunctionEnumeration.js +3 -0
  145. package/src/shared/services/serviceWorker/offline/offlineModeServiceWorkerService.js +54 -0
  146. package/src/shared/services/serviceWorker/offline/offlineModeServiceWorkerService.test.js +72 -0
  147. package/src/shared/services/serviceWorker/offline/offlineModeSettingsServiceWorkerService.js +71 -0
  148. package/src/shared/services/serviceWorker/offline/offlineModeSettingsServiceWorkerService.test.js +97 -0
  149. package/src/shared/utils/opfs/OPFSJsonStore.js +193 -0
  150. package/src/shared/utils/opfs/OPFSJsonStore.test.js +159 -0
  151. package/test/jest.setup.js +20 -3
  152. package/test/mocks/mockDirectoryHandle.js +145 -0
  153. package/test/mocks/mockNavigatorLocks.js +70 -0
  154. package/test/mocks/mockPort.js +1 -1
@@ -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
@@ -3,11 +3,12 @@ on:
3
3
  push:
4
4
  tags:
5
5
  - "*"
6
- permissions:
7
- contents: write
6
+ permissions: {}
8
7
  jobs:
9
8
  build-and-deploy:
10
9
  runs-on: ubuntu-latest
10
+ permissions:
11
+ contents: write
11
12
  steps:
12
13
  - name: Checkout 🛎️
13
14
  uses: actions/checkout@v3
package/RELEASE_NOTES.md CHANGED
@@ -1,3 +1 @@
1
- # v5.14.0-alpha.2
2
-
3
- This is a tag to test new CI implementation
1
+ # v5.14.0-alpha.3
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * @name passbolt-styleguide
3
- * @version v5.14.0-alpha.2
4
- * @date 2026-06-12
3
+ * @version v5.14.0-alpha.4
4
+ * @date 2026-06-24
5
5
  * @copyright Copyright 2023 Passbolt SA
6
6
  * @source https://github.com/passbolt/passbolt_styleguide
7
7
  * @license AGPL-3.0
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * @name passbolt-styleguide
3
- * @version v5.14.0-alpha.2
4
- * @date 2026-06-12
3
+ * @version v5.14.0-alpha.4
4
+ * @date 2026-06-24
5
5
  * @copyright Copyright 2023 Passbolt SA
6
6
  * @source https://github.com/passbolt/passbolt_styleguide
7
7
  * @license AGPL-3.0
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * @name passbolt-styleguide
3
- * @version v5.14.0-alpha.2
4
- * @date 2026-06-12
3
+ * @version v5.14.0-alpha.4
4
+ * @date 2026-06-24
5
5
  * @copyright Copyright 2023 Passbolt SA
6
6
  * @source https://github.com/passbolt/passbolt_styleguide
7
7
  * @license AGPL-3.0
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * @name passbolt-styleguide
3
- * @version v5.14.0-alpha.2
4
- * @date 2026-06-12
3
+ * @version v5.14.0-alpha.4
4
+ * @date 2026-06-24
5
5
  * @copyright Copyright 2023 Passbolt SA
6
6
  * @source https://github.com/passbolt/passbolt_styleguide
7
7
  * @license AGPL-3.0
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * @name passbolt-styleguide
3
- * @version v5.14.0-alpha.2
4
- * @date 2026-06-12
3
+ * @version v5.14.0-alpha.4
4
+ * @date 2026-06-24
5
5
  * @copyright Copyright 2023 Passbolt SA
6
6
  * @source https://github.com/passbolt/passbolt_styleguide
7
7
  * @license AGPL-3.0
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * @name passbolt-styleguide
3
- * @version v5.14.0-alpha.2
4
- * @date 2026-06-12
3
+ * @version v5.14.0-alpha.4
4
+ * @date 2026-06-24
5
5
  * @copyright Copyright 2023 Passbolt SA
6
6
  * @source https://github.com/passbolt/passbolt_styleguide
7
7
  * @license AGPL-3.0
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * @name passbolt-styleguide
3
- * @version v5.14.0-alpha.2
4
- * @date 2026-06-12
3
+ * @version v5.14.0-alpha.4
4
+ * @date 2026-06-24
5
5
  * @copyright Copyright 2023 Passbolt SA
6
6
  * @source https://github.com/passbolt/passbolt_styleguide
7
7
  * @license AGPL-3.0