* 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
- Remove all Azure Key Vault and BW-GHAPP token generation
- Remove GPG signing steps
- Use github.token instead of app token
- Use github-actions[bot] email instead of bitwarden-devops-bot
- Create PR with version bump instead of pushing directly to main
- Update permissions (remove id-token, add pull-requests)
* initial sandbox implementation for mac app store builds
* chromium importer working in sandbox
* add import-chrome-component.ts to working tree
* move sandbox code into macos.rs
* add/improve comments and logging
* added docs and removed debug output
* remove additional debug output and revert popup-modal-style to match main
* add dep to desktop_native cargo.toml
* cargo fmt
* avoid unwrap
* pass args directly in objc/build.rs
* cargo clippy
* fix another clippy warning
* remove unused dep
* fix more clippy lints not caught locally
* re-run cargo fmt after fixing clippy lints
* replace swift logic with objc
* rename files to avoid uppercase letters
* rename references
* use progress spinner for imports
* improved error display
* respond to review comments:
• replace usage of compile time flag with boolean for conditinal logic
• moved sandbox specific logic to contained module inside macos.rs
• remove redundant browser array from objc code and pass the target browser path as arg
* pass new bool value on other platforms
* remove sandbox feature flag and refactor to use bool
* fix cargo fmt
* fix clippy error
* fix unused variable outside of macos build
* fix lints on linux build
* eval Claude's comments and address legitimate findings
* clippy lints
* remove callout and revert to previous error display
* adapt chromium_importer to match conventions established by autofill:
• eliminate extern c and unsafe rust from chromium_importer logic (still called in prior napi/lib.rs)
• use CommandInput / CommandResult JSON pattern to call objc methods
• remove usage of libc to cleanup memory and remove this dependency
* clippy & fmt
* remove ability for user to select dir different to browser
* use new function name introduced in merge
* disable clippy warning on conditionally compiled code block
* fix breaking changes caused by PM-27081
* fix more lints
* rework error handling & presentation
* use bit-spinner instead of bwi-spin
* remove comment related to sandbox flag (outdated)
* address review comments
* revert breaking changes from review suggestions
* fix syntax error
* cargo fmt
* safe changes related to review feedback (checkpoint)
* address remaining review comments
* address review comments
* address review comments
* resolve conflict with main branch
* restore mas_build arg after napi split
* resolve conflicts and ai review
* use sandboxed dir for path resolution
* remove empty clean file
* refactor per ai review
* use i18n for NSOpenPanel dialog
Fixes startup failures caused by missing actions:write permission.
The trigger-web-vault-deploy job in build-web.yml requires this
permission to dispatch workflows using GITHUB_TOKEN (added in BRE-1670).