* Retrieve auth status when updating overlay ciphers.
We are experiencing a hang due to e8ed4f38f4/apps/browser/src/background/main.background.ts (L1218) and the fact that the auth status is not updated during account switch for this service. Ideally, the service would just use latest everywhere, but this is sufficient for this bug fix.
Account-switcher changes avoid multiple updates for the same event.
* Avoid loop
* Test fixes
Co-authored-by: Cesar Gonzalez <cesar.a.gonzalezcs@gmail.com>
---------
Co-authored-by: Cesar Gonzalez <cesar.a.gonzalezcs@gmail.com>
* Move/replace submit and userVerification logic from web into the BaseExportComponent
Add "@bitwarden/auth" as dependency to the vault-export-ui package
New submit logic also checks for password-encrypted exports which will be need for future UI updates on browser and desktop
* Remove import/passing of the unneeded UserVerificationService
* Remove app-user-verification from browser and desktop components as the new UI is opened as a self-contained dialog
---------
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
* convert premium card to banner component
- create VaultBanners component that will handle all banner logic
* move upgrade browser notice to banner component
* refactor verify email component to use the banner component
* add email banner to VaultBanners component
* move low KDF message to banner component
* remove unused KDF component
* allow multiple banners to be displayed at once
* use vault service to consolidate premium banner logic
- Implement prompt thresholds for premium banner
- Update dismiss logic to re-run visibility logic
* update variable name
* move all dismiss/show logic to vault banner service
* rename tense of methods for readability
* apply underline to send email button to match other banner actions
* fix dark mode styling across banners
* remove unused variable
* use bitLink directive for styling rather than tailwind
* move premium banner to a standalone observable
* update bootstrap styles to tailwind
* use new KDF service for vault banners
* move the VerifyEmailComponent to a standalone component
* convert premium banner to a singular observable
* remove unneeded import
* AC-2589 add unique id for each vault banner
* AC-2588 poll sync service to only show premium banner after a sync
* close subscription to syncCompleted$ after one emit
* remove unneeded ReplaySubject
* replace `PasswordGeneratorService` with `legacyPasswordGenerationServiceFactory`
* replace `UsernameGeneratorService` with `legacyUsernameGenerationServiceFactory`
* migrate generator options and history
* apply policy immediately once available
* suppress duplicate policy emissions
* run password generation response code in `ngZone`
* Remove UsernameGenerationService from popup/services.module
* Remove PasswordGenerationService from popup/services.module
---------
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
* [AC-2302] Move organization-auth-request.service to bit-common folder
* [AC-2302] Rename organization-auth-request.service to organization-auth-request-api.service
* [AC-2302] Move logic from component to organization-auth-request.service
* [AC-2302] Fix import path in OrganizationAuthRequestService
* [AC-2302] Move imports to OrganizationsModule and delete unused CoreOrganizationModule
* [AC-2302] Move the call to get userResetPasswordDetails into OrganizationAuthRequestService
* [AC-2302] Remove @Injectable() and manually configure dependencies
* [AC-2302] Add OrganizationAuthRequestService unit tests first draft
* [AC-2302] Refactor device-approvals.component.ts to remove unused imports
* [AC-2302] Set up jest on bit-common and add unit tests for OrganizationAuthRequestService
* [AC-2302] Add bit-common to jest.config.js
* [AC-2302] Update organizations.module.ts to include safeProviders declared in variable
* [AC-2302] Remove services and views folders from bit-common
* [AC-2302] Define path mapping
* Adjust an import path
The import path of `PendingAuthRequestView` in
`OrganizationAuthRequestApiService` was pointing to the wrong place. I
think this file was just recently moved, and the import didn't get
updated.
* Get paths working
* Fix import
* Update jest config to use ts-jest adn jsdom
* Copy-paste path mappings from bit-web
* Remove unnecessary test setup file
* Undo unnecessary change
* Fix remaining path mappings
* Remove Bitwarden License mapping from OSS code
* Fix bit-web so it uses its own tsconfig
* Fix import path
* Remove web-bit entrypoint from OSS tsconfig
* Make DeviceApprovalsComponent standalone
* Remove organization-auth-request-api.service export
* Remove OrganizationsRoutingModule from DeviceApprovalsComponent imports
* Remove CoreOrganizationModule from OrganizationsModule imports
* Remove NoItemsModule from OrganizationsModule imports
* Use ApiService from JslibServicesModule
* Update providers in device-approvals.component.ts
---------
Co-authored-by: Addison Beck <hello@addisonbeck.com>
Co-authored-by: Thomas Rittson <trittson@bitwarden.com>
Co-authored-by: Thomas Rittson <31796059+eliykat@users.noreply.github.com>
Process reload is the means by which we protect user keys in memory. once an account locks, it triggers a process reload (assuming no other accounts are unlocked), that frees renderer memory.
However, if the user is not unlocked, it is not protected by the process reload, so we may keep user keys in memory.