1
0
mirror of https://github.com/bitwarden/browser synced 2026-02-04 10:43:47 +00:00
Commit Graph

13593 Commits

Author SHA1 Message Date
gbubemismith
ce5fc9c278 added fromNullable to reduces repetitive logic 2023-10-13 18:10:23 -04:00
gbubemismith
186eb392fc Fix potential reference error by restoring the typeof check for chrome 2023-10-13 12:11:59 -04:00
gbubemismith
35e9193152 changed link to button for accessibilty purposes 2023-10-12 22:05:40 -04:00
gbubemismith
cabd855c54 removed unused i18n tokens 2023-10-12 22:04:46 -04:00
gbubemismith
391e5dc81a remove listeners for safari 2023-10-12 22:03:30 -04:00
SmithThe4th
e7fcf97a94 removed unused code from login, 2fa components (#6565) 2023-10-12 14:53:13 -04:00
Todd Martin
3fbc287f4b Remove array initialization that is not necessary. (#6563) 2023-10-12 10:31:25 -04:00
SmithThe4th
973bbc4e1c [PM-4284] Passkey popout is not pulling correct URI for website opened (#6549)
* Used url from sender window in getting matching logins

* Rough draft to combine user verification required and master password required prompts

* Revert "Rough draft to combine user verification required and master password required prompts"

This reverts commit f72d6f877f.
2023-10-12 09:48:31 -04:00
SmithThe4th
6a9afa85e3 [PM-4226] Create login item on the fly and add passkey item to it (#6552)
* Use the + button to ad an item and then save a passkey on the added item

* switch if to tenary
2023-10-12 09:35:12 -04:00
Todd Martin
80c94bf9b7 Updated fido2Credentials to initialize as null instead of empty array (#6548)
* Updated fido2Credentials to be null instead of empty string

* Updated cipher tests.

* Fixed tests.

* Updated view and clone logic.

* Updated templates to handle null value.

* Further null checks.
2023-10-11 17:38:53 -04:00
gbubemismith
a10a53aa15 Merge branch 'EC-598-beeep-properly-store-passkeys-in-bitwarden' of github.com:bitwarden/clients into EC-598-beeep-properly-store-passkeys-in-bitwarden 2023-10-11 13:33:20 -04:00
gbubemismith
19cf3380fa merged with master and fixed conflicts 2023-10-11 13:32:44 -04:00
jng
a10dd0f2b0 padding update for focused cipher row in popup 2023-10-11 12:05:24 -04:00
Andreas Coroiu
56a1229803 [PM-4016] Address feedback on [PM-2014] (#6532)
* [PM-4016] feat: use dialog `loading` attribute

* [PM-4016] chore: move constant to service

* [PM-4016] chore: simplify paddings

* [PM-4016] chore: rename to `AuthSettingsModule`

* [PM-4016] fix: move request creation to service

* [PM-4016] feat: simplify module structure

Remove core.module and use `@Injectable({ providedIn: "root" })` instead.
2023-10-11 16:09:01 +02:00
SmithThe4th
68da3d9efd [PM-3812][PM-3809] Unify Create and Login Passkeys UI (#6403)
* PM-1235 Added component to display passkey on auth flow

* PM-1235 Implement basic structure and behaviour of UI

* PM-1235 Added localised strings

* PM-1235 Improved button UI

* Implemented view passkey button

* Implemented multiple matching passkeys

* Refactored fido2 popup to use browser popout windows service

* [PM-3807] feat: remove non-discoverable from fido2 user interface class

* [PM-3807] feat: merge fido2 component ui

* [PM-3807] feat: return `cipherId` from user interface

* [PM-3807] feat: merge credential creation logic in authenticator

* [PM-3807] feat: merge credential assertion logic in authenticator

* updated test cases and services using the config service

* [PM-3807] feat: add `discoverable` property to fido2keys

* [PM-3807] feat: assign discoverable property during creation

* [PM-3807] feat: save discoverable field to server

* [PM-3807] feat: filter credentials by rpId AND discoverable

* [PM-3807] chore: remove discoverable tests which are no longer needed

* [PM-3807] chore: remove all logic for handling standalone Fido2Key

View and components will be cleaned up as part of UI tickets

* [PM-3807] fix: add missing discoverable property handling to tests

* updated locales with new text

* Updated popout windows service to use defined type for custom width and height

* Update on unifying auth flow ui to align with architecture changes

* Moved click event

* Throw dom exception error if tab is null

* updated fido2key object to array

* removed discoverable key in client inerface service for now

* Get senderTabId from the query params and send to the view cipher component to allow the pop out close when the close button is clicked on the view cipher component

* Refactored view item if passkeys exists and the cipher row views by having an extra ng-conatiner for each case

* Allow fido2 pop out close wehn cancle is clicked on add edit component

* Removed makshift run in angular zone

* created focus directive to target first element in ngFor for displayed ciphers in fido2

* Refactored to use switch statement and added condtional on search and add div

* Adjusted footer link and added more features to the login flow

* Added host listener to abort when window is closed

* remove custom focus directive. instead stuck focus logic into fido2-cipher-row component

* Fixed bug where close and cancel on view and add component does not abort the fido2 request

* show info dialog when user account does not have master password

* Removed PopupUtilsService

* show info dialog when user account does not have master password

* Added comments

* Added comments

* made row height consistent

* update logo to be dynamic with theme selection

* added new translation key

* Dis some styling to align cipher items

* Changed passkey icon fill color

* updated flow of focus and selected items in the passkey popup

* Fixed bug when picking a credential

* Added text to lock popout screen

* Added passkeys test to home view

* changed class name

* Added uilocation as a query paramter to know if the user is in the popout window

* update fido2 component for dynamic subtitleText as well as additional appA11yTitle attrs

* moved another method out of html

* Added window id return to single action popout and used the window id to close and abort the popout

* removed duplicate activatedroute

* added a doNotSaveUrl true to 2fa options, so the previousUrl can remain as the fido2 url

* Added a div to restrict the use browser link ot the buttom left

* reverted view change which is handled by the view pr

* Updated locales text and removed unused variable

* Fixed issue where new cipher is not created for non discoverable keys

* switched from using svg for the logo to CL

* removed svg files

* default to browser implmentation if user is logged out of the browser exetension

* removed passkeys knowledge from login, 2fa

* Added fido2 use browser link component and a state service to reduce passkeys knowledge on the lock component

* removed function and removed unnecessary comment

* reverted to former

* [PM-4148] Added descriptive error messages (#6475)

* Added descriptive error messages

* Added descriptive error messages

* replaced fido2 state service with higher order inject functions

* removed null check for tab

* refactor fido2 cipher row component

* added a static abort function to the browser interface service

* removed width from content

* uncommented code

* removed sessionId from query params and redudant styles

* Put back removed sessionId

* Added fallbackRequested parameter to abortPopout and added comments to the standalone function

* minor styling update to fix padding and color on selected ciphers

* update padding again to address vertical pushdown of cipher selection

---------

Co-authored-by: Carlos Gonçalves <cgoncalves@bitwarden.com>
Co-authored-by: Andreas Coroiu <andreas.coroiu@gmail.com>
Co-authored-by: jng <jng@bitwarden.com>
2023-10-10 16:34:54 -04:00
Daniel García
524123ac01 Add lint to try to limit reappearance of Safari memory leaks (#6382) 2023-10-10 19:13:50 +02:00
Daniel James Smith
3e720c05f2 [PM-4198][TechDebt] Split up import and export modules (#6483)
* Split up import/export into separate modules

* Fix routing and apply PR feedback

* Renamed OrganizationExport exports to OrganizationVaultExport

* Renamed filenames according to export rename

---------

Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
2023-10-10 19:12:13 +02:00
cd-bitwarden
ad867150a0 {SM-847] Updated Delete service account modal to be default size, not small (#6405)
* Updated Delete service account modal to be default size, not small

* updating project-delte-dialog and service-account-dialog to use default size dialog

* updating to default size
2023-10-10 16:35:18 +00:00
Andreas Coroiu
725ee08640 [PM-2014] Passkey registration (#5396)
* [PM-2014] feat: scaffold new fido2 login component and module

* [PM-1024] feat: add content to login settings component

* [PM-1024] feat: add badge and button aria label

* [PM-2014] feat: create new dialog

* feat: add ability to remove form field bottom margin

(cherry picked from commit 05925ff77ed47f3865c2aecade8271390d9e2fa6)

* [PM-2014] feat: disable dialog close button

* [PM-2014] feat: implement mocked failing wizard flow

* [PM-2014] feat: add icons and other content

* [PM-2014] feat: change wording to "creating" password

* [PM-2014] feat: add new auth and auth core modules

* [PM-2014] chore: move fido2-login-settings to auth module

* [PM-2014] chore: expose using barrel files

* [PM-2014] feat: fetch webauthn challenge

* [PM-2014] chore: refactor api logic into new api service and move ui logic into existing service

* [PM-2014] feat: add tests for new credential options

* [PM-2014] feat: return undefined when credential creation fails

* [PM-2014] feat: implement credential creation

* [PM-2014] feat: add passkey naming ui

* [PM-2014] feat: add support for creation token

* [PM-2014] feat: implement credential saving

* [PM-2014] feat: Basic list of credentials

* [PM-2014] feat: improve async data loading

* [PM-2014] feat: finish up list UI

* [PM-2014] fix: loading state not being set properly

* [PM-2014] feat: improve aria labels

* [PM-2014] feat: show toast on passkey saved

* [PM-2014] feat: add delete dialog

* [PM-2014] feat: implement deletion without user verification

* [PM-2014] feat: add user verification to delete

* [PM-2014] feat: change to danger button

* [PM-2014] feat: show `save` if passkeys already exist

* [PM-2014] feat: add passkey limit

* [PM-2014] feat: improve error on delete

* [PM-2014] feat: add support for feature flag

* [PM-2014] feat: update copy

* [PM-2014] feat: reduce remove button margin

* [PM-2014] feat: refactor submit method

* [PM-2014] feat: autofocus fields

* [PM-2014] fix: move error handling to components

After discussing it with Jake we decided that following convention was best.

* [PM-2014] feat: change toast depending on existing passkeys

* [PM-2014] chore: rename everything from `fido2` to `webauthn`

* [PM-2014] fix: `CoreAuthModule` duplicate import

* [PM-2014] feat: change to new figma design `Encryption not supported`

* [PM-2014] fix: add missing href

* [PM-2014] fix: misaligned badge

* [PM-2014] chore: remove whitespace

* [PM-2014] fix: dialog close bug

* [PM-2014] fix: badge alignment not applying properly

* [PM-2014] fix: remove redundant align class

* [PM-2014] chore: move CoreAuthModule to AuthModule

* [PM-2014] feat: create new settings module

* [PM-2014] feat: move change password component to settings module

* [PM-2014] chore: tweak loose components recommendation

* [PM-2014] fix: remove deprecated pattern

* [PM-2014] chore: rename everything to `WebauthnLogin` to follow new naming scheme

* [PM-2014] chore: document requests and responses

* [PM-2014] fix: remove `undefined`

* [PM-2014] fix: clarify webauthn login service

* [PM-2014] fix: use `getCredentials$()`

* [PM-2014] fix: badge alignment using important statement

* [PM-2014] fix: remove sm billing flag

* [PM-2014] fix: `CoreAuthModule` double import

* [PM-2014] fix: unimported component (issue due to conflict with master)

* [PM-2014] fix: unawaited promise bug
2023-10-10 15:10:26 +02:00
Kyle Spearrin
b2aa33f5a3 [PM-4194] refactor vault api implementation for federated users (#6519)
* refactor vault api implementation

* remove extra new line

* user type context

* refactor getK1

* simplify get k1 more
2023-10-09 11:55:36 -04:00
Jonathan Prusik
3b803f62c5 [PM-4083] Fix case of misused promise (#6443)
* fix misused promise

* await resolution of totpService.getCode
2023-10-09 10:29:50 -04:00
renovate[bot]
320c1a5970 Update dependency postcss to v8.4.31 [SECURITY] (#6530)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-09 12:29:22 +02:00
Thomas Rittson
21fef9d38d [AC-1453] Update TrialInitiationModule with new standalone component (#6448)
* import new standalone components directly into TrialInitiationModule instead of
  importing and re-exporting through LooseComponentsModule
2023-10-08 23:06:40 -04:00
Will Martin
b05b3a2935 [PM-4230] bump Electron to v26.3.0 (#6511) 2023-10-06 12:12:54 -04:00
Robyn MacCallum
ceea6ef985 Update text for SM billing section checkbox (#6463) 2023-10-06 09:32:29 -04:00
github-actions[bot]
437f39d4fb Autosync the updated translations (#6522)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2023-10-06 07:37:02 +00:00
github-actions[bot]
e1203c2d81 Autosync the updated translations (#6521)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2023-10-06 07:32:53 +00:00
github-actions[bot]
a8d0ca7aaf Autosync the updated translations (#6523)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2023-10-06 07:31:50 +00:00
Vince Grassia
7190bad1b0 Standardize Snapcraft commands in workflows (#6351) 2023-10-05 13:14:10 -06:00
SmithThe4th
922de469f4 [PM-2169] Update Password Reprompt Modal to use Component Library (#5720)
* update password reprompt to use the dialog CL

* Override showPasswordPrompt and submit method on web child classes from base classes to allow dialog work on web and modal on other clients

* Override showPasswordPrompt and submit method on web child classes from base classes to allow dialog work on web and modal on other clients

* Fixed lint issues

* Corrected comments

* Refactored passwored reprompt to use dialog service after changes to make the dialog service work on the desktop and browser

* Changed access modifier from protected to protected

* Refactored passwprd reprompt component to a stand alone component and fixed all references

* fix merge changes

* fix import aliases in password-reprompt.component.ts

* fix alias typo in browser tsconfig

* import from root vault alias

* revert tsconfig changes

* remove service abstraction and update imports

* remove component from imports

* Removed unneccesary show password toggle

* renamed selector to use vault prefix

* removed unnecessary data dismiss

* merged and fixed conflicts

* remove reintroduced file

* Added appAutoFocus to reprompt dialog

* delayed validation until submit happens

---------

Co-authored-by: William Martin <contact@willmartian.com>
2023-10-04 22:56:27 -04:00
Vince Grassia
a91a39fe80 Move checkout step before getting Node version (#6500) 2023-10-04 16:01:44 -06:00
Robyn MacCallum
d40f996e71 [AC-1347] Allow editing of collections in individual vault (#6081)
* Rename Collection events to be more explicit

* Implement edit collection for individual vault row

* Implement edit and delete collection from individual vault header

* Implement bulk delete for collections in individual vault

* Clean up CollectionDialogResult properties

* Centralize canEdit and canDelete logic to Collection models

* Check orgId in canEdit and canDelete and add clarifying comments

---------

Co-authored-by: Shane Melton <smelton@bitwarden.com>
2023-10-04 14:15:20 -07:00
Kyle Spearrin
f43c3220dc [PM-4194] LastPass access library (#6473)
* convert some pma models

* some client work

* fix comment

* add ui classes

* finish implementing login

* more client work

* update cookie comment

* vault class

* some chunk work in client

* convert to array

* parse chunks with binary reader

* parsing and crypto

* parse private keys

* move fetching to rest client

* houskeeping

* set cookies if not browser

* fix field name changes

* extract crypto utils

* error checks on seek

* fix build errors

* fix lint errors

* rename lib folder to access

* fixes

* fix seek function

* support opening federated vaults

* add postJson rest method

* add user type and k2 apis

* pass mode
2023-10-04 17:07:53 -04:00
Kyle Spearrin
9212751553 add support for decrypting AES-ECB mode (#6476) 2023-10-04 16:58:47 -04:00
Oscar Hinton
94e5117c32 [PM-4054] Rename Fido2Key to Fido2Credential (#6442)
* Rename Fido2Key to Fido2Credential

* Fix export

* Remove unnecessary alis in export

* Make test less wordly

---------

Co-authored-by: gbubemismith <gsmithwalter@gmail.com>
2023-10-04 16:53:21 -04:00
Sammy Chang
7a32837bc7 [PM-2044] Fix hotkeys and context menu not resetting the vault timeout timer (#5313)
* Reset timeout timer for hotkeys and context menu

* Fix imports

---------

Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
2023-10-04 16:31:50 -04:00
Michał Chęciński
65e698b322 [DEVOPS-1572] Update JS workflows to Node version 18 (#6421)
* Get node version from .nvmrc and use in setup-node action

* Fix substitution

* Fix substitution 2

* Fix substitution 3

* Add ls

* Add ls

* Override working directory

* Fix override working directory

* Fix

* Add ls

* Checkout repo
2023-10-04 12:23:40 -04:00
Conner Turnbull
c411e1f03b [AC-1404] incorrect pricing shows for 2019 teams customers (#6462)
* Refactor seat count calculation in subscription adjust component

* Defaulting additionalSeatCount to 0 when falsy
2023-10-04 12:29:20 +00:00
Jared Snider
462daab322 PM-3981 - SSO/2FA Comp bugfix for user unable to be JIT created in a TDE org with a require 2FA policy. We were trying to save the Org SSO Id in all post login scenarios instead of all post login success scenarios. 2FA required is a scenario in which the login would not be successful and no account will exist in state for data to be set on. (#6439) 2023-10-03 20:22:14 -04:00
Thomas Rittson
0a953b444a [AC-1453] Move OrganizationPlansComponent and related components out of LooseComponentsModule (#6230)
* restructure billing folders into individual, organization, and shared
* move components from `LooseComponentsModule`
2023-10-03 15:36:45 -04:00
github-actions[bot]
0e1b2cfb0d Bumped cli version to 2023.9.2 (#6492)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2023-10-03 11:01:11 -07:00
renovate[bot]
ffb6bd0a30 Update bitwarden/gh-actions digest to f112580 (#6467)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-03 11:03:16 -06:00
Daniel James Smith
0dd1aeba9f [PM-4031] Add libs/importer to browser and desktop (#6373)
* Import libs/importer and instantiate ImportService

* Create ImportApi and ImportService factories

* Add libs/importer to desktop

* [PM-4075] Setup Feature Flag for Browser Fileless Import (#6391)

* Update apps/browser/src/tools/background/service_factories/import-api-service.factory.ts

Co-authored-by:  Audrey  <ajensen@bitwarden.com>

* Created non-exported ServiceCache-type for ImportApiServiceFactory

---------

Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
Co-authored-by: Cesar Gonzalez <cesar.a.gonzalezcs@gmail.com>
Co-authored-by:  Audrey  <ajensen@bitwarden.com>
2023-10-03 16:33:49 +00:00
Thomas Rittson
512af1e923 [AC-1689] Add hidePasswords property to collection data and response models (#6451) 2023-10-03 13:30:24 +10:00
SmithThe4th
a186d32314 Bug during reafactoring where the hostname is not used if the rpId is undefined (#6484) 2023-10-02 18:14:39 -04:00
Thomas Rittson
32121dabe4 Move PremiumComponent to billing ownership (#6450) 2023-10-02 11:43:31 -07:00
Oscar Hinton
30feb60645 [BEEEP] [PM-565] Implement clipboard logic in rust (#4516)
Implement the Desktop clipboard logic natively using rust. This uses the arboard crate for clipboard functionality.

This change consists of 3 portions:
* Rust component.
* Updating renderer to call main using electron ipc.
* Update main to listen to renderer ipc and forward calls to the native clipboard module.
2023-10-02 18:50:57 +02:00
Alex Morask
6aed74d241 Hide additional tax inputs when country doesn't support Stripe Tax [AC-1665] (#6363)
* Revert "Removed countries that Stripe doesn't support (#6035)"

This reverts commit a81c70360a.

* Hide additional tax options when selected country doesn't support Stripe tax

* Conner's feedback
2023-10-02 09:42:50 -04:00
Cesar Gonzalez
20564f2f54 [PM-3704] Autofill Command Should Not Attempt to Fill If Fields Are Not Found in Page Details (#6318)
* [PM-3704] Autofil Command Should Not Attempt to Fill If Fields Are Not Found in Page Details

* [PM-2319] Adding jest test to ensure workflow is captured in future refactors
2023-09-30 18:25:01 +00:00
SmithThe4th
02fdda42c7 moved passkeys ontop totp code to align with the add edit view (#6466) 2023-09-29 18:02:55 -04:00