1
0
mirror of https://github.com/bitwarden/browser synced 2025-12-29 14:43:31 +00:00
Commit Graph

418 Commits

Author SHA1 Message Date
Jordan Aasen
cda1cdb109 [PM-12726] - [Defect] [Web] "Secure Note" shows in item filters instead of "Note" (#13707)
* use note instead of secure note

* allow item history to be selectable

* Revert "allow item history to be selectable"

This reverts commit 7144a210b5.
2025-03-10 11:04:53 -07:00
Jordan Aasen
beccf1a9d7 increase size of password history dialog (#13693) 2025-03-10 10:59:16 -07:00
Bernd Schoolmann
01f6fd7ee3 [PM-16227] Move import to sdk and enable it in browser/web (#12479)
* Move import to sdk and enable it in browser/web

* Add uncomitted files

* Update package lock

* Fix prettier formatting

* Fix build

* Rewrite import logic

* Update ssh import logic for cipher form component

* Fix build on browser

* Break early in retry logic

* Fix build

* Fix build

* Fix build errors

* Update paste icons and throw error on wrong import

* Fix tests

* Fix build for cli

* Undo change to jest config

* Undo change to feature flag enum

* Remove unneeded lifetime

* Fix browser build

* Refactor control flow

* Fix i18n key and improve import behavior

* Remove for loop limit

* Clean up tests

* Remove unused code

* Update libs/vault/src/cipher-form/components/sshkey-section/sshkey-section.component.ts

Co-authored-by: SmithThe4th <gsmith@bitwarden.com>

* Move import logic to service and add tests

* Fix linting

* Remove erroneous includes

* Attempt to fix storybook

* Fix storybook, explicitly implement ssh-import-prompt service abstraction

* Fix eslint

* Update libs/importer/src/importers/bitwarden/bitwarden-json-importer.ts

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

* Fix services module

* Remove ssh import sdk init code

* Add tests for errors

* Fix import

* Fix import

* Fix pkcs8 encrypted key not parsing

* Fix import button showing on web

---------

Co-authored-by: SmithThe4th <gsmith@bitwarden.com>
Co-authored-by:  Audrey  <ajensen@bitwarden.com>
2025-03-10 18:41:47 +01:00
Nick Krantz
85a5aea897 [PM-18859] Mobile Viewports - Extension Prompt (#13703)
* remove min-width on body element for extension prompt page

* reset meta viewport content for extension prompt page

* set max width of svg to avoid any overflow on mobile devices

* use inline display to avoid icon  overflow on mobile devices

* use max width on the icon to fix overflow rather than editing the anon layout
2025-03-10 10:33:56 -05:00
Thomas Rittson
29716a7075 [PM-13325] Move CollectionDialog to AC Team (#13671)
* Refactor: use standalone component

* Fix easy strict errors
2025-03-07 11:13:48 +10:00
SmithThe4th
e327816bc4 [PM-11941] Migrate TOTP Generator to use SDK (#12987)
* Refactored totp service to use sdk

Fixed strict typescript issues

* Fixed dependency issues

* Returned object that contains code and period, removed get interval function

* removed dependencies

* Updated to use refactored totp service

* removed sdk service undefined check

* removed undefined as an input from the getCode function

* Made getcode$ an observable

* refactored to use getcodee$

* Filter out emmissions

* updated sdk version

* Fixed readability nit

* log error on overlay if totp response does not return a code

* fix(totpGeneration): [PM-11941] Totp countdown not working on clients

* Used optional chaining if totpresponse returns null or undefined
2025-03-06 14:01:07 -05:00
Jason Ng
f65daf7284 [PM-12045] search service activeuserstate (#13035)
* removing activeuserstate from search service
2025-03-06 12:26:24 -05:00
Jason Ng
f7642aa0c6 [PM-14423] item view security task (#13485)
* show pending change password tasks for ciphers in extension
2025-03-04 12:18:40 -05:00
Thomas Rittson
56c8c2ccc8 [PM-13326] Move Collections tab to AC Team (#13529) 2025-03-03 22:18:42 +00:00
Jordan Aasen
13213585b2 [PM-17820] - Browser/Web - update button and label state in username generator (#13189)
* add event handling for username generator

* fix specs. change function name to not be of an event type

* update specs

* rename function

* revert name change

* fix spec

* bubble algorithmSelected up to generator components. add disabled button tests

* add typeSelected event

* revert addition of onType.

* apply same logic in onAlgorithmSelected to web and desktop
2025-03-03 11:44:34 -08:00
Alec Rippberger
cbbd53803b feat(web): [PM-15063] add banner for pending device auth requests
Adds a banner in the web vault to notify users when they have pending device authentication requests. The banner links to the device management screen. Also implements real-time updates to the device management table when new auth requests are received.

JIRA: PM-15063
2025-02-24 11:44:32 -06:00
Oscar Hinton
1587f84a5c [PM-17494] Minimum effort removal of bootstrap from filters (#12995)
Minimum effort migration of the filters to not depend on bootstrap. This migrates the card to tailwind but keeps most of the custom css as it's not strictly required to be migrated.
2025-02-21 08:52:01 -05:00
cd-bitwarden
1d04227884 [PM-12985] - Updating reports to use new modal for view/edit cipher (#12383)
* Updating reports to use new modal for view/edit cipher

* updating the location of the DefaultCipherFormCOnfigService

* Test fixes

* test fixes

* Adding back useful code and trying to fix inactive-two-factor-report.component.spec.ts issue

* suggested changes

* trying to fix tests

* test fix

* fixing reports

* Fix import path

* Remove unnecessary change

* Revert "Remove unnecessary change"

This reverts commit 9a19dc99ed.

* PM-16995- Provide missing CipherFormConfigService

* after merge fixes

* more fixes

* WIP

* wip: fix for exposed passwords

* WIP

* fixing tests

* removing uneeded change

* lint fixes

* lint fix

* fixing admin console permissions

* merge fix

---------

Co-authored-by: --global <>
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
Co-authored-by: bnagawiecki <107435978+bnagawiecki@users.noreply.github.com>
Co-authored-by: Andreas Coroiu <andreas.coroiu@gmail.com>
2025-02-21 14:45:30 +01:00
albertboyd5
ca41ecba29 [PM-16171] Simplelogin alias generation only generate random words instead the domain name (#13024)
* 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>
2025-02-20 11:33:40 -05:00
Shane Melton
1bcfcc7dec [PM-17656] Update the org vault filter whenever policies update (#13280) 2025-02-19 16:14:43 -08:00
Nick Krantz
dae4f7b3cc [PM-17564] Prompt Browser Extension (#13349)
* 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
2025-02-19 11:00:07 -08:00
Brandon Treston
a5d045114c [PM-18278] fix conditional in template (#13392)
* fix conditional in template

* update comment
2025-02-13 16:35:52 -05:00
cd-bitwarden
d9dc3f3962 [PM-12036] Removing ActiveUserState from vault-onboarding.service.ts (#12898)
* Removing ActiveUserState from vault-onboarding.service.ts

* changes

* trying to fix tests

* test fixes

* test fixes

* fixing tests

* fxies

* fixes

* Update apps/web/src/app/vault/individual-vault/vault-onboarding/vault-onboarding.component.spec.ts

Co-authored-by: SmithThe4th <gsmith@bitwarden.com>

* suggested changes

* suggested changes

* undoing suggested changes

* fixing issue

* lint fix

* lint fix

---------

Co-authored-by: --global <>
Co-authored-by: SmithThe4th <gsmith@bitwarden.com>
2025-02-13 16:04:08 -05:00
Nick Krantz
be669a664a remove unused "icon" class (#13390) 2025-02-13 14:34:56 -06:00
Brandon Treston
2b099cd8df filter out null emissions during decryption (#13374) 2025-02-12 13:47:25 -05:00
MarsCandyBars
9dd47a15ce Add truncate class to new organization button (#13282) 2025-02-12 09:49:49 -06:00
SmithThe4th
a2945203f4 [PM-12047] Remove usage of ActiveUserState from cipher.service (#12814)
* 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
2025-02-12 08:53:31 -05:00
Shane Melton
182f9baa0f Revert "[PM-5718] Fix free organization generating TOTP (#11918)" (#13357)
This reverts commit 459fb1bcf4.

Co-authored-by: SmithThe4th <gsmithwalter@gmail.com>
2025-02-11 11:12:56 -08:00
Daniel James Smith
9ddaf96020 [PM-13811] Remove conditional code for extension refresh on web (#13145)
* 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>
2025-02-10 14:20:05 +01:00
SmithThe4th
1746046f18 Updated cipher view to have the latest value of organizationUseTotp from server response (#13223) 2025-02-06 12:22:27 -05:00
Brandon Treston
31e9ab24ef add new copy, remove old (#13224) 2025-02-05 12:12:51 -05:00
Bernd Schoolmann
2f8a7a95bd [PM-15994] Move encrypt service to km ownership (#13220)
* 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
2025-02-05 17:39:11 +01:00
Jordan Aasen
2c118d9f01 [PM-16925] - fix all restricted imports in vault (#13236)
* fix all restricted imports in vault

* fix spec

* remove export
2025-02-04 14:26:03 -08:00
Nick Krantz
aa024b419c [PM-12571][PM-13807] Add/Edit Folder Dialog (#12487)
* 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>
2025-02-04 15:13:13 -06:00
Jason Ng
327aed9763 [PM-11162] Assign To Collections Permission Update (#11367)
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>
2025-02-04 15:44:59 -05:00
Brandon Treston
82f416c292 [PM-16579] update copy (#13138)
* update copy

* update copy refference
2025-01-31 11:39:53 -05:00
Jordan Aasen
d09de817c3 [PM-14952] - show "close" button if user doesn't have edit permission in vault dialog trash (#13036)
* show cancel button if user doesn't have edit permission in vault dialog for trash items

* show close instead of restore in vault dialog in trash

* fix logic for showing close button
2025-01-29 13:53:00 -08:00
Conner Turnbull
26a0594056 [PM-17655] Billing Code Ownership Updates (#13105)
* 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
2025-01-28 13:17:00 -05:00
Nick Krantz
331c04a0fa fix deep import for CipherFormComponent (#13107) 2025-01-28 08:49:48 -08:00
Nick Krantz
7c2bf504a3 [PM-11249] Sync attachment updates across platforms (#11758)
* 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
2025-01-28 10:01:23 -06:00
Oscar Hinton
70ea75d8f7 [PM-17496] Migrate eslint to flat config (#12806)
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.
2025-01-28 16:40:52 +01:00
Oscar Hinton
382a2a0f24 Ignore more bad imports (#12935)
* Ignore more bad imports
2025-01-23 13:03:17 -08:00
Maciej Zieniuk
abb18881b6 [PM-14445] TS strict for Key Management KDF (#13007)
* PM-14445: TS strict for Key Management KDF

* state deserializer can return null
2025-01-23 10:45:33 +01:00
Brandon Treston
a949f793ed [PM-15506] Implement vNextOrganizationService (#12839)
* [PM-15506] Wire up vNextOrganizationService for libs/common and libs/angular (#12683)

* Wire up vNextOrganizationService in PolicyService

* Wire vNextOrganizationService in SyncService

* wire vNextOrganizationService for EventCollectionService

* wire vNextOrganizationService for KeyConnectorService

* wire up vNextOrganizationService for CipherAuthorizationService

* Wire up vNextOrganizationService in PolicyService

* Wire vNextOrganizationService in SyncService

* wire vNextOrganizationService for EventCollectionService

* wire vNextOrganizationService for KeyConnectorService

* wire up vNextOrganizationService for CipherAuthorizationService

* wire vNextOrganizationService for share.component

* wire vNextOrganizationService for collections.component

* wire vNextOrganizationServcie for add-account-credit-dialog

* wire vNextOrganizationService for vault-filter.service

* fix browser errors for vNextOrganizationService implementation in libs

* fix desktop errors for vNextOrganizationService implementation for libs

* fix linter errors

* fix CLI errors on vNextOrganizationServcie implementations for libs

* [PM-15506] Wire up vNextOrganizationService for web client (#12810)

PR to a feature branch, no need to review until this goes to main.

* implement vNextOrganization service for browser client (#12844)

PR to feature branch, no need for review yet.

* wire vNextOrganizationService for licence and some web router guards

* wire vNextOrganizationService in tests

* remove vNext notation for OrganizationService and related

* Merge branch 'main' into ac/pm-15506-vNextOrganizationService

* fix tsstrict error

* fix test, fix ts strict error
2025-01-22 15:20:25 -05:00
Jordan Aasen
5600bc01b0 change to arrow function to maintain bindings (#13001) 2025-01-22 10:17:59 -08:00
Jordan Aasen
a803e5b411 [PM-6565] migrate vault toasts to CL toastService (#10664)
* migrate vault toasts to CL toastService

* update component args

* add missing toastService deps

* add missing i18 key

* remove moved files

* remove duplicate args
2025-01-17 15:01:18 -08:00
Jordan Aasen
3b4eb40990 [PM-14952] - remove Edit button and show restore button when viewing item in trash (#12847)
* add restore function to vault item dialog

* update comment

* revert removing of delete button

* use canDeleteCipher$

* put canRestore in class property

* set showRestore after canDeleteCipher is set
2025-01-17 09:15:21 -08:00
renovate[bot]
62e879940c [deps] SM: Update typescript-eslint monorepo to v8 (major) (#10601)
* [deps] SM: Update typescript-eslint monorepo to v8

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Hinton <hinton@users.noreply.github.com>
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
2025-01-14 11:23:59 -05:00
Shane Melton
459fb1bcf4 [PM-5718] Fix free organization generating TOTP (#11918)
* [PM-5718] Fix totp generation for free orgs in old add-edit component

* [PM-5718] Fix totp generation for free orgs in view cipher view component

* [PM-5718] Cleanup merge conflicts

* Don't generate totp code for premium users or free orgs

* Added redirect to organization helper page

* Changed text to learn more

* Only show upgrade message to premium users

* Show upgrade message to free users with free orgs as well

---------

Co-authored-by: Matt Bishop <mbishop@bitwarden.com>
Co-authored-by: gbubemismith <gsmithwalter@gmail.com>
2025-01-13 12:58:52 -05:00
Jordan Aasen
b8f57f3464 [PM-12759] - Admin Console - Link to vault cipher is not opening cipher modal (#12738)
* fix initial load emission race

* prevent double dialog render

* put logic back in place
2025-01-10 10:00:57 -08:00
Jordan Aasen
2271062a5a clear cipher cache after deleting a collection (#12686) 2025-01-09 10:38:27 -08:00
SmithThe4th
14568f11dc [PM-12034] Remove usage of ActiveUserState from vault-banners.service (#11543)
* Migrated banner service from using active user state

* Fixed unit tests for the vault banner service

* Updated component to pass user id required by the banner service

* Updated component tests

* Added comments

* Fixed unit tests

* Updated vault banner service to use lastSync$ version and removed polling

* Updated to use UserDecryptionOptions

* Updated to use getKdfConfig$

* Updated shouldShowVerifyEmailBanner to use account observable

* Added takewhile operator to only make calls when userId is present

* Simplified to use sing userId

* Simplified to use sing userId
2025-01-09 13:12:08 -05:00
Jordan Aasen
8fe1802963 add missing provider in premium-badge story (#12766) 2025-01-09 09:27:52 -08:00
Bernd Schoolmann
0d5e4c6f58 [PM-16859] Fix item creation resetting to login item type on browser (#12765)
* Fix broken item creation on browser

* Fix creation of ssh keys items from a filtered vault resetting to login on web
2025-01-08 23:24:23 +00:00
Jordan Aasen
38c1cdfb62 [PM-14289] - vault cipher form - set default owner as organization from collection when possible (#12682)
* set default org by referencing collecction

* get organizationId from collection

* always get organizationId from collection when possible
2025-01-08 10:36:38 -08:00