1
0
mirror of https://github.com/bitwarden/browser synced 2026-01-31 00:33:33 +00:00
Commit Graph

19380 Commits

Author SHA1 Message Date
Matt Gibson
5c19a7c9dd Create playwright scenes framework
This is a client-side implementation of the db recipes seeding framework for bitwarden server
2025-10-07 17:00:49 -07:00
Hinton
b51002a345 Add baseUrl, disable firefox, webkit. add ignoreHTTPSErrors 2025-10-07 15:55:10 -07:00
Matt Gibson
39277be593 Add web client as server 2025-10-07 15:07:54 -07:00
Matt Gibson
a79e202573 working playwright example 2025-10-07 13:52:31 -07:00
Matt Gibson
75fb9fc449 Fixup jest test pattern matching regex escapes 2025-10-07 12:44:45 -07:00
Matt Gibson
cb6217acc5 Use a shared jest config
Add play.spec.ts as playwright test plaths. Also establishes .type.spec.ts as a specially ignored path everywhere.

Finally, we no longer need the ast transformer since we don't use import.meta statements anymore. (this was also two years ago, it's possible this just works now).
2025-10-07 11:44:30 -07: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
Nik Gilmore
645478af52 [PM-18629] Hide reorder icon when displaying only one custom field (#16460) 2025-09-29 09:52:37 -07:00
Jeffrey Holland
f9056b2711 [PM-22458] Ensure TOTP check ignores email or username fields (#16535)
* [PM-22458] Ensure TOTP check ignores email or username fields

* Resolve underlying totp error for shein.com Germany

* Remove a guard check and add an optional chain
2025-09-29 17:09:41 +02:00
Alex
3da89ee4e3 [PM-25616] Refactor app-table-row-scrollable component to use openApplication (#16523) 2025-09-29 10:28:55 -04:00
Colton Hurst
fc53eae4c5 [PM-22758] Configurable Keyboard Shortcut for Autotype (#16613)
* [PM-22785] Initial push with configuration and ipc changes for the configurable autotype keyboard shortcut

* [PM-22785] Add messy code with working configurable hotkey

* [PM-22785] Add more messy rust code

* [PM-22785] Add temp changes with configurable hotkey ui

* Add shortcut display to settings

* [PM-22785] Logic updates. Ran npm run prettier and lint:fix.

* [PM-22785] Add back disableAutotype with refactors.

* [PM-22785] Clean up Rust code

* [PM-22785] Clean up Rust code v2

* [PM-22785] Add unicode bounds in Rust code

* [PM-22785] Update rust code comments

* [PM-22785] Add unicode_value byte length check post-encoding

* [PM-22785] Extract encoding to a separate function

* Various fixes for the autotype setting label

* Misc component fixes

* Disallow nunmbers and allow Win key

* Themify edit shortcut

* Change display of Super to Win

* Create autotype format method

* Autotpe modal cleanup

* [PM-22785] Some cleanup

* Add unit tests and adjust error handling

* [PM-22785] Fix build issues on Mac and Linux

* [PM-22785] Linting fix

* Remove unused message

* [PM-22785] Linting fix

* [PM-22785] More linting fix

* [PM-22785] Address initial PR comments

* [PM-22785] Comment change

* [PM-22785] If statement change

* [PM-22785] Update with fixes from PR comments

* [PM-22785] Update with fixes from PR comments version ?

* add unit tests for get_alphabetic_hot_key()

* Fix tests

* Add missing mock to tests

* [PM-22785] Update with small fixes via PR comments

---------

Co-authored-by: Robyn MacCallum <robyntmaccallum@gmail.com>
Co-authored-by: neuronull <9162534+neuronull@users.noreply.github.com>
2025-09-29 14:20:15 +00:00
Mark Youssef
018b4d5eb4 [CL-609] Close side nav when breakpoint changes (#15062)
* Close side nav when breakpoint changes

* Leverage side-nave listener instead

* Remove effect inside pipe

* Reuse isSmallScreen
2025-09-29 07:19:52 -07:00
Vijay Oommen
90fb57817a [PM-25931] Integrations - can save only if owner (#16570) 2025-09-29 08:27:21 -05:00
renovate[bot]
adbf80dd39 [deps] Platform: Update Rust crate security-framework to v3.5.0 (#16628)
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-09-29 11:31:31 +02:00
bw-ghapp[bot]
c1d749a0cf Autosync the updated translations (#16639)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2025-09-29 10:53:46 +02:00
bw-ghapp[bot]
b888274bd0 Autosync the updated translations (#16638)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2025-09-29 08:53:27 +00:00
bw-ghapp[bot]
99d7097378 Autosync the updated translations (#16637)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2025-09-29 08:53:04 +00:00
Alex
979e370235 [PM-26031] Drawer Service State Refactoring (#16580)
* refactor(risk-insights-data.service): unify drawer state management with BehaviorSubject

- Replace individual drawer properties with unified drawerDetailsSubject
- Add reactive Observable getters for drawer state checking
- Update all drawer methods to use centralized state management

* risk-insights.component: add special case drawer state sync in component

- Add private _isDrawerOpen property for internal state tracking
- Subscribe to drawerDetails$ changes with takeUntilDestroyed cleanup
- Implement getter/setter for isDrawerOpen to sync component <-> service
- Enable two-way binding while maintaining reactive patterns

* risk-insights.component.html: replace drawer template with unified observable patterns

- Replace dataService.openDrawer with isDrawerOpen special case getter
- Wrap drawer in @if block with drawerDetails$ | async for single subscription
- Update isActiveDrawerType() calls to reactive isActiveDrawerType$() | async
- Replace direct property access with unified drawerDetails object
- Use modern @if control flow syntax for better performance

* all-applications.component.html: replace drawer state with reactive observable patterns

- Replace dataService.drawerInvokerId with drawerDetails$ | async in card highlighting
- Update app-table-row-scrollable input from isDrawerIsOpenForThisRecord function to openApplication string

* critical-applications.component.html: replace drawer state with reactive observable patterns

- Replace dataService.drawerInvokerId with drawerDetails$ | async in card highlighting
- Update table component binding from isDrawerIsOpenForThisRecord to openApplication
- Use reactive drawer state checking for consistent behavior with all-applications

* all-applications.component.ts: remove deprecated drawer state functions

- Remove unused trackByFunction that's no longer needed in template
- Remove getSelectedUrls function that's not used anywhere
- Remove isDrawerOpenForTableRow replaced by reactive openApplication binding
- Clean up unused ApplicationHealthReportDetail import
- Simplifies component interface following reactive pattern migration

* critical-applications.component.ts: remove deprecated drawer state functions

- Remove unused trackByFunction that's no longer needed in template
- Remove isDrawerOpenForTableRow replaced by reactive openApplication binding

* app-table-row-scrollable.component.html: replace drawer function calls with string comparison

- Replace isDrawerIsOpenForThisRecord(row.applicationName) with row.applicationName === openApplication
- Use direct string comparison instead of function calls for better performance
- Matches updated component input from function to string property
- Simplifies template logic following reactive pattern migration

* fix(risk-insights-data.service.ts): restore drawer toggle behavior in setter methods

- Add toggle logic to check if same drawer type and invoker are already open
- Close drawer when clicking same button twice (preserves original UX)
- Switch drawer content when clicking different button
- Maintains reactive patterns while restoring expected behavior

* revert to drawer state functions to maintain scope of task
- the logic replacing these functions will be in pr16523

* fix(risk-insights-data.service.ts): restore boolean isActiveDrawerType function per review feedback

- Keep original isActiveDrawerType() as boolean function using drawerDetailsSubject.value
- Maintain isActiveDrawerType$() as Observable version for reactive templates
- Apply same pattern to isDrawerOpenForInvoker() for consistency
- Addresses review feedback to preserve existing function signatures

* refactor(risk-insights-data.service.ts): use destructuring in drawer setter methods per review feedback

* refactor(all-applications.component.html): optimize single subscription for drawer state per review feedback

* refactor(critical-applications.component.html): optimize single subscription for drawer state per review feedback

* refactor(risk-insights.component.html): use boolean drawer type functions per review feedback

* fix(browser-system-notification.service.ts): restore eslint disable comment removed by prettier

---------

Co-authored-by: Tom <144813356+ttalty@users.noreply.github.com>
2025-09-26 15:25:16 -05:00
Alex
8ba22f3080 [PM-25609] use password health service (#16482)
* isValidCipher and findWeakPasswordDetails

* auditPasswordLeaks$

* missing deps fix

* refactor: remove unused dependencies from RiskInsightsReportService

- Remove PasswordStrengthServiceAbstraction and AuditService from constructor
- Update module dependency injection to only provide these services to PasswordHealthService
- Remove unused imports and mock services from test file
- Ensure proper separation of concerns where password health logic is centralized in PasswordHealthService
2025-09-26 14:59:38 -04:00
Colton Hurst
7baf250288 [PM-26192] Integrate the new Autotype Default Policy (#16604)
* Add current WIP autotype policy integration work

* [PM-26192] Add working code that fully integrates the autotype default policy

* [PM-26192] Add comments

* Update apps/desktop/src/autofill/services/desktop-autotype.service.ts

Co-authored-by: Jonathan Prusik <jprusik@users.noreply.github.com>

---------

Co-authored-by: Jonathan Prusik <jprusik@users.noreply.github.com>
2025-09-26 15:31:31 +00:00
renovate[bot]
e5c5bf63ca [deps] Platform: Update @types/chrome to v0.1.0 (#15697)
* [deps] Platform: Update @types/chrome to v0.1.0

* Fix typing

* Fix other build errors

* Fix strict compile

* Update pkg and fix remaining type errors

---------

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-09-26 17:02:39 +02:00
Leslie Tilton
466bf18d51 [PM-25614] Add Encrichment Logic for Risk Insights Data Service (#16577)
* Add encryption logic. Minor updates to critical apps service

* Fix possibly null type
2025-09-26 09:53:08 -05:00
bw-ghapp[bot]
f1a5d7af5e Autosync the updated translations (#16607)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2025-09-26 12:57:49 +02:00
bw-ghapp[bot]
82b75b72af Autosync the updated translations (#16606)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2025-09-26 12:07:56 +02:00
bw-ghapp[bot]
610bc5b7c2 Autosync the updated translations (#16608)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2025-09-26 12:05:10 +02:00
Jeffrey Holland
fd98dda0a5 Autofill form that has the focus (#16499) 2025-09-26 11:17:41 +02:00
Jeffrey Holland
4a9183adc5 Allow autofilling iframes like samsclub.com (#16560)
* Allow autofilling iframes like samsclub.com

* Add back original checks

* Remove unused mock
2025-09-26 10:21:28 +02:00
Alex
1c823ed9f6 Enhance accessibility by adding tabindex attributes to sortable table headers and options button in app-table-row-scrollable.component.html (#16597) 2025-09-25 20:03:08 -04:00
Daniel Riera
2f34c6b9c6 [PM-26053] Create Autotype Desktop Default Setting Policy for use within the desktop autotype service (#16537)
* add policy type enum

* desktop autotype service which emits an observable

* add desktop autotype default setting policy to the app constructor

* update service module to include DesktopAutotypeDefaultSettingPolicy

* flag the service

* add tests

* address comments, switch to null remove false, update tests
2025-09-25 18:09:53 -04:00
Daniel Riera
b56c9e6c9a [PM-26078] Create admin UI for Autotype Desktop Default Setting Policy (#16573)
* PM-26078 add component and copy

* add enum

* register oss policy

* export policy definition

* update naming to match policy
2025-09-25 16:57:31 -04:00
Jordan Aasen
bed5ea17b7 check for undefined parent and node (#16584) 2025-09-25 13:45:33 -07:00
Vicki League
e3a5111a35 [CL-849] Update and consolidate logo svgs (#16390) 2025-09-25 14:52:55 -04:00
Nick Krantz
3b2a2e3129 refactor dialogRef to be optional as the service can be used from the context of a dialog and without it (#16581) 2025-09-25 12:45:02 -05:00
Jordan Aasen
24f07dc1e1 fix css on app-root (#16588) 2025-09-25 09:15:02 -07:00
Shane Melton
6c786ba247 [PM-25172] Do not null coalesce a login's autofillOnPageLoad setting to false. Undefined is a valid option that defaults to the extension autofill on page load setting (#16596) 2025-09-25 08:47:33 -07:00
Mick Letofsky
c96a66b53f [PM-21815] Implement component form the component library & Tailwind CSS (#16491) 2025-09-25 17:23:05 +02:00
adudek-bw
f66413e653 Upgrade rusqlite to 0.37.0 (#16530) 2025-09-25 16:54:57 +02:00
Oscar Hinton
87119f9758 Remove allow(clippy::question_mark) (#16565)
Remove the allow(clippy::question_mark) exception by reworking the code to use ?.
2025-09-25 13:31:22 +02:00
Addison Beck
e11a6452a3 build: add nx configuration in libs/billing (#16542) 2025-09-25 09:00:36 +01:00
Addison Beck
b8d4be6cd0 build: add nx configuration in libs/vault (#16551) 2025-09-24 21:51:51 -05: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
Addison Beck
7d6ff4394d build: add nx configuration in libs/key-management (#16548) 2025-09-24 12:24:17 -05:00
Addison Beck
daae86ef57 build: add nx configuration in libs/common (#16544) 2025-09-24 13:20:42 +02:00
Addison Beck
619694238b build: add nx configuration in libs/admin-console (#16538) 2025-09-24 11:20:18 +01:00
Shane Melton
dcbe4f9e09 [PM-26055] Vault item dialog header fix (#16553)
* [PM-26055] Fix dialog title mode mapping logic

* [PM-26055] Add unit tests
2025-09-23 16:40:52 -07:00
Addison Beck
9639b72055 build: add nx configuration in libs/platform (#16546) 2025-09-23 16:33:22 -05:00
Addison Beck
092c95d11f build: add nx configuration to tools nested libraries (#16564)
Add Nx project.json configurations and test scripts to all 8 nested libraries:
- @bitwarden/send-ui
- @bitwarden/generator-core
- @bitwarden/generator-components
- @bitwarden/vault-export-core
- @bitwarden/vault-export-ui
- @bitwarden/generator-history
- @bitwarden/generator-legacy
- @bitwarden/generator-navigation

All libraries now have working nx build, nx lint, and nx test commands.
2025-09-23 13:52:17 -07:00
Addison Beck
6837e3a674 build: add nx configuration in libs/importer (#16547) 2025-09-23 13:45:51 -07:00
Bernd Schoolmann
4b73198ce5 [PM-23230] Implement KDF Change Service (#15748)
* Add new mp service api

* Fix tests

* Add test coverage

* Add newline

* Fix type

* Rename to "unwrapUserKeyFromMasterPasswordUnlockData"

* Fix build

* Fix build on cli

* Fix linting

* Re-sort spec

* Add tests

* Fix test and build issues

* Fix build

* Clean up

* Remove introduced function

* Clean up comments

* Fix abstract class types

* Fix comments

* Cleanup

* Cleanup

* Update libs/common/src/key-management/master-password/types/master-password.types.ts

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

* Update libs/common/src/key-management/master-password/services/master-password.service.ts

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

* Update libs/common/src/key-management/master-password/abstractions/master-password.service.abstraction.ts

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

* Update libs/common/src/key-management/master-password/types/master-password.types.ts

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

* Update libs/common/src/key-management/master-password/abstractions/master-password.service.abstraction.ts

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

* Add comments

* Fix build

* Add arg null check

* Cleanup

* Fix build

* Fix build on browser

* Implement KDF change service

* Deprecate encryptUserKeyWithMasterKey

* Update libs/common/src/key-management/master-password/abstractions/master-password.service.abstraction.ts

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

* Update libs/common/src/key-management/master-password/abstractions/master-password.service.abstraction.ts

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

* Update libs/common/src/key-management/master-password/abstractions/master-password.service.abstraction.ts

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

* Add tests for null params

* Fix builds

* Cleanup and deprecate more functions

* Fix formatting

* Prettier

* Clean up

* Update libs/key-management/src/abstractions/key.service.ts

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

* Make emailToSalt private and expose abstract saltForUser

* Add tests

* Add docs

* Fix build

* Fix tests

* Fix tests

* Address feedback and fix primitive obsession

* Consolidate active account checks in change kdf confirmation component

* Update libs/common/src/key-management/kdf/services/change-kdf-service.spec.ts

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

* Add defensive parameter checks

* Add tests

* Add comment for follow-up epic

* Move change kdf service, remove abstraction and add api service

* Fix test

* Drop redundant null check

* Address feedback

* Add throw on empty password

* Fix tests

* Mark change kdf service as internal

* Add abstract classes

* Switch to abstraction

* use sdk EncString in MasterPasswordUnlockData

* fix remaining tests

---------

Co-authored-by: Thomas Avery <43214426+Thomas-Avery@users.noreply.github.com>
Co-authored-by: Jake Fink <jfink@bitwarden.com>
2025-09-23 16:10:54 -04:00