* Add structure to display server version on browser
* Add getConfig to State Service interface
* Clean up settings component code
* Switch to ServerConfig, use Observables in the ConfigService, and more
* Fix runtime error
* Sm 90 addison (#3275)
* Use await instead of then
* Rename stateServerConfig -> storedServerConfig
* Move config validation logic to the model
* Use implied check for undefined
* Rename getStateServicerServerConfig -> buildServerConfig
* Rename getApiServiceServerConfig -> pollServerConfig
* Build server config in async
* small fixes and add last seen text
* Move config server to /config folder
* Update with concatMap and other changes
* Config project updates
* Rename fileds to convention and remove unneeded migration
* Update libs/common/src/services/state.service.ts
Update based on Oscar's recommendation
Co-authored-by: Oscar Hinton <Hinton@users.noreply.github.com>
* Update options for Oscar's rec
* Rename abstractions to abstracitons
* Fix null issues and add options
* Combine classes into one file, per Oscar's rec
* Add null checking
* Fix dependency issue
* Add null checks, await, and fix date issue
* Remove unneeded null check
* In progress commit, unsuitable for for more than dev env, just backing up changes made with Oscar
* Fix temp code to force last seen state
* Add localization and escapes in the browser about section
* Call complete on destroy subject rather than unsubscribe
* use mediumDate and formatDate for the last seen date messaging
* Add ThirdPartyServerName in example
* Add deprecated note per Oscar's comment
* [SM-90] Change to using a modal for browser about (#3417)
* Fix inconsistent constructor null checking
* ServerConfig can be null, fixes this
* Switch to call super first, as required
* remove unneeded null checks
* Remove null checks from server-config.data.ts class
* Update via PR comments and add back needed null check in server conf obj
* Remove type annotation from serverConfig$
* Update self-hosted to be <small> per design decision
* Re-fetch config every hour
* Make third party server version <small> and change wording per Oscar's PR comment
* Add expiresSoon function and re-fetch if the serverConfig will expire soon (older than 18 hours)
* Fix misaligned small third party server message text
Co-authored-by: Addison Beck <addisonbeck1@gmail.com>
Co-authored-by: Oscar Hinton <Hinton@users.noreply.github.com>
* CL-7 Begin Implementing Avatar
* add figma design to parameters
* rework size property
* Update Figma file to correct component
* remove circle input (avatar will always be a circle)
* adjust sizing and limit inputs
* Setup color input and functionality
* Add border option
* fix bug duplicating classes
* Update size for large avatar
* Remove unnecessary class
* Fix typo
* Remove 'dynamic' input (Avatar will now regenerate on changes by default)
* Use Tailwind class instead of an arbitrary value
* Remove gravatars (deprecated, see SG-434)
* Rename methods to a more accurate name
* Rework classList() getter method
* Remove unnecessary logic and services
* Make properties private, and rename for better clarity
* Move sanitizer logic to the TS code rather than the template
* Rework and move function to a common static class in Utils
* Rename 'data' to 'text' for clarity
* Rework classList implementation
* Remove email since we removed gravatars
* Remove template
* set color based on color, id, or text input
* rework generate method
* add explicit null/undefined check
* remove comment
Co-authored-by: Vincent Salucci <26154748+vincentsalucci@users.noreply.github.com>
* Register Arabic language with native name
* Register Arabic language for web vault
* Register Arabic language for browser
* Register Arabic language for desktop
* Extract into new VaultTimeoutSettingsService
* Ensure new service is instantiated and registered for DI
* Create vaultTimeoutSettingsServiceFactory
* Fix VaultTimeoutServiceFactory
* Remove any and use void instead
* [EC-381] Deleted unused method clearCache from Settings Service
* [EC-381] Marked settings methods as obsolete on State service
* [EC-381] Using observables on settings service
* [EC-381] Added unit tests for Settings service
* [EC-381] Checking userId on clear
* [EC-381] Updated references to StateService activeAccountUnlocked$
* [EC-381] Updated getEquivalentDomains to return observable
* [EC-381] Updated settings service to user concatMap on activeAccountUnlocked$
* [EC-381] Renamed getEquivalentDomains to equivalentDomains
* [EC-381] Completing Behaviors on settings.service tests
* [EC-381] Removed unused settingsPrefix from settings service
* [EC-381] Removed equivalentDomains from settings service and added type AccountSettingsSettings
* [EC-381] Updated settings service settings$ to not be nullable
* [EC-381] Settings default to {}
* Move vaultTimeoutAbstraction into it's own folder
* Move vaultTimeout service into it's own folder
* Added vaultTimeoutServiceFactory and it's missing dependencies
* Rough draft of Export/Import changes w/ password encryption
* fix for encrypted export changes
* Create launch.json
* Updates to export logic modal user secret prompt
* Updates to error handling
* renaming the component for checking the user secret to a name that is more clear about what it accomplishes
* Fixing lint errors
* Adding a comment
* Suggested changes from CR
* Suggested changes from CR
* Making suggested changes
* removing unnecessary properties
* changes suggested
* Fix
* Updating error messages
* Removing unecessary launch.json file commit
* running lint, removing commented code
* removing launch.json
* Updates to remove the userVerificationPromptService
* updates
* Removing unused import, running npm prettier/lint
* Changes to use Form Fields
* Updates
* updates requested by Matt
* Update apps/web/src/app/tools/import-export/export.component.ts
Co-authored-by: Thomas Rittson <31796059+eliykat@users.noreply.github.com>
* Suggested Changes from PR
* Fix after merge from Master
* changes to styling
* Removing unused code and cleanup
* Update libs/angular/src/components/user-verification-prompt.component.ts
Co-authored-by: Thomas Rittson <31796059+eliykat@users.noreply.github.com>
* Update apps/web/src/locales/en/messages.json
Co-authored-by: Thomas Rittson <31796059+eliykat@users.noreply.github.com>
* Changes suggested by Thomas R
* Merging master into branch
* Revert "Merging master into branch"
This reverts commit eb2cdffe49.
* Requested changes and improvements
* merging master into feature branch
* Revert "merging master into feature branch"
This reverts commit e287715251.
* Suggested Changes
* changes
* requested changes
* Requested changes
* removing comments, fixing code
* reducing copied code
* fixing bug
* fixing bug
* changes
* WIP
* Thomas's requested changes
* adding back missing spaces
* change needed after the merge from master into feature branch
* prettier + lint
* Updating the EncryptedExportType Import
* Fixing build errors
Co-authored-by: Thomas Rittson <eliykat@users.noreply.github.com>
* Move FilePasswordPrompt to ImportExportModule
Also remove base class
Also remove duplicate service providers
* Run prettier
* Suggested Changes from Thomas
* only require filePassword and confirmFilePassword if it's type is FileEncrypted
* Update to only enable the field when submitting a file password encrypted file
* Requested changes, moving logic to web
* undoing change to bit button
* Refactor to process file-encrypted imports in main import.component
* Refactor confirm file password check
* Remove UserVerificationPromptService
* Address CodeScene feedback
* Updates to disable the required file password field when needed
* Subscribe to reactive form changes to adjust validators
* style changes requested by suhkleen
* Delete duplicate classes
Co-authored-by: CarleyDiaz-Bitwarden <103955722+CarleyDiaz-Bitwarden@users.noreply.github.com>
Co-authored-by: Thomas Rittson <31796059+eliykat@users.noreply.github.com>
Co-authored-by: Thomas Rittson <trittson@bitwarden.com>
Co-authored-by: Thomas Rittson <eliykat@users.noreply.github.com>
* Remove cast to any as Utils.gobal got typed with #3131
* BitwardenFileUploadService: Remove unneeded dependency
* Remove allowSoftLock from vaultTimeoutService
* ImportService: Remove dependency on PlatformUtilsSvc
* Register basque language with native name
* Register basque language for web vault
* Register basque language for browser
* Register basque language for desktop
* Create sessions sync structure
* Add observing to session-syncer
* Do not run syncer logic in decorator tests
* Extract test constants
* Change Observables to BehaviorSubject
* Move sendMessage to static method in BrowserApi
* Implement session sync
* only watch in manifest v3
* Use session sync on folder service
* Add array observable sync
* Bypass cache on update from message
* Create feature and dev flags for browser
* Protect development-only methods with decorator
* Improve todo comments for long-term residency
* Use class properties in init
* Do not reuse mocks
* Use json (de)serialization patterns
* Fix failing session storage in dev environment
* Split up complex EncString constructor
* Default false for decrypted session storage
* Try removing hydrate EncString method
* PR review
* PR test review
* Replace Permissions enum and helper methods with callbacks
* Remove scim feature flag
* Check if org has feature enabled as part of canManage checks
* Pin jest-mock-extended at v2.0.6 to fix compilation error
* Create base jest.config file
* Fix various tests that were broken
* Add maxWorkers to jest config
* Undo change to testEnvironment
* Enable tsconfig.spec.json
* Work on background service worker.
* Work on shortcuts
* Work on supporting service worker
* Put new background behind version check
* Fix build
* Use new storage service
* create commands from crypto service (#2995)
* Work on service worker autofill
* Got basic autofill working
* Final touches
* Work on tests
* Revert some changes
* Add modifications
* Remove unused ciphers for now
* Cleanup
* Address PR feedback
* Update lock file
* Update noop service
* Add chrome type
* Handle "/" in branch names
Updates web workflow to handle the `/` in branch names when it's a PR.
* Remove any
Co-authored-by: Jake Fink <jfink@bitwarden.com>
Co-authored-by: Micaiah Martin <77340197+mimartin12@users.noreply.github.com>
* Change subscription to rely on observables and not on BehaviourSubject
* Ensure OnDestroy is added to AppComponent
* Fix check for no active accounts to redirect to the login page instead of lock
* Change subscription handling on SearchBarService
* Fix naming convention: Observables should have a $ suffix
* Remove obsolete linter hint
* Fix activeAccountUnlocked getting exposed as Observable but is instantiated as BehaviourSubject
* Add managed_schema
* Add note on login page which server you are logging into.
* Implement it
* Remove caching logic since it seems unecessary
* Add error
* Handle error in hasManagedEnvironment
* Fix compile
* Added abstractions for PolicyApiService and PolicyService
* Added implementations for PolicyApiService and PolicyService
* Updated all references to new PolicyApiService and PolicyService
* Deleted old PolicyService abstraction and implementation
* Fixed CLI import path for policy.service
* Fixed main.background.ts policyApiService dependency for policyService
* Updated policy-api.service with the correct imports
* [EC-376] Sorted methods order in PolicyApiService
* [EC-376] Removed unused clearCache method from PolicyService
* [EC-376] Added upsert method to PolicyService
* [EC-376] PolicyApiService putPolicy method now upserts data to PolicyService
* Removed check for getBiometricLocked
It always returned false even when no biometrics were used.
* Remove the other check for getBiometricsLocked
* Ensure that biometricFingerprintValidation is reset, when biometrics are disabled
* Removed getBiometricsLocked and setBiometricsLocked
With nothing in the codebase reading the state of getBiometricsLocked, I've removed all places where it was set or saved.
* Refactor execution of reload into a separate method
* Conditonally pass the window object to `BrowserApi.reloadExtension`
* Clarify in comment, that the PIN has to be set with ask for Master Password on restart
* Ensure the process reload is executed on logout
* Use accounts instead of lastActive == null to determine a reload on logout
* Moved identical logic from desktop and browser into system.service
* Simplified check for refresh to handle no accounts found, logout, lock with lastActive longer than 5 seconds
* Move resolveLegacyKey to encryptService for utf8 decryption
* Deprecate account.keys.legacyEtmKey
Includes migration to tidy up leftover data
* Use new IEncrypted interface
* [EC-317] feat: add delete account section in settings
* [EC-317] feat: add new delete account modal
* [EC-317] feat: add ability to replace top-most modal
* [EC-317] chore: remove unecessary lint ignore
* [EC-317] fix: so delete account is closed if export vault is opened
* [EC-317] feat: inital delete account design without i18n
* [EC-317] feat: disabled but basic working delete functionality
* [EC-317] feat: implement according to new design
* [EC-317] feat: use translations
* [EC-317] feat: implement working deletion
* [EC-317] feat: add loading state and error messages
* [EC-317] feat: add menu bar item
* [EC-317] feat: update form to support typed reactive forms
* [EC-317] chore: update translation text after design review
* [EC-317] feat: move deletion logic to service
* [EC-317] refactor: update web deletion
* [EC-317] feat: disable submit if secret is empty
* [EC-317] fix: handle errors in components as well
* [EC-317] fix: use abstraction as interface
* [EC-317] refactor: extract deleteAccount from api service
* [EC-317] fix: typo in translations
* [EC-317] chore: rename to accountApiService
* Added properties "userCount", "seats" and "plan" to ProviderOrganizationResponse
* Added text message "numberOfUsers"
* Updated provider clients component with new columns
* Removed never used dependency
* Changed userCount to non nullable number
* Added condition on the component to only show seats number if not null
* Changed view condition to an explicit check
* Added organizationId to EventData and EventRequest
* Added EventType Organization_ClientExportedVault
* Sending organizationId on Organization Export event
* Checking that the user belongs to the organization
* Added organizationExportResponse model
* Added API method to get Organization vault export data
* Updated getOrganizationDecryptedExport to use new API method
* made changes in the errorResponse.ts to return toast message for status 429
* refactor the existing bug implementation
Co-authored-by: dynwee <onwudiweokeke@gmail.com>