Commit Graph

11843 Commits

Author SHA1 Message Date
Daniel James Smith 183c945963
Small refactor of lock.component (#3325)
* Extract method for unlockWithPin

* Extract method for unlockWithMasterPassword

* Switch condition and use early return

* Moved logic that belongs together closer together

* Make unlockWithPin and unlockWithMP private and move them below the public methods

* Extract to new method handlePinRequiredUnlock
Remove kdf and kdfIteration params

* Extract to new method handleMasterPasswordRequiredUnlock
Remove kdf and kdfIteration params
2022-08-18 17:56:55 +02:00
Daniel James Smith dcd858d8ae
[PS-1286] Enable Basque language support for desktop, browser, web (#3332)
* Register basque language with native name

* Register basque language for web vault

* Register basque language for browser

* Register basque language for desktop
2022-08-18 17:55:41 +02:00
Matt Gibson 179a3b3726
[PS-1265] fix on install hook (#3278)
* Create service factories

* Add onInstall hook to service worker

* Add factory helper and common options structure

* Use factories in main.background

* simplify common factory options

* Split factory service cache and options.

Improve factory method base type handling.

* Add dev flag for managed environment.
2022-08-18 09:23:16 -05:00
Patrick H. Lauke 89b69f4bc6
[PS-1307] Desktop: Change box-headers from `<div>` to semantic headings (#3313)
* Change box-headers from generic `<div>` to semantic headings, tweak heading styles

Essentially, a late port to desktop of aspects from https://github.com/bitwarden/clients/pull/2223 (which I hadn't realised at the time also affected the desktop app)

* Change box headers in modals to `<h1>`s

* Fix/normalise modals

* Harmonise modal dialog headings, use `aria-labelledby`
2022-08-18 11:28:37 +02:00
Micaiah Martin e59f635d32
Update tag logic for web-sh container (#3327) 2022-08-17 14:06:33 -06:00
Patrick H. Lauke adb8be746a
Web: fix twoStepLogin modal `title` > `id` (#3323)
Fixes a small typo/oversight in the markup for the `twoStepLogin` modal
2022-08-17 13:11:47 +02:00
Patrick H. Lauke babfa30c68
[PS-1222] Remove `appBlurClick` throughout the popup and web code (#3208)
* Remove appBlurClick throughout the popup code

`appBlurClick` leads to focus being lost/reset for assistive technology users. It should not be necessary in any case - if focus does need to move after an action, explicitly set it somewhere programmatically using `focus()` rather than relying on browser heuristics

* Remove now redundant blur-click directive
2022-08-17 10:42:26 +02:00
Tomi Belan e7da2f0c22
Allow bw sync without unlocking (#2916) 2022-08-16 16:27:05 -05:00
github-actions[bot] 1137f83535
Bumped desktop version to 2022.8.2 (#3319)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2022-08-16 12:47:42 -07:00
Patrick H. Lauke b1a47b85b5
[PS-1303] Desktop/browser: tweak `.box-header-expandable` styles (#3308)
* Add extra margin for desktop settings expanded header buttons

* Only change box-header-expandable background on `:focus-visible` not `:focus`

Avoids having the background colour "stick" when clicking with the mouse until you click somewhere else
2022-08-16 21:05:31 +02:00
Patrick H. Lauke da9dca6dd6
Don't suppress outline for input[type="file"] controls (#3210)
Closes https://github.com/bitwarden/clients/issues/3209
2022-08-16 20:51:45 +02:00
Matt Gibson 7c3facec80
Split session key and synced item property key (#3317) 2022-08-16 10:59:50 -05:00
Joseph Flinn 16c41b823b
[workflows] Decouple hotfix-rc branches (#3298) 2022-08-16 08:55:57 -07:00
Addison Beck 7e39867dae
Import OrganizationBadgeModule in VaultModule (#3316) 2022-08-16 09:10:35 -04:00
Matt Gibson 5339344630
PS-1133 Feature/mv3 browser observable memory caching (#3245)
* 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
2022-08-16 07:05:03 -05:00
Matt Gibson 9d0dd613fb
PS-1267 Null check URI values (#3315) 2022-08-16 06:59:28 -05:00
Todd Martin ce4fd26e0d
[SG-587] Enabled showTrial feature flag in cloud (#3311)
* Enabled showTrial feature flag in cloud and selfhosted.
2022-08-15 16:21:08 -04:00
Daniel James Smith 4b70278b3f
Do not call load twice on init of LockComponent (#3295) 2022-08-15 20:38:01 +02:00
Thomas Rittson d30701ada7
[EC-416] Refactor organization permission checks (#3252)
* 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
2022-08-15 07:08:06 -07:00
Robyn MacCallum 96d5f50c7f
Lock node-ipc version (#3304)
* lock node-ipc version

* update package-lock

* npm i
2022-08-15 09:44:15 -04:00
Robyn MacCallum 2d3d312cd7
Send reference data on account creation (#3297) 2022-08-12 13:19:39 -04:00
Matt Gibson f42d967356
Update browser_action to action (#3286)
Manifest v3 gets rid of browser_action for action
2022-08-12 07:45:50 -05:00
github-actions[bot] d86b2d76c8
Autosync the updated translations (#3291)
Co-authored-by: github-actions <>
2022-08-12 11:35:15 +02:00
github-actions[bot] d8cb129abe
Autosync the updated translations (#3290)
Co-authored-by: github-actions <>
2022-08-12 11:32:09 +02:00
github-actions[bot] 144783d4a4
Autosync the updated translations (#3289)
Co-authored-by: github-actions <>
2022-08-12 11:29:28 +02:00
github-actions[bot] c0a6db7d00
Bumped web version to 2022.8.1 (#3287)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2022-08-11 14:11:38 -07:00
github-actions[bot] b2f79a1512
Bumped desktop version to 2022.8.1 (#3284)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2022-08-11 11:54:24 -07:00
Matt Gibson 6e68761337
PS-1230 PS-1152 Fix/improve null origin message (#3280)
* Improve message if Origin header value is empty

* PS-1230 Remove serve feature flag
2022-08-11 09:00:27 -05:00
Thomas Rittson 4a1c3eb1ec
[EC-423] Fix unit tests (#3265)
* Create base jest.config file

* Fix various tests that were broken

* Add maxWorkers to jest config

* Undo change to testEnvironment

* Enable tsconfig.spec.json
2022-08-11 11:35:08 +10:00
Michał Chęciński 0602d97358
Fix CLI publish to NPM (#3272) 2022-08-10 16:25:39 +02:00
Justin Baur 1ba76dec16
[PS-1107] User Verification Service Refactor (#3219)
* UserVerificationService refactor

* Remove temp change

* move import order

* Address PR feedback
2022-08-09 21:31:02 -04:00
Justin Baur 43d428b3df
[PS-816] Add Autofill Shortcut to MV3 Extension (#3131)
* 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>
2022-08-09 21:30:26 -04:00
Daniel James Smith cfc8858ef9
Fix active account and searchBar observables/subscriptions (#3268)
* 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
2022-08-09 21:11:51 +02:00
André Filipe da Silva Bispo c4f9c2cca6
[SG-416] Updates to Bitwarden Authenticator (#3045)
* [SG-416] Changed UI for TOTP codes on free plan and added link to get Premium. On browser, changed back action of premium.component in order to reuse on cipher details.

* [SSG-416] PR Fix

* [SSG-416] fix formatting

* [SSG-416] Updated desktop free plan OTP UI

* [SSG-416] noticed a bad div tag making file changes erratic

* [SG-416] fixed label

* [SSG-416] Fix formatting

* [SSG-416] Changed bootstrap classes to tailwind

* [SSG-416] Added premium and upgrade badge back. Muted placeholder totp code colors and button.

* [SSG-416] Change learn more to upgrade label on get premium modal. Fixed navigation for premium.

* [SSG-416] Removed unused image file.

* [SG-416] Changed browser "Premium subscription required" text to be all hyperlink.

* [SG-416] Fixed missing resource on browser

* [SG-416] Code format with lint
2022-08-09 19:03:02 +01:00
Gbubemi Smith 31cae4390f
[SG-414] Weak password prompt not displaying on master password reset (#3241)
* moved password strength to libs

* refactored password strength component

* made changes on desktop and browser to reuse component

* resolved suggestions from PR review

* shared module restructure

* shared module restructure

* Fixed no warning prompt on reset password

* SG-519 setting new password warning prompt fix

* removed any and added type
2022-08-09 18:32:08 +01:00
dgoodman-bw ecd6863abe
PS-725 - add empty state image to Vault and Send pages in web and to the Vault page in the bowser extension (#3263) 2022-08-09 09:23:57 -07:00
Addison Beck 95bb429281
[SG-360] Remove the /modules/ folder (#3225)
* Move Web's SharedModule to /app/shared/

This commit relocates `SharedModule` from `/app/modules` to `/app/shared` to
align with [ADR #11](https://adr.bitwarden.com/decisions/0011-angular-folder-structure)

All other changes are just to adjust imports that reference `SharedModule`.

* Move /modules/pipes to /shared/pipes

This commit relocates `PipesModule` from `/app/modules` to `/app/shared` to
align with [ADR #11](https://adr.bitwarden.com/decisions/0011-angular-folder-structure)

All other changes are just to adjust imports that reference `PipesModule`.

* Move LooseComponentsModule to /shared/

This commit relocates `LooseComponentsModule` from `/app/modules` to `/app/shared` to
align with [ADR #11](https://adr.bitwarden.com/decisions/0011-angular-folder-structure)

All other changes are just to adjust imports that reference `LooseComponentsModule`.

* Move VerticalStepperModule to /shared/

This commit relocates `VerticalStepperModule` from `/app/modules` to `/app/shared` to
align with [ADR #11](https://adr.bitwarden.com/decisions/0011-angular-folder-structure)

All other changes are just to adjust imports that reference `VerticalStepperModule`.

* Move TrialInitiationModule to /shared/

This commit relocates `TrialInitiationModule` & `RegisterFormModule` from `/app/modules` to `/app/shared` to
align with [ADR #11](https://adr.bitwarden.com/decisions/0011-angular-folder-structure)

All other changes are just to adjust imports that reference `TrialInitiationModule` or `RegisterFormModule`.

* Move /modules/organization to /organization

This commit relocates all modules in `/app/modules/organization` to `/app/organization` to
align with [ADR #11](https://adr.bitwarden.com/decisions/0011-angular-folder-structure)

All other changes are just to adjust imports that reference the moved modules.

* Move /modules/vault/ to /vault

This commit relocates the IndividualVaultModule to `/app/modules/vault`, and the OrganizationVaultModule to `/app/organization/vault` to
align with [ADR #11](https://adr.bitwarden.com/decisions/0011-angular-folder-structure)

All other changes are just to adjust imports that reference the moved modules.

* Move VaultFiltersModule to /vault

This commit relocates the `VaultFilterModule` to `/app/vault/vault-filter`, and the OrganizationVaultFilterComponent to `/app/organization/vault/vault-filter` to
align with [ADR #11](https://adr.bitwarden.com/decisions/0011-angular-folder-structure)

All other changes are just to adjust imports that reference the moved modules.

* Remove the /modules/ folder from desktop

This commit relocates the `VaultFilterModule` to `/app/vault/vault-filter`, and the OrganizationVaultFilterComponent to `/app/organization/vault/vault-filter` to
align with [ADR #11](https://adr.bitwarden.com/decisions/0011-angular-folder-structure)

All other changes are just to adjust imports that reference the moved modules.

* Move Libs' VaultFiltersComponent to /vault/

This commit moves the lib's logic for `VaultFiltersModule` from
`/modules/` to `/vault/`

All other changes are just to adjust imports that reference the moved
files.

* Rename VaultModule -> SharedVaultModule

* Rename IndividualVaultModule -> VaultModule

* Rename OrganizationVaultModule -> VaultModule

* Rename OrganizationVaultFilterComponent

Rename OrganizationVaultFilterComponent to VaultFilterComponent

* Seperate the two VaultFilterComponents

This commit seperate the `OrganizationVaultFilterComponent` from the `VaultFilerModule`, which is only used by the individual vault.
A `VaultFilterSharedModule` was created to declare shared components and provide shared services between the two implementations.
This was done to align with best practices for NgModules.

* [r] Move VerticalStepperModule to /account/

More specifically, /account/trial/

* [r] Declare PaymentComponent in LooseComponentsModule

`PaymentComponent` is not reused across domains and should not be
declared in `SharedModule`.

I've moved it to `LooseComponentsModule` for now, but later it will need
to be exported from a `SettingsModule`.

* [r] Declare TaxInfoComponent in LooseComponentsModule

* [r] Reloacte Pipes out of /shared/

* [r] Extract locales out of SharedModule

* [r] Add documentation to shared module

* [r] Cleanup imports

* [r] Use an index.ts file for /shared/

* [r] Add eslint rule restricting access to /shared/

Co-authored-by: Hinton <hinton@users.noreply.github.com>
2022-08-08 15:08:35 -04:00
Todd Martin 56ce85c69c
ENG-71 - Updated release workflows with cleanup recommended by Vince (#3224)
* Updated release jobs to include fixes that Vince recommended from the mobile repo

* Updated the workflows with the fixes
that Vince recommended from mobile.

* Fix linter errors

Co-authored-by: Todd Martin <>
Co-authored-by: Michal Checinski <michal.checinski@outlook.com>
2022-08-08 13:21:49 -04:00
Micaiah Martin 1a49117d8a
Handle "/" in branch names (#3260) 2022-08-08 11:10:18 -06:00
Vincent Salucci 07c7357825
[Component Library] Text/Button Links (#3126)
* Initial commit

* Updated stories / Fixed issues with dark theme constrast color

* Force colors so bootstrap doesn't override

* Fixed text colors / Added initial tests

* Added jest debugging ability to components package

* Removed spec file

* Fixed anchor layout

* revert base font-size

* [CL-28] fixed indentation, used focus-visible, adjusted disabled colors

* [CL-28] Reduced ring thickness to better match figma

* [CL-28] Updated story link

* [CL-44] [CL-28] Updated tabs disabled color / Converted to rgb format with helper
2022-08-08 11:21:46 -05:00
Oscar Hinton af371af6e1
[SM-88] [BEEEP] Add support for chrome.storage.managed for environment urls (#3120)
* 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
2022-08-08 07:40:09 -04:00
Rui Tomé c263eacd88
[EC-376] Extract API logic from PolicyService to PolicyApiService (#3203)
* 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
2022-08-08 10:04:36 +01:00
Micaiah Martin 5f13c4722f
Update web workflow with additional logic (#3256)
Co-authored-by: Joseph Flinn <58369717+joseph-flinn@users.noreply.github.com>
2022-08-05 13:33:08 -06:00
Daniel James Smith a1e536a5ef
[PS-1175] Resolve issue with processReload not executing (#3240)
* 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
2022-08-05 20:04:27 +02:00
Brandon Maharaj df7377d305
fix: link sso button (#3242)
* fix: link sso button

* fix: lint

* Update link-sso.component.html

* fix: force recheck

* fix: undo

* fix: idk

* fix

* fix: order tw classes
2022-08-05 13:20:41 -04:00
Oscar Hinton 762fac062f
[CL-46] Dialogs (#3237) 2022-08-05 17:45:36 +02:00
Matt Gibson e7220644d1
[PS-1152] CLI serve forbid browser requests (#3220)
* Inconsiquential change to allow a draft PR

* Serve blocks requests from browsers by default

Option is provided to override this behavior for backwards
compatibility.

* Revert "Inconsiquential change to allow a draft PR"

This reverts commit 0f51344c35.
2022-08-05 10:27:11 -05:00
cyprain-okeke 7526b46bfd
Making changes to flitter-buttons on hover (#3233)
Co-authored-by: dynwee <onwudiweokeke@gmail.com>
2022-08-05 16:02:05 +01:00
cyprain-okeke 0eda418591
[PS-1066] Browser and Desktop - SSO User does not see Update Master Password screen after Owner does a Admin Password Reset (#3207)
* added a refresh token to avoid the time out issue

* validating for forcePasswordReset for web extension

* checking for forcePasswordReset to know the successRoute to nagivate to

* changes after running prettier

* removing the old implementation and making changes for getForcePasswordReset

* making chnages to lock.component in desktop project for forcePasswordReset

Co-authored-by: dynwee <onwudiweokeke@gmail.com>
2022-08-05 16:01:47 +01:00
aj-rosado 8174095a20
[PS-1162] Preventing escape from closing popup when vault selector is open (#3195)
* PS-1162 Preventing escape from closing popup when vault selector is open

* PS-1162 attached escape target to HostListener
2022-08-05 15:24:02 +01:00