From bd4453cce5f1b20a488d2a3bb0428a921f69d104 Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Wed, 6 Mar 2024 13:49:15 -0500
Subject: [PATCH 01/10] [deps] DevOps: Update gh minor (#8179)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
---
.github/workflows/brew-bump-cli.yml | 2 +-
.github/workflows/build-browser.yml | 2 +-
.github/workflows/build-cli.yml | 2 +-
.github/workflows/build-desktop.yml | 36 +++++++++++-----------
.github/workflows/build-web.yml | 4 +--
.github/workflows/chromatic.yml | 4 +--
.github/workflows/deploy-web.yml | 4 +--
.github/workflows/release-browser.yml | 4 +--
.github/workflows/release-cli.yml | 4 +--
.github/workflows/release-desktop-beta.yml | 30 +++++++++---------
.github/workflows/release-desktop.yml | 4 +--
.github/workflows/release-web.yml | 4 +--
.github/workflows/test.yml | 2 +-
13 files changed, 51 insertions(+), 51 deletions(-)
diff --git a/.github/workflows/brew-bump-cli.yml b/.github/workflows/brew-bump-cli.yml
index b1eb1708cb..33c6b7c368 100644
--- a/.github/workflows/brew-bump-cli.yml
+++ b/.github/workflows/brew-bump-cli.yml
@@ -29,7 +29,7 @@ jobs:
secrets: "brew-bump-workflow-pat"
- name: Update Homebrew formula
- uses: dawidd6/action-homebrew-bump-formula@75ed025ff3ad1d617862838b342b06d613a0ddf3 # v3.10.1
+ uses: dawidd6/action-homebrew-bump-formula@baf2b60c51fc1f8453c884b0c61052668a71bd1d # v3.11.0
with:
# Required, custom GitHub access token with the 'public_repo' and 'workflow' scopes
token: ${{ steps.retrieve-secrets.outputs.brew-bump-workflow-pat }}
diff --git a/.github/workflows/build-browser.yml b/.github/workflows/build-browser.yml
index 75bce90bb2..585a888ae1 100644
--- a/.github/workflows/build-browser.yml
+++ b/.github/workflows/build-browser.yml
@@ -371,7 +371,7 @@ jobs:
secrets: "crowdin-api-token"
- name: Upload Sources
- uses: crowdin/github-action@198daeb2d30636c4608d6a6bb96c009dbefc02a2 # v1.18.0
+ uses: crowdin/github-action@c953b17499daa6be3e5afbf7a63616fb02d8b18d # v1.19.0
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
CROWDIN_API_TOKEN: ${{ steps.retrieve-secrets.outputs.crowdin-api-token }}
diff --git a/.github/workflows/build-cli.yml b/.github/workflows/build-cli.yml
index 87c34da588..2c3ea3982a 100644
--- a/.github/workflows/build-cli.yml
+++ b/.github/workflows/build-cli.yml
@@ -297,7 +297,7 @@ jobs:
echo "BW Package Version: $_PACKAGE_VERSION"
- name: Get bw linux cli
- uses: actions/download-artifact@eaceaf801fd36c7dee90939fad912460b18a1ffe # v4.1.2
+ uses: actions/download-artifact@c850b930e6ba138125429b7e5c93fc707a7f8427 # v4.1.4
with:
name: bw-linux-${{ env._PACKAGE_VERSION }}.zip
path: apps/cli/dist/snap
diff --git a/.github/workflows/build-desktop.yml b/.github/workflows/build-desktop.yml
index 2823e7732c..354fd4edda 100644
--- a/.github/workflows/build-desktop.yml
+++ b/.github/workflows/build-desktop.yml
@@ -167,7 +167,7 @@ jobs:
working-directory: ./
- name: Cache Native Module
- uses: actions/cache@13aacd865c20de90d75de3b17ebe84f7a17d57d2 # v4.0.0
+ uses: actions/cache@ab5e6d0c87105b4c9c2047343972218f562e4319 # v4.0.1
id: cache
with:
path: |
@@ -296,7 +296,7 @@ jobs:
working-directory: ./
- name: Cache Native Module
- uses: actions/cache@13aacd865c20de90d75de3b17ebe84f7a17d57d2 # v4.0.0
+ uses: actions/cache@ab5e6d0c87105b4c9c2047343972218f562e4319 # v4.0.1
id: cache
with:
path: apps/desktop/desktop_native/*.node
@@ -476,14 +476,14 @@ jobs:
- name: Cache Build
id: build-cache
- uses: actions/cache@13aacd865c20de90d75de3b17ebe84f7a17d57d2 # v4.0.0
+ uses: actions/cache@ab5e6d0c87105b4c9c2047343972218f562e4319 # v4.0.1
with:
path: apps/desktop/build
key: ${{ runner.os }}-${{ github.run_id }}-build
- name: Cache Safari
id: safari-cache
- uses: actions/cache@13aacd865c20de90d75de3b17ebe84f7a17d57d2 # v4.0.0
+ uses: actions/cache@ab5e6d0c87105b4c9c2047343972218f562e4319 # v4.0.1
with:
path: apps/browser/dist/Safari
key: ${{ runner.os }}-${{ github.run_id }}-safari-extension
@@ -576,7 +576,7 @@ jobs:
working-directory: ./
- name: Cache Native Module
- uses: actions/cache@13aacd865c20de90d75de3b17ebe84f7a17d57d2 # v4.0.0
+ uses: actions/cache@ab5e6d0c87105b4c9c2047343972218f562e4319 # v4.0.1
id: cache
with:
path: apps/desktop/desktop_native/*.node
@@ -637,14 +637,14 @@ jobs:
- name: Get Build Cache
id: build-cache
- uses: actions/cache@13aacd865c20de90d75de3b17ebe84f7a17d57d2 # v4.0.0
+ uses: actions/cache@ab5e6d0c87105b4c9c2047343972218f562e4319 # v4.0.1
with:
path: apps/desktop/build
key: ${{ runner.os }}-${{ github.run_id }}-build
- name: Setup Safari Cache
id: safari-cache
- uses: actions/cache@13aacd865c20de90d75de3b17ebe84f7a17d57d2 # v4.0.0
+ uses: actions/cache@ab5e6d0c87105b4c9c2047343972218f562e4319 # v4.0.1
with:
path: apps/browser/dist/Safari
key: ${{ runner.os }}-${{ github.run_id }}-safari-extension
@@ -737,7 +737,7 @@ jobs:
working-directory: ./
- name: Cache Native Module
- uses: actions/cache@13aacd865c20de90d75de3b17ebe84f7a17d57d2 # v4.0.0
+ uses: actions/cache@ab5e6d0c87105b4c9c2047343972218f562e4319 # v4.0.1
id: cache
with:
path: apps/desktop/desktop_native/*.node
@@ -753,7 +753,7 @@ jobs:
run: npm run build
- name: Download Browser artifact
- uses: actions/download-artifact@eaceaf801fd36c7dee90939fad912460b18a1ffe # v4.1.2
+ uses: actions/download-artifact@c850b930e6ba138125429b7e5c93fc707a7f8427 # v4.1.4
with:
path: ${{ github.workspace }}/browser-build-artifacts
@@ -843,14 +843,14 @@ jobs:
- name: Get Build Cache
id: build-cache
- uses: actions/cache@13aacd865c20de90d75de3b17ebe84f7a17d57d2 # v4.0.0
+ uses: actions/cache@ab5e6d0c87105b4c9c2047343972218f562e4319 # v4.0.1
with:
path: apps/desktop/build
key: ${{ runner.os }}-${{ github.run_id }}-build
- name: Setup Safari Cache
id: safari-cache
- uses: actions/cache@13aacd865c20de90d75de3b17ebe84f7a17d57d2 # v4.0.0
+ uses: actions/cache@ab5e6d0c87105b4c9c2047343972218f562e4319 # v4.0.1
with:
path: apps/browser/dist/Safari
key: ${{ runner.os }}-${{ github.run_id }}-safari-extension
@@ -943,7 +943,7 @@ jobs:
working-directory: ./
- name: Cache Native Module
- uses: actions/cache@13aacd865c20de90d75de3b17ebe84f7a17d57d2 # v4.0.0
+ uses: actions/cache@ab5e6d0c87105b4c9c2047343972218f562e4319 # v4.0.1
id: cache
with:
path: apps/desktop/desktop_native/*.node
@@ -959,7 +959,7 @@ jobs:
run: npm run build
- name: Download Browser artifact
- uses: actions/download-artifact@eaceaf801fd36c7dee90939fad912460b18a1ffe # v4.1.2
+ uses: actions/download-artifact@c850b930e6ba138125429b7e5c93fc707a7f8427 # v4.1.4
with:
path: ${{ github.workspace }}/browser-build-artifacts
@@ -1036,14 +1036,14 @@ jobs:
- name: Get Build Cache
id: build-cache
- uses: actions/cache@13aacd865c20de90d75de3b17ebe84f7a17d57d2 # v4.0.0
+ uses: actions/cache@ab5e6d0c87105b4c9c2047343972218f562e4319 # v4.0.1
with:
path: apps/desktop/build
key: ${{ runner.os }}-${{ github.run_id }}-build
- name: Setup Safari Cache
id: safari-cache
- uses: actions/cache@13aacd865c20de90d75de3b17ebe84f7a17d57d2 # v4.0.0
+ uses: actions/cache@ab5e6d0c87105b4c9c2047343972218f562e4319 # v4.0.1
with:
path: apps/browser/dist/Safari
key: ${{ runner.os }}-${{ github.run_id }}-safari-extension
@@ -1136,7 +1136,7 @@ jobs:
working-directory: ./
- name: Cache Native Module
- uses: actions/cache@13aacd865c20de90d75de3b17ebe84f7a17d57d2 # v4.0.0
+ uses: actions/cache@ab5e6d0c87105b4c9c2047343972218f562e4319 # v4.0.1
id: cache
with:
path: apps/desktop/desktop_native/*.node
@@ -1152,7 +1152,7 @@ jobs:
run: npm run build
- name: Download Browser artifact
- uses: actions/download-artifact@eaceaf801fd36c7dee90939fad912460b18a1ffe # v4.1.2
+ uses: actions/download-artifact@c850b930e6ba138125429b7e5c93fc707a7f8427 # v4.1.4
with:
path: ${{ github.workspace }}/browser-build-artifacts
@@ -1211,7 +1211,7 @@ jobs:
secrets: "crowdin-api-token"
- name: Upload Sources
- uses: crowdin/github-action@198daeb2d30636c4608d6a6bb96c009dbefc02a2 # v1.18.0
+ uses: crowdin/github-action@c953b17499daa6be3e5afbf7a63616fb02d8b18d # v1.19.0
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
CROWDIN_API_TOKEN: ${{ steps.retrieve-secrets.outputs.crowdin-api-token }}
diff --git a/.github/workflows/build-web.yml b/.github/workflows/build-web.yml
index 0a1ab23651..abd2538773 100644
--- a/.github/workflows/build-web.yml
+++ b/.github/workflows/build-web.yml
@@ -194,7 +194,7 @@ jobs:
secrets: "github-pat-bitwarden-devops-bot-repo-scope"
- name: Download ${{ matrix.artifact_name }} artifact
- uses: actions/download-artifact@eaceaf801fd36c7dee90939fad912460b18a1ffe # v4.1.2
+ uses: actions/download-artifact@c850b930e6ba138125429b7e5c93fc707a7f8427 # v4.1.4
with:
name: web-${{ env._VERSION }}-${{ matrix.artifact_name }}.zip
path: apps/web
@@ -270,7 +270,7 @@ jobs:
secrets: "crowdin-api-token"
- name: Upload Sources
- uses: crowdin/github-action@198daeb2d30636c4608d6a6bb96c009dbefc02a2 # v1.18.0
+ uses: crowdin/github-action@c953b17499daa6be3e5afbf7a63616fb02d8b18d # v1.19.0
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
CROWDIN_API_TOKEN: ${{ steps.retrieve-secrets.outputs.crowdin-api-token }}
diff --git a/.github/workflows/chromatic.yml b/.github/workflows/chromatic.yml
index 41aaf55826..ab08d509b3 100644
--- a/.github/workflows/chromatic.yml
+++ b/.github/workflows/chromatic.yml
@@ -33,7 +33,7 @@ jobs:
- name: Cache npm
id: npm-cache
- uses: actions/cache@13aacd865c20de90d75de3b17ebe84f7a17d57d2 # v4.0.0
+ uses: actions/cache@ab5e6d0c87105b4c9c2047343972218f562e4319 # v4.0.1
with:
path: "~/.npm"
key: ${{ runner.os }}-npm-chromatic-${{ hashFiles('**/package-lock.json') }}
@@ -46,7 +46,7 @@ jobs:
run: npm run build-storybook:ci
- name: Publish to Chromatic
- uses: chromaui/action@76bda3648003815314bd50adaa553ee612a7f36c # v10.9.2
+ uses: chromaui/action@c9067691aca4a28d6fbb40d9eea6e144369fbcae # v10.9.5
with:
token: ${{ secrets.GITHUB_TOKEN }}
projectToken: ${{ secrets.CHROMATIC_PROJECT_TOKEN }}
diff --git a/.github/workflows/deploy-web.yml b/.github/workflows/deploy-web.yml
index aacef42b82..626c431f7b 100644
--- a/.github/workflows/deploy-web.yml
+++ b/.github/workflows/deploy-web.yml
@@ -309,7 +309,7 @@ jobs:
- name: Update deployment status to Success
if: success()
- uses: chrnorm/deployment-status@2afb7d27101260f4a764219439564d954d10b5b0 # v2.0.1
+ uses: chrnorm/deployment-status@9a72af4586197112e0491ea843682b5dc280d806 # v2.0.3
with:
token: '${{ secrets.GITHUB_TOKEN }}'
environment-url: ${{ env._ENVIRONMENT_URL }}
@@ -318,7 +318,7 @@ jobs:
- name: Update deployment status to Failure
if: failure()
- uses: chrnorm/deployment-status@2afb7d27101260f4a764219439564d954d10b5b0 # v2.0.1
+ uses: chrnorm/deployment-status@9a72af4586197112e0491ea843682b5dc280d806 # v2.0.3
with:
token: '${{ secrets.GITHUB_TOKEN }}'
environment-url: ${{ env._ENVIRONMENT_URL }}
diff --git a/.github/workflows/release-browser.yml b/.github/workflows/release-browser.yml
index dc4d5b34d7..c260f19581 100644
--- a/.github/workflows/release-browser.yml
+++ b/.github/workflows/release-browser.yml
@@ -155,7 +155,7 @@ jobs:
- name: Update deployment status to Success
if: ${{ success() }}
- uses: chrnorm/deployment-status@2afb7d27101260f4a764219439564d954d10b5b0 # v2.0.1
+ uses: chrnorm/deployment-status@9a72af4586197112e0491ea843682b5dc280d806 # v2.0.3
with:
token: '${{ secrets.GITHUB_TOKEN }}'
state: 'success'
@@ -163,7 +163,7 @@ jobs:
- name: Update deployment status to Failure
if: ${{ failure() }}
- uses: chrnorm/deployment-status@2afb7d27101260f4a764219439564d954d10b5b0 # v2.0.1
+ uses: chrnorm/deployment-status@9a72af4586197112e0491ea843682b5dc280d806 # v2.0.3
with:
token: '${{ secrets.GITHUB_TOKEN }}'
state: 'failure'
diff --git a/.github/workflows/release-cli.yml b/.github/workflows/release-cli.yml
index 4c46ffa6b7..add0c539e9 100644
--- a/.github/workflows/release-cli.yml
+++ b/.github/workflows/release-cli.yml
@@ -118,7 +118,7 @@ jobs:
- name: Update deployment status to Success
if: ${{ github.event.inputs.release_type != 'Dry Run' && success() }}
- uses: chrnorm/deployment-status@2afb7d27101260f4a764219439564d954d10b5b0 # v2.0.1
+ uses: chrnorm/deployment-status@9a72af4586197112e0491ea843682b5dc280d806 # v2.0.3
with:
token: '${{ secrets.GITHUB_TOKEN }}'
state: 'success'
@@ -126,7 +126,7 @@ jobs:
- name: Update deployment status to Failure
if: ${{ github.event.inputs.release_type != 'Dry Run' && failure() }}
- uses: chrnorm/deployment-status@2afb7d27101260f4a764219439564d954d10b5b0 # v2.0.1
+ uses: chrnorm/deployment-status@9a72af4586197112e0491ea843682b5dc280d806 # v2.0.3
with:
token: '${{ secrets.GITHUB_TOKEN }}'
state: 'failure'
diff --git a/.github/workflows/release-desktop-beta.yml b/.github/workflows/release-desktop-beta.yml
index d595a49d75..20bffb956e 100644
--- a/.github/workflows/release-desktop-beta.yml
+++ b/.github/workflows/release-desktop-beta.yml
@@ -424,14 +424,14 @@ jobs:
- name: Cache Build
id: build-cache
- uses: actions/cache@13aacd865c20de90d75de3b17ebe84f7a17d57d2 # v4.0.0
+ uses: actions/cache@ab5e6d0c87105b4c9c2047343972218f562e4319 # v4.0.1
with:
path: apps/desktop/build
key: ${{ runner.os }}-${{ github.run_id }}-build
- name: Cache Safari
id: safari-cache
- uses: actions/cache@13aacd865c20de90d75de3b17ebe84f7a17d57d2 # v4.0.0
+ uses: actions/cache@ab5e6d0c87105b4c9c2047343972218f562e4319 # v4.0.1
with:
path: apps/browser/dist/Safari
key: ${{ runner.os }}-${{ github.run_id }}-safari-extension
@@ -555,14 +555,14 @@ jobs:
- name: Get Build Cache
id: build-cache
- uses: actions/cache@13aacd865c20de90d75de3b17ebe84f7a17d57d2 # v4.0.0
+ uses: actions/cache@ab5e6d0c87105b4c9c2047343972218f562e4319 # v4.0.1
with:
path: apps/desktop/build
key: ${{ runner.os }}-${{ github.run_id }}-build
- name: Setup Safari Cache
id: safari-cache
- uses: actions/cache@13aacd865c20de90d75de3b17ebe84f7a17d57d2 # v4.0.0
+ uses: actions/cache@ab5e6d0c87105b4c9c2047343972218f562e4319 # v4.0.1
with:
path: apps/browser/dist/Safari
key: ${{ runner.os }}-${{ github.run_id }}-safari-extension
@@ -659,7 +659,7 @@ jobs:
- name: Download artifact from hotfix-rc
if: github.ref == 'refs/heads/hotfix-rc'
- uses: dawidd6/action-download-artifact@e7466d1a7587ed14867642c2ca74b5bcc1e19a2d # v3.0.0
+ uses: dawidd6/action-download-artifact@71072fbb1229e1317f1a8de6b04206afb461bd67 # v3.1.2
with:
workflow: build-browser.yml
workflow_conclusion: success
@@ -668,7 +668,7 @@ jobs:
- name: Download artifact from rc
if: github.ref == 'refs/heads/rc'
- uses: dawidd6/action-download-artifact@e7466d1a7587ed14867642c2ca74b5bcc1e19a2d # v3.0.0
+ uses: dawidd6/action-download-artifact@71072fbb1229e1317f1a8de6b04206afb461bd67 # v3.1.2
with:
workflow: build-browser.yml
workflow_conclusion: success
@@ -677,7 +677,7 @@ jobs:
- name: Download artifacts from main
if: ${{ github.ref != 'refs/heads/rc' && github.ref != 'refs/heads/hotfix-rc' }}
- uses: dawidd6/action-download-artifact@e7466d1a7587ed14867642c2ca74b5bcc1e19a2d # v3.0.0
+ uses: dawidd6/action-download-artifact@71072fbb1229e1317f1a8de6b04206afb461bd67 # v3.1.2
with:
workflow: build-browser.yml
workflow_conclusion: success
@@ -765,14 +765,14 @@ jobs:
- name: Get Build Cache
id: build-cache
- uses: actions/cache@13aacd865c20de90d75de3b17ebe84f7a17d57d2 # v4.0.0
+ uses: actions/cache@ab5e6d0c87105b4c9c2047343972218f562e4319 # v4.0.1
with:
path: apps/desktop/build
key: ${{ runner.os }}-${{ github.run_id }}-build
- name: Setup Safari Cache
id: safari-cache
- uses: actions/cache@13aacd865c20de90d75de3b17ebe84f7a17d57d2 # v4.0.0
+ uses: actions/cache@ab5e6d0c87105b4c9c2047343972218f562e4319 # v4.0.1
with:
path: apps/browser/dist/Safari
key: ${{ runner.os }}-${{ github.run_id }}-safari-extension
@@ -864,7 +864,7 @@ jobs:
- name: Download artifact from hotfix-rc
if: github.ref == 'refs/heads/hotfix-rc'
- uses: dawidd6/action-download-artifact@e7466d1a7587ed14867642c2ca74b5bcc1e19a2d # v3.0.0
+ uses: dawidd6/action-download-artifact@71072fbb1229e1317f1a8de6b04206afb461bd67 # v3.1.2
with:
workflow: build-browser.yml
workflow_conclusion: success
@@ -873,7 +873,7 @@ jobs:
- name: Download artifact from rc
if: github.ref == 'refs/heads/rc'
- uses: dawidd6/action-download-artifact@e7466d1a7587ed14867642c2ca74b5bcc1e19a2d # v3.0.0
+ uses: dawidd6/action-download-artifact@71072fbb1229e1317f1a8de6b04206afb461bd67 # v3.1.2
with:
workflow: build-browser.yml
workflow_conclusion: success
@@ -882,7 +882,7 @@ jobs:
- name: Download artifact from main
if: ${{ github.ref != 'refs/heads/rc' && github.ref != 'refs/heads/hotfix-rc' }}
- uses: dawidd6/action-download-artifact@e7466d1a7587ed14867642c2ca74b5bcc1e19a2d # v3.0.0
+ uses: dawidd6/action-download-artifact@71072fbb1229e1317f1a8de6b04206afb461bd67 # v3.1.2
with:
workflow: build-browser.yml
workflow_conclusion: success
@@ -953,7 +953,7 @@ jobs:
cf-prod-account"
- name: Download all artifacts
- uses: actions/download-artifact@eaceaf801fd36c7dee90939fad912460b18a1ffe # v4.1.2
+ uses: actions/download-artifact@c850b930e6ba138125429b7e5c93fc707a7f8427 # v4.1.4
with:
path: apps/desktop/artifacts
@@ -992,7 +992,7 @@ jobs:
- name: Update deployment status to Success
if: ${{ success() }}
- uses: chrnorm/deployment-status@2afb7d27101260f4a764219439564d954d10b5b0 # v2.0.1
+ uses: chrnorm/deployment-status@9a72af4586197112e0491ea843682b5dc280d806 # v2.0.3
with:
token: '${{ secrets.GITHUB_TOKEN }}'
state: 'success'
@@ -1000,7 +1000,7 @@ jobs:
- name: Update deployment status to Failure
if: ${{ failure() }}
- uses: chrnorm/deployment-status@2afb7d27101260f4a764219439564d954d10b5b0 # v2.0.1
+ uses: chrnorm/deployment-status@9a72af4586197112e0491ea843682b5dc280d806 # v2.0.3
with:
token: '${{ secrets.GITHUB_TOKEN }}'
state: 'failure'
diff --git a/.github/workflows/release-desktop.yml b/.github/workflows/release-desktop.yml
index ad6883bfc9..cf857d7177 100644
--- a/.github/workflows/release-desktop.yml
+++ b/.github/workflows/release-desktop.yml
@@ -231,7 +231,7 @@ jobs:
- name: Update deployment status to Success
if: ${{ github.event.inputs.release_type != 'Dry Run' && success() }}
- uses: chrnorm/deployment-status@2afb7d27101260f4a764219439564d954d10b5b0 # v2.0.1
+ uses: chrnorm/deployment-status@9a72af4586197112e0491ea843682b5dc280d806 # v2.0.3
with:
token: '${{ secrets.GITHUB_TOKEN }}'
state: 'success'
@@ -239,7 +239,7 @@ jobs:
- name: Update deployment status to Failure
if: ${{ github.event.inputs.release_type != 'Dry Run' && failure() }}
- uses: chrnorm/deployment-status@2afb7d27101260f4a764219439564d954d10b5b0 # v2.0.1
+ uses: chrnorm/deployment-status@9a72af4586197112e0491ea843682b5dc280d806 # v2.0.3
with:
token: '${{ secrets.GITHUB_TOKEN }}'
state: 'failure'
diff --git a/.github/workflows/release-web.yml b/.github/workflows/release-web.yml
index 42acd62420..3e07f7fc98 100644
--- a/.github/workflows/release-web.yml
+++ b/.github/workflows/release-web.yml
@@ -268,7 +268,7 @@ jobs:
- name: Update deployment status to Success
if: ${{ github.event.inputs.release_type != 'Dry Run' && success() }}
- uses: chrnorm/deployment-status@2afb7d27101260f4a764219439564d954d10b5b0 # v2.0.1
+ uses: chrnorm/deployment-status@9a72af4586197112e0491ea843682b5dc280d806 # v2.0.3
with:
token: '${{ secrets.GITHUB_TOKEN }}'
environment-url: http://vault.bitwarden.com
@@ -277,7 +277,7 @@ jobs:
- name: Update deployment status to Failure
if: ${{ github.event.inputs.release_type != 'Dry Run' && failure() }}
- uses: chrnorm/deployment-status@2afb7d27101260f4a764219439564d954d10b5b0 # v2.0.1
+ uses: chrnorm/deployment-status@9a72af4586197112e0491ea843682b5dc280d806 # v2.0.3
with:
token: '${{ secrets.GITHUB_TOKEN }}'
environment-url: http://vault.bitwarden.com
diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
index b3dd6c8da1..3c650d8a62 100644
--- a/.github/workflows/test.yml
+++ b/.github/workflows/test.yml
@@ -63,7 +63,7 @@ jobs:
fail-on-error: true
- name: Upload to codecov.io
- uses: codecov/codecov-action@e0b68c6749509c5f83f984dd99a76a1c1a231044 # v4.0.1
+ uses: codecov/codecov-action@54bcd8715eee62d40e33596ef5e8f0f48dbbccab # v4.1.0
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
From 356a15535cdae4aa162c46b95dff02a9bac5bc56 Mon Sep 17 00:00:00 2001
From: Jason Ng
Date: Wed, 6 Mar 2024 13:49:43 -0500
Subject: [PATCH 02/10] PM-6643 Onboarding Import Data Text Update (#8228)
change text for import data field in onboarding vault
---
.../vault-onboarding/vault-onboarding.component.html | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)
diff --git a/apps/web/src/app/vault/individual-vault/vault-onboarding/vault-onboarding.component.html b/apps/web/src/app/vault/individual-vault/vault-onboarding/vault-onboarding.component.html
index ae6ff2c36b..491bdc8e36 100644
--- a/apps/web/src/app/vault/individual-vault/vault-onboarding/vault-onboarding.component.html
+++ b/apps/web/src/app/vault/individual-vault/vault-onboarding/vault-onboarding.component.html
@@ -27,12 +27,9 @@
-
+
{{ "onboardingImportDataDetailsPartTwoNoOrgs" | i18n }}
- 0">
- {{ "onboardingImportDataDetailsPartTwoWithOrgs" | i18n }}
-
From c52456cbb6dbee5c48fc9bec7e6c197bf68b4eba Mon Sep 17 00:00:00 2001
From: Jonathan Prusik
Date: Wed, 6 Mar 2024 16:07:46 -0500
Subject: [PATCH 03/10] [AC-2248][PM-5352] Bugfix - Fix non-working policy
state in autofill settings service (#8156)
* fix broken policy state in autofill settings service
* cleanup and re-org
* move toast display tracking value and update to autofill settings state
---
.../background/notification.background.ts | 2 +-
.../background/overlay.background.spec.ts | 6 +-
.../autofill/background/overlay.background.ts | 9 +-
.../context-menu-clicked-handler.spec.ts | 17 ++-
.../browser/context-menu-clicked-handler.ts | 28 ++---
.../browser/main-context-menu-handler.spec.ts | 2 +-
.../browser/main-context-menu-handler.ts | 32 +++---
.../autofill/content/autofill-init.spec.ts | 3 +-
.../autofill-overlay-iframe.service.spec.ts | 2 +-
.../autofill-overlay-iframe.service.ts | 2 +-
.../pages/button/autofill-overlay-button.ts | 2 +-
.../pages/list/autofill-overlay-list.ts | 2 +-
.../shared/autofill-overlay-page-element.ts | 3 +-
.../popup/settings/autofill.component.ts | 6 +-
.../autofill-overlay-content.service.spec.ts | 8 +-
.../autofill-overlay-content.service.ts | 8 +-
.../services/autofill.service.spec.ts | 2 +-
.../src/autofill/services/autofill.service.ts | 2 +-
.../insert-autofill-content.service.spec.ts | 3 +-
.../insert-autofill-content.service.ts | 3 +-
.../autofill/utils/autofill-overlay.enum.ts | 17 +--
.../src/background/runtime.background.ts | 2 +-
.../src/popup/settings/options.component.ts | 2 +-
.../components/vault/current-tab.component.ts | 39 ++++---
apps/browser/tsconfig.json | 6 +-
.../common/src/autofill/constants/index.ts | 9 +-
.../services/autofill-settings.service.ts | 102 +++++++-----------
libs/common/src/autofill/types/index.ts | 7 ++
...ve-autofill-settings-to-state-providers.ts | 10 +-
...ard-to-autofill-settings-state-provider.ts | 13 ++-
30 files changed, 175 insertions(+), 174 deletions(-)
rename apps/browser/src/autofill/constants.ts => libs/common/src/autofill/constants/index.ts (93%)
create mode 100644 libs/common/src/autofill/types/index.ts
diff --git a/apps/browser/src/autofill/background/notification.background.ts b/apps/browser/src/autofill/background/notification.background.ts
index 6b5f1a8297..44decc01a9 100644
--- a/apps/browser/src/autofill/background/notification.background.ts
+++ b/apps/browser/src/autofill/background/notification.background.ts
@@ -4,6 +4,7 @@ import { PolicyService } from "@bitwarden/common/admin-console/abstractions/poli
import { PolicyType } from "@bitwarden/common/admin-console/enums";
import { AuthService } from "@bitwarden/common/auth/abstractions/auth.service";
import { AuthenticationStatus } from "@bitwarden/common/auth/enums/authentication-status";
+import { NOTIFICATION_BAR_LIFESPAN_MS } from "@bitwarden/common/autofill/constants";
import { UserNotificationSettingsServiceAbstraction } from "@bitwarden/common/autofill/services/user-notification-settings.service";
import { EnvironmentService } from "@bitwarden/common/platform/abstractions/environment.service";
import { LogService } from "@bitwarden/common/platform/abstractions/log.service";
@@ -19,7 +20,6 @@ import { openUnlockPopout } from "../../auth/popup/utils/auth-popout-window";
import { BrowserApi } from "../../platform/browser/browser-api";
import { BrowserStateService } from "../../platform/services/abstractions/browser-state.service";
import { openAddEditVaultItemPopout } from "../../vault/popup/utils/vault-popout-window";
-import { NOTIFICATION_BAR_LIFESPAN_MS } from "../constants";
import { NotificationQueueMessageType } from "../enums/notification-queue-message-type.enum";
import { AutofillService } from "../services/abstractions/autofill.service";
diff --git a/apps/browser/src/autofill/background/overlay.background.spec.ts b/apps/browser/src/autofill/background/overlay.background.spec.ts
index 2820ed6cd1..c19505118b 100644
--- a/apps/browser/src/autofill/background/overlay.background.spec.ts
+++ b/apps/browser/src/autofill/background/overlay.background.spec.ts
@@ -2,6 +2,10 @@ import { mock, mockReset } from "jest-mock-extended";
import { AuthenticationStatus } from "@bitwarden/common/auth/enums/authentication-status";
import { AuthService } from "@bitwarden/common/auth/services/auth.service";
+import {
+ SHOW_AUTOFILL_BUTTON,
+ AutofillOverlayVisibility,
+} from "@bitwarden/common/autofill/constants";
import { AutofillSettingsService } from "@bitwarden/common/autofill/services/autofill-settings.service";
import { ThemeType } from "@bitwarden/common/platform/enums";
import { EnvironmentService } from "@bitwarden/common/platform/services/environment.service";
@@ -15,7 +19,6 @@ import { CipherService } from "@bitwarden/common/vault/services/cipher.service";
import { BrowserApi } from "../../platform/browser/browser-api";
import BrowserPlatformUtilsService from "../../platform/services/browser-platform-utils.service";
import { BrowserStateService } from "../../platform/services/browser-state.service";
-import { SHOW_AUTOFILL_BUTTON } from "../constants";
import { AutofillService } from "../services/abstractions/autofill.service";
import {
createAutofillPageDetailsMock,
@@ -28,7 +31,6 @@ import { flushPromises, sendExtensionRuntimeMessage, sendPortMessage } from "../
import {
AutofillOverlayElement,
AutofillOverlayPort,
- AutofillOverlayVisibility,
RedirectFocusDirection,
} from "../utils/autofill-overlay.enum";
diff --git a/apps/browser/src/autofill/background/overlay.background.ts b/apps/browser/src/autofill/background/overlay.background.ts
index 583e22fbe8..49d27391cf 100644
--- a/apps/browser/src/autofill/background/overlay.background.ts
+++ b/apps/browser/src/autofill/background/overlay.background.ts
@@ -3,7 +3,9 @@ import { firstValueFrom } from "rxjs";
import { SettingsService } from "@bitwarden/common/abstractions/settings.service";
import { AuthService } from "@bitwarden/common/auth/abstractions/auth.service";
import { AuthenticationStatus } from "@bitwarden/common/auth/enums/authentication-status";
+import { SHOW_AUTOFILL_BUTTON } from "@bitwarden/common/autofill/constants";
import { AutofillSettingsServiceAbstraction } from "@bitwarden/common/autofill/services/autofill-settings.service";
+import { InlineMenuVisibilitySetting } from "@bitwarden/common/autofill/types";
import { EnvironmentService } from "@bitwarden/common/platform/abstractions/environment.service";
import { I18nService } from "@bitwarden/common/platform/abstractions/i18n.service";
import { PlatformUtilsService } from "@bitwarden/common/platform/abstractions/platform-utils.service";
@@ -22,13 +24,8 @@ import {
openViewVaultItemPopout,
openAddEditVaultItemPopout,
} from "../../vault/popup/utils/vault-popout-window";
-import { SHOW_AUTOFILL_BUTTON } from "../constants";
import { AutofillService, PageDetail } from "../services/abstractions/autofill.service";
-import {
- InlineMenuVisibilitySetting,
- AutofillOverlayElement,
- AutofillOverlayPort,
-} from "../utils/autofill-overlay.enum";
+import { AutofillOverlayElement, AutofillOverlayPort } from "../utils/autofill-overlay.enum";
import { LockedVaultPendingNotificationsData } from "./abstractions/notification.background";
import {
diff --git a/apps/browser/src/autofill/browser/context-menu-clicked-handler.spec.ts b/apps/browser/src/autofill/browser/context-menu-clicked-handler.spec.ts
index f2312a0d66..e54f37489b 100644
--- a/apps/browser/src/autofill/browser/context-menu-clicked-handler.spec.ts
+++ b/apps/browser/src/autofill/browser/context-menu-clicked-handler.spec.ts
@@ -3,14 +3,6 @@ import { mock, MockProxy } from "jest-mock-extended";
import { EventCollectionService } from "@bitwarden/common/abstractions/event/event-collection.service";
import { AuthService } from "@bitwarden/common/auth/abstractions/auth.service";
import { UserVerificationService } from "@bitwarden/common/auth/abstractions/user-verification/user-verification.service.abstraction";
-import { StateService } from "@bitwarden/common/platform/abstractions/state.service";
-import { CipherService } from "@bitwarden/common/vault/abstractions/cipher.service";
-import { TotpService } from "@bitwarden/common/vault/abstractions/totp.service";
-import { CipherType } from "@bitwarden/common/vault/enums";
-import { CipherRepromptType } from "@bitwarden/common/vault/enums/cipher-reprompt-type";
-import { Cipher } from "@bitwarden/common/vault/models/domain/cipher";
-import { CipherView } from "@bitwarden/common/vault/models/view/cipher.view";
-
import {
AUTOFILL_ID,
COPY_PASSWORD_ID,
@@ -18,7 +10,14 @@ import {
COPY_VERIFICATION_CODE_ID,
GENERATE_PASSWORD_ID,
NOOP_COMMAND_SUFFIX,
-} from "../constants";
+} from "@bitwarden/common/autofill/constants";
+import { StateService } from "@bitwarden/common/platform/abstractions/state.service";
+import { CipherService } from "@bitwarden/common/vault/abstractions/cipher.service";
+import { TotpService } from "@bitwarden/common/vault/abstractions/totp.service";
+import { CipherType } from "@bitwarden/common/vault/enums";
+import { CipherRepromptType } from "@bitwarden/common/vault/enums/cipher-reprompt-type";
+import { Cipher } from "@bitwarden/common/vault/models/domain/cipher";
+import { CipherView } from "@bitwarden/common/vault/models/view/cipher.view";
import {
CopyToClipboardAction,
diff --git a/apps/browser/src/autofill/browser/context-menu-clicked-handler.ts b/apps/browser/src/autofill/browser/context-menu-clicked-handler.ts
index 21ff91c02d..760b833044 100644
--- a/apps/browser/src/autofill/browser/context-menu-clicked-handler.ts
+++ b/apps/browser/src/autofill/browser/context-menu-clicked-handler.ts
@@ -2,6 +2,20 @@ import { EventCollectionService } from "@bitwarden/common/abstractions/event/eve
import { AuthService } from "@bitwarden/common/auth/abstractions/auth.service";
import { UserVerificationService } from "@bitwarden/common/auth/abstractions/user-verification/user-verification.service.abstraction";
import { AuthenticationStatus } from "@bitwarden/common/auth/enums/authentication-status";
+import {
+ AUTOFILL_CARD_ID,
+ AUTOFILL_ID,
+ AUTOFILL_IDENTITY_ID,
+ COPY_IDENTIFIER_ID,
+ COPY_PASSWORD_ID,
+ COPY_USERNAME_ID,
+ COPY_VERIFICATION_CODE_ID,
+ CREATE_CARD_ID,
+ CREATE_IDENTITY_ID,
+ CREATE_LOGIN_ID,
+ GENERATE_PASSWORD_ID,
+ NOOP_COMMAND_SUFFIX,
+} from "@bitwarden/common/autofill/constants";
import { EventType } from "@bitwarden/common/enums";
import { StateService } from "@bitwarden/common/platform/abstractions/state.service";
import { StateFactory } from "@bitwarden/common/platform/factories/state-factory";
@@ -38,20 +52,6 @@ import { LockedVaultPendingNotificationsData } from "../background/abstractions/
import { autofillServiceFactory } from "../background/service_factories/autofill-service.factory";
import { copyToClipboard, GeneratePasswordToClipboardCommand } from "../clipboard";
import { AutofillTabCommand } from "../commands/autofill-tab-command";
-import {
- AUTOFILL_CARD_ID,
- AUTOFILL_ID,
- AUTOFILL_IDENTITY_ID,
- COPY_IDENTIFIER_ID,
- COPY_PASSWORD_ID,
- COPY_USERNAME_ID,
- COPY_VERIFICATION_CODE_ID,
- CREATE_CARD_ID,
- CREATE_IDENTITY_ID,
- CREATE_LOGIN_ID,
- GENERATE_PASSWORD_ID,
- NOOP_COMMAND_SUFFIX,
-} from "../constants";
import { AutofillCipherTypeId } from "../types";
export type CopyToClipboardOptions = { text: string; tab: chrome.tabs.Tab };
diff --git a/apps/browser/src/autofill/browser/main-context-menu-handler.spec.ts b/apps/browser/src/autofill/browser/main-context-menu-handler.spec.ts
index 9e115749e8..f2b17d2f08 100644
--- a/apps/browser/src/autofill/browser/main-context-menu-handler.spec.ts
+++ b/apps/browser/src/autofill/browser/main-context-menu-handler.spec.ts
@@ -1,5 +1,6 @@
import { mock, MockProxy } from "jest-mock-extended";
+import { NOOP_COMMAND_SUFFIX } from "@bitwarden/common/autofill/constants";
import { I18nService } from "@bitwarden/common/platform/abstractions/i18n.service";
import { LogService } from "@bitwarden/common/platform/abstractions/log.service";
import { CipherType } from "@bitwarden/common/vault/enums";
@@ -7,7 +8,6 @@ import { Cipher } from "@bitwarden/common/vault/models/domain/cipher";
import { CipherView } from "@bitwarden/common/vault/models/view/cipher.view";
import { BrowserStateService } from "../../platform/services/abstractions/browser-state.service";
-import { NOOP_COMMAND_SUFFIX } from "../constants";
import { MainContextMenuHandler } from "./main-context-menu-handler";
diff --git a/apps/browser/src/autofill/browser/main-context-menu-handler.ts b/apps/browser/src/autofill/browser/main-context-menu-handler.ts
index 0051c69154..19154fbfb8 100644
--- a/apps/browser/src/autofill/browser/main-context-menu-handler.ts
+++ b/apps/browser/src/autofill/browser/main-context-menu-handler.ts
@@ -1,3 +1,19 @@
+import {
+ AUTOFILL_CARD_ID,
+ AUTOFILL_ID,
+ AUTOFILL_IDENTITY_ID,
+ COPY_IDENTIFIER_ID,
+ COPY_PASSWORD_ID,
+ COPY_USERNAME_ID,
+ COPY_VERIFICATION_CODE_ID,
+ CREATE_CARD_ID,
+ CREATE_IDENTITY_ID,
+ CREATE_LOGIN_ID,
+ GENERATE_PASSWORD_ID,
+ NOOP_COMMAND_SUFFIX,
+ ROOT_ID,
+ SEPARATOR_ID,
+} from "@bitwarden/common/autofill/constants";
import { I18nService } from "@bitwarden/common/platform/abstractions/i18n.service";
import { LogService } from "@bitwarden/common/platform/abstractions/log.service";
import { StateFactory } from "@bitwarden/common/platform/factories/state-factory";
@@ -21,22 +37,6 @@ import {
StateServiceInitOptions,
} from "../../platform/background/service-factories/state-service.factory";
import { BrowserStateService } from "../../platform/services/abstractions/browser-state.service";
-import {
- AUTOFILL_CARD_ID,
- AUTOFILL_ID,
- AUTOFILL_IDENTITY_ID,
- COPY_IDENTIFIER_ID,
- COPY_PASSWORD_ID,
- COPY_USERNAME_ID,
- COPY_VERIFICATION_CODE_ID,
- CREATE_CARD_ID,
- CREATE_IDENTITY_ID,
- CREATE_LOGIN_ID,
- GENERATE_PASSWORD_ID,
- NOOP_COMMAND_SUFFIX,
- ROOT_ID,
- SEPARATOR_ID,
-} from "../constants";
import { InitContextMenuItems } from "./abstractions/main-context-menu-handler";
diff --git a/apps/browser/src/autofill/content/autofill-init.spec.ts b/apps/browser/src/autofill/content/autofill-init.spec.ts
index 65854c463e..8912a8c0ba 100644
--- a/apps/browser/src/autofill/content/autofill-init.spec.ts
+++ b/apps/browser/src/autofill/content/autofill-init.spec.ts
@@ -1,12 +1,13 @@
import { mock } from "jest-mock-extended";
import { AuthenticationStatus } from "@bitwarden/common/auth/enums/authentication-status";
+import { AutofillOverlayVisibility } from "@bitwarden/common/autofill/constants";
import AutofillPageDetails from "../models/autofill-page-details";
import AutofillScript from "../models/autofill-script";
import AutofillOverlayContentService from "../services/autofill-overlay-content.service";
import { flushPromises, sendExtensionRuntimeMessage } from "../spec/testing-utils";
-import { AutofillOverlayVisibility, RedirectFocusDirection } from "../utils/autofill-overlay.enum";
+import { RedirectFocusDirection } from "../utils/autofill-overlay.enum";
import { AutofillExtensionMessage } from "./abstractions/autofill-init";
import AutofillInit from "./autofill-init";
diff --git a/apps/browser/src/autofill/overlay/iframe-content/autofill-overlay-iframe.service.spec.ts b/apps/browser/src/autofill/overlay/iframe-content/autofill-overlay-iframe.service.spec.ts
index 5ab7988157..a7c11ea472 100644
--- a/apps/browser/src/autofill/overlay/iframe-content/autofill-overlay-iframe.service.spec.ts
+++ b/apps/browser/src/autofill/overlay/iframe-content/autofill-overlay-iframe.service.spec.ts
@@ -1,8 +1,8 @@
import { mock } from "jest-mock-extended";
+import { EVENTS } from "@bitwarden/common/autofill/constants";
import { ThemeType } from "@bitwarden/common/platform/enums";
-import { EVENTS } from "../../constants";
import { createPortSpyMock } from "../../spec/autofill-mocks";
import {
flushPromises,
diff --git a/apps/browser/src/autofill/overlay/iframe-content/autofill-overlay-iframe.service.ts b/apps/browser/src/autofill/overlay/iframe-content/autofill-overlay-iframe.service.ts
index 4512070ff7..0ec7db131c 100644
--- a/apps/browser/src/autofill/overlay/iframe-content/autofill-overlay-iframe.service.ts
+++ b/apps/browser/src/autofill/overlay/iframe-content/autofill-overlay-iframe.service.ts
@@ -1,6 +1,6 @@
+import { EVENTS } from "@bitwarden/common/autofill/constants";
import { ThemeType } from "@bitwarden/common/platform/enums";
-import { EVENTS } from "../../constants";
import { setElementStyles } from "../../utils";
import {
BackgroundPortMessageHandlers,
diff --git a/apps/browser/src/autofill/overlay/pages/button/autofill-overlay-button.ts b/apps/browser/src/autofill/overlay/pages/button/autofill-overlay-button.ts
index 12c4f2540f..0d68b37e2f 100644
--- a/apps/browser/src/autofill/overlay/pages/button/autofill-overlay-button.ts
+++ b/apps/browser/src/autofill/overlay/pages/button/autofill-overlay-button.ts
@@ -1,8 +1,8 @@
import "@webcomponents/custom-elements";
import "lit/polyfill-support.js";
import { AuthenticationStatus } from "@bitwarden/common/auth/enums/authentication-status";
+import { EVENTS } from "@bitwarden/common/autofill/constants";
-import { EVENTS } from "../../../constants";
import { buildSvgDomElement } from "../../../utils";
import { logoIcon, logoLockedIcon } from "../../../utils/svg-icons";
import {
diff --git a/apps/browser/src/autofill/overlay/pages/list/autofill-overlay-list.ts b/apps/browser/src/autofill/overlay/pages/list/autofill-overlay-list.ts
index 6feb31533e..305a230e5c 100644
--- a/apps/browser/src/autofill/overlay/pages/list/autofill-overlay-list.ts
+++ b/apps/browser/src/autofill/overlay/pages/list/autofill-overlay-list.ts
@@ -1,9 +1,9 @@
import "@webcomponents/custom-elements";
import "lit/polyfill-support.js";
import { AuthenticationStatus } from "@bitwarden/common/auth/enums/authentication-status";
+import { EVENTS } from "@bitwarden/common/autofill/constants";
import { OverlayCipherData } from "../../../background/abstractions/overlay.background";
-import { EVENTS } from "../../../constants";
import { buildSvgDomElement } from "../../../utils";
import { globeIcon, lockIcon, plusIcon, viewCipherIcon } from "../../../utils/svg-icons";
import {
diff --git a/apps/browser/src/autofill/overlay/pages/shared/autofill-overlay-page-element.ts b/apps/browser/src/autofill/overlay/pages/shared/autofill-overlay-page-element.ts
index d556e5d52a..34f115f401 100644
--- a/apps/browser/src/autofill/overlay/pages/shared/autofill-overlay-page-element.ts
+++ b/apps/browser/src/autofill/overlay/pages/shared/autofill-overlay-page-element.ts
@@ -1,4 +1,5 @@
-import { EVENTS } from "../../../constants";
+import { EVENTS } from "@bitwarden/common/autofill/constants";
+
import { RedirectFocusDirection } from "../../../utils/autofill-overlay.enum";
import {
AutofillOverlayPageElementWindowMessage,
diff --git a/apps/browser/src/autofill/popup/settings/autofill.component.ts b/apps/browser/src/autofill/popup/settings/autofill.component.ts
index 9e951e280d..857442d309 100644
--- a/apps/browser/src/autofill/popup/settings/autofill.component.ts
+++ b/apps/browser/src/autofill/popup/settings/autofill.component.ts
@@ -2,7 +2,9 @@ import { Component, OnInit } from "@angular/core";
import { firstValueFrom } from "rxjs";
import { SettingsService } from "@bitwarden/common/abstractions/settings.service";
+import { AutofillOverlayVisibility } from "@bitwarden/common/autofill/constants";
import { AutofillSettingsServiceAbstraction } from "@bitwarden/common/autofill/services/autofill-settings.service";
+import { InlineMenuVisibilitySetting } from "@bitwarden/common/autofill/types";
import { I18nService } from "@bitwarden/common/platform/abstractions/i18n.service";
import { PlatformUtilsService } from "@bitwarden/common/platform/abstractions/platform-utils.service";
import { StateService } from "@bitwarden/common/platform/abstractions/state.service";
@@ -12,10 +14,6 @@ import { DialogService } from "@bitwarden/components";
import { BrowserApi } from "../../../platform/browser/browser-api";
import { enableAccountSwitching } from "../../../platform/flags";
import { AutofillService } from "../../services/abstractions/autofill.service";
-import {
- AutofillOverlayVisibility,
- InlineMenuVisibilitySetting,
-} from "../../utils/autofill-overlay.enum";
@Component({
selector: "app-autofill",
diff --git a/apps/browser/src/autofill/services/autofill-overlay-content.service.spec.ts b/apps/browser/src/autofill/services/autofill-overlay-content.service.spec.ts
index e2bc787d3b..4b3641208b 100644
--- a/apps/browser/src/autofill/services/autofill-overlay-content.service.spec.ts
+++ b/apps/browser/src/autofill/services/autofill-overlay-content.service.spec.ts
@@ -1,17 +1,13 @@
import { mock } from "jest-mock-extended";
import { AuthenticationStatus } from "@bitwarden/common/auth/enums/authentication-status";
+import { EVENTS, AutofillOverlayVisibility } from "@bitwarden/common/autofill/constants";
-import { EVENTS } from "../constants";
import AutofillField from "../models/autofill-field";
import { createAutofillFieldMock } from "../spec/autofill-mocks";
import { flushPromises } from "../spec/testing-utils";
import { ElementWithOpId, FormFieldElement } from "../types";
-import {
- AutofillOverlayElement,
- AutofillOverlayVisibility,
- RedirectFocusDirection,
-} from "../utils/autofill-overlay.enum";
+import { AutofillOverlayElement, RedirectFocusDirection } from "../utils/autofill-overlay.enum";
import { AutoFillConstants } from "./autofill-constants";
import AutofillOverlayContentService from "./autofill-overlay-content.service";
diff --git a/apps/browser/src/autofill/services/autofill-overlay-content.service.ts b/apps/browser/src/autofill/services/autofill-overlay-content.service.ts
index 21baf9a3cd..efbc9732b6 100644
--- a/apps/browser/src/autofill/services/autofill-overlay-content.service.ts
+++ b/apps/browser/src/autofill/services/autofill-overlay-content.service.ts
@@ -3,9 +3,9 @@ import "lit/polyfill-support.js";
import { FocusableElement, tabbable } from "tabbable";
import { AuthenticationStatus } from "@bitwarden/common/auth/enums/authentication-status";
+import { EVENTS, AutofillOverlayVisibility } from "@bitwarden/common/autofill/constants";
import { FocusedFieldData } from "../background/abstractions/overlay.background";
-import { EVENTS } from "../constants";
import AutofillField from "../models/autofill-field";
import AutofillOverlayButtonIframe from "../overlay/iframe-content/autofill-overlay-button-iframe";
import AutofillOverlayListIframe from "../overlay/iframe-content/autofill-overlay-list-iframe";
@@ -16,11 +16,7 @@ import {
sendExtensionMessage,
setElementStyles,
} from "../utils";
-import {
- AutofillOverlayElement,
- RedirectFocusDirection,
- AutofillOverlayVisibility,
-} from "../utils/autofill-overlay.enum";
+import { AutofillOverlayElement, RedirectFocusDirection } from "../utils/autofill-overlay.enum";
import {
AutofillOverlayContentService as AutofillOverlayContentServiceInterface,
diff --git a/apps/browser/src/autofill/services/autofill.service.spec.ts b/apps/browser/src/autofill/services/autofill.service.spec.ts
index 055e92a31c..4be338da8e 100644
--- a/apps/browser/src/autofill/services/autofill.service.spec.ts
+++ b/apps/browser/src/autofill/services/autofill.service.spec.ts
@@ -1,6 +1,7 @@
import { mock, mockReset } from "jest-mock-extended";
import { UserVerificationService } from "@bitwarden/common/auth/services/user-verification/user-verification.service";
+import { AutofillOverlayVisibility } from "@bitwarden/common/autofill/constants";
import { AutofillSettingsService } from "@bitwarden/common/autofill/services/autofill-settings.service";
import { EventType } from "@bitwarden/common/enums";
import { LogService } from "@bitwarden/common/platform/abstractions/log.service";
@@ -37,7 +38,6 @@ import {
createGenerateFillScriptOptionsMock,
} from "../spec/autofill-mocks";
import { triggerTestFailure } from "../spec/testing-utils";
-import { AutofillOverlayVisibility } from "../utils/autofill-overlay.enum";
import {
AutoFillOptions,
diff --git a/apps/browser/src/autofill/services/autofill.service.ts b/apps/browser/src/autofill/services/autofill.service.ts
index 80d8c4f77f..4357a9cb6c 100644
--- a/apps/browser/src/autofill/services/autofill.service.ts
+++ b/apps/browser/src/autofill/services/autofill.service.ts
@@ -4,6 +4,7 @@ import { EventCollectionService } from "@bitwarden/common/abstractions/event/eve
import { SettingsService } from "@bitwarden/common/abstractions/settings.service";
import { UserVerificationService } from "@bitwarden/common/auth/abstractions/user-verification/user-verification.service.abstraction";
import { AutofillSettingsServiceAbstraction } from "@bitwarden/common/autofill/services/autofill-settings.service";
+import { InlineMenuVisibilitySetting } from "@bitwarden/common/autofill/types";
import { EventType } from "@bitwarden/common/enums";
import { LogService } from "@bitwarden/common/platform/abstractions/log.service";
import { CipherService } from "@bitwarden/common/vault/abstractions/cipher.service";
@@ -20,7 +21,6 @@ import { AutofillPort } from "../enums/autofill-port.enums";
import AutofillField from "../models/autofill-field";
import AutofillPageDetails from "../models/autofill-page-details";
import AutofillScript from "../models/autofill-script";
-import { InlineMenuVisibilitySetting } from "../utils/autofill-overlay.enum";
import {
AutoFillOptions,
diff --git a/apps/browser/src/autofill/services/insert-autofill-content.service.spec.ts b/apps/browser/src/autofill/services/insert-autofill-content.service.spec.ts
index b137d2cd7c..c63d25c364 100644
--- a/apps/browser/src/autofill/services/insert-autofill-content.service.spec.ts
+++ b/apps/browser/src/autofill/services/insert-autofill-content.service.spec.ts
@@ -1,4 +1,5 @@
-import { EVENTS } from "../constants";
+import { EVENTS } from "@bitwarden/common/autofill/constants";
+
import AutofillScript, { FillScript, FillScriptActions } from "../models/autofill-script";
import { FillableFormFieldElement, FormElementWithAttribute, FormFieldElement } from "../types";
diff --git a/apps/browser/src/autofill/services/insert-autofill-content.service.ts b/apps/browser/src/autofill/services/insert-autofill-content.service.ts
index 32cf76f1a3..c5b763d77d 100644
--- a/apps/browser/src/autofill/services/insert-autofill-content.service.ts
+++ b/apps/browser/src/autofill/services/insert-autofill-content.service.ts
@@ -1,4 +1,5 @@
-import { EVENTS, TYPE_CHECK } from "../constants";
+import { EVENTS, TYPE_CHECK } from "@bitwarden/common/autofill/constants";
+
import AutofillScript, { AutofillInsertActions, FillScript } from "../models/autofill-script";
import { FormFieldElement } from "../types";
import {
diff --git a/apps/browser/src/autofill/utils/autofill-overlay.enum.ts b/apps/browser/src/autofill/utils/autofill-overlay.enum.ts
index 92723f01f9..486d68f754 100644
--- a/apps/browser/src/autofill/utils/autofill-overlay.enum.ts
+++ b/apps/browser/src/autofill/utils/autofill-overlay.enum.ts
@@ -14,19 +14,4 @@ const RedirectFocusDirection = {
Next: "next",
} as const;
-const AutofillOverlayVisibility = {
- Off: 0,
- OnButtonClick: 1,
- OnFieldFocus: 2,
-} as const;
-
-type InlineMenuVisibilitySetting =
- (typeof AutofillOverlayVisibility)[keyof typeof AutofillOverlayVisibility];
-
-export {
- AutofillOverlayElement,
- AutofillOverlayPort,
- RedirectFocusDirection,
- AutofillOverlayVisibility,
- InlineMenuVisibilitySetting,
-};
+export { AutofillOverlayElement, AutofillOverlayPort, RedirectFocusDirection };
diff --git a/apps/browser/src/background/runtime.background.ts b/apps/browser/src/background/runtime.background.ts
index fd735966fb..88d0e3f90a 100644
--- a/apps/browser/src/background/runtime.background.ts
+++ b/apps/browser/src/background/runtime.background.ts
@@ -1,4 +1,5 @@
import { NotificationsService } from "@bitwarden/common/abstractions/notifications.service";
+import { AutofillOverlayVisibility } from "@bitwarden/common/autofill/constants";
import { AutofillSettingsServiceAbstraction } from "@bitwarden/common/autofill/services/autofill-settings.service";
import { ConfigServiceAbstraction } from "@bitwarden/common/platform/abstractions/config/config.service.abstraction";
import { I18nService } from "@bitwarden/common/platform/abstractions/i18n.service";
@@ -15,7 +16,6 @@ import {
} from "../auth/popup/utils/auth-popout-window";
import { LockedVaultPendingNotificationsData } from "../autofill/background/abstractions/notification.background";
import { AutofillService } from "../autofill/services/abstractions/autofill.service";
-import { AutofillOverlayVisibility } from "../autofill/utils/autofill-overlay.enum";
import { BrowserApi } from "../platform/browser/browser-api";
import { BrowserStateService } from "../platform/services/abstractions/browser-state.service";
import { BrowserEnvironmentService } from "../platform/services/browser-environment.service";
diff --git a/apps/browser/src/popup/settings/options.component.ts b/apps/browser/src/popup/settings/options.component.ts
index d798714b5f..ac416a3493 100644
--- a/apps/browser/src/popup/settings/options.component.ts
+++ b/apps/browser/src/popup/settings/options.component.ts
@@ -6,6 +6,7 @@ import { SettingsService } from "@bitwarden/common/abstractions/settings.service
import { AutofillSettingsServiceAbstraction } from "@bitwarden/common/autofill/services/autofill-settings.service";
import { BadgeSettingsServiceAbstraction } from "@bitwarden/common/autofill/services/badge-settings.service";
import { UserNotificationSettingsServiceAbstraction } from "@bitwarden/common/autofill/services/user-notification-settings.service";
+import { ClearClipboardDelaySetting } from "@bitwarden/common/autofill/types";
import { I18nService } from "@bitwarden/common/platform/abstractions/i18n.service";
import { MessagingService } from "@bitwarden/common/platform/abstractions/messaging.service";
import { StateService } from "@bitwarden/common/platform/abstractions/state.service";
@@ -13,7 +14,6 @@ import { ThemeType } from "@bitwarden/common/platform/enums";
import { VaultSettingsService } from "@bitwarden/common/vault/abstractions/vault-settings/vault-settings.service";
import { UriMatchType } from "@bitwarden/common/vault/enums";
-import { ClearClipboardDelaySetting } from "../../../../../apps/browser/src/autofill/constants";
import { enableAccountSwitching } from "../../platform/flags";
@Component({
diff --git a/apps/browser/src/vault/popup/components/vault/current-tab.component.ts b/apps/browser/src/vault/popup/components/vault/current-tab.component.ts
index 5bf770a218..d1fcb5d439 100644
--- a/apps/browser/src/vault/popup/components/vault/current-tab.component.ts
+++ b/apps/browser/src/vault/popup/components/vault/current-tab.component.ts
@@ -5,6 +5,7 @@ import { debounceTime, takeUntil } from "rxjs/operators";
import { SearchService } from "@bitwarden/common/abstractions/search.service";
import { OrganizationService } from "@bitwarden/common/admin-console/abstractions/organization/organization.service.abstraction";
+import { AutofillOverlayVisibility } from "@bitwarden/common/autofill/constants";
import { AutofillSettingsServiceAbstraction } from "@bitwarden/common/autofill/services/autofill-settings.service";
import { BroadcasterService } from "@bitwarden/common/platform/abstractions/broadcaster.service";
import { I18nService } from "@bitwarden/common/platform/abstractions/i18n.service";
@@ -19,7 +20,6 @@ import { CipherView } from "@bitwarden/common/vault/models/view/cipher.view";
import { PasswordRepromptService } from "@bitwarden/vault";
import { AutofillService } from "../../../../autofill/services/abstractions/autofill.service";
-import { AutofillOverlayVisibility } from "../../../../autofill/utils/autofill-overlay.enum";
import { BrowserApi } from "../../../../platform/browser/browser-api";
import BrowserPopupUtils from "../../../../platform/popup/browser-popup-utils";
import { VaultFilterService } from "../../../services/vault-filter.service";
@@ -123,15 +123,32 @@ export class CurrentTabComponent implements OnInit, OnDestroy {
.pipe(debounceTime(500), takeUntil(this.destroy$))
.subscribe(() => this.searchVault());
- // activate autofill on page load if policy is set
- if (await this.getActivateAutofillOnPageLoadFromPolicy()) {
+ const autofillOnPageLoadOrgPolicy = await firstValueFrom(
+ this.autofillSettingsService.activateAutofillOnPageLoadFromPolicy$,
+ );
+ const autofillOnPageLoadPolicyToastHasDisplayed = await firstValueFrom(
+ this.autofillSettingsService.autofillOnPageLoadPolicyToastHasDisplayed$,
+ );
+
+ // If the org "autofill on page load" policy is set, set the user setting to match it
+ // @TODO override user setting instead of overwriting
+ if (autofillOnPageLoadOrgPolicy === true) {
await this.autofillSettingsService.setAutofillOnPageLoad(true);
- await this.autofillSettingsService.setActivateAutofillOnPageLoadFromPolicy(false);
- this.platformUtilsService.showToast(
- "info",
- null,
- this.i18nService.t("autofillPageLoadPolicyActivated"),
- );
+
+ if (!autofillOnPageLoadPolicyToastHasDisplayed) {
+ this.platformUtilsService.showToast(
+ "info",
+ null,
+ this.i18nService.t("autofillPageLoadPolicyActivated"),
+ );
+
+ await this.autofillSettingsService.setAutofillOnPageLoadPolicyToastHasDisplayed(true);
+ }
+ }
+
+ // If the org policy is ever disabled after being enabled, reset the toast notification
+ if (!autofillOnPageLoadOrgPolicy && autofillOnPageLoadPolicyToastHasDisplayed) {
+ await this.autofillSettingsService.setAutofillOnPageLoadPolicyToastHasDisplayed(false);
}
}
@@ -303,10 +320,6 @@ export class CurrentTabComponent implements OnInit, OnDestroy {
this.router.navigate(["autofill"]);
}
- private async getActivateAutofillOnPageLoadFromPolicy(): Promise {
- return await firstValueFrom(this.autofillSettingsService.activateAutofillOnPageLoadFromPolicy$);
- }
-
async dismissCallout() {
await this.autofillSettingsService.setAutofillOnPageLoadCalloutIsDismissed(true);
this.showHowToAutofill = false;
diff --git a/apps/browser/tsconfig.json b/apps/browser/tsconfig.json
index 442e153ef2..a4176be0b0 100644
--- a/apps/browser/tsconfig.json
+++ b/apps/browser/tsconfig.json
@@ -31,5 +31,9 @@
"strictTemplates": true,
"preserveWhitespaces": true
},
- "include": ["src", "../../libs/common/src/platform/services/**/*.worker.ts"]
+ "include": [
+ "src",
+ "../../libs/common/src/platform/services/**/*.worker.ts",
+ "../../libs/common/src/autofill/constants"
+ ]
}
diff --git a/apps/browser/src/autofill/constants.ts b/libs/common/src/autofill/constants/index.ts
similarity index 93%
rename from apps/browser/src/autofill/constants.ts
rename to libs/common/src/autofill/constants/index.ts
index da4bae0183..6d5af41a17 100644
--- a/apps/browser/src/autofill/constants.ts
+++ b/libs/common/src/autofill/constants/index.ts
@@ -32,9 +32,6 @@ export const ClearClipboardDelay = {
FiveMinutes: 300,
} as const;
-export type ClearClipboardDelaySetting =
- (typeof ClearClipboardDelay)[keyof typeof ClearClipboardDelay];
-
/* Context Menu item Ids */
export const AUTOFILL_CARD_ID = "autofill-card";
export const AUTOFILL_ID = "autofill";
@@ -53,3 +50,9 @@ export const ROOT_ID = "root";
export const SEPARATOR_ID = "separator";
export const NOTIFICATION_BAR_LIFESPAN_MS = 150000; // 150 seconds
+
+export const AutofillOverlayVisibility = {
+ Off: 0,
+ OnButtonClick: 1,
+ OnFieldFocus: 2,
+} as const;
diff --git a/libs/common/src/autofill/services/autofill-settings.service.ts b/libs/common/src/autofill/services/autofill-settings.service.ts
index 7311617957..7a06eed6fa 100644
--- a/libs/common/src/autofill/services/autofill-settings.service.ts
+++ b/libs/common/src/autofill/services/autofill-settings.service.ts
@@ -1,16 +1,7 @@
-import { filter, switchMap, tap, firstValueFrom, map, Observable } from "rxjs";
+import { map, Observable } from "rxjs";
-import {
- ClearClipboardDelaySetting,
- ClearClipboardDelay,
-} from "../../../../../apps/browser/src/autofill/constants";
-import {
- AutofillOverlayVisibility,
- InlineMenuVisibilitySetting,
-} from "../../../../../apps/browser/src/autofill/utils/autofill-overlay.enum";
import { PolicyService } from "../../admin-console/abstractions/policy/policy.service.abstraction";
-import { PolicyType } from "../../admin-console/enums/index";
-import { Policy } from "../../admin-console/models/domain/policy";
+import { PolicyType } from "../../admin-console/enums";
import {
AUTOFILL_SETTINGS_DISK,
AUTOFILL_SETTINGS_DISK_LOCAL,
@@ -19,6 +10,8 @@ import {
KeyDefinition,
StateProvider,
} from "../../platform/state";
+import { ClearClipboardDelay, AutofillOverlayVisibility } from "../constants";
+import { ClearClipboardDelaySetting, InlineMenuVisibilitySetting } from "../types";
const AUTOFILL_ON_PAGE_LOAD = new KeyDefinition(AUTOFILL_SETTINGS_DISK, "autofillOnPageLoad", {
deserializer: (value: boolean) => value ?? false,
@@ -32,10 +25,6 @@ const AUTOFILL_ON_PAGE_LOAD_DEFAULT = new KeyDefinition(
},
);
-const AUTO_COPY_TOTP = new KeyDefinition(AUTOFILL_SETTINGS_DISK, "autoCopyTotp", {
- deserializer: (value: boolean) => value ?? false,
-});
-
const AUTOFILL_ON_PAGE_LOAD_CALLOUT_DISMISSED = new KeyDefinition(
AUTOFILL_SETTINGS_DISK,
"autofillOnPageLoadCalloutIsDismissed",
@@ -44,14 +33,18 @@ const AUTOFILL_ON_PAGE_LOAD_CALLOUT_DISMISSED = new KeyDefinition(
},
);
-const ACTIVATE_AUTOFILL_ON_PAGE_LOAD_FROM_POLICY = new KeyDefinition(
- AUTOFILL_SETTINGS_DISK_LOCAL,
- "activateAutofillOnPageLoadFromPolicy",
+const AUTOFILL_ON_PAGE_LOAD_POLICY_TOAST_HAS_DISPLAYED = new KeyDefinition(
+ AUTOFILL_SETTINGS_DISK,
+ "autofillOnPageLoadPolicyToastHasDisplayed",
{
deserializer: (value: boolean) => value ?? false,
},
);
+const AUTO_COPY_TOTP = new KeyDefinition(AUTOFILL_SETTINGS_DISK, "autoCopyTotp", {
+ deserializer: (value: boolean) => value ?? false,
+});
+
const INLINE_MENU_VISIBILITY = new KeyDefinition(
AUTOFILL_SETTINGS_DISK_LOCAL,
"inlineMenuVisibility",
@@ -73,17 +66,17 @@ export abstract class AutofillSettingsServiceAbstraction {
setAutofillOnPageLoad: (newValue: boolean) => Promise;
autofillOnPageLoadDefault$: Observable;
setAutofillOnPageLoadDefault: (newValue: boolean) => Promise;
- autoCopyTotp$: Observable;
- setAutoCopyTotp: (newValue: boolean) => Promise;
autofillOnPageLoadCalloutIsDismissed$: Observable;
setAutofillOnPageLoadCalloutIsDismissed: (newValue: boolean) => Promise;
activateAutofillOnPageLoadFromPolicy$: Observable;
- setActivateAutofillOnPageLoadFromPolicy: (newValue: boolean) => Promise;
+ setAutofillOnPageLoadPolicyToastHasDisplayed: (newValue: boolean) => Promise;
+ autofillOnPageLoadPolicyToastHasDisplayed$: Observable;
+ autoCopyTotp$: Observable;
+ setAutoCopyTotp: (newValue: boolean) => Promise;
inlineMenuVisibility$: Observable;
setInlineMenuVisibility: (newValue: InlineMenuVisibilitySetting) => Promise;
clearClipboardDelay$: Observable;
setClearClipboardDelay: (newValue: ClearClipboardDelaySetting) => Promise;
- handleActivateAutofillPolicy: (policies: Observable) => Observable;
}
export class AutofillSettingsService implements AutofillSettingsServiceAbstraction {
@@ -93,15 +86,17 @@ export class AutofillSettingsService implements AutofillSettingsServiceAbstracti
private autofillOnPageLoadDefaultState: ActiveUserState;
readonly autofillOnPageLoadDefault$: Observable;
- private autoCopyTotpState: ActiveUserState;
- readonly autoCopyTotp$: Observable;
-
private autofillOnPageLoadCalloutIsDismissedState: ActiveUserState;
readonly autofillOnPageLoadCalloutIsDismissed$: Observable;
- private activateAutofillOnPageLoadFromPolicyState: ActiveUserState;
readonly activateAutofillOnPageLoadFromPolicy$: Observable;
+ private autofillOnPageLoadPolicyToastHasDisplayedState: ActiveUserState;
+ readonly autofillOnPageLoadPolicyToastHasDisplayed$: Observable;
+
+ private autoCopyTotpState: ActiveUserState;
+ readonly autoCopyTotp$: Observable;
+
private inlineMenuVisibilityState: GlobalState;
readonly inlineMenuVisibility$: Observable;
@@ -110,7 +105,7 @@ export class AutofillSettingsService implements AutofillSettingsServiceAbstracti
constructor(
private stateProvider: StateProvider,
- policyService: PolicyService,
+ private policyService: PolicyService,
) {
this.autofillOnPageLoadState = this.stateProvider.getActive(AUTOFILL_ON_PAGE_LOAD);
this.autofillOnPageLoad$ = this.autofillOnPageLoadState.state$.pipe(map((x) => x ?? false));
@@ -122,20 +117,25 @@ export class AutofillSettingsService implements AutofillSettingsServiceAbstracti
map((x) => x ?? true),
);
- this.autoCopyTotpState = this.stateProvider.getActive(AUTO_COPY_TOTP);
- this.autoCopyTotp$ = this.autoCopyTotpState.state$.pipe(map((x) => x ?? false));
-
this.autofillOnPageLoadCalloutIsDismissedState = this.stateProvider.getActive(
AUTOFILL_ON_PAGE_LOAD_CALLOUT_DISMISSED,
);
this.autofillOnPageLoadCalloutIsDismissed$ =
this.autofillOnPageLoadCalloutIsDismissedState.state$.pipe(map((x) => x ?? false));
- this.activateAutofillOnPageLoadFromPolicyState = this.stateProvider.getActive(
- ACTIVATE_AUTOFILL_ON_PAGE_LOAD_FROM_POLICY,
+ this.activateAutofillOnPageLoadFromPolicy$ = this.policyService.policyAppliesToActiveUser$(
+ PolicyType.ActivateAutofill,
);
- this.activateAutofillOnPageLoadFromPolicy$ =
- this.activateAutofillOnPageLoadFromPolicyState.state$.pipe(map((x) => x ?? false));
+
+ this.autofillOnPageLoadPolicyToastHasDisplayedState = this.stateProvider.getActive(
+ AUTOFILL_ON_PAGE_LOAD_POLICY_TOAST_HAS_DISPLAYED,
+ );
+ this.autofillOnPageLoadPolicyToastHasDisplayed$ = this.autofillOnPageLoadState.state$.pipe(
+ map((x) => x ?? false),
+ );
+
+ this.autoCopyTotpState = this.stateProvider.getActive(AUTO_COPY_TOTP);
+ this.autoCopyTotp$ = this.autoCopyTotpState.state$.pipe(map((x) => x ?? false));
this.inlineMenuVisibilityState = this.stateProvider.getGlobal(INLINE_MENU_VISIBILITY);
this.inlineMenuVisibility$ = this.inlineMenuVisibilityState.state$.pipe(
@@ -146,8 +146,6 @@ export class AutofillSettingsService implements AutofillSettingsServiceAbstracti
this.clearClipboardDelay$ = this.clearClipboardDelayState.state$.pipe(
map((x) => x ?? ClearClipboardDelay.Never),
);
-
- policyService.policies$.pipe(this.handleActivateAutofillPolicy.bind(this)).subscribe();
}
async setAutofillOnPageLoad(newValue: boolean): Promise {
@@ -158,16 +156,16 @@ export class AutofillSettingsService implements AutofillSettingsServiceAbstracti
await this.autofillOnPageLoadDefaultState.update(() => newValue);
}
- async setAutoCopyTotp(newValue: boolean): Promise {
- await this.autoCopyTotpState.update(() => newValue);
- }
-
async setAutofillOnPageLoadCalloutIsDismissed(newValue: boolean): Promise {
await this.autofillOnPageLoadCalloutIsDismissedState.update(() => newValue);
}
- async setActivateAutofillOnPageLoadFromPolicy(newValue: boolean): Promise {
- await this.activateAutofillOnPageLoadFromPolicyState.update(() => newValue);
+ async setAutofillOnPageLoadPolicyToastHasDisplayed(newValue: boolean): Promise {
+ await this.autofillOnPageLoadPolicyToastHasDisplayedState.update(() => newValue);
+ }
+
+ async setAutoCopyTotp(newValue: boolean): Promise {
+ await this.autoCopyTotpState.update(() => newValue);
}
async setInlineMenuVisibility(newValue: InlineMenuVisibilitySetting): Promise {
@@ -177,24 +175,4 @@ export class AutofillSettingsService implements AutofillSettingsServiceAbstracti
async setClearClipboardDelay(newValue: ClearClipboardDelaySetting): Promise {
await this.clearClipboardDelayState.update(() => newValue);
}
-
- /**
- * If the ActivateAutofill policy is enabled, save a flag indicating if we need to
- * enable Autofill on page load.
- */
- handleActivateAutofillPolicy(policies$: Observable): Observable {
- return policies$.pipe(
- map((policies) => policies.find((p) => p.type == PolicyType.ActivateAutofill && p.enabled)),
- filter((p) => p != null),
- switchMap(async (_) => [
- await firstValueFrom(this.activateAutofillOnPageLoadFromPolicy$),
- await firstValueFrom(this.autofillOnPageLoad$),
- ]),
- tap(([activated, autofillEnabled]) => {
- if (activated === undefined) {
- void this.setActivateAutofillOnPageLoadFromPolicy(!autofillEnabled);
- }
- }),
- );
- }
}
diff --git a/libs/common/src/autofill/types/index.ts b/libs/common/src/autofill/types/index.ts
new file mode 100644
index 0000000000..be5d98f4e0
--- /dev/null
+++ b/libs/common/src/autofill/types/index.ts
@@ -0,0 +1,7 @@
+import { ClearClipboardDelay, AutofillOverlayVisibility } from "../constants";
+
+export type ClearClipboardDelaySetting =
+ (typeof ClearClipboardDelay)[keyof typeof ClearClipboardDelay];
+
+export type InlineMenuVisibilitySetting =
+ (typeof AutofillOverlayVisibility)[keyof typeof AutofillOverlayVisibility];
diff --git a/libs/common/src/state-migrations/migrations/18-move-autofill-settings-to-state-providers.ts b/libs/common/src/state-migrations/migrations/18-move-autofill-settings-to-state-providers.ts
index bbd09ae83d..b70e89f9c0 100644
--- a/libs/common/src/state-migrations/migrations/18-move-autofill-settings-to-state-providers.ts
+++ b/libs/common/src/state-migrations/migrations/18-move-autofill-settings-to-state-providers.ts
@@ -1,7 +1,15 @@
-import { InlineMenuVisibilitySetting } from "../../../../../apps/browser/src/autofill/utils/autofill-overlay.enum";
import { StateDefinitionLike, MigrationHelper } from "../migration-helper";
import { Migrator } from "../migrator";
+const AutofillOverlayVisibility = {
+ Off: 0,
+ OnButtonClick: 1,
+ OnFieldFocus: 2,
+} as const;
+
+type InlineMenuVisibilitySetting =
+ (typeof AutofillOverlayVisibility)[keyof typeof AutofillOverlayVisibility];
+
type ExpectedAccountState = {
settings?: {
autoFillOnPageLoadDefault?: boolean;
diff --git a/libs/common/src/state-migrations/migrations/25-move-clear-clipboard-to-autofill-settings-state-provider.ts b/libs/common/src/state-migrations/migrations/25-move-clear-clipboard-to-autofill-settings-state-provider.ts
index fde7ea9037..31c7bc25c7 100644
--- a/libs/common/src/state-migrations/migrations/25-move-clear-clipboard-to-autofill-settings-state-provider.ts
+++ b/libs/common/src/state-migrations/migrations/25-move-clear-clipboard-to-autofill-settings-state-provider.ts
@@ -1,7 +1,18 @@
-import { ClearClipboardDelaySetting } from "../../../../../apps/browser/src/autofill/constants";
import { StateDefinitionLike, MigrationHelper } from "../migration-helper";
import { Migrator } from "../migrator";
+const ClearClipboardDelay = {
+ Never: null as null,
+ TenSeconds: 10,
+ TwentySeconds: 20,
+ ThirtySeconds: 30,
+ OneMinute: 60,
+ TwoMinutes: 120,
+ FiveMinutes: 300,
+} as const;
+
+type ClearClipboardDelaySetting = (typeof ClearClipboardDelay)[keyof typeof ClearClipboardDelay];
+
type ExpectedAccountState = {
settings?: {
clearClipboard?: ClearClipboardDelaySetting;
From 1259890f1713953b0bfe7ceaaac8c18a345abbf4 Mon Sep 17 00:00:00 2001
From: Joseph Flinn <58369717+joseph-flinn@users.noreply.github.com>
Date: Wed, 6 Mar 2024 20:07:54 -0800
Subject: [PATCH 04/10] Update Deploy Web Inputs (#8236)
* Switch from bool to string comparison
* Switching to a simpler boolean logic for file deletion
---
.github/workflows/deploy-web.yml | 29 +++++++----------------------
1 file changed, 7 insertions(+), 22 deletions(-)
diff --git a/.github/workflows/deploy-web.yml b/.github/workflows/deploy-web.yml
index 626c431f7b..2d784652a5 100644
--- a/.github/workflows/deploy-web.yml
+++ b/.github/workflows/deploy-web.yml
@@ -19,14 +19,14 @@ on:
description: "Branch or Tag name to deploy (examples: 'main', 'feature/sm', 'web-v2023.12.0')"
type: string
default: main
- invert-default-sync-delete-destination-files-value:
- description: "Invert the default sync-delete-destination-files value"
+ force-delete-destination:
+ description: "Delete remote files that are not found locally"
type: boolean
default: false
debug:
description: "Debug mode"
type: boolean
- default: false
+ default: true
workflow_call:
inputs:
@@ -38,8 +38,8 @@ on:
description: "Branch or Tag name to deploy (examples: 'main', 'feature/sm', 'web-v2023.12.0')"
type: string
default: main
- invert-default-sync-delete-destination-files-value:
- description: "Invert the default sync-delete-destination-files value"
+ force-delete-destination:
+ description: "Delete remote files that are not found locally"
type: boolean
default: false
debug:
@@ -71,14 +71,6 @@ jobs:
echo "configuring the Web deploy for ${{ inputs.environment }}"
echo "environment=${{ inputs.environment }}" >> $GITHUB_OUTPUT
- # Invert the default value for sync-delete-destination-files
- if [ ${{ inputs.invert-default-sync-delete-destination-files-value }} ]; then
- echo "sync-delete-destination-files=true" >> $GITHUB_OUTPUT
- else
- # This is the default value for USQA, EUQA, USPROD, and EUPROD
- echo "sync-delete-destination-files=false" >> $GITHUB_OUTPUT
- fi
-
case ${{ inputs.environment }} in
"USQA")
echo "azure-login-creds=AZURE_KV_US_QA_SERVICE_PRINCIPAL" >> $GITHUB_OUTPUT
@@ -114,13 +106,6 @@ jobs:
echo "environment-artifact=web-*-cloud-usdev.zip" >> $GITHUB_OUTPUT
echo "environment-name=Web Vault - US Development Cloud" >> $GITHUB_OUTPUT
echo "environment-url=http://vault.$ENV_NAME_LOWER.bitwarden.pw" >> $GITHUB_OUTPUT
-
- if [ ${{ inputs.invert-default-sync-delete-destination-files-value }} ]; then
- echo "sync-delete-destination-files=false" >> $GITHUB_OUTPUT
- else
- # This is the default value for USDEV
- echo "sync-delete-destination-files=true" >> $GITHUB_OUTPUT
- fi
;;
esac
# Set the sync utility to use for deployment to the environment (az-sync or azcopy)
@@ -285,7 +270,7 @@ jobs:
--source "./build" \
--container '$web' \
--connection-string "${{ steps.retrieve-secrets-az-sync.outputs.sa-bitwarden-web-vault-dev-key-temp }}" \
- --delete-destination=${{ needs.setup.outputs.sync-delete-destination-files }}
+ --delete-destination=${{ inputs.force-delete-destination }}
- name: Sync to Azure Storage Account using azcopy
if: ${{ needs.setup.outputs.sync-utility == 'azcopy' }}
@@ -297,7 +282,7 @@ jobs:
AZCOPY_TENANT_ID: ${{ steps.retrieve-secrets-azcopy.outputs.sp-bitwarden-web-vault-tenant }}
run: |
azcopy sync ./build 'https://${{ steps.retrieve-secrets-azcopy.outputs.sa-bitwarden-web-vault-name }}.blob.core.windows.net/$web/' \
- --delete-destination=${{ needs.setup.outputs.sync-delete-destination-files }} --compare-hash="MD5"
+ --delete-destination=${{ inputs.force-delete-destination }} --compare-hash="MD5"
- name: Debug sync logs
if: ${{ inputs.debug }}
From a01b473b57c8c082763d4c37b9a0e30c9df2b45e Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Thu, 7 Mar 2024 11:18:00 +0100
Subject: [PATCH 05/10] [deps] Platform: Update Rust crate windows to v0.54.0
(#8195)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
---
apps/desktop/desktop_native/Cargo.lock | 70 +++++++++++++++-----------
apps/desktop/desktop_native/Cargo.toml | 2 +-
2 files changed, 41 insertions(+), 31 deletions(-)
diff --git a/apps/desktop/desktop_native/Cargo.lock b/apps/desktop/desktop_native/Cargo.lock
index c69f03c23c..8905ddabf8 100644
--- a/apps/desktop/desktop_native/Cargo.lock
+++ b/apps/desktop/desktop_native/Cargo.lock
@@ -1607,21 +1607,31 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
[[package]]
name = "windows"
-version = "0.52.0"
+version = "0.54.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e48a53791691ab099e5e2ad123536d0fff50652600abaf43bbf952894110d0be"
+checksum = "9252e5725dbed82865af151df558e754e4a3c2c30818359eb17465f1346a1b49"
dependencies = [
"windows-core",
- "windows-targets 0.52.0",
+ "windows-targets 0.52.4",
]
[[package]]
name = "windows-core"
-version = "0.52.0"
+version = "0.54.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9"
+checksum = "12661b9c89351d684a50a8a643ce5f608e20243b9fb84687800163429f161d65"
dependencies = [
- "windows-targets 0.52.0",
+ "windows-result",
+ "windows-targets 0.52.4",
+]
+
+[[package]]
+name = "windows-result"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cd19df78e5168dfb0aedc343d1d1b8d422ab2db6756d2dc3fef75035402a3f64"
+dependencies = [
+ "windows-targets 0.52.4",
]
[[package]]
@@ -1639,7 +1649,7 @@ version = "0.52.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
dependencies = [
- "windows-targets 0.52.0",
+ "windows-targets 0.52.4",
]
[[package]]
@@ -1659,17 +1669,17 @@ dependencies = [
[[package]]
name = "windows-targets"
-version = "0.52.0"
+version = "0.52.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8a18201040b24831fbb9e4eb208f8892e1f50a37feb53cc7ff887feb8f50e7cd"
+checksum = "7dd37b7e5ab9018759f893a1952c9420d060016fc19a472b4bb20d1bdd694d1b"
dependencies = [
- "windows_aarch64_gnullvm 0.52.0",
- "windows_aarch64_msvc 0.52.0",
- "windows_i686_gnu 0.52.0",
- "windows_i686_msvc 0.52.0",
- "windows_x86_64_gnu 0.52.0",
- "windows_x86_64_gnullvm 0.52.0",
- "windows_x86_64_msvc 0.52.0",
+ "windows_aarch64_gnullvm 0.52.4",
+ "windows_aarch64_msvc 0.52.4",
+ "windows_i686_gnu 0.52.4",
+ "windows_i686_msvc 0.52.4",
+ "windows_x86_64_gnu 0.52.4",
+ "windows_x86_64_gnullvm 0.52.4",
+ "windows_x86_64_msvc 0.52.4",
]
[[package]]
@@ -1680,9 +1690,9 @@ checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
[[package]]
name = "windows_aarch64_gnullvm"
-version = "0.52.0"
+version = "0.52.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cb7764e35d4db8a7921e09562a0304bf2f93e0a51bfccee0bd0bb0b666b015ea"
+checksum = "bcf46cf4c365c6f2d1cc93ce535f2c8b244591df96ceee75d8e83deb70a9cac9"
[[package]]
name = "windows_aarch64_msvc"
@@ -1692,9 +1702,9 @@ checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
[[package]]
name = "windows_aarch64_msvc"
-version = "0.52.0"
+version = "0.52.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bbaa0368d4f1d2aaefc55b6fcfee13f41544ddf36801e793edbbfd7d7df075ef"
+checksum = "da9f259dd3bcf6990b55bffd094c4f7235817ba4ceebde8e6d11cd0c5633b675"
[[package]]
name = "windows_i686_gnu"
@@ -1704,9 +1714,9 @@ checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
[[package]]
name = "windows_i686_gnu"
-version = "0.52.0"
+version = "0.52.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a28637cb1fa3560a16915793afb20081aba2c92ee8af57b4d5f28e4b3e7df313"
+checksum = "b474d8268f99e0995f25b9f095bc7434632601028cf86590aea5c8a5cb7801d3"
[[package]]
name = "windows_i686_msvc"
@@ -1716,9 +1726,9 @@ checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
[[package]]
name = "windows_i686_msvc"
-version = "0.52.0"
+version = "0.52.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ffe5e8e31046ce6230cc7215707b816e339ff4d4d67c65dffa206fd0f7aa7b9a"
+checksum = "1515e9a29e5bed743cb4415a9ecf5dfca648ce85ee42e15873c3cd8610ff8e02"
[[package]]
name = "windows_x86_64_gnu"
@@ -1728,9 +1738,9 @@ checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
[[package]]
name = "windows_x86_64_gnu"
-version = "0.52.0"
+version = "0.52.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3d6fa32db2bc4a2f5abeacf2b69f7992cd09dca97498da74a151a3132c26befd"
+checksum = "5eee091590e89cc02ad514ffe3ead9eb6b660aedca2183455434b93546371a03"
[[package]]
name = "windows_x86_64_gnullvm"
@@ -1740,9 +1750,9 @@ checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
[[package]]
name = "windows_x86_64_gnullvm"
-version = "0.52.0"
+version = "0.52.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1a657e1e9d3f514745a572a6846d3c7aa7dbe1658c056ed9c3344c4109a6949e"
+checksum = "77ca79f2451b49fa9e2af39f0747fe999fcda4f5e241b2898624dca97a1f2177"
[[package]]
name = "windows_x86_64_msvc"
@@ -1752,9 +1762,9 @@ checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
[[package]]
name = "windows_x86_64_msvc"
-version = "0.52.0"
+version = "0.52.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04"
+checksum = "32b752e52a2da0ddfbdbcc6fceadfeede4c939ed16d13e648833a61dfb611ed8"
[[package]]
name = "winnow"
diff --git a/apps/desktop/desktop_native/Cargo.toml b/apps/desktop/desktop_native/Cargo.toml
index a0b5eb5560..5bb0b0831b 100644
--- a/apps/desktop/desktop_native/Cargo.toml
+++ b/apps/desktop/desktop_native/Cargo.toml
@@ -33,7 +33,7 @@ napi-build = "=2.0.1"
[target.'cfg(windows)'.dependencies]
widestring = "=1.0.2"
-windows = { version = "=0.52.0", features = [
+windows = { version = "=0.54.0", features = [
"Foundation",
"Security_Credentials_UI",
"Security_Cryptography",
From fe850c9fe55c3b320b01af0010761e1c7c1e84ee Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Thu, 7 Mar 2024 11:28:03 +0100
Subject: [PATCH 06/10] [deps] Platform: Update @types/chrome to v0.0.262
(#8181)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
---
package-lock.json | 8 ++++----
package.json | 2 +-
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/package-lock.json b/package-lock.json
index b2e201684d..bfcf61973b 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -94,7 +94,7 @@
"@storybook/jest": "0.2.3",
"@storybook/testing-library": "0.2.2",
"@types/argon2-browser": "1.18.1",
- "@types/chrome": "0.0.243",
+ "@types/chrome": "0.0.262",
"@types/duo_web_sdk": "2.7.1",
"@types/firefox-webext-browser": "111.0.1",
"@types/inquirer": "8.2.10",
@@ -10867,9 +10867,9 @@
}
},
"node_modules/@types/chrome": {
- "version": "0.0.243",
- "resolved": "https://registry.npmjs.org/@types/chrome/-/chrome-0.0.243.tgz",
- "integrity": "sha512-4PHv0kxxxpZFHWPBiJJ9TWH8kbx0567j1b2djnhpJjpiSGNI7UKkz7dSEECBtQ0B3N5nQTMwSB/5IopkWGAbEA==",
+ "version": "0.0.262",
+ "resolved": "https://registry.npmjs.org/@types/chrome/-/chrome-0.0.262.tgz",
+ "integrity": "sha512-TOoj3dqSYE13PD2fRuMQ6X6pggEvL9rRk/yOYOyWE6sfqRWxsJm4VoVm+wr9pkr4Sht/M5t7FFL4vXato8d1gA==",
"dev": true,
"dependencies": {
"@types/filesystem": "*",
diff --git a/package.json b/package.json
index ea1f7d318f..854aff73bb 100644
--- a/package.json
+++ b/package.json
@@ -55,7 +55,7 @@
"@storybook/jest": "0.2.3",
"@storybook/testing-library": "0.2.2",
"@types/argon2-browser": "1.18.1",
- "@types/chrome": "0.0.243",
+ "@types/chrome": "0.0.262",
"@types/duo_web_sdk": "2.7.1",
"@types/firefox-webext-browser": "111.0.1",
"@types/inquirer": "8.2.10",
From f3a2127f9ad3b20ea7e4954527c5a0aa447ad155 Mon Sep 17 00:00:00 2001
From: Bitwarden DevOps
<106330231+bitwarden-devops-bot@users.noreply.github.com>
Date: Thu, 7 Mar 2024 15:13:20 +0100
Subject: [PATCH 07/10] Bumped desktop version to 2024.2.2 (#8241)
---
apps/desktop/package.json | 2 +-
apps/desktop/src/package-lock.json | 4 ++--
apps/desktop/src/package.json | 2 +-
package-lock.json | 2 +-
4 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/apps/desktop/package.json b/apps/desktop/package.json
index abc4263faf..ad26e17699 100644
--- a/apps/desktop/package.json
+++ b/apps/desktop/package.json
@@ -1,7 +1,7 @@
{
"name": "@bitwarden/desktop",
"description": "A secure and free password manager for all of your devices.",
- "version": "2024.2.1",
+ "version": "2024.2.2",
"keywords": [
"bitwarden",
"password",
diff --git a/apps/desktop/src/package-lock.json b/apps/desktop/src/package-lock.json
index 24c14467a5..663ed211cd 100644
--- a/apps/desktop/src/package-lock.json
+++ b/apps/desktop/src/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "@bitwarden/desktop",
- "version": "2024.2.1",
+ "version": "2024.2.2",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "@bitwarden/desktop",
- "version": "2024.2.1",
+ "version": "2024.2.2",
"license": "GPL-3.0",
"dependencies": {
"@bitwarden/desktop-native": "file:../desktop_native"
diff --git a/apps/desktop/src/package.json b/apps/desktop/src/package.json
index 082e79935e..68d1fbe112 100644
--- a/apps/desktop/src/package.json
+++ b/apps/desktop/src/package.json
@@ -2,7 +2,7 @@
"name": "@bitwarden/desktop",
"productName": "Bitwarden",
"description": "A secure and free password manager for all of your devices.",
- "version": "2024.2.1",
+ "version": "2024.2.2",
"author": "Bitwarden Inc. (https://bitwarden.com)",
"homepage": "https://bitwarden.com",
"license": "GPL-3.0",
diff --git a/package-lock.json b/package-lock.json
index bfcf61973b..3bf0136e7f 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -234,7 +234,7 @@
},
"apps/desktop": {
"name": "@bitwarden/desktop",
- "version": "2024.2.1",
+ "version": "2024.2.2",
"hasInstallScript": true,
"license": "GPL-3.0"
},
From 67c1791032e38361619dd743e11845010d9ce122 Mon Sep 17 00:00:00 2001
From: Alex Morask <144709477+amorask-bitwarden@users.noreply.github.com>
Date: Thu, 7 Mar 2024 09:20:28 -0500
Subject: [PATCH 08/10] [AC-2102] [AC-2263] [AC-2264] Consolidated Secrets
Manager Trial Updates (#8202)
* AC-2102: Point 'Get Started' button to SM
* AC-2263/AC-2264: Update SM trial content based on org type
* Fix copy misses
---
.../secrets-manager-content.component.html | 21 ++++------
.../secrets-manager-content.component.ts | 41 +++++++++++++++++++
...-manager-trial-free-stepper.component.html | 4 +-
...ts-manager-trial-free-stepper.component.ts | 8 +++-
...-manager-trial-paid-stepper.component.html | 4 +-
5 files changed, 60 insertions(+), 18 deletions(-)
diff --git a/apps/web/src/app/auth/trial-initiation/content/secrets-manager-content.component.html b/apps/web/src/app/auth/trial-initiation/content/secrets-manager-content.component.html
index 5624618511..569ff91f62 100644
--- a/apps/web/src/app/auth/trial-initiation/content/secrets-manager-content.component.html
+++ b/apps/web/src/app/auth/trial-initiation/content/secrets-manager-content.component.html
@@ -1,33 +1,30 @@
{{ header }}
- Secure your business with a simpler, faster way to secure and manage secrets
+ {{ headline }}
- - Unlimited secrets, users, and projects
- - Simple and transparent pricing
- - End-to-end encryption
+ -
+ {{ primaryPoint }}
+
-
Limited time offer
+
{{ calloutHeadline }}
- -
- Sign up today and receive a complimentary 12-month subscription to Bitwarden Password
- Manager
+
-
+ {{ callout }}
- - Experience complete security across your organization
- - Secure all your sensitive credentials, from passwords to machine secrets
diff --git a/apps/web/src/app/auth/trial-initiation/content/secrets-manager-content.component.ts b/apps/web/src/app/auth/trial-initiation/content/secrets-manager-content.component.ts
index d190623ae2..20e6c2f849 100644
--- a/apps/web/src/app/auth/trial-initiation/content/secrets-manager-content.component.ts
+++ b/apps/web/src/app/auth/trial-initiation/content/secrets-manager-content.component.ts
@@ -8,6 +8,38 @@ import { Subject, takeUntil } from "rxjs";
})
export class SecretsManagerContentComponent implements OnInit, OnDestroy {
header: string;
+ headline =
+ "A simpler, faster way to secure and automate secrets across code and infrastructure deployments";
+ primaryPoints: string[];
+ calloutHeadline: string;
+ callouts: string[];
+
+ private paidPrimaryPoints = [
+ "Unlimited secrets, users, and projects",
+ "Simple and transparent pricing",
+ "Zero-knowledge, end-to-end encryption",
+ ];
+
+ private paidCalloutHeadline = "Limited time offer";
+
+ private paidCallouts = [
+ "Sign up today and receive a complimentary 12-month subscription to Bitwarden Password Manager",
+ "Experience complete security across your organization",
+ "Secure all your sensitive credentials, from user applications to machine secrets",
+ ];
+
+ private freePrimaryPoints = [
+ "Unlimited secrets",
+ "Simple and transparent pricing",
+ "Zero-knowledge, end-to-end encryption",
+ ];
+
+ private freeCalloutHeadline = "Go beyond developer security!";
+
+ private freeCallouts = [
+ "Your Bitwarden account will also grant complimentary access to Bitwarden Password Manager",
+ "Extend end-to-end encryption to your personal passwords, addresses, credit cards and notes",
+ ];
private destroy$ = new Subject();
@@ -23,13 +55,22 @@ export class SecretsManagerContentComponent implements OnInit, OnDestroy {
switch (queryParameters.org) {
case "enterprise":
this.header = "Secrets Manager for Enterprise";
+ this.primaryPoints = this.paidPrimaryPoints;
+ this.calloutHeadline = this.paidCalloutHeadline;
+ this.callouts = this.paidCallouts;
break;
case "free":
this.header = "Bitwarden Secrets Manager";
+ this.primaryPoints = this.freePrimaryPoints;
+ this.calloutHeadline = this.freeCalloutHeadline;
+ this.callouts = this.freeCallouts;
break;
case "teams":
case "teamsStarter":
this.header = "Secrets Manager for Teams";
+ this.primaryPoints = this.paidPrimaryPoints;
+ this.calloutHeadline = this.paidCalloutHeadline;
+ this.callouts = this.paidCallouts;
break;
}
});
diff --git a/apps/web/src/app/auth/trial-initiation/secrets-manager/secrets-manager-trial-free-stepper.component.html b/apps/web/src/app/auth/trial-initiation/secrets-manager/secrets-manager-trial-free-stepper.component.html
index ed2ed90bab..0b6e44d4eb 100644
--- a/apps/web/src/app/auth/trial-initiation/secrets-manager/secrets-manager-trial-free-stepper.component.html
+++ b/apps/web/src/app/auth/trial-initiation/secrets-manager/secrets-manager-trial-free-stepper.component.html
@@ -41,14 +41,14 @@
-