1
0
mirror of https://github.com/bitwarden/browser synced 2025-12-06 00:13:28 +00:00
Commit Graph

909 Commits

Author SHA1 Message Date
Matt Andreko
0b65442d5e 🔧 update cargo-deny version in ci (#17174) 2025-11-03 17:54:26 -05:00
Addison Beck
c1dec4032e ci: add SDK breaking change detection workflow (#17075)
* ci: add SDK breaking change detection workflow

Introduces GitHub Actions workflow that detects TypeScript breaking changes when SDK artifacts are updated. Workflow is triggered via repository_dispatch from SDK repository and runs npm test:types with newly built SDK artifacts.

The workflow downloads SDK build artifacts, installs them locally, and executes the existing TypeScript type checking process. Exit codes determine success/failure for SDK repository monitoring via gh run watch.

Addresses issue where breaking changes in SDK are discovered only when clients attempt SDK version updates, rather than during SDK development.

* review: add input validation for client payload fields

Add validation step early in the workflow to check for required
client_payload fields and prevent failures from malformed payloads.
This improvement was requested during code review to provide better
error handling and debugging information when the SDK workflow sends
incomplete data.

Validates SOURCE_REPO, SDK_VERSION, ARTIFACTS_RUN_ID, and ARTIFACT_NAME
before proceeding with artifact download and type checking.

* review: update action versions to match repository standards

Update GitHub Actions to consistent versions used across the clients
repository for better security and compatibility. This change was
requested during code review to align with existing patterns.

- actions/checkout: v4.2.2 → v5.0.0 with specific SHA hash
- actions/setup-node: v4.2.0 → v5.0.0 with specific SHA hash
- actions/create-github-app-token: v2.1.1 → v2.0.3 with specific SHA hash

Uses specific SHA hashes for all actions following repository security standards.

* review: add timeout to type checking command for faster failure detection

Wrap npm run test:types with 10-minute timeout to provide faster feedback
when type checking hangs and more predictable workflow behavior. This
improvement was requested during code review to prevent workflows from
running until the 15-minute job timeout.

Provides clearer indication when type checking itself fails versus other
workflow issues, improving debugging experience for developers.

* review: use CLIENT_LABEL environment variable in logging and output

Add CLIENT_LABEL to log messages and GitHub Step Summary output for
better traceability and debugging. This change
 was requested during
code review to make use of the defined CLIENT_LABEL environment
variable that was previously unused.

Improves workflow output clarity by showing which client type
(typescript, mobile, etc.) is being processed.

* review: add retry logic for npm ci command to handle network issues

Implement shell-based retry logic (3 attempts with 5-second delays) for
npm ci command to handle temporary network issues without adding external
dependencies. This improvement was requested during code review to make
the workflow more resilient to transient failures.

Continues with existing npm install approach while adding robustness
for dependency installation in GitHub Actions environment.

* review: improve shell script variable quoting for better practices

Update shell script to use proper variable quoting syntax throughout
(${VARIABLE} instead of $VARIABLE) for better shell scripting practices
and consistency. This change was requested during code review to follow
shell scripting best practices.

While this won't cause problems in practice, it prevents potential
word splitting issues and improves code maintainability.

* review: add back logging out of Azure

* review: adjust logic of retries for npm ci

* review: quote some strings

* review: add error catching around npm i

* review: remove unnecessary cleanup step

* review: use npm link and bitwarden/gh-actions/download-artifacts

* review: add underscores to job level env vars

* 🎨 fix artipacked zizmor issue and improved actionlint formatting

---------

Co-authored-by: Matt Andreko <mandreko@bitwarden.com>
2025-11-03 09:30:11 -05:00
Oscar Hinton
4c1eba2086 [PM-27583] Add icon to chromium import helper (#17126)
Adds an icon to the windows binary.

---------

Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
2025-10-31 10:10:22 +01:00
Maciej Zieniuk
ff30df3dd6 [PM-19300] Session timeout policy (#16583)
* Session timeout policy

* default "custom" is 8 hours, validation fixes

* ownership update

* default max allowed timeout is not selected

* adjusting defaults, fixing backwards compatibility, skip type confirmation dialog when switching between the never and on system lock

* unit test coverage

* wording update, custom hours, minutes jumping on errors

* wording update

* wrong session timeout action dropdown label

* show dialog as valid when opened first time, use @for loop, use controls instead of get

* dialog static opener

* easier to understand type value listener

* unit tests

* explicit maximum allowed timeout required error

* eslint revert
2025-10-28 20:28:34 +01:00
Mick Letofsky
69d5c533ef Implement Claude respond reusable workflow (#17079) 2025-10-28 20:19:41 +01:00
renovate[bot]
185c912c62 [deps]: Update peter-evans/repository-dispatch action to v4 (#16848)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-28 14:46:17 -04:00
Oscar Hinton
42377a1533 [PM-27341] Chrome importer refactors (#16720)
Various refactors to the chrome importer
2025-10-27 17:24:50 +01:00
Mick Letofsky
d5f2c9d5ec Implement reusable Claude code review workflow (#16979) 2025-10-27 16:25:40 +01:00
Andreas Coroiu
64590cb3c8 [PM-25911] Add commercial sdk internal as dependency (#16883)
* feat: add commercial sdk as optional dependency

* feat: add alias to CLI

* feat: add alias to browser

* feat: add alias to web

* fix: revert optional - we cant omit optional dependencies or the builds break

* feat: remove commercial package from browser build

* feat: remove commercial package from cli build

* feat: remove commercial package from web build

* chore: add commercial sdk to renovate

* fix: windows cli workflow

* fix: accidental change

* feat: add lint for version string

* undo weird merge changes
2025-10-27 15:17:20 +01:00
Mick Letofsky
bc0e0f0781 Update Claude owners (#17015) 2025-10-24 16:25:15 +02:00
neuronull
c94f93d0c6 Desktop Native enable cargo deny CI check (#16935)
* Desktop Native enable cargo deny CI check

* make cargo-deny available

* order

* separate step
2025-10-24 07:35:55 -06:00
renovate[bot]
a592f2b866 [deps]: Update actions/checkout action to v5 (#16424)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-23 15:18:43 -04:00
Bernd Schoolmann
7f86f2d0ac [PM-26340] Implement encrypted memory store (#16659)
* Extract windows biometrics v2 changes

Co-authored-by: Bernd Schoolmann <mail@quexten.com>

* Address some code review feedback

* cargo fmt

* rely on zeroizing allocator

* Handle TDE edge cases

* Update windows default

* Make windows rust code async and fix restoring focus freezes

* fix formatting

* cleanup native logging

* Add unit test coverage

* Add missing logic to edge case for PIN disable.

* Address code review feedback

* fix test

* code review changes

* fix clippy warning

* Swap to unimplemented on each method

* Implement encrypted memory store

* Make dpapi secure key container pub(super)

* Add comments on sync and send

* Clean up comments

* Clean up

* Fix build

* Add logging and update codeowners

* Run cargo fmt

* Clean up doc

* fix unit tests

* Update apps/desktop/desktop_native/core/src/secure_memory/secure_key/mod.rs

Co-authored-by: Thomas Avery <43214426+Thomas-Avery@users.noreply.github.com>

* Handle tampering with re-key and log

* Add docs

* Fix windows build

* Prevent rust flycheck log from being commited to git

* Undo feature flag change

* Add env var override and docs

* Add deps to km owership

---------

Co-authored-by: Thomas Avery <tavery@bitwarden.com>
Co-authored-by: Thomas Avery <43214426+Thomas-Avery@users.noreply.github.com>
2025-10-23 14:04:25 +02:00
Vince Grassia
228b42f207 Escape dollar sign in URL (#16975) 2025-10-21 20:48:19 +00:00
Matt Andreko
1c9f1dbd62 Fix extra period at end of variable causing dev deployment issue (#16970) 2025-10-21 15:48:06 -04:00
renovate[bot]
1c4eed55a8 [deps]: Update actions/stale action to v10 (#16427)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Derek Nance <dnance@bitwarden.com>
2025-10-21 14:29:42 -05:00
Matt Andreko
8beb1c6ab0 Clean up workflow files from Zizmor output (#16690) 2025-10-21 13:13:45 -04:00
Bernd Schoolmann
93ab65cab9 Fix codeowners for biometrics v2 (#16962) 2025-10-21 18:12:27 +02:00
Vince Grassia
d65824e624 BRE-1220 - Update Publish CLI workflow (#16912) 2025-10-17 09:35:57 -06:00
renovate[bot]
af529fbf39 [deps]: Update actions/setup-node action to v5 (#16426)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-14 10:42:42 -04:00
Vince Grassia
a063099c61 BRE-1178 - Add Desktop Beta app for the Microsoft Store (#16691) 2025-10-13 15:37:31 -04:00
Mick Letofsky
d17fa04b7a PM-26727 - First iteration of Claude Code Review tuning (#16803)
* First iteration of Claude Code Review tuning
2025-10-09 14:25:22 +00:00
renovate[bot]
8f29d0325a [deps]: Update samuelmeuli/action-snapcraft action to v3 (#14930)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Amy Galles <9685081+AmyLGalles@users.noreply.github.com>
2025-10-08 13:49:42 -07:00
Mark Youssef
a4a53e27d4 [CL-616][CL-670] first pass at responsive updates to vault (#14588) 2025-10-08 10:04:39 -07:00
Addison Beck
ddc840027a build(cli): integrate nx (#16648)
* build(cli): integrate nx

* refactor(project.json): rename "bit" builds to "commercial"

* refactor(webpack.base): implement DEFAULT_PARAMS

* refactor(webpack.base): move DEFAULT_PARAMS out of buildConfig
2025-10-07 09:48:02 -04:00
neuronull
aa3be491d7 Re-enable CI to run rust unit tests in desktop_native on Windows platform (#16711)
* Re-enable CI to run rust unit tests in desktop_native on Windows platform

* selectively exclude napi crate

* use proper package name
2025-10-06 14:38:17 -06:00
Mick Letofsky
525a6003bc Create Claude code review action (#16745) 2025-10-06 14:32:06 +02:00
renovate[bot]
a9d7e13db9 [deps]: Update actions/github-script action to v8 (#16425)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel García <dani-garcia@users.noreply.github.com>
2025-10-03 17:57:17 +02:00
Mick Letofsky
e14c8c6a9c [PM-26337] Create a Claude markdown file (#16676)
* Initial claude markdown with lots of help from the team.
2025-10-03 16:48:01 +02:00
Vicki League
147b511d64 [PM-25578] Add icon font to UIF area of ownership (#16679) 2025-10-01 14:35:59 +00:00
Jonathan Prusik
f92eddf7b9 only run BIT trigger workflow when Build Browser workflow completes successfully (#16572) 2025-09-29 16:32:18 -04:00
Addison Beck
f988d3fd70 build(nx): continue on error for the experimental nx ci (#16646) 2025-09-29 14:01:35 -04:00
Tyler
83e8977d4b BRE-1040 Docker Compose rule (#16600) 2025-09-29 13:51:19 -04:00
neuronull
3d24bfcf0f Fix false positive CI check for index.d.ts generation (#16579)
* Fix false positive CI check for index.d.ts generation

* use event

* lint: use env var

* use sha not ref

* only run in one platform

* simplify

* one platform
2025-09-24 13:00:54 -06:00
neuronull
6001980dc5 Add check to Build Desktop workflow for napi/index.d.ts generation (#16458) 2025-09-23 14:05:47 -06:00
Jonathan Prusik
d1c983a2de Remove double-owned dependency from team-autofill-dev (#16529) 2025-09-23 15:45:12 -04:00
Addison Beck
18594ade72 ci: add experimental Nx affected workflow (#16389)
* ci: add experimental Nx affected workflow

Adds .github/workflows/nx.yml to run \`nx affected\` on pull requests,
testing only changed libraries for build, lint, and test targets.

This prevents regressions of the library configuration issues discovered
in the systematic Nx library audit and ensures proper library builds in CI.

Features:
- Uses nrwl/nx-set-shas for accurate affected project detection
- Tests build, lint, and test targets
- Runs on PR open/synchronize events
- Helps catch package.json path bugs before merge

* review: get node version from .nvmrc
2025-09-23 09:33:52 +02:00
Alex
8531109081 [PM-25417] DIRT API Service Refactor (ADR-0005) (#16353)
* encode username for uri and add spec

* verify response from getHibpBreach method

* test/validate for BreachAccountResponse type and length instead of mock response

* - extract dirt api method out of global api service
- create new directory structure
- change imports accordingly
- extract breach account response
- put extracted code into new dirt dir

* codeowners and dep injection for new hibp service
2025-09-22 09:06:58 -05:00
Colton Hurst
049f84bd0e Update autofill desktop dev team ownership (#16500) 2025-09-19 13:47:01 -04:00
MtnBurrit0
5253b3a94d Add selfhosted-DEV artifact with Git hash metadata (#16475) 2025-09-19 10:05:06 -06:00
Leslie Tilton
7090547cb8 [PM-19814] Phishing Detection Warning Popup UI (#16064)
* Add PhishingDetectionService

* Add a tab listener.

* Get the known phishing domain from the server

* Get the known phishing domain from the server

* Add phishing detection content script.

* Revert "Add phishing detection content script."

This reverts commit ce64d3435a.

* Fix conflicts

* Add build configs.

* Decouple the phishing detection content script logic from the rest of the app.

* move the call to background

* Add communication between the content script and background service.

* Update code to use Log service.

* Resolve conflict

* Add changes for phishing domain report

* Fix initializer order issue.

* Fix domain error.

* Account for no responses.

* Add exit functionality for onclick.

* Wrapped phishing detection feature behind feature flag (#13915)

* push changes for alert

* Removed browser logic for checking feature flag

* move the alert as dialog

* Add functionality to navigate back in history.

* [PM-19814] Add redirect to warning page when a phishing domain is detected.

* [PM-19814] Add the phishing warning page to the Angular popup.

* [PM-19814] Add functionality to display phishing host.

* [PM-19814] Add exit button and learn more link.

* [PM-19814] Add phishing detection feature flag.

* [PM-19814] Move phishing service to phishing directory

* [PM-19814] Add UI to display phishing URL.

* [PM-19814] Disable the URL input and populate it with the phishing URL.

* [PM-19814] Add phishing icon

* [PM-19814] Temporarily remove phishing reporting feature. It can be released separately in another ticket.

* [PM-19814] Clean up

* [PM-19814] Add types to the handlers.

* [PM-19814] Remove logic for handling authentication since the endpoint will be unauthenticated.

* [PM-19814] Fixed as many type issues as possible; added @ts-strict-ignore to the remaining ones.

* [PM-19814] Fix race condition in feature flag check.

* [PM-19814] Update wording for the marketing request.

* [PM-19814] Move phishing detection check from content script to webRequest.onCompleted listener.

* [PM-19814] Use webNavigation.onCompleted for redirect to ensure that the redirect only happens when they land on the page.

* [PM-19814] Remove unused code.

* [PM-19814] Fix merge conflict and update text based on product owner’s request

* [PM-19814] Fix merge conflict

* [PM-19814] Update text

* Resolve the message catalog entries

* Update file for consistent import and exports

* Update imports

* Update another import for BrowserPopupUtils

* Update the rest of the imports for BrowserPopupUtils

* Updates messages

* Rename files

* Current phishing block changes

* Use globalthis for chrome

* Add types file

* Update browser api to include tab navigation and close tab functions

* Update phishing detection to track multiple tabs and not trust info from content script

* Change chrome to browser.

* Fixed phishing detection checking previous url instead of current on navigation. Updated def flag for testing urls.

* Move phishing icon

* Fix chrome specific issues. Add comments to where BrowserApi should be used

* Fix command errors. Typecheck messages. Added guard for phishing detection messages

* Use concat map instead of merge map

* Unformat webfonts.scss file

* Fix lint and import errors

* Move phishing blocker files to dirt folder

* Rename background folder to services

* Add code ownership for phishing blocker

* Update text to use locales on phishing blocker learn more page

* Change navigation from using webapi to browser on updated event for safari support

* Update icon usage

* Fix type issues and add test file

* Fix linting error in test

---------

Co-authored-by: Jimmy Vo <huynhmaivo82@gmail.com>
Co-authored-by: Cy Okeke <cokeke@bitwarden.com>
Co-authored-by: Conner Turnbull <133619638+cturnbull-bitwarden@users.noreply.github.com>
Co-authored-by: Conner Turnbull <cturnbull@bitwarden.com>
Co-authored-by: cyprain-okeke <108260115+cyprain-okeke@users.noreply.github.com>
Co-authored-by: Tom <144813356+ttalty@users.noreply.github.com>
2025-09-19 10:56:27 -05:00
Tyler
f94e798920 BRE-1040 Dockerfile shared ownership (#16189)
* BRE-1040 Dockerfile shared ownership

* fix: include entrypoint scripts
2025-09-16 13:09:23 -04:00
aj-bw
806111c94f [bre-1104] update cli npm publish to use oidc (#16214)
* prep workflow for npm OIDC publishing

* add node setup step

* update environment name

* clarify job title

* npm versioning testing, will revert

* syntax

* syntax

* temporarily remove dynamic node version

* Revert build-cli.yml to main branch version

* remove husky install step

* pin npm version in setup node step

* add comment

* more clear comment to show future action needed

* formatting
2025-09-15 13:57:23 -04:00
renovate[bot]
f90f7c2b22 [deps]: Update chromaui/action action to v13 (#15505)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Vicki League <vleague@bitwarden.com>
2025-09-12 15:55:30 -04:00
Addison Beck
7ac75a6c52 refactor(libs): consolidate messaging-internal into messaging library (#16386)
This change eliminates the circular dependency between messaging and messaging-internal libraries by merging them into a single messaging library.

Previously, messaging-internal imported from @bitwarden/messaging while messaging tried to import from @bitwarden/messaging-internal, creating an unresolvable circular dependency. This also violated Nx best practices by using cross-library file includes in tsconfig.lib.json.

Changes made:
- Moved all messaging-internal code (SubjectMessageSender, helpers, tests) into libs/messaging/src/
- Updated all imports to use relative paths instead of @bitwarden/messaging imports
- Removed the entire messaging-internal library and its configuration files
- Updated external references in apps/browser to import from @bitwarden/messaging
- Fixed libs/messaging/tsconfig.lib.json to use standard src/**/*.ts pattern
- Updated libs/common internal.ts to re-export from messaging instead of messaging-internal

The messaging library now exports both public APIs and internal implementations, which is a cleaner architecture than maintaining two separate libraries with circular dependencies.

Fixes rootDir configuration issues identified in the Nx library systematic fix project.
2025-09-12 13:04:13 +02:00
Jonathan Prusik
af21ab96af clean up past/outdated DDG test warning comments (#16366) 2025-09-10 09:21:30 -04:00
Colton Hurst
ac18cd175e Follow up to #16341 (#16352) 2025-09-09 09:51:51 -04:00
Robyn MacCallum
ca17a581ad Revise CODEOWNERS for desktop autofill team (#16341)
* Revise CODEOWNERS for desktop autofill team

* Modify CODEOWNERS for test-browser-interactions.yml
2025-09-08 20:20:59 -04:00
Will Martin
49359c33e5 Update CODEOWNERS (#16339)
The UIF team will take ownership of the Chromatic Github action
2025-09-08 11:17:16 -04:00
cyprain-okeke
8c7faf49d5 Billing/pm 23385 premium modal in web after registration (#16182)
* create the pricing library

* Create pricing-card.component

* Refactor the code

* feat: Add pricing card component library

* Fix the test failing error

* Address billing pr comments

* feat: Add Storybook documentation and stories for pricing-card component

* Fix some ui feedback

* Changes from the display and sizes

* feat(billing): refactor pricing card with flexible title slots and active badge

* Enhance pricing card with flexible design and button icons

* refactor: organize pricing card files into dedicated folder

* Complete pricing card enhancements with Chromatic feedback fixes

* refactor base on pr coments

* Fix the button alignment

* Update all the card to have the same height

* Fix the slot issue on the title

* Fix the Lint format issue

* Add the header in the stories book
2025-09-04 14:44:04 +00:00