1
0
mirror of https://github.com/bitwarden/browser synced 2025-12-11 05:43:41 +00:00
Commit Graph

260 Commits

Author SHA1 Message Date
Jordan Aasen
237002b633 [PM-20988][PM-20986][PM-20983][PM-20971][PM-21019] - Multiple defect fixes for desktop cipher form update (#14559)
* multiple bug fixes

* favor getters to local state

* fix tests
2025-05-02 14:21:08 -07:00
Nick Krantz
ebe3e98a1f [PM-21022] Remove fido2Credentials when cloning a cipher (#14573)
* remove fido2Credentials from cipherView when cloning a cipher

* add check for login on cloning cipher
2025-05-02 10:11:29 -05:00
ronymc
d9fee1d1ad Fix-Reordering URIs in an item loses match detection for all URIs #14188. (#14315)
Co-authored-by: SmithThe4th <gsmith@bitwarden.com>
2025-05-02 07:03:14 -07:00
Shane Melton
cba5f826d6 [PM-21041] Fix cipher view security tasks fetching (#14569)
* [PM-21041] Add taskEnabled$ dependency to tasks$ observable

* [PM-21041] Rework cipher view component to only check tasks for organization Login type ciphers

- Remove dependency on feature flag check (handled by tasks$ observable now)
- Add try/catch in case of request failures to avoid breaking component initialization

* [PM-21041] Remove now redundant taskEnabled$ chain

* [PM-21041] Fix tests
2025-05-01 11:22:32 -07:00
Nick Krantz
de6b58c10a [PM-20110] Disabled copy buttons on vault (#14549)
* export BitIconButtonComponent from component library

* manually update the disabled state of the icon button for copy cipher field directive

* add tests for `CopyCipherFieldDirective`
2025-05-01 12:44:08 -05:00
Jason Ng
a62d269a89 [PM-18803] nudges new items (#14523)
* Added new-items-nudge service and component to show spotlight for new item nudges
2025-05-01 12:43:55 -04:00
Jason Ng
106dd33ef4 [PM-18800] vault onboarding nudges and badge (#14278)
* added empty vault nudge service and has items vault nudge service with spotlight and settings badge to vault v2 in browser
* Refactor Vault Nudge Service for clarity between spotlight and badge dismissals
2025-04-30 12:16:09 -04:00
Rui Tomé
9cd08e8a9f [PM-18322] Fix: Allow organization admins to upload attachments for items without direct access (#14361)
* Wire organization ID into AttachmentsV2Component for org-based ciphers

* Enhance AttachmentsV2Component to accept organization ID for improved handling of org-based ciphers

* Integrate organization ID into VaultComponent for AttachmentsV2Component to enhance org-based cipher handling

* Add unit tests for CipherAttachmentsComponent to validate attachment saving behavior for admins

- Introduced mocks for ApiService and OrganizationService in the test setup.
- Updated tests to check `saveAttachmentWithServer` calls with the correct parameters, including an `isAdmin` flag for admin API usage.

* Fix unit tests for AttachmentsV2Component by adding mocks for ApiService and OrganizationService

* Fix AttachmentsV2Component tests
2025-04-29 12:42:02 +01:00
Jordan Aasen
fe3e6fd198 migrate to tw class name (#14317) 2025-04-23 15:26:53 -07:00
Jordan Aasen
b589951c90 [PM-18520] - Update desktop cipher forms to use the same UI as web app and extension - (#13992)
* WIP - cipher form refactor

* cipher clone

* cipher clone

* finalize item view and form changes

* fix tests

* hide changes behind feature flag

* set flag to false

* create vault items v2. add button selector

* revert change to flag and vault items

* add attachments

* revert change to tsconfig

* move module

* fix modules

* cleanup

* fix import

* fix import

* fix import

* remove showForm

* update feature flag

* wip - cleanup

* fix up services

* cleanup

* fix type errors

* fix lint errors

* add dialog component

* revert changes to menu

* revert changes to menu

* fix vault-items-v2

* set feature flag to FALSE

* add missing i18n keys. fix collection state

* remove generator. update modules. bug fix

* fix restricted imports

* mark method as deprecated. add uri arg back

* fix shared.module

* fix shared.module

* fix shared.module

* add uri

* check and prompt for premium when opening attachments dialog

* move VaultItemDialogResult back

* fix import in spec file

* update copy functions

* fix MP reprompt issue
2025-04-23 11:13:44 -07:00
Jordan Aasen
18d47a29df [CL-420][PM-18798] - Berry component and tab navigation (#14135)
* berry component and nav slot

* remove debug

* don't worry about routes

* add announce and tests

* fix story

* use existing notification color. fix border radius

* fix berry component class

* finalize berry component

* fix tests

* fix story

* move logic to tabs-v2 component.

* move navButtons to tabs-v2.component

* fix layout

* move story.

* cleanup
2025-04-22 10:18:10 -07:00
Shane Melton
143473927e [PM-10611] End user notification sync (#14116)
* [PM-10611] Remove Angular dependencies from Notifications module

* [PM-10611] Move end user notification service to /libs/common/vault/notifications

* [PM-10611] Implement listenForEndUserNotifications() for EndUserNotificationService

* [PM-10611] Add missing taskId to notification models

* [PM-10611] Add switch cases for end user notification payloads

* [PM-10611] Mark task related notifications as read when visiting the at-risk password page

* [PM-10611] Revert change to default-notifications service

* [PM-10611] Fix test

* [PM-10611] Fix tests and log warning in case more notifications than the default page size are available

* [PM-10611] Use separate feature flag for end user notifications

* [PM-10611] Fix test
2025-04-21 08:57:57 -07:00
Jason Ng
9f61b6aaa7 [PM-20182] update colors for intro carousel svg for dark theme (#14280) 2025-04-16 17:14:27 -04:00
Jordan Aasen
defbbd586f [PM-19357] - [Defect] Unauthorised access allows limited access user to change custom hidden field of Items (#14068)
* update tests

* finish tests

* only disallow hidden fields for hiddenPassword users

* fix failing tests

* fix story

* only disable hidden field option when editing
2025-04-16 11:06:40 -07:00
Jeffrey Holland
46470cce2a PM-19102 Autofill new identity information in the popout (#13822)
* PM-17187 Autofill new card information in the popout

* Add new identity autofill to browser extension

* Add ability to save values from autoselect fields
2025-04-10 08:08:13 +02:00
Shane Melton
6503cc64fd [PM-19906] Add appStopClick to prevent default event (#14134) 2025-04-04 15:34:02 -07:00
Jason Ng
263598d9e0 [PM-18790] browser intro carousel component (#14097)
* build intro carousel for browser to show for new installations
2025-04-04 10:52:18 -04:00
Jordan Aasen
bd490e3af9 [CL-390] - Spotlight Component (#14085)
* WIP spotlight and onboarding nudge

* finalize spotlight component

* finalize spotlight component

* revert changes

* re-add changes

* re-add frozen prop

* add documentation

* move to vault

* update to vault

* small css fixes to spotlight

* smaller button

* fix height for non-button

* remove unecessary class

* clean up styling

* more style cleanup

* favor gap instead of mt
2025-04-02 16:15:59 -07:00
cd-bitwarden
e73a6fb16d []PM-17744] Don't allow cloning the fido2Credentials (#13795)
* Don't allow cloning the fido2Credentials

* Do not allow user to copy the fido credentials when cloining

* removing unecessary code
2025-04-02 16:22:04 -05:00
Will Martin
76cb3fd38d [CL-623] export CDK dialog deps from libs/components (#14074)
* add cdk dialog deps to CL dialog barrel file

* find and replace cdk dialog import

* run prettier
2025-04-02 15:08:38 -04:00
Nick Krantz
3c83165b4e [PM-17598] Long custom fields (#13668)
* add custom directive to use the angular CDK resize textarea directive

* swap to textarea to allow for full content to be shown when view text or hidden custom fields

* add text-field styling to web sass file

* move angular import to CL scss file

* add `textarea` to selector to enforce directive usage only on textareas
2025-04-02 09:58:31 -07:00
Jordan Aasen
afcb656d12 [PM-17747] - remove emergency access attachments dialog. fix 404 (#13854)
* remove emergency access attachments dialog. fix 404

* fix types

* fix type issue
2025-04-01 16:48:41 -07:00
Jordan Aasen
fa0a7af8ed disable drag for single website uri (#14082) 2025-04-01 17:46:59 +00:00
Jason Ng
3003d129c9 [PM-18984] Vault Nudges Service (#13970)
* build vault nudge service for upcoming onboarding nudges
2025-04-01 13:38:11 -04:00
Shane Melton
c3e562e75d [PM-17563] [PM-19754] Migrate Security Task Module to libs/common (#14036)
* [PM-17563] Remove references to Angular from TaskService

* [PM-17563] Move Task module to libs/common/vault to avoid Angular dependency

* [PM-17563] Fix bad imports

* [PM-17563] Fix a few more missed imports
2025-04-01 07:27:05 -07:00
Vicki League
6204e2a092 [CL-550] Update cipher form story (#14019) 2025-03-28 13:41:53 -04:00
bnagawiecki
10695fd971 add data-testids to 3 ssh key fields (#14024) 2025-03-27 14:20:34 -04:00
Vicki League
4734cab9a6 [CL-550] Fix popup layout padding and adjust views with extra bottom space (#13562)
* [CL-550] Fix popup layout padding and adjust views with extra bottom space

* simplify css

* fix add/edit item page

* cr changes

* fix failing test

---------

Co-authored-by: Will Martin <contact@willmartian.com>
2025-03-26 17:26:05 -04:00
Jason Ng
a3e01ad672 [PM-10610] push notification to end user notification service (#13876)
* use NotificationsService.notifictions$ for tracking inside default end user notification
2025-03-26 13:16:40 -04:00
Oscar Hinton
d0c91db3b3 [CL-614] More spacing fixes (#13955)
* Fix all dialogs to use ng-container for bitDialogFooter

* Fix button spacing

* Fix send icon spacing
2025-03-25 08:56:36 -07:00
Brandon Treston
0fd01ed7ee [PM-18566] Wire up vNextPolicyService for Clients (#13678)
* wire up vNext impl

* wire up vNextPolicyService for browser

* wire up vNextPolicyService for desktop

* wire up vNextPolicyService for cli

* fix test

* fix missed caller

* cleanup

* fix missing property assignment

* fix QA bug for PM-19205

* fix QA bug for PM-19206

* fix QA bug for pm-19228

* cleanup
2025-03-25 11:30:47 -04:00
Jeffrey Holland
79fd1b3263 PM-17187 Autofill new card information in the popout (#13688) 2025-03-20 20:54:33 +01:00
Jason Ng
cf827981af [PM-19240] Do not show task unless Manage or Edit Permission (#13880)
* do not show task for edit except pw
2025-03-20 15:16:18 -04:00
Jordan Aasen
53a032ca65 [PM-17520][PM-17521][PM-17523][PM-17524][PM-17525] - migrate css classes (#13811)
* migrate css classes

* remove bulk share dialog components and related modules and i18n keys

* Revert "remove bulk share dialog components and related modules and i18n keys"

This reverts commit 40060b6011.
2025-03-14 15:36:55 -07:00
Jason Ng
45df8ff825 [PM-19025] update icon, add href for a11y nav (#13818) 2025-03-13 17:13:38 -04:00
Jordan Aasen
6c2d7e92e6 allow item history to be selectable (#13708) 2025-03-12 15:19:06 -07:00
Jason Ng
0356f4c1af [PM-19106] view-item folder bug fix (#13808)
added security task flag check to task api call in cipher-view
2025-03-12 12:58:30 -04:00
Jason Ng
15fa3cf08d [PM-10613] End User Notification Service (#13721)
* new end user notification service to retrieve and update notifications from API
2025-03-12 08:02:18 +01:00
Jordan Aasen
992be1d054 [PM-13991] - Edit login - reorder website URIs (#13595)
* WIP - sortable website uri

* add specs

* fix type errors in tests
2025-03-10 12:57:02 -07:00
Jordan Aasen
a19bf1687e [PM-12557] - center align custom field buttons (#13670)
* center align custom field buttons

* add margin
2025-03-10 11:07:22 -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
Oscar Hinton
a569dd9ad6 [PM-15892] [PM-12250]Remove nord and remnants from solarizedark (#13449)
* Remove nord and remnants from solarizedark

* Update window reload color

* Remove extension-refresh feature flag from clients (#13450)

Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>

* Remove usage of nord and solarized themes within DarkImageDirective

---------

Co-authored-by: Daniel James Smith <2670567+djsmith85@users.noreply.github.com>
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
2025-03-10 15:33:55 +01:00
Thomas Rittson
ef72f513b1 eslint: report unused disable directives (#13463)
Remove any unused disable directives and FIXMEs in our code
2025-03-10 09:33:08 -04: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
Shane Melton
a7643ebab0 [PM-18650] [PM-18640] Fix change login password service defects (#13596)
* [PM-18650] Ensure http url is returned if well-known cannot be confirmed

* [PM-18650] Modify getChangePasswordUrl logic to check each cipher URL until a valid well-known url is found
2025-03-05 11:49:54 -08: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
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
Shane Melton
b9ebf0704a [PM-14426] At-risk password Getting Started Carousel (#13383)
* [PM-14426] Add hideIcon input to simple dialog component

* [PM-14426] Introduce dark-image-source.directive.ts

* [PM-14426] Tweaks to the Vault Carousel component
- Create a Carousel NgModule so that the carousel component and carousel slide component are exported
- Update barrel files
- Adjust min height calculation logic to wait for ;hidden slides to finish rendering before calculating height

* [PM-14426] Introduce at risk password getting started carousel component and images

* [PM-14426] Refactor at-risk-password-page.service.ts to use the same state definition for banner and carousel dismissal

* [PM-14426] Open the getting started carousel on page load

* [PM-14426] Add tests

* [PM-14426] Use booleanAttribute

* [PM-14426] Fix failing type checking
2025-02-26 13:24:35 -08:00
Oscar Hinton
cec117459b [PM-18599] Forbid unknown property and element in tests (#13556)
Fail tests when relying on unknownProperties or unknownElements. Existing instances are whitelist and have tickets created and assigned to the relevant teams.
2025-02-25 14:02:19 -08:00