1
0
mirror of https://github.com/bitwarden/browser synced 2025-12-15 15:53:27 +00:00
Commit Graph

2154 Commits

Author SHA1 Message Date
Alec Rippberger
ab7016fd6b feat(auth): implement view data persistence in 2FA flows
Add persistence to two-factor authentication in the extension login flow. Implements caching of form state to improve user experience when navigating between authentication steps. Includes feature flag for controlled rollout.
2025-04-25 10:02:54 -05:00
bw-ghapp[bot]
a7b69bf8ce Autosync the updated translations (#14429)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2025-04-25 13:59:27 +00:00
bw-ghapp[bot]
a402448320 Autosync the updated translations (#14414)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2025-04-25 12:43:27 +02:00
Daniel Riera
4a01c8bb17 PM-20391 UX: Saving new login when none exist (#14406)
* PM-20391 UX: Saving new login when none exist

* Update apps/browser/src/_locales/en/messages.json

Co-authored-by: Jonathan Prusik <jprusik@users.noreply.github.com>

* Update apps/browser/src/_locales/en/messages.json

Co-authored-by: Jonathan Prusik <jprusik@users.noreply.github.com>

* Update apps/browser/src/autofill/notification/bar.ts

Co-authored-by: Jonathan Prusik <jprusik@users.noreply.github.com>

* Update apps/browser/src/autofill/content/components/cipher/cipher-action.ts

Co-authored-by: Jonathan Prusik <jprusik@users.noreply.github.com>

---------

Co-authored-by: Jonathan Prusik <jprusik@users.noreply.github.com>
2025-04-24 16:15:27 -04:00
Bryan Cunningham
116751d4ca add small button variant (#14326)
* adds small button size variant

* makes small icon button same size as small button

* testing small button for extension header

* remove extension changes

* update popout layout story

* revert change to small icon button padding

* add whitespace to see if error resolves

* default buttonType to primary

* default buttonType to secondary

* add comment around why nonNullButtonSize value exists

* add comment to  property about using the non null version

* Update apps/browser/src/platform/popup/layout/popup-layout.stories.ts

Co-authored-by: Oscar Hinton <Hinton@users.noreply.github.com>

* updated input syntax when using static values

* remove nonNull value coersion

* allow changing of size input in Story

---------

Co-authored-by: Oscar Hinton <Hinton@users.noreply.github.com>
2025-04-24 15:34:29 -04:00
Todd Martin
26273ca072 Update copyright year to 2025 (#14364)
Co-authored-by: Daniel James Smith <2670567+djsmith85@users.noreply.github.com>
2025-04-24 13:46:20 -04:00
Daniel Riera
1e6a605ead PM-20393 return only matching ciphers on type of change (#14392)
* PM-20393 return only matching ciphers on type of change

* use type for change
2025-04-24 10:51:21 -04:00
Daniel Riera
320d4f65fa PM-20396 open view item vault pop out (#14342)
* PM-20396 open view item vault pop out

* add aria and clean up

* format json

* clean naming in messages

* revert feature-flag.enum.ts

* change username to item name

* return nullish operator removed in testing

* update tests to account for itemName

* revert to anchor tag
2025-04-23 14:47:09 -04: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
Daniel Riera
8e1dfb7d21 PM-19281 localize relevant notification bar text (#14327)
* PM-19281 localize todo text

* update storybook
2025-04-23 09:59:05 -04:00
Alec Rippberger
71e720e945 fix(auth): clarify 2FA security key verification text
Updates user interface text to improve clarity when prompting for security key verification during two-factor authentication.

Ref: PM-20055
2025-04-22 23:09:07 -05:00
Daniel Riera
95d0fb9012 PM-20490 add of to mitigate return-type annotation (#14377) 2025-04-22 16:35:44 -04: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
bw-ghapp[bot]
40a1612278 Autosync the updated translations (#14330)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2025-04-22 12:20:04 +02:00
Shane Melton
d6bda3bcdf [PM-20433] Add view cache options for view cache service signals to allow cached values to persist navigation events (#14348) 2025-04-21 13:26:59 -07:00
Thomas Avery
3a8045d7d0 [PM-19215] Fix Firefox extension biometric unlock autoprompt (#14254)
* Remove restriction from account security component

* Add the ability to manage pop-out to the LockComponentService

* Have the Firefox extension pop-out on biometric auto-prompt unlock
2025-04-21 14:08:09 -05: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
Github Actions
1b6f75806d Bumped client version(s) 2025-04-21 14:22:41 +00:00
Maciej Zieniuk
4da03821ce move key connector components to KM team ownership (#14008) 2025-04-18 08:23:52 -07:00
Bryan Cunningham
cbab354c0e Hide bit-icon component from screen readers by default (#14295)
* adds aria-hidden to bit-icon when no aria-label provided

* add ariaLabel to logo svg usages

* add ariaLabel documentation

* default ariaLable value to undefined

* add logo label to translations

* adds i18n pipe to component

* Add binding to example docs
2025-04-18 10:38:19 -04:00
Andreas Coroiu
ede4776433 [PM-18043] Add serialization/deserialization support (#13804)
* feat: add support for serialization-PR tweaks

* feat: update sdk version
2025-04-17 16:25:35 +02:00
Jason Ng
9f61b6aaa7 [PM-20182] update colors for intro carousel svg for dark theme (#14280) 2025-04-16 17:14:27 -04:00
Jason Ng
4b45bfaeeb [PM-20236] update routing for intro carousel so path is not saved during popout (#14300) 2025-04-16 17:03:51 -04:00
Jonathan Prusik
3c3a0e65d8 [PM-20310] Icon updates followup (#14312)
* remove brand icon story from lit storybook

* replace users icon with family icon

* update collection icon shape and name
2025-04-16 15:06:36 -04:00
Jonathan Prusik
1efdcacd16 [PM-16641] Remove "inline-menu-positioning-improvements" feature flag (#14225)
* remove inline-menu-positioning-improvements flag

* remove unused LegacyOverlayBackground

* remove unused deprecated files

* appease ts error TS2564

* remove deleted resources from the manifest files
2025-04-16 13:15:43 -04:00
Jonathan Prusik
b413272bd5 [PM-20325] - Misc design fixes/tweaks (#14309)
* fix icon sizing in option selection

* fix close button vertical centering

* fix cipher item update text

* fix missing header background color

* fix brand logo positioning in notification header
2025-04-16 15:08:51 +00:00
Miles Blackwood
cb86948423 [PM-15436] Standalone password entry should trigger save to bitwarden prompt. (#14110)
* Modify behavior so standalone password entry (with or without generator) should trigger save to bitwarden prompt.

* Rename intent to action, extend button/action styles.

* Ensure font weight is returned to normal.

* Make save login message a button to handle accessibility, adds helper function.

* Fix failing snapshot by reintigrating erroneously removed line.

* Update snapshot to match new saveLoginButton.

* Add add'l open in new window message to aria label.

* Update snapshot with open in new window message.
2025-04-15 20:00:08 -04:00
Daniel Riera
a61d878081 PM-20106 Pass indicator data to notification bar cipher items (#14246)
* PM-20106 initial approach whihc preserves exisiting indicator file style

* refactored approach to be able to pass any icon when or if needed in the future

* address feedback
2025-04-15 17:19:58 -04:00
Jonathan Prusik
b66430b25c [PM-19781] Lit Components icons cleanup (#14294)
* update icon shapes to match new design system icons

* add AngleUpIcon to storybook

* rename Family icon to Users to match design system naming conventions

* add Collection icon

* move illustrations to their own path/category to match design system convention

* remove hardcoded PartyHorn illustration size

* fix swapped story names

* rename PartyHorn illustration to Celebrate to match design system convention

* update Warning illustration to use new design system shape
2025-04-15 16:36:05 -04:00
Jonathan Prusik
4cddc40828 remove inlineAutofillMenuRefreshAddEditCipher message (#13805) 2025-04-15 14:39:48 -04:00
Jonathan Prusik
e3d1ef456e [PM-14909] Add data/state for security task completion notification (#14279)
* include tasks with notification cipher data

* send security task information with update success message for notification

* mark completed cipher updates with tasks as complete

* refactor notification confirmation components and add stories

* add keyhole icon

* add conditional footer button to notification confirmation component

* add external link icon

* add external link icon to action button

* add notification confirmation footer story

* use keyhole icon if there are no additional security tasks to complete

* add new message catalog entries to chrome.i18n

* reimplement sending security task information with update success message for notification

* open tasks in extension from confirmation notification button

* update vault message key and dismiss all security tasks for a given cipher upon password update

* resolve changes against updated main branch basis

* put task fetching behind feature flag and update tests

* cleanup

* more cleanup
2025-04-15 14:37:12 -04:00
Opeyemi
9f174e7723 update mas-dev SHA-1 (#14290) 2025-04-15 13:57:37 +00:00
bw-ghapp[bot]
cb37434a16 Autosync the updated translations (#14284)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2025-04-15 13:40:20 +02:00
Andreas Coroiu
8b64087b32 [PM-18040] Inject ipc content script dynamically (#13674)
* feat: add content script manager

* feat: inject into all pages

* feat: only inject if flag is enabled

* fix: wrong constructor parameters
2025-04-14 14:41:08 +02:00
Jakub Gilis
2fd83f830d Properly handle message aborts during cleanup (#13841)
Replace the FallbackRequestedError rejection pattern with direct
AbortController.abort() calls when destroying the Messenger. This
eliminates misleading console errors and ensures correct cancellation
behavior.

The FallbackRequestedError is intended specifically for user-requested
WebAuthn fallbacks, not general message cleanup operations.

Fixes GitHub issue #12663
2025-04-11 15:30:06 -04:00
Jonathan Prusik
d5b7af75e9 [PM-14909] Build components for security task completion notification (#14230)
* squash split component work from pm-14909

* fix typing
2025-04-11 15:16:30 -04:00
bw-ghapp[bot]
732029b3f2 Autosync the updated translations (#14233)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2025-04-11 10:16:15 +02:00
Alec Rippberger
4772362928 refactor(auth): [PM-8976] migrate two-factor setup component to Tailwind and standalone
- Remove Bootstrap styles from two-factor-setup component and replace with Tailwind equivalents
- Convert two factor components to standalone components to move away from LooseComponents
- Replace ul/li list with bit-item-group and bit-item components
- Integrate with the bit design system

---------

Co-authored-by: Oscar Hinton <Hinton@users.noreply.github.com>
Co-authored-by: Jared Snider <116684653+JaredSnider-Bitwarden@users.noreply.github.com>
2025-04-10 14:13:11 -05:00
Bernd Schoolmann
5a1b0744f0 [PM-17665] Move cryptofunction service to km (#13285)
* Move cryptofunction service to km

* Fix formatting

* Fix import

* Fix build on desktop

* Fix build on browser and tests
2025-04-10 11:09:35 +02: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
Edmond Chui
7e2cbbf616 Fix Safari pinned tabs causing autofill to be wrong (#13755)
Co-authored-by: Jonathan Prusik <jprusik@users.noreply.github.com>
2025-04-09 17:12:48 -04:00
Andreas Coroiu
772b42f5b5 [PM-18039] Add initial verison of IpcServices to client (#13373)
* feat: add foreground ipc service

* refactor: create abstract ipc service in libs

* wip: remove IPC service complexity

The code was making some wrong assumptions about how IPC is going to work. I'm removing everything and starting the content-script instead

* feat: working message sending from page to background

* refactor: move into common

* feat: somewhat complete web <-> browser link

* wip: ping command from web

* fix: import path

* fix: wip urls

* wip: add console log

* feat: successfull message sending (not receiving)

* feat: implement IPC using new refactored framework

* wip: add some console logs

* wip: almost working ping/pong

* feat: working ping/pong

* chore: clean-up ping/pong and some console logs

* chore: remove unused file

* fix: override lint rule

* chore: remove unused ping message

* feat: add tests for message queue

* fix: adapt to name changes and modifications to SDK branch

* fix: missing import

* fix: remove content script from manifest

The feature is not ready for prodution code yet. We will add dynamic injection with feature-flag support in a follow-up PR

* fix: remove fileless lp

* fix: make same changes to manifest v2

* fix: initialization functions

Add missing error handling, wait for the SDK to load and properly depend on the log service

* feat: use named id field

* chore: update sdk version to include IPC changes

* fix: remove messages$ buffer

* fix: forgot to commit package-lock

* feat: add additional destination check

* feat: only import type in ipc-message

* fix: typing issues

* feat: check message origin
2025-04-08 15:06:39 +02:00
rr-bw
2267876860 refactor(set-change-password): [Auth/PM-18206] Update InputPasswordComponent to handle multiple flows (#13745)
Updates the InputPasswordComponent so that it can eventually be used in multiple set/change password scenarios.

Most importantly, this PR adds an InputPasswordFlow enum and @Input so that parent components can dictate which UI elements to show.
2025-04-07 11:58:50 -07:00
bw-ghapp[bot]
66360b76d2 Autosync the updated translations (#14153)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2025-04-07 10:05:51 +02:00
Shane Melton
a7fe4877d7 [PM-17563] Security task background synchronization (#14086)
* [PM-17563] Implement listenForTaskNotifications in default-task.service.ts

* [PM-17563] Update syncService to include userId in syncCompleted message payload

* [PM-17563] Update default-task.service to react to both pending task notifications and completed syncs

* [PM-17563] Add unit tests around task notification listening

* [PM-17563] Only check for at risk password tasks if tasks are enabled

* [PM-17563] Make userId required even if undefined

* [PM-17563] Use abstract TaskService instead of default implementation in MainBackground

* [PM-17563] Cleanup userId filtering
2025-04-04 13:42:44 -07:00
Patrick-Pimentel-Bitwarden
1af8fe2012 feat(device-approval-persistence): [PM-19380] Device Approval Persistence (#13958)
* feat(device-approval-persistence): [PM-19380] Device Approval Persistence - Added lookup on standard auth requests.

* fix(device-approval-persistence): [PM-19380] Device Approval Persistence - Fixed issue with null value trying to be parsed from the fromJSON function.




---------

Co-authored-by: Todd Martin <tmartin@bitwarden.com>
2025-04-04 15:44:48 -04:00
Nick Krantz
576e438dbd [PM-18918] Navigate directly to at risk passwords page (#14044)
* refactor `openPopup` vault message to `OpenAtRiskPasswords`

* navigate directly to the at risk passwords page

* ensure the at-risk-passwords page navigates back to the vault

* reset popup index page

* avoid setting `hasNavigated` for the initial route

* Revert "avoid setting `hasNavigated` for the initial route"

This reverts commit 68bd9268ae.

* always reset popup page to the index

---------

Co-authored-by: Shane Melton <smelton@bitwarden.com>
2025-04-04 08:42:07 -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
bw-ghapp[bot]
abaeffea4b Autosync the updated translations (#14119)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2025-04-04 09:58:43 +02:00
Miles Blackwood
34ddf77872 Viewing a cipher from autofill menu should retrigger the password reprompt. (#13969)
* Extend the password reprompt to the view cipher method.

* Handle password reprompt in view cipher component.

* Remove possible out-of-date comment.

* Use new constant for view item load action.

* Revert "Remove possible out-of-date comment."

This reverts commit 4c30aaacb423f5bcb40c6a8cb9240076267a003d.

* Mock the password reprompt service.

* Remove redundant view-item LoadAction.

---------

Co-authored-by: Robyn MacCallum <robyntmaccallum@gmail.com>
2025-04-03 12:46:40 -04:00