* PM-14445: TS strict for Key Management Biometrics
* formatting
* callbacks not null expectations
* state nullability expectations updates
* unit tests fix
* secure channel naming, explicit null check on messageId
* KM-14445: TS strict for Key Management, Keys and Lock component
* conflicts resolution, new strict check failures
* null simplifications
* migrate legacy encryption when no active user throw error instead of hiding it
* throw instead of return
* Exposes URI property from the cipher form.
* Updates credential generator to accept the URI using a `website` attribute
---------
Co-authored-by: ✨ Audrey ✨ <audrey@audreyality.com>
* Add way to convert TaskSchedulerService to RX Scheduler
* Add docs to `toScheduler`
* Rollback combined subscription change.
* Move to barrel file
* Expand `toScheduler` documentation
* Add TaskName to Doc Example
* Ensure register is called on service worker start
* add browser extension prompt page with initial loading state
* add browser extension icon
* move browser extension prompt to state
* add installation link for error state
* automatically open extension when possible for browser-reprompt-page
* refactor browser tabs query into a standalone method
* add success message state for auto-opening browsers
* Refactor `VaultOnboardingMessages` to `VaultMessages` to be more generic
* add auto-open extension messages to `VaultMessages` enum
* add bitwarden icon
* Add manual error state for firefox users
* add extension prompt routing
* fix incorrect imports
* add mobile screen for browser prompt
* remove comment
* fix typo in code comment
* update key for `checkBwInstalled` method
* add check for safari before attempting to send a message
* break translation for manual opening into two parts
Angular CKD LiveAnnouncer depends on some css logic to hide announcements from being displayed.
This imports the required CSS to ensure the text is hidden from regular view.
- Add recovery code enum and feature flag
- Update recovery code text and warning messages
- Log user in and redirect to two-factor settings page on valid recovery code
- Run full sync and handle login errors silently
- Move updated messaging behind feature flag
PM-15534
* Migrate export from generator-legacy to generator-core
* Remove unused platformUtilsService
* Wire up password generation within ngOnInit
---------
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
Angular 6 changed the default to not preserve whitespaces. We've continued to opt into this pattern for backwards compatibility but we're experiencing issues with the new control flow syntax and would therefore like to switch and not preserve whitespace any longer.
* [PM-14419] Introduce the change-login-password service and its default implementation
* [PM-14419] Use the change login password service on the at-risk passwords page
* [PM-14419] Add unit tests
* [PM-14419] Use existing fixed test environment
* [PM-14419] Add mock implementation for ChangeLoginPasswordService in at-risk passwords tests
* [PM-14419] Linter
Members of an org that lacked the canAccessImport permission were not able to import into an organization. With the introduction of flexible collections, Bitwarden would like to enable members of an organization to import into collections they manage
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
* Cipher service web changes
* Updated browser client to pass user id to cipher service observable changes
* Cli changes
* desktop changes
* Fixed test
* Libs changes
* Fixed merge conflicts
* Fixed merge conflicts
* removed duplicate reference fixed conflict
* Fixed test
* Fixed test
* Fixed test
* Fixed desturcturing issue on failed to decrypt ciphers cipher service
* Updated abstraction to use method syntax
* Fixed conflicts
* Fixed test on add edit v2
Passed active userId to delete function
* Used getUserId utility function
* made vault changes
* made suggestion changes
* made suggestion changes
* made suggestion changes
* Replace getUserId function calls with pipe operator syntax for better consistency
* fixed merge conflicts
* revert mistake made of usinf account activity during merge conflict fix
* fixed conflicts
* fixed tests
* Enable UI refresh on web by default
Removing all conditional code around the `ExtensionRefresh`-feature-flag on the web-UI
* Remove no longer needed extensRefresh helpers
---------
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
* Move all files from libs/importer/spec into libs/importer/src
* Ignore ts-strict on spec-data
---------
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
* refactor SSO policy check to check for SSO users that have `ssoBound` true on any of their organizations
* Revert "refactor SSO policy check to check for SSO users that have `ssoBound` true on any of their organizations"
This reverts commit 419c26fbbc.
* update new device verification guard to check for master password usage
* add sso check for new device verification guard
* fix(active-user-state-refactor): [PM-18052] Jit Bug with SSO Service - Fixed location of retrieving the active user id in one component.
* fix(active-user-state-refactor): [PM-18052] Jit Bug with SSO Service - Fixed up type safety.
* fix(active-user-state-refactor): [PM-18052] Jit Bug with SSO Service - Removed unnessesary subscriptions.
* fix(active-user-state-refactor): [PM-18052] Jit Bug with SSO Service - Fixed test.
* fix(active-user-state-refactor): [PM-18052] Jit Bug with SSO Service - Made code a little cleaner.
* Remove v1 generator from web
Remove conditional routing based on `generator-tools-modernization`
Remove generatorSwap helper
Remove generator and password-generator-history components including the base ones in libs/angular
* Remove the feature flag `generator-tools-modernization`
* Remove unused keys from en/messages.json
* Remove unused css
---------
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
* favor subscription over firstValueFrom in desktop cipher view
* add event handling for username generator
* Revert "add event handling for username generator"
This reverts commit 73cffbcc6b.
* close out subscription on cleanup
* Format help links on vault import
* Fix broken link ot gnome key-ring importer
---------
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
* remove provider client privay banner, implement account deprovisioning banner
* add copy, make state depend on org plan type and org id
* cleanup
* refactor, add test
* cleanup
* cleanup
* add state migration
* Fix lintter error
* Move encrypt service to km ownership
* Update imports for encrypt service abstraction and move bulk encrypt service abstraction
* Fix imports
* Fix further imports
* Fix imports
* Fix worker import
* move `add-edit-folder` component to `angular/vault/components` so it can be consumed by other platforms
* add edit/add folder copy to web app copy
* add extension refresh folder dialog to individual vault
* adding folder delete message to the web
* add deletion result for add/edit folder dialog
* allow editing folder from web
* fix strict types for changed files
* update tests
* remove border class so hover state shows
* revert changes to new-item-dropdown-v2
* migrate `AddEditFolderDialogComponent` to `libs/vault` package
* add Created enum type
* add static open method for folder dialog
* add fullName to `FolderFilter` type
* save the full name of a folder before splitting it into parts
* use the full name of the folder filter when available
* use a shallow copy to edit the folder's full name
---------
Co-authored-by: SmithThe4th <gsmith@bitwarden.com>
Only users with Manage/Edit permissions will be allowed to Assign To Collections. If the user has Can Edit Except Password the collections dropdown will be disabled.
---------
Co-authored-by: Matt Bishop <mbishop@bitwarden.com>
Co-authored-by: kejaeger <138028972+kejaeger@users.noreply.github.com>
* refactor(active-user-state-refactor): [PM-12040] Remove ActiveUserState from SSO Service - First pass of work to update the state. In the middle of testing.
* fix(active-user-state-refactor): [PM-12040] Remove ActiveUserState from SSO Service - Fix for jslib-services.module.ts
* fix(active-user-state-refactor): [PM-12040] Remove ActiveUserState from SSO Service - Fix main.background.ts
* test(active-user-state-refactor): [PM-12040] Remove ActiveUserState from SSO Service - Added simple tests
* fix(active-user-state-refactor): [PM-12040] Remove ActiveUserState from SSO Service - Tiny touchups.
* fix(active-user-state-refactor): [PM-12040] Remove ActiveUserState from SSO Service - Few fixes to resolve comments.
* fix(active-user-state-refactor): [PM-12040] Remove ActiveUserState from SSO Service - Changed place where userId is loaded.
* test(active-user-state-refactor): [PM-12040] Remove ActiveUserState from SSO Service - Fixed test.
Updates UI text and translations for the login with device feature to be more consistent and clear across desktop, browser and web clients. Changes include:
- Updated titles and content for login via auth request components
- Revised translations for device approval modal
- Updated notification titles and alert messages
- Simplified device management URL handling
- Added missing translations across platforms
Resolves PM-3953
* Remove deprecated and unused PasswordGenerationService
* Remove unused state-service
---------
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
* Move premium component into billing ownership
Update CODEOWNERS
Move files within libs/angular
Move files within desktop
Adjust import paths
* Remove configService
---------
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
* feat(newdeviceVerificaiton) : adding component and request model
* feat(newDeviceverification) : adding state structure to track verify devices for active user; added API call to server.
* feat(newDeviceVerification) : added visual elements for opting out of new device verification.
* Fixing tests for account service.
fixed DI for account service
* Fixing strict lint issues
* debt(deauthorizeSessionsModal) : changed modal to dialog. fixed strict typing for the new dialog for deviceVerification.
* fixing tests
* fixing desktop build DI
* changed dialog to standalone fixed names and comments.
* Adding tests for AccountService
* fix linting
* PM-15605 - AccountComp - fix ngOnDestroy erroring as it was incorrectly decorated with removed property.
* PM-15605 - SetAccountVerifyDevicesDialogComponent - only show warning about turning off new device verification if user doensn't have 2FA configured per task description
---------
Co-authored-by: Jared Snider <116684653+JaredSnider-Bitwarden@users.noreply.github.com>
Co-authored-by: Jared Snider <jsnider@bitwarden.com>
* WIP: PoC with lots of terrible code with web push
* fix service worker building
* Work on WebPush Tailored to Browser
* Clean Up Web And MV2
* Fix Merge Conflicts
* Prettier
* Use Unsupported for MV2
* Add Doc Comments
* Remove Permission Button
* Fix Type Test
* Write Time In More Readable Format
* Add SignalR Logger
* `sheduleReconnect` -> `scheduleReconnect`
Co-authored-by: Matt Gibson <mgibson@bitwarden.com>
* Capture Support Context In Connector
* Remove Unneeded CSP Change
* Fix Build
* Simplify `getOrCreateSubscription`
* Add More Docs to Matrix
* Update libs/common/src/platform/notifications/internal/worker-webpush-connection.service.ts
Co-authored-by: Matt Gibson <mgibson@bitwarden.com>
* Move API Service Into Notifications Folder
* Allow Connection When Account Is Locked
* Add Comments to NotificationsService
* Only Change Support Status If Public Key Changes
* Move Service Choice Out To Method
* Use Named Constant For Disabled Notification Url
* Add Test & Cleanup
* Flatten
* Move Tests into `beforeEach` & `afterEach`
* Add Tests
* Test `distinctUntilChanged`'s Operators More
* Make Helper And Cleanup Chain
* Add Back Cast
* Add extra safety to incoming config check
* Put data through response object
* Apply TS Strict Rules
* Finish PushTechnology comment
* Use `instanceof` check
* Do Safer Worker Based Registration for MV3
* Remove TODO
* Switch to SignalR on any WebPush Error
* Fix Manifest Permissions
* Add Back `webNavigation`
* Sorry, Remove `webNavigation`
* Fixed merge conflicts.
---------
Co-authored-by: Matt Gibson <mgibson@bitwarden.com>
Co-authored-by: Todd Martin <tmartin@bitwarden.com>
Co-authored-by: Todd Martin <106564991+trmartin4@users.noreply.github.com>
* Moved has-premium.guard under billing
* Moved free-trial.ts to billing
* Moved premium directives to billing
* Moved families-policy.service.ts to billing
* Moved trial initiation from auth to billing
* update extension refresh form when an attachment is added or removed
- This is needed because the revision date was updated on the server and the locally stored cipher needs to match.
* receive updated cipher from delete attachment endpoint
- deleting an attachment will now alter the revision timestamp on a cipher.
* patch the cipher when an attachment is added or deleted
* migrate vault component to use the `cipherViews$` observable
* reference `cipherViews$` on desktop for vault-items
- This avoid race conditions where ciphers are cleared out in the background. `cipherViews` should always emit the latest views
* return CipherData from cipher service so that consumers have the updated cipher right away
* use the updated cipher from attachment endpoints to refresh the details within the add/edit components on desktop
The legacy config is deprecated and will be removed in eslint 10. The flat config also allows us to write js functions which will assist in handling limitations with multiple identical rules.
* Remove deprecated and unused PasswordGenerationService
* Remove unused state-service
---------
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
Wait for an account to become available from separate observable, instead of blindly accepting that the value is there using `firstValueFrom`, while it's sometimes not there immediately.