Commit Graph

45 Commits

Author SHA1 Message Date
Will Martin
69c937e592
[CL-954] Upgrade to Angular 21 (#19725)
* prune desktop packages

* Fix @napi-rs/cli version mismatch in desktop napi workspace

Aligns package.json declaration with the locked version (3.2.0) to
resolve npm workspace inconsistency that was blocking ng update.

* update Storybook to v10

* update Angular to v21

* override jest in ng builder

* Add jest-environment-jsdom as explicit dependency

Previously installed as a side effect of a jest@29 override; removing
that override caused it to disappear from node_modules.

* Add .claude/worktrees/ to .gitignore

* Restore @napi-rs/cli to 3.5.1 to match main

* Pin jest-environment-jsdom to 29.7.0 and add to renovate config

* Override jest-environment-jsdom to 29.7.0 in build-angular context

* Add isolatedModules to libs/subscription tsconfig.spec.json to fix Angular 21 module resolution

* Change moduleResolution to bundler for Angular 21 subpath export compatibility

* Add isolatedModules to Angular libs with old spec tsconfig pattern

* Disable emitDecoratorMetadata in spec tsconfigs with isolatedModules

* Fix HostListener event parameter types for Angular 21 compiler strictness

* Revert accidental change to access-selector spec

* Remove accidentally generated desktop package-lock.json

* Fix type-only imports/exports caught by Rolldown in Storybook v10/Vite v8

* fix vault-wrapper type error from Angular 21 stricter generic inference

ngComponentOutlet accepts Type<unknown>; annotate computed() explicitly
since VaultComponent is generic and VaultOrigComponent is not, preventing
TypeScript from inferring a compatible union constructor type.

* Fix kitchen-sink interaction tests for Storybook v10

Replace fire-and-forget navigateTo + synchronous getByRole with
navigateAndWaitFor<T>, which sets the hash and retries the ready
callback via waitFor. Storybook v10 starts play functions before
Angular's initial router navigation completes, so synchronous DOM
queries after navigation were failing intermittently.

* Provide ZoneJS change detection scheduler for Storybook stories

Angular 21 no longer sets up the ZoneJS change detection scheduler by
default in bootstrapApplication. Storybook's Angular renderer uses
bootstrapApplication internally and does not add provideZoneChangeDetection
automatically, so Default CD components relying on zone.js to trigger
re-renders after async operations were not updating before Chromatic
snapshots.

* Wait for dialog/side nav to render before Chromatic snapshot

After userEvent.click the dialog and side nav open asynchronously.
Without an explicit waitFor, Chromatic captures the snapshot before the
resulting UI state is present.

* Fix kitchen-sink waitFor: re-query side nav button, use querySelector for dialog

- openSideNav: re-query the toggle button inside waitFor to avoid reading
  a stale DOM reference after Angular re-renders the element post-click
- SimpleDialogOpen / VirtualScrollBlockingDialog: replace getByRole("dialog")
  with querySelector("cdk-dialog-container") to avoid testing-library's
  visibility check failing on a momentarily inaccessible overlay element

* Revert kitchen-sink stories to main

* Bump Angular, Storybook, and ng-select to latest patch versions

* Trigger pre-commit hooks on merge

* Regenerate package-lock.json with --force to fix npm ci sync
2026-05-18 10:55:47 -05:00
Conner Turnbull
c017802c92
Added devcontainer setup (devcontainer.json, docker-compose.yml, postCreateCommand.sh) (#18541)
* Added devcontainer setup (devcontainer.json, docker-compose.yml, postCreateCommand.sh)

* Restructure devcontainers with browser-gui, native-gui variants and shared config

* Rename postCreateCommand.sh to kebab-case

* Updated dev container name to appear under the `bitwarden_common` docker compose stack

* Exclude .devcontainer from Checkmarx KICS scans

* Add sca and containers filters for Checkmarx

* Remove sca and containers filters from Checkmarx config

* Revert "Remove sca and containers filters from Checkmarx config"

This reverts commit 4eb4c0c124.

* Mask node_modules and Rust target from host sync in devcontainer

* Fix ownership of anonymous volume mount points in devcontainer

* Build desktop native module in devcontainer post-create script

* Fix Checkmarx config filters to use glob pattern for .devcontainer

* Revert "Fix Checkmarx config filters to use glob pattern for .devcontainer"

This reverts commit ab1c70fcf6.

---------

Co-authored-by: Amy Galles <9685081+AmyLGalles@users.noreply.github.com>
2026-04-08 15:58:05 -04:00
Mick Letofsky
d5f2c9d5ec
Implement reusable Claude code review workflow (#16979) 2025-10-27 16:25:40 +01: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
Alex Morask
e5ffd7f09f
Ignore .serena (#16688) 2025-10-01 13:22:23 -05:00
Thomas Rittson
afe3cbd78f
[PM-25306] Policy documentation and reorganization (#16193)
* Add README for adding policy UI in Admin Console
* Update existing policy UIs to be standalone
* Reorganize files and use barrel files
* Use token to inject policies into PolicyListService
2025-09-11 17:04:48 +05:30
Addison Beck
26caeb3083
Implement and extend tsconfig.base across projects (#14554)
* Implement and extend tsconfig.base across projects

* fixup! Merge remote-tracking branch 'origin/main' into rename-tsconfig

* fix: import tsconfig.base from components

* fix: skip typechecking node modules

* fixing tests

* fix the tests for real

* undo accidentally change
2025-06-02 20:38:17 +00:00
Justin Baur
f74d7e5fd5
[PM-20239] Initializing nx (#14276)
* Add .nx file to .gitignore

Co-authored-by: Addison Beck <github@addisonbeck.com>

* Add nx package

Co-authored-by: Addison Beck <github@addisonbeck.com>

* Add nx.json file

Co-authored-by: Addison Beck <github@addisonbeck.com>

* Add nx to Platform ownership

---------

Co-authored-by: Addison Beck <github@addisonbeck.com>
2025-04-15 14:17:53 -04:00
Bernd Schoolmann
a75c2118ec
[PM-14850] Flatpak development & qa artifacts (#11925)
* Add flatpak development manifest

* Undo removal of libsecret

* Update .github/workflows/build-desktop.yml

Co-authored-by: Vince Grassia <593223+vgrassia@users.noreply.github.com>

---------

Co-authored-by: Vince Grassia <593223+vgrassia@users.noreply.github.com>
2024-11-13 17:41:47 +01:00
Matt Gibson
1d2757e42b
Noop notifications for dev (#6671)
* Noop notifications for dev

We rarely have notifications set up for development environments, this
removes the error messages related to missing server notification
services

* Log actions in noop service

* Add line breaks

* Improve log messages

* Ignore local config at all levels
2023-10-24 15:18:23 +02:00
Matt Bishop
4be2989fec
Upload and process test results as an artifact and report (#4435) 2023-01-11 09:01:02 -05:00
Thomas Rittson
7ca4ec00ee
Minor workspace tweaks (#3636)
* Add storybook-static to .gitignore

* Set auto-imports to be project relative
2022-09-29 08:01:49 +10:00
Oscar Hinton
e7c7037a14
Add eslint-plugin-rxjs & rxjs-angular (#3373) 2022-08-26 18:09:28 +02:00
Oscar Hinton
2011131bb2
[PS-182] Upgrade Angular to V14 (#2948) 2022-07-26 14:48:11 +02:00
Oscar Hinton
19caa7bfe0
Simplify our gitignore files (#2925) 2022-06-17 15:33:51 +02:00
Oscar Hinton
4106eead02
Migrate Chromatic (#2906) 2022-06-16 20:41:22 +02:00
Jake Fink
6806a1b244
add .DS_Store to gitignore (#2904) 2022-06-14 08:46:51 -04:00
Micaiah Martin
c609e8bb8f
Migrate Web workflows from old repo (#2776) 2022-06-03 08:35:46 -06:00
Oscar Hinton
579cee3364
Migrate cli to jest (#2759)
* Migrate cli to jest

* Remove jasmine from browser

* Remove coverage from browser since it's in the root gitignore
2022-05-31 16:29:10 +02:00
Oscar Hinton
c1cc5a0814
[EC-183] Move eslint and prettier to project root (#2536) 2022-05-03 21:45:37 +02:00
Oscar Hinton
7fe51f83da
[EC-183] Mono Repository - Browser (#2531) 2022-05-03 19:38:55 +02:00
Kyle Spearrin
102cca9aad ignore dist-safari 2020-09-28 10:40:51 -04:00
Chad Scharf
f098e215a2 added .vscode dir to .gitignore 2020-07-22 10:04:09 -04:00
Chad Scharf
23a95f5ec3 Add safari app debug files to .gitignore 2020-06-25 16:47:53 -04:00
Kyle Spearrin
046712ddcf gitignore for xcode swift 2019-08-22 10:21:31 -04:00
Kyle Spearrin
67ab9b1d3e move new app into popup folder 2018-04-10 21:54:20 -04:00
Kyle Spearrin
4d56d12ccb stub out angular with webpack 2018-04-03 22:14:54 -04:00
Kyle Spearrin
eb8c7423db include package-lock.json 2018-02-18 00:04:16 -05:00
Kyle Spearrin
51dffa79a1 ignore ds store on macos 2018-01-17 12:19:43 -05:00
Kyle Spearrin
cd2713ff2a safari build task 2018-01-11 17:33:13 -05:00
Oscar Hinton
2ca0f6702e Remove unused overlay directory (#455)
* Remove popup.

* Remove lib from gitignore and gulpfile.

* Remove more overlay references.

* Remove unused parts of the legacy gulp lint.
2018-01-02 14:31:41 -05:00
Oscar Hinton
4531846ff8 Add support for running unit tests (#381)
* Add test runner.

* Fix tests. Add tests for UtilsService.getDomain

* Test getHostname.

* Add two missing test cases and fix getDomain.
2017-11-17 16:33:58 -05:00
Kyle Spearrin
4d3a471049 rename: dist => build, releases => dist 2017-11-16 11:23:53 -05:00
Kyle Spearrin
8a895c8da4 ignore package-lock.json 2017-10-28 22:21:01 -04:00
Oscar Hinton
59754cd530 Setup Webpack & TypeScript (#316)
* TypeScript and WebPack.

* Minor cleanup.

* Add background.js as entry point to webpack.

* Use downloaded fonts for better performance.
Remove google-fonts-webpack-plugin.

* Add the remaining entry points and setup notification bar.

* Update readme for webpack.

* Convert CipherItems to TypeScript to demonstrate how a component looks in TS.

* Fix edge requirering a custom angular version.

* Rewrite gulp tasks for packaging releases.

* Re-add the webpack gulp plugin.

* Remove unessesary line in analytics.
2017-10-28 22:14:14 -04:00
Kyle Spearrin
0e2e17f2e7 Added google web fonts. 2016-10-25 21:13:59 -04:00
Artem Nikolaev
6d60eb621e i18n support
added support for i18n
2016-10-18 08:10:40 -04:00
Kyle Spearrin
24db219dc3 chrome store assets/screenshots/copy 2016-09-22 01:59:04 -04:00
Kyle Spearrin
72a4d07441 gitignore keys 2016-09-22 00:16:06 -04:00
Kyle Spearrin
dc28f6be2a appsettings version applied to about page. removed ols settings. setup dist gulp task 2016-09-22 00:12:49 -04:00
Kyle Spearrin
68f87b67b0 Moving away from ionic to pure angular for popup. Setup gulpfile and some tasks 2016-09-07 18:51:36 -04:00
Kyle Spearrin
8fa3caaa3e api service and get profile 2016-09-03 00:38:27 -04:00
Kyle Spearrin
54695c5673 action popup html and npm setup 2016-08-31 22:47:37 -04:00
Kyle Spearrin
870768ec6c added visual studio solution file. gitignored .vs folder 2016-08-30 23:53:58 -04:00
Kyle Spearrin
65efd95b66 manifest setup with icons 2016-08-30 23:47:38 -04:00