1
0
mirror of https://github.com/bitwarden/browser synced 2025-12-06 00:13:28 +00:00
Commit Graph

18062 Commits

Author SHA1 Message Date
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
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
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
cyprain-okeke
6bd3fceaa1 fix: align upgrade badge with header text in Event Logs (#14213) 2025-04-16 17:27:48 +01:00
Conner Turnbull
db16c98a1d [PM-17773] Added "Sponsored Families" dropdown nav item in the admin console (#14029)
* Added nav item for f4e in org admin console

* shotgun surgery for adding "useAdminSponsoredFamilies" feature from the org table

* Resolved issue with members nav item also being selected when f4e is selected

* Separated out billing's logic from the org layout component

* Removed unused observable

* Moved logic to existing f4e policy service and added unit tests

* Resolved script typescript error

* Resolved goofy switchMap

---------

Co-authored-by: cyprain-okeke <108260115+cyprain-okeke@users.noreply.github.com>
2025-04-16 11:58:54 -04:00
Shane Melton
f293c15f4d [PM-19538] Add shareReplay to internal orgKeys subscription (#14034) 2025-04-16 08:24:30 -07: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
Brandon Treston
0d0314d16d fix restore button (#14244) 2025-04-16 11:04:31 -04:00
Vijay Oommen
9cffc3b4f4 [PM-20118] Capitalize risk insights (#14291) 2025-04-16 08:16:40 -05:00
Michał Chęciński
9da15601be Add workflow to trigger self-host unified build in publish web (#14268) 2025-04-16 15:06:41 +02: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
Shane Melton
8258ea39b0 [PM-18903] Desktop sync issues (#13681)
* [PM-18707] Use different BroadcasterSubscriptionId in base view component to avoid collision with desktop view component

* [PM-18707] Use userId instead of payloadUserId for cipher notification syncs

* [PM-19032] Live Sync on Desktop (#13851)

* migrate the vault-items to an observables rather than async/promises

- this helps keep data in sync with the service state and avoids race conditions

* migrate the view component to an observables rather than async/promises

- this helps keep data in sync with the service state and avoids race conditions

* decrypt saved cipher from server

* bump timeout for upserting ciphers

* mark `go` as async in desktop vault

- previously it was a floating promise

* Revert "mark `go` as async in desktop vault"

This reverts commit fd28f40b18.

* Revert "bump timeout for upserting ciphers"

This reverts commit e963acc377.

* move vault utilities to `common` rather than `lib` to avoid circular dependencies

* use `perUserCache$` for `cipherViews$` to avoid new subscriptions from being created

* use userId from observable rather than locally set to be the most up to date

* [PM-18707] Add clearBuffer$ input to perUserCache$ helper so that  the internal share replay buffers can be cleared

* [PM-18707] Rework forceCipherViews$ to clearBuffer$ refactor

- Add dependency for cipherDecryptionKeys$ for the cipherViews so that decryption is never attempted without keys

* [PM-18707] Add overload to perUserCache to satisfy type checker

* [PM-18707] Fix overloads

* [PM-18707] Add check for empty failed to decrypt ciphers

* [PM-18707] Mark vault component for check after observable emits.

The cipherViews$ observable now persists between subscriptions, meaning that updates via the sync push notifications can occur outside the AngularZone causing delays in updating the view.

---------

Co-authored-by: Nick Krantz <125900171+nick-livefront@users.noreply.github.com>
Co-authored-by: Nick Krantz <nick@livefront.com>
2025-04-15 12:17:41 -07: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
Justin Baur
f74d7e5fd5 [PM-20239] Initializing nx (#14276)
* Add .nx file to .gitignore

Co-authored-by: Addison Beck <github@addisonbeck.com>

* Add nx package

Co-authored-by: Addison Beck <github@addisonbeck.com>

* Add nx.json file

Co-authored-by: Addison Beck <github@addisonbeck.com>

* Add nx to Platform ownership

---------

Co-authored-by: Addison Beck <github@addisonbeck.com>
2025-04-15 14:17:53 -04:00
Andy Pixley
94d9487547 [BRE-777] Fixing output to match what's in gh-actions (#14292) 2025-04-15 12:31:08 -04:00
Bernd Schoolmann
b09305577f [PM-19603] Change asymmetric interface to only allow key encapsulation (#14046)
* Change asymmetric interface to only allow key encapsulation

* Fix naming

* Clean up naming

* Update libs/common/src/key-management/crypto/abstractions/encrypt.service.ts

Co-authored-by: Thomas Avery <43214426+Thomas-Avery@users.noreply.github.com>

* Update libs/common/src/key-management/crypto/services/encrypt.service.implementation.ts

Co-authored-by: Thomas Avery <43214426+Thomas-Avery@users.noreply.github.com>

* Update libs/common/src/key-management/crypto/abstractions/encrypt.service.ts

Co-authored-by: Thomas Avery <43214426+Thomas-Avery@users.noreply.github.com>

* Fix test

---------

Co-authored-by: Thomas Avery <43214426+Thomas-Avery@users.noreply.github.com>
2025-04-15 16:39:02 +02:00
Opeyemi
9f174e7723 update mas-dev SHA-1 (#14290) 2025-04-15 13:57:37 +00:00
Anders Åberg
6426dc51e6 Improve MacOS Syncing
This changes the behaviour to react to logoff, but not to account locks. It also adds better error handling on the native side.
2025-04-15 14:12:38 +02:00
Anders Åberg
8d598c33ed Change modal size to 600x600 2025-04-15 14:10:19 +02: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
bw-ghapp[bot]
c7804c1032 Autosync the updated translations (#14283)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2025-04-15 13:34:13 +02:00
bw-ghapp[bot]
b5434adb42 Autosync the updated translations (#14282)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2025-04-15 13:32:36 +02:00
bw-ghapp[bot]
eb9812091c Autosync the updated translations (#14234)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2025-04-15 11:59:48 +02:00
Todd Martin
938e9454e1 fix(workflow): [PM-19254] Update image tag generation for builds from forked PRs
* Added fork name to tag

* Added logging.

* Added pull_request_target

* Added repository name if on fork.

* Limited characters

* Added sanitization

* Moved to env var for extra security.
2025-04-14 21:33:51 -04:00
Todd Martin
356a20a4bc fix(login): [PM-20174] Do not show validation errors on email input on LoginComponent
* Do not show validation errors on input

* Removed one-line function.

* Removed awaits
2025-04-14 15:55:01 -04:00
Thomas Avery
95ea1b22ae [PM-17987] Add feature flag (#13991)
* Add feature flag

* Add unit tests.
2025-04-14 12:47:09 -05:00
Bryan Cunningham
ac1210a7ed remove margin from checkbox hint (#14251) 2025-04-14 12:56:30 -04:00
Álison Fernandes
5b43be780b Remove duplicated copy (#14271) 2025-04-14 17:56:09 +02:00
Vijay Oommen
7e621be6cb [PM-18969] CSV importers should create nested collections (#14007) 2025-04-14 10:46:58 -05:00
Alec Rippberger
f1a2acb0b9 fix: [PM-20180] add OrganizationDuo to dialog title function
Fix issue where modal was not displayed when clicking Manage option for 2FA on Organizations. This adds the OrganizationDuo case to the dialogTitle method to properly handle this provider type.

PM-20180
2025-04-14 09:37:52 -05:00
Alexander Aronov
8885f5da24 [PM-19914][PM-19913] trim domains and long fields in forwarders (#14141)
* PM-19913: Added max length to the generated_for and description peroperties in the FirefoxRelay API payload
* [PM-19913] Added maxLength restriction to the website and generatedBy methods. Added maxLength limit of 200 to the description of addy.io
2025-04-14 08:42:41 -04:00
Bernd Schoolmann
5cc3ed7c5f Move nodecryptofunctionservice codeownership (#14209) 2025-04-14 14:42:08 +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
Ike
b90ede079d [PM-18888] Fix duo redirect URL checks (#14174)
* fix(PM-18888) : Create more strict checking of redirectURL to protect against open redirect attacks using regex.

* fix : modify comments and check for embedded credentials.

* feat : add testability to duo-redirect connector

* fix : fixing strict typing; Removed styling from duo-redirect.ts which allows us to test without adding additional files and configurations for jest.

* fix : remove duo-redirect.scss
2025-04-11 22:55:02 -04: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
Jordan Aasen
5006a29546 [PM-17516][PM-17617] - Remove old add-edit and attachments components (#14087)ew
* remove unused components

* re-add add-edit

* re-delete add-edit
2025-04-11 09:12:18 -07: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
bw-ghapp[bot]
c05e3df2e4 Autosync the updated translations (#14232)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2025-04-11 10:08:56 +02:00
Jeffrey Holland
b62220ace1 Autofill/pm 17444 use reprompt (#14004)
* Passkey stuff

Co-authored-by: Anders Åberg <github@andersaberg.com>

* Ugly hacks

* Work On Modal State Management

* Applying modalStyles

* modal

* Improved hide/show

* fixed promise

* File name

* fix prettier

* Protecting against null API's and undefined data

* Only show fake popup to devs

* cleanup mock code

* rename minmimal-app to modal-app

* Added comment

* Added comment

* removed old comment

* Avoided changing minimum size

* Add small comment

* Rename component

* adress feedback

* Fixed uppercase file

* Fixed build

* Added codeowners

* added void

* commentary

* feat: reset setting on app start

* Moved reset to be in main / process launch

* Add comment to create window

* Added a little bit of styling

* Use Messaging service to loadUrl

* Enable passkeysautofill

* Add logging

* halfbaked

* Integration working

* And now it works without extra delay

* Clean up

* add note about messaging

* lb

* removed console.logs

* Cleanup and adress review feedback

* This hides the swift UI

* add modal components

* update modal with correct ciphers and functionality

* add create screen

* pick credential, draft

* Remove logger

* a whole lot of wiring

* not working

* Improved wiring

* Cancel after 90s

* Introduced observable

* update cipher handling

* update to use matchesUri

* Launching bitwarden if its not running

* Passing position from native to electron

* Rename inModalMode to modalMode

* remove tap

* revert spaces

* added back isDev

* cleaned up a bit

* Cleanup swift file

* tweaked logging

* clean up

* Update apps/desktop/macos/autofill-extension/CredentialProviderViewController.swift

Co-authored-by: Andreas Coroiu <acoroiu@bitwarden.com>

* Update apps/desktop/src/platform/main/autofill/native-autofill.main.ts

Co-authored-by: Andreas Coroiu <acoroiu@bitwarden.com>

* Update apps/desktop/src/platform/services/desktop-settings.service.ts

Co-authored-by: Andreas Coroiu <acoroiu@bitwarden.com>

* adress position feedback

* Update apps/desktop/macos/autofill-extension/CredentialProviderViewController.swift

Co-authored-by: Andreas Coroiu <acoroiu@bitwarden.com>

* Removed extra logging

* Adjusted error logging

* Use .error to log errors

* remove dead code

* Update desktop-autofill.service.ts

* use parseCredentialId instead of guidToRawFormat

* Update apps/desktop/src/autofill/services/desktop-autofill.service.ts

Co-authored-by: Andreas Coroiu <acoroiu@bitwarden.com>

* Change windowXy to a Record instead of [number,number]

* Update apps/desktop/src/autofill/services/desktop-fido2-user-interface.service.ts

Co-authored-by: Andreas Coroiu <acoroiu@bitwarden.com>

* Remove unsued dep and comment

* changed timeout to be spec recommended maxium, 10 minutes, for now.

* Correctly assume UP

* Removed extra cancelRequest in deinint

* Add timeout and UV to confirmChoseCipher

UV is performed by UI, not the service

* Improved docs regarding undefined cipherId

* cleanup: UP is no longer undefined

* Run completeError if ipc messages conversion failed

* don't throw, instead return undefined

* Disabled passkey provider

* Throw error if no activeUserId was found

* removed comment

* Fixed lint

* removed unsued service

* reset entitlement formatting

* Update entitlements.mas.plist

* Fix build issues

* Fix import issues

* Update route names to use `fido2`

* Fix being unable to select a passkey

* Fix linting issues

* Added support for handling a locked vault

* Followup to fix merge issues and other comments

* Update `userHandle` value

* Add error handling for missing session or other errors

* Remove unused route

* Fix linting issues

* Simplify updateCredential method

* Add master password reprompt on passkey create

* Followup to remove comments and timeouts and handle errors

* Address lint issue by using `takeUntilDestroyed`

* Add MP prompt to cipher selection

* Change how timeout is handled

* Include `of` from rxjs

* Hide blue header for passkey popouts (#14095)

* Hide blue header for passkey popouts

* Fix issue with test

* Fix ngOnDestroy complaint

* Import OnDestroy correctly

* Only require master password if item requires it

---------

Co-authored-by: Justin Baur <19896123+justindbaur@users.noreply.github.com>
Co-authored-by: Anders Åberg <github@andersaberg.com>
Co-authored-by: Anders Åberg <anders@andersaberg.com>
Co-authored-by: Colton Hurst <colton@coltonhurst.com>
Co-authored-by: Andreas Coroiu <andreas.coroiu@gmail.com>
Co-authored-by: Evan Bassler <evanbassler@Mac.attlocal.net>
Co-authored-by: Andreas Coroiu <acoroiu@bitwarden.com>
2025-04-11 09:41:30 +02:00
Anders Åberg
b7c2419aed Fix base64url decode on MacOS passkeys (#14227)
* Add support for padding in base64url decode

* whitespace

* whitespace
2025-04-11 09:10:41 +02:00
Todd Martin
f7934b98c6 fix(login): [PM-11502] Support Remember Email option consistently
* Moved saving of SSO email outside of browser/desktop code

* Clarified comments.

* Tests

* Refactored login component services to manage state

* Fixed input on login component

* Fixed tests

* Linting

* Moved web setting in state into web override

* updated tests

* Fixed typing.

* Fixed type safety issues.

* Added comments and renamed for clarity.

* Removed method parameters that weren't used

* Added clarifying comments

* Added more comments.

* Removed test that is not necessary on base

* Test cleanup

* More comments.

* Linting

* Fixed test.

* Fixed base URL

* Fixed typechecking.

* Type checking

* Moved setting of email state to default service

* Added comments.

* Consolidated SSO URL formatting

* Updated comment

* Fixed reference.

* Fixed missing parameter.

* Initialized service.

* Added comments

* Added initialization of new service

* Made email optional due to CLI.

* Fixed comment on handleSsoClick.

* Added SSO email persistence to v1 component.

* Updated login email service.

* Updated setting of remember me

* Removed unnecessary input checking and rearranged functions

* Fixed name

* Added handling of Remember Email to old component for passkey click

* Updated v1 component to persist the email on Continue click

* Fix merge conflicts.

* Merge conflicts in login component.

* Persisted login email on v1 browser component.

* Merge conflicts

* fix(snap) [PM-17464][PM-17463][PM-15587] Allow Snap to use custom callback protocol

* Removed Snap from custom protocol workaround

* Fixed tests.

* Updated case numbers on test

* Resolved PR feedback.

* PM-11502 - LoginEmailSvcAbstraction - mark methods as abstract to satisfy strict ts.

* Removed test

* Changed to persist on leaving fields instead of button click.

* Fixed type checking.

---------

Co-authored-by: Bernd Schoolmann <mail@quexten.com>
Co-authored-by: Jared Snider <jsnider@bitwarden.com>
Co-authored-by: Jared Snider <116684653+JaredSnider-Bitwarden@users.noreply.github.com>
2025-04-10 18:58:49 -04:00
Jonathan Prusik
e88813e983 remove duplicate message catalog keys (#14228) 2025-04-10 22:01:28 +00:00
Alec Rippberger
1e7d54f7fb fix(auth): [PM-1779] replace wildcard with window.location.origin in postMessage
Improve security by using specific origin instead of wildcard in postMessage calls to prevent potential information leakage to third parties.

PM-1779
2025-04-10 14:55:26 -05:00
Vijay Oommen
3ad6a98e21 PM-13404 sort fix (#14195) 2025-04-10 14:35:22 -05: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