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

4991 Commits

Author SHA1 Message Date
Patrick-Pimentel-Bitwarden
1f60bcdcc0 feat(change-password): [PM-18720] (#5319) Change Password Implementation for Non Dialog Cases (#15319)
* feat(change-password-component): Change Password Update [18720] - Very close to complete.

* fix(policy-enforcement): [PM-21085] Fix Bug with Policy Enforcement - Removed temp code to force the state I need to verify correctness.

* fix(policy-enforcement): [PM-21085] Fix Bug with Policy Enforcement - Recover account working with change password component.

* fix(policy-enforcement): [PM-21085] Fix Bug with Policy Enforcement - Made code more dry.

* fix(change-password-component): Change Password Update [18720] - Updates to routing and the extension. Extension is still a wip.

* fix(change-password-component): Change Password Update [18720] - Extension routing changes.

* feat(change-password-component): Change Password Update [18720] - More extension work

* feat(change-password-component): Change Password Update [18720] - Pausing work for now while we wait for product to hear back.

* feat(change-password-component): Change Password Update [18720] - Removed duplicated anon layouts.

* feat(change-password-component): Change Password Update [18720] - Tidied up code.

* feat(change-password-component): Change Password Update [18720] - Small fixes to the styling

* feat(change-password-component): Change Password Update [18720] - Adding more content for the routing.

* feat(change-password-component): Change Password Update [18720] - Removed circular loop for now.

* feat(change-password-component): Change Password Update [18720] - Made comments regarding the change password routing complexities with change-password and auth guard.

* feat(change-password-component): Change Password Update [18720] - Undid some changes because they will be conflicts later on.

* feat(change-password-component): Change Password Update [18720] - Small directive change.

* feat(change-password-component): Change Password Update [18720] - Small changes and added some clarification on where I'm blocked

* feat(change-password-component): Change Password Update [18720] - Org invite is seemingly working, found one bug to iron out.

* refactor(change-password-component): Change Password Update [18720] - Fixed up policy service to be made more clear.

* docs(change-password-component): Change Password Update [18720] - Updated documentation.

* refactor(change-password-component): Change Password Update [18720] - Routing changes and policy service changes.

* fix(change-password-component): Change Password Update [18720] - Wrapping up changes.

* feat(change-password-component): Change Password Update [18720] - Should be working fully

* feat(change-password-component): Change Password Update [18720] - Found a bug, working on password policy being present on login.

* feat(change-password-component): Change Password Update [18720] - Turned on auth guard on other clients for change-password route.

* feat(change-password-component): Change Password Update [18720] - Committing intermediate changes.

* feat(change-password-component): Change Password Update [18720] - The master password policy endpoint has been added! Should be working. Testing now.

* feat(change-password-component): Change Password Update [18720] - Minor fixes.

* feat(change-password-component): Change Password Update [18720] - Undid naming change.

* feat(change-password-component): Change Password Update [18720] - Removed comment.

* feat(change-password-component): Change Password Update [18720] - Removed unneeded code.

* fix(change-password-component): Change Password Update [18720] - Took org invite state out of service and made it accessible.

* fix(change-password-component): Change Password Update [18720] - Small changes.

* fix(change-password-component): Change Password Update [18720] - Split up org invite service into client specific implementations and have them injected into clients properly

* feat(change-password-component): Change Password Update [18720] - Stopping work and going to switch to a new branch to pare down some of the solutions that were made to get this over the finish line

* feat(change-password-component): Change Password Update [18720] - Started to remove functionality in the login.component and the password login strategy.

* feat(change-password-component): Change Password Update [18720] - Removed more unneded changes.

* feat(change-password-component): Change Password Update [18720] - Change password clearing state working properly.

* fix(change-password-component): Change Password Update [18720] - Added docs and moved web implementation.

* comments(change-password-component): Change Password Update [18720] - Added more notes.

* test(change-password-component): Change Password Update [18720] - Added in tests for policy service.

* comment(change-password-component): Change Password Update [18720] - Updated doc with correct ticket number.

* comment(change-password-component): Change Password Update [18720] - Fixed doc.

* test(change-password-component): Change Password Update [18720] - Fixed tests.

* test(change-password-component): Change Password Update [18720] - Fixed linting errors. Have more tests to fix.

* test(change-password-component): Change Password Update [18720] - Added back in ignore for typesafety.

* fix(change-password-component): Change Password Update [18720] - Fixed other type issues.

* test(change-password-component): Change Password Update [18720] - Fixed tests.

* test(change-password-component): Change Password Update [18720] - Fixed more tests.

* test(change-password-component): Change Password Update [18720] - Fixed tiny duplicate code.

* fix(change-password-component): Change Password Update [18720] - Fixed desktop component.

* fix(change-password-component): Change Password Update [18720] - Removed unused code

* fix(change-password-component): Change Password Update [18720] - Fixed locales.

* fix(change-password-component): Change Password Update [18720] - Removed tracing.

* fix(change-password-component): Change Password Update [18720] - Removed duplicative services module entry.

* fix(change-password-component): Change Password Update [18720] - Added comment.

* fix(change-password-component): Change Password Update [18720] - Fixed unneeded call in two factor to get user id.

* fix(change-password-component): Change Password Update [18720] - Fixed a couple of tiny things.

* fix(change-password-component): Change Password Update [18720] - Added comment for later fix.

* fix(change-password-component): Change Password Update [18720] - Fixed linting error.

* PM-18720 - AuthGuard - move call to get isChangePasswordFlagOn down after other conditions for efficiency.

* PM-18720 - PasswordLoginStrategy tests - test new feature flagged combine org invite policies logic for weak password evaluation.

* PM-18720 - CLI - fix dep issue

* PM-18720 - ChangePasswordComp - extract change password warning up out of input password component

* PM-18720 - InputPassword - remove unused dependency.

* PM-18720 - ChangePasswordComp - add callout dep

* PM-18720 - Revert all anon-layout changes

* PM-18720 - Anon Layout - finish reverting changes.

* PM-18720 - WIP move of change password out of libs/auth

* PM-18720 - Clean up remaining imports from moving change password out of libs/auth

* PM-18720 - Add change-password barrel file for better import grouping

* PM-18720 - Change Password comp - restore maxWidth

* PM-18720 - After merge, fix errors

* PM-18720 - Desktop - fix api service import

* PM-18720 - NDV - fix routing.

* PM-18720 - Change Password Comp - add logout service todo

* PM-18720 - PasswordSettings - per feedback, component is already feature flagged behind PM16117_ChangeExistingPasswordRefactor so we can just delete the replaced callout (new text is in change-password comp)

* PM-18720 - Routing Modules - properly flag new component behind feature flag.

* PM-18720 - SSO Login Strategy - fix config service import since it is now in shared deps from main merge.

* PM-18720 - Fix SSO login strategy tests

* PM-18720 - Default Policy Service - address AC PR feedback

---------

Co-authored-by: Jared Snider <jsnider@bitwarden.com>
Co-authored-by: Jared Snider <116684653+JaredSnider-Bitwarden@users.noreply.github.com>
2025-07-10 09:08:25 -04:00
SmithThe4th
ec015bd253 Fixed stale data after moving anb item to a collection (#15553) 2025-07-09 20:55:16 -04:00
Andreas Coroiu
90b7197279 [PM-20210] Expand badge API (#14801)
* feat: scaffold new badge service structure

* feat: add state override

* feat: add priority-based override

* feat: implement state clearing

* feat: add docs to badge service functions

* feat: add support for setting icon

* feat: implement unsetting

* feat: implement setting text

* feat: add support for setting background

* fix: default icon

* feat: clean up old update-badge

* feat: save state using StateProvider

* feat: migrate auth status badge updating

* feat: migrate autofill badge updating

* fix: auto set to default values

* chore: woops, clean up copy-pasta

* fix: lint and types

* chore: nit updates from PR review

* feat: remove ability to send in arbitrary icons

* feat: move init to separate function

* fix: wrong import

* fix: typing issues

* fix: try again to fix typing issues

* feat: scaffold tests for new tabId-specific states

* feat: add diffence util function

* feat: add support for limiting state to tabId

* feat: re-implement autofill badge updater to only update when a tab actually changes

* feat[wip]: always set all tabs when changing the general state

* feat[wip]: implement general states for mutliple open tabs

* feat[wip]: implement fully working multi-tab functionality

* feat: optimize api calls

* feat: adjust storage

* chore: clean up old code

* chore: remove unused log service

* chore: minor tweaks

* fix: types

* fix: race condition causing wrong icon on startup

The service assumes that the first emission from the state will be an empty one and discards it
(techincally it just doesn't act on it because pairwise requires a minimum two emissions). This
caused issues when a service is able to update the state before the observable got a change to
properly initialize. To fix this we simply force an empty emission before anything else,
that way we will always react to the emission from the state provider (because that would end up
being the second emission). We then use distinctUntilChanged to avoid unecessarily acting on
an empty state.
2025-07-09 15:38:33 -04:00
Thomas Avery
09fb74679d [PM-21912] Require userID for KeyService's hasUserKey (#14890)
* Update keyService hasUserKey to require userId and remove unused/duplicate methods

* Update lock component consumer

* Update send commands to pass in userId

* update SSO login to pass in userID

* Update bw serve to pass in userID

* remove unneeded method from electron-key.service
2025-07-09 11:53:16 -05:00
Jordan Aasen
9f1531a1b2 [PM-22375] - [Vault] [Clients] Sort My Items collection to the top of Vault collection filters (#15332)
* WIP - default collection sorting

* apply filtering to popup list filters service.

* add tests. add feature flag checks

* finalize my items collection filters

* fix type error

* re-add service

* re-add comment

* remove unused code

* fix sorting logic

* shorten variable name to fit one line

* fix error

* fix more errors

* abstract logic to vault filter service

* fix test

* export sort as function instead of adding to class

* fix more tests

* add collator arg

* remove ts-ignore. fix type errors

* remove optional param

* fix vault filter service
2025-07-09 09:37:38 -06:00
Bernd Schoolmann
e7d5cde105 [BEEEP/PM-22958] Update russh version, and add sessionbind information (#14602)
* Update russh version, and add sessionbind information

* Cargo fmt

* Clean up to fix lint

* Attempt to fix windows

* Use expect instead of unwrap

* Fix cargo toml
2025-07-09 16:52:47 +02:00
Bryan Cunningham
682f1f83d9 [CL-295] Use aria-disabled on buttons (#15009)
* Use aria-disabled for button disabled state

* remove import from testing story

* use aria-disabled attr on bitLink button

* remove unnecessary story attrs

* remove disabled attr if on button element

* create caprture click util

* use caprture click util and fix tests

* fix lint errors

* fix event type

* combine click capture and attr modification

* fix lint error. Commit spec changes left out of last commit in error

* inject element ref

* move aria-disabled styles to common

* move disabled logic into util

* fix broken async actions stories

* fix broken tests asserting disabled attr

* have test check for string true vlalue

* fix Signal type

* fix form-field story import

* remove injector left in error

* aria-disable icon buttons

* update form component css selector to look for aria-disabled buttons

* use correct types. pass nativeElement directly

* add JSDoc comment for util function

---------

Co-authored-by: Will Martin <contact@willmartian.com>
2025-07-08 16:13:25 -04:00
SmithThe4th
609ca43693 [PM-23303] Cards showing in trash (#15517)
* Filter out restricted items from all decrypted ciphers

* Fixed tests
2025-07-08 13:59:00 -04:00
Bernd Schoolmann
d1b1b5c57b Remove "require MP on restart option on mac" (#15395) 2025-07-08 17:52:32 +00:00
SmithThe4th
b92879a839 Fix card filter restriction when user belongs to multiple orgs (#15521) 2025-07-08 13:52:10 -04:00
Jared Snider
b9f930a609 fix(tde-offboarding): Auth/PM-19165 - Handle TDE offboarding on an untrusted device with warning message (#15430)
When a user logs in via SSO after their org has offboarded from TDE, we now show them a helpful error message stating that they must either login on a Trusted device, or ask their admin to assign them a password.

Feature flag: `PM16117_SetInitialPasswordRefactor`
2025-07-08 09:58:03 -07:00
bw-ghapp[bot]
437d27377b Autosync the updated translations (#15470)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
Co-authored-by: Daniel James Smith <2670567+djsmith85@users.noreply.github.com>
2025-07-08 16:46:53 +02:00
renovate[bot]
aadb8853b1 [deps] Vault: Update @koa/multer to v4 (#15502)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Nick Krantz <125900171+nick-livefront@users.noreply.github.com>
2025-07-08 09:19:52 -05:00
✨ Audrey ✨
109fb7fb94 [PM-23531] rename SendCreatedIcon to ActiveSendIcon (#15528) 2025-07-08 09:54:55 -04:00
bw-ghapp[bot]
632f1ab535 Autosync the updated translations (#15469)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
Co-authored-by: Daniel James Smith <2670567+djsmith85@users.noreply.github.com>
2025-07-07 18:06:01 +00:00
bw-ghapp[bot]
e33792357d Autosync the updated translations (#15468)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2025-07-07 17:42:51 +00:00
Bryan Cunningham
a6ae7d23f7 [CL-686] updated hover states (#15463) 2025-07-07 11:28:38 -04:00
Nick Krantz
2e03b8cbac [PM-22180] Setup Extension Videos (#15419)
* remove placeholder image

* add videos for setup extension

* add support for mobile viewports

* add mobile/responsiveness for setup extension page

* add videos from `assets.bitwarden.com`

* align with figma for borders and shadow

* make text responsive for setup headings

* remove period

* add tests

* add tests for video sequence

* force font weight on `h2`

* add 8px to bottom margin of video container
2025-07-07 08:56:31 -05:00
Bryan Cunningham
b4d87007ba [CL-718] nav updates (#15226)
* add basic new nav item styling

* update alt-3 bg color

* add x padding to item

* remove copy left in error

* style app switcher to match nav items

* adding new button hover colors

* add new logo lockups

* use new logos in web vault

* fix color and svg fills

* use set height for nav items

* optimize SVGs

* move if logic

* use rem for icon size

* move shield logo

* use shield svg for collapsed icon

* remove unused eslint disable directive

* run prettier

* remove variables

* update logo hover styles

* use more standard flow control syntax

* update admin console logo svg

* add new hover variables

* use class instead of fill

* use variable for logo hover

* remove unnecessary container

* use hover variable for nav switcher

* use correct variables for fill colors

* update hover state to use variable left in error

* give icon width to preserve text alignment

* remove tree story as functionality no longer supported

* remove nested styles helper

* remove obsolete afterContentInit

* remove tree example from layout story

* remove tree example from secondary layout story

* remove tree example from kitchen sink story

* Fix interaction test

* remove remaining references to tree variant
2025-07-03 16:12:56 -04:00
Daniel Riera
20a5f5c7d9 [PM-23082] The v3 notification is using the v2 notification sizing in some cases (#15370)
* PM-23082

* add tests
2025-07-03 13:26:13 -04:00
cyprain-okeke
2d897e8cea Fix the failing billing steps (#15459) 2025-07-03 18:07:51 +01:00
Todd Martin
d1c6b334b1 feat(DuckDuckGo): [PM-9388] Add new device type for DuckDuckGo browser
* Add new device type for DuckDuckGo browser

* Added feature support property for sync domains

* Added new features

* Added isDuckDuckGo() to CLI

* Addressed PR feedback.

* Renamed new property

* Fixed rename that missed CLI.
2025-07-03 11:27:28 -04:00
Daniel Riera
0311d0aaab [PM-22391] display simple dialog when advanced matching strategy selected for login ciphers (#15260)
* PM-22391 WIP

* update autofill base desc

* fill cog when match uri open

* switch to button, populate dialog when option selected

* default strategy hint

* update match hint string and dialog behavior

* clean up naming for callbacks and variables

* revert global setting hint — this will be addressed separately

* add tests

* update copy and remove repeated copy to use quoted string

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

Co-authored-by: Nick Krantz <125900171+nick-livefront@users.noreply.github.com>

* add translation to web and desktop, make continue and cancel required

---------

Co-authored-by: Nick Krantz <125900171+nick-livefront@users.noreply.github.com>
2025-07-03 10:41:20 -04:00
Nick Krantz
ab4af7deed [PM-22179] Redirect user to /setup-extension (#15375)
* add end user feature flag

* add initial setup extension component and route

* redirect users from registration completion to the setup extension page

* add `hideIcon` to anon layout for web
- matches implementation on the browser.

* integrate with anon layout for extension wrapper

* add initial loading state

* conditionally redirect the user upon initialization

* redirect the user to the vault if the extension is installed

* add initial copy for setup-extension page

* add confirmation dialog for skipping the extension installation

* add success state for setup extension page

* only show loggedin toast when end user activation is not enabled.

* add image alt

* lower threshold for polling extension

* close the dialog when linking to the vault

* update party colors

* use the platform specific registration service to to only forward the web registrations to `/setup-extension`

* call `super` rather than `/vault` directly, it could change in the future
2025-07-03 06:14:25 -05:00
cd-bitwarden
cef6a5e8d0 [SM-1273] Adding enums for additional event logs for secrets (#15274)
* Adding enums for additional event logs for secrets

* updating messages

* Updating messages to be consistent for logs
2025-07-03 10:49:39 +02:00
Shane Melton
ece5ebe844 [PM-17663] Fix extension Fill button display on page load (#15359)
* [PM-17663] Convert vault-list-items-container inputs to signals

- Cleaned up some grouping logic
- Cleaned up strict null checks and removed eslint comment

* [PM-17663] Prefer undefined over null

* [PM-17663] Fix flashing Fill buttons
2025-07-02 13:19:17 -07:00
Github Actions
87a42cc507 Bumped Desktop client to 2025.7.0 2025-07-02 15:40:45 +00:00
Jared Snider
0d204fb9f7 feat(manifest): [Auth/PM-14942] add notifications to requested permissions (#15316) 2025-07-02 10:30:41 -04:00
SmithThe4th
1837974e0a show failed to decrypt dialog when viewing a cipher on desktop (#15405) 2025-07-02 09:41:35 -04:00
Daniel García
616ac9a3c8 Fix Clippy 1.88 warnings (#15396)
* Fix Clippy 1.88 warnings

* Fmt
2025-07-01 22:36:18 +02:00
Anders Åberg
5eca3a5916 [PM-18809] Passkey: use ArrayBuffer instead of Uint8Array (#15092)
* Passkey: use ArrayBuffer instead of Uint8Array to conform WebAuthn spec

* ArrayBufferView generics was too modern for this project

* Correctly update the types from Uint8arrays to ArrayBuffers

* Fixed broken tests + bugs

* Removed arrayBufferViewToArrayBuffer as it's not needed in this invocation paths

---------

Co-authored-by: ozraru <ozraru@raru.work>
Co-authored-by: Todd Martin <106564991+trmartin4@users.noreply.github.com>
2025-07-01 21:00:13 +02:00
Addison Beck
c9aa8498c7 fix(desktop): save zoom level to state when it is adjusted (#15406) 2025-07-01 14:03:08 -04:00
Tom
832e4b16f0 Org permission guards for accessing reports and displaying access intelligence (#15060) 2025-07-01 13:58:12 -04:00
Github Actions
3ae5e063a7 Bumped client version(s) 2025-07-01 17:11:29 +00:00
Github Actions
2810f2aaaf Bumped client version(s) 2025-07-01 17:02:17 +00:00
rr-bw
5639668d3f feat:(set-initial-password): [Auth/PM-18457] Create SetInitialPasswordComponent (#14186)
Creates a `SetInitialPasswordComponent` to be used in scenarios where an existing and authed user must set an initial password.

Feature Flag: `PM16117_SetInitialPasswordRefactor`
2025-06-30 12:39:53 -07:00
Bernd Schoolmann
7eb7507229 Enable ptrace prevention on Linux (except snap) (#15204) 2025-06-30 14:04:31 -04:00
Jared Snider
64eb9b56d7 feat(anon-layout): [Auth/PM-17737] AnonLayout - Consolidate and extend max width control (#15362)
* PM-17737 - feat(anon-layout-width) - consolidate width setting to control title, subtitle, and content together for a unified UX. Removes all titleAreaMaxWidth usages and the titleAreaMaxWidth property entirely.

* PM-17737 - AnonLayout - consolidate stories into playground (w/ the exception of default icon story b/c I can't figure how to omit the icon conditionally).

* PM-17737 - AnonLayoutStories - show secondary content by default

* PM-17737 - Per PR feedback, adjust maxWidthClass logic to remove string concatenation as it can result in tailwind classes not being compiled and available at run time.

* PM-17737 - Per PR feedback, refactor stories to use configuration to generate all the scenarios so we can still track them via snapshots

* PM-17737 - Fix anon layout mdx reference

* PM-17737 - Make AnonLayoutMaxWidths singular

* PM-17737 - When inside of a max width container, the icon container needs explicit width to be able to scale viewbox icons that don't have defined heights / widths
2025-06-30 13:47:31 -04:00
Thomas Rittson
80116c7e54 Use organizations$ observable instead of class member (#15377) 2025-06-30 11:18:56 -05:00
SmithThe4th
4bfcc9d076 [PM-23008] Error when attempting to export vault (#15397)
* moved restrictedItemTypesService creation before export service is created

* Fixed cliRestrictedItemTypesService arrangement
2025-06-30 15:32:19 +00:00
Vicki League
04ddea5bf3 [CL-473] Adjust popup page max width and scroll containers (#14853) 2025-06-30 09:39:39 -04:00
Github Actions
0772e5c316 Bumped client version(s) 2025-06-30 13:13:00 +00:00
cyprain-okeke
043d8b3533 Dont skip payment details if triallength is zero (#15268) 2025-06-30 13:58:41 +01:00
Maciej Zieniuk
8fec95671d [PM-22090] Delete password on Windows desktop throws incorrect error (#15070)
* delete password on Windows desktop throws incorrect error

* delete password on Windows desktop throws incorrect error

* napi documentation improvements

* napi documentation update

* better logging verbosity

* desktop native clippy errors

* unit test coverage

* napi TS documentation JS language friendly

* fixing merge conflicts
2025-06-30 12:38:51 +02:00
bw-ghapp[bot]
a05776c989 Autosync the updated translations (#15392)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2025-06-30 09:58:29 +00:00
bw-ghapp[bot]
f0a7592036 Autosync the updated translations (#15390)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2025-06-30 09:58:02 +00:00
bw-ghapp[bot]
7646f3e1e7 Autosync the updated translations (#15391)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2025-06-30 09:57:52 +00:00
Nick Krantz
700f54357c [PM-20041] Marking Task as complete (#14980)
* When saving a cipher, mark any associated security tasks as complete

* fix test error from encryption refactor

* hide security tasks that are associated with deleted ciphers (#15247)

* account for deleted ciphers for atRiskPasswordDescriptions
2025-06-27 16:04:51 -05:00
Jason Ng
7a1bb81c5f [PM-21719] update desktop to address personal items who cant assign to collections (#15369) 2025-06-27 15:49:49 -04:00
tangowithfoxtrot
029713fe28 allow disabling hardware acceleration with env var (#14768) 2025-06-27 12:22:49 -07:00