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

2254 Commits

Author SHA1 Message Date
Patrick-Pimentel-Bitwarden
c828b3c4f4 Auth/pm 23620/auth request answering service (#15760)
* feat(notification-processing): [PM-19877] System Notification Implementation - Implemented auth request answering service.

* test(notification-processing): [PM-19877] System Notification Implementation - Added tests.
2025-08-28 13:47:05 -04:00
Github Actions
3b5342dfb3 Bumped client version(s) 2025-08-28 16:58:09 +00:00
Jonathan Prusik
8aba7757ab [PM-25122] Top-layer inline menu population (#16175)
* cleanup inline menu content service

* move inline menu button and listElement to top-layer popovers

* update tests

* do not hidePopover on teardown

* watch all top layer candidates and attach event listeners to ensure they stay below the owned experience

* add extra guards to top page observers

* fix checks and cleanup logic

* fix typing issues

* include dialog elements in top layer candidate queries

* send extension message before showing popover
2025-08-28 12:50:57 -04:00
Andreas Coroiu
ff64cf5063 Fix a cache race condition in local backed session storage (#16177)
* fix: cache race condition

* fix: typo and order

* feat: tweak log message
2025-08-28 13:30:57 +02:00
Daniel Riera
cde4890e5e PM-24791 [Defect] White box behind Save login notification UI (#16112)
* PM-24791

* update snapshots
2025-08-27 19:34:35 +00:00
Nick Krantz
fcc2bc96d1 [PM-21024] Use Server for Password Change URLs (#14912)
* migrate change login password service to use bitwarden server rather than fetch directly

- avoids CSP entirely

* add `HelpUsersUpdatePasswords` policy to policy type

* add `HelpUsersUpdatePasswordsPolicy` components

* allow list description override for policy description

* add `HelpUsersUpdatePasswordsPolicy` when the feature flag is enabled

* apply `HelpUsersUpdatePasswords` to everyone in an org

* use policy to guard the well known password API

* fix tests

* refactor to use `policyAppliesToUser$`

* remove policy work for change password - this was removed from scope

* update copy for show favicon setting - it now handles both favicons and change password urls

* remove favicon setting description - no longer needed

* only call change password service when the setting is enabled

* add popover for permitting cipher details

* import permit popover directly into the settings component

* replace `nativeFetch` with `fetch`

* use string literal to construct URL rather than `URL` class
- The `getIconsUrl` can return with an appended path which the new URL constructor will strip when passed as the base parameter

* use string literal to construct URL rather than `URL` class instance (#16045)

- The `getIconsUrl` can return with an appended path which the new URL constructor will strip when passed as the base parameter

* [PM-24716] UI changes for Change URI work (#16043)

* use platform service to launch the URI
- this allows desktop to open a separate browser instance rather than use electron

* fix spacing on web app

* add bitLink for focus/hover states

* remove spacing around links
2025-08-27 09:03:44 -05:00
neuronull
34cd41988a Remove EnableNewCardCombinedExpiryAutofill feature flag (#16131) 2025-08-26 12:44:08 -06:00
Todd Martin
ad2dfe1e99 feat(notifications): [PM-19388] Enable push notifications on locked clients
* Add back notifications connection on locked accounts

* Updated tests.

* Make sure web push connection service is started synchronously

* Fixed merge conflicts.

---------

Co-authored-by: Justin Baur <19896123+justindbaur@users.noreply.github.com>
2025-08-26 11:41:15 -04:00
Miles Blackwood
fb4f87958d Uses setTimeout to shim requestIdleCallback (#16143)
* Makes inline menu handler async to resolve Safari issue.

* Don't use idle callback deadline as timeout delay.

* Revert "Makes inline menu handler async to resolve Safari issue."

This reverts commit d3f7461cfaae440f33d5be48278c01e5d6f74dde.

---------

Co-authored-by: Robyn MacCallum <robyntmaccallum@gmail.com>
2025-08-26 11:35:23 -04:00
Oscar Hinton
492e2b8d06 Enable the angular check (#15210)
Enables the angular check introduced by #15168.
2025-08-26 17:27:41 +02:00
bw-ghapp[bot]
ebe133f579 Autosync the updated translations (#16159)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2025-08-26 13:50:35 +00:00
Vince Grassia
c7b2e3f9c2 Fix typo (#16152) 2025-08-26 11:09:09 +02:00
Jordan Aasen
9ed69ef4b8 [PM-24304][PM-24305] - [Defect] Some fields are not disabled when editing an item from My Vault (#15982)
* disable all remaining form fields for editing personally owned My Items

* fix failing tests

* ensure collection field is also properly disabled

* clean up logic

* fix failing test

* fix test

* refactor variable to avoid using `is` prefix

* directly reference parent form for status rather than subscribe to it

* refactor subscription for form status changes

* use observable as an Output

* disable attachment button on desktop vault when the form

* disable custom field components when custom fields already exist and parent form is disabled

* disable attachments button in the browser when the edit form is disabled

* grab icon button instance for disabled state

---------

Co-authored-by: Nick Krantz <nick@livefront.com>
2025-08-25 15:48:00 -07:00
Shane Melton
e10d13faa8 [PM-22695] Remove unused vault service (#16134)
* [PM-22695] Remove obsolete browser vault filter service

* [PM-22695] Remove obsolete vault browser state service
2025-08-25 14:50:54 -07:00
Justin Baur
5f7f1d1924 Resolve state <-> state-test-utils circular dependency (#16093)
* Resolve state <-> state-test-utils circular dependency

* Fix type errors
2025-08-25 12:38:28 -04:00
bw-ghapp[bot]
60762b728c Autosync the updated translations (#16117)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2025-08-25 10:58:42 +00:00
Shane Melton
4676a122da [PM-24143] Search performance improvements (#16070)
* [PM-24143] Add perUserCache$ to SearchService index$

* [PM-24143] Cleanup and optimize isSearchable

* [PM-24143] Remove unused search flags and subscription from the vault-items component

* [PM-24143] Add search text for desktop vault items. Consolidate SearchTextDebounceInterval constant to SearchService

* [PM-24143] Ensure cipher search indexing is non-blocking

* [PM-24143] Remove redundant index ciphers operation

* [PM-24143] Add search performance measurements

* [PM-24143] Remove artificial delay

* [PM-24143] Remove startWith from index$ to avoid basic search with lunr queries

* [PM-24143] Re-organize isSearchable to check long lunr queries for index existence
2025-08-22 09:32:36 -07:00
Github Actions
ba7e5fdcde Bumped client version(s) 2025-08-22 16:21:49 +00:00
Jonathan Prusik
b87cb2ba24 [PM-25025] Additional defense against top-layer content (#16101)
* additional defense against top-layer content

* fix error and update tests
2025-08-22 11:09:00 -04:00
Daniel García
12df7def61 [PM-19479] Client-Managed SDK state definition (#14839)
* [PM-19479] Client-Managed SDK state definition

* Remove test code

* Update based on latest sdk

* Add DB config

* Remove uuid conversion step

* Move mapper into separate file

* Revert to client managed state

* Move mapper to Cipher

* Typo

---------

Co-authored-by: Andreas Coroiu <andreas.coroiu@gmail.com>
2025-08-22 14:21:52 +02:00
Justin Baur
7aca0cdbd7 Fix AppComponent.ngOnInit throwing an error (#16115) 2025-08-21 17:28:03 -04:00
Thomas Avery
a6e7efddeb [PM-23627] Require publicKey for keyService getFingerprint (#15933)
* require public key on keyService getFingerprint

* Update consumers and add error handling & logging
2025-08-21 15:49:19 -05:00
Vicki League
805b6fe7aa [CL-573] Move all svg icons to new libs/assets (#16020)
* create libs/assets

* treeshake lib and filter out non-icons from icon story

* update docs

* fix icon colors in browser and desktop

* better name for vault icon

* move illustrations
2025-08-21 11:35:59 -05:00
Bryan Cunningham
b0f46004ff [CL-796] unrevert aria disabled buttons (#15924)
* 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

* WIP

* WIP

* inject service in directive

* remove console log

* remove disabled attr left in error

* update comments

* remove unnecessary logic

* remove :disabled psuedo selector as its apparently not needed

* fix event type

* coerce disabled attr to boolean

* remove duplicate style concat left by conflict resolution

* add back buttonStyles default

* move reactive logic back to helper

* add test to ensure menu button doesn't open when trigger is disabled

* remove menu toggle to fix tests

* remove disabled menu story

* Fix usage of bitLink in verify email component

* Update varaible name

* no longer pass destroyRef
2025-08-21 09:14:08 -04:00
Patrick-Pimentel-Bitwarden
719a43d050 Feat PM-19877 System Notification Processing (#15611)
* feat(notification-processing): [PM-19877] System Notification Implementation - Minor changes to popup logic and removed content in login component.

* docs(notification-processing): [PM-19877] System Notification Implementation - Added more docs.

* docs(notification-processing): [PM-19877] System Notification Implementation - Added markdown document.

* fix(notification-processing): [PM-19877] System Notification Implementation - Updated condition for if notification is supported.

* fix(notification-processing): [PM-19877] System Notification Implementation - Updated services module with correct platform utils service.
2025-08-20 12:42:16 -04:00
Konrad
c1fab79ae3 [PM-24774] importTargetHint variable inflection fix (#16025)
* Prepare full string

* Format fix

* Fix lint: Execute `npm run prettier`

---------

Co-authored-by: Daniel James Smith <2670567+djsmith85@users.noreply.github.com>
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
2025-08-20 18:09:19 +02:00
Bryan Cunningham
4449d8baf6 [CL-689][CL-799] Fix Icon button a11y errors (#15750)
* Throw error if appA11yTitle is null in icon button

* Add required label input

* Fix icon button errors in CL components and storeis

* fix popover aria-label errors

* remove commented code

* add labels to icon buttons in browser

* add labels to icon buttons in web

* add labels to icon buttons in license

* add labels to icon buttons in send

* add labels to icon buttons in angular

* fix missing pipe error

* fix sso icon button missed in error

* update labels in vault

* add section expand button label

* Adding labels to icon buttons

* Add lint rule to not allow icon buttons without label input

* rename util file

* trigger updates on title change

* update eslint rule name and folder

* add edit collection label to vault headers

* fix web header story label

* add show/hide summary labels

* update summary message

* fix breadcrumbs label message

* fix JSDoc to use correct input

* remove commented code

* use label as aria-label always. Remove init function

* add moreBreadcrumbs translation message to other apps

* add @bitwarden/team-ui-foundation as code owner for component eslint rules

* switch title to const variable

* add jsdoc comment on what the label input is used for

* [PM-22415] Tax ID notifications for Organizations and Providers (#15996)

* [NO LOGIC] Rename BillableEntity to BitwardenSubscriber

This helps us maintain paraody with server where we call this choice type ISubscriber. I chose BitwardenSubscriber to avoid overlap with RxJS

* [NO LOGIC] Move subscriber-billing.client to clients folder

* [NO LOGIC] Move organization warnings under organization folder

* Move getWarnings from OrganizationBillingApiService to new OrganizationBillingClient

I'd like us to move away from stashing so much in libs and utilizing the JsLibServicesModule when it's not necessary to do so. These are invocations used exclusively by the Web Vault and, until that changes, they should be treated as such

* Refactor OrganizationWarningsService

There was a case added to the Inactive Subscription warning for a free trial, but free trials do not represent inactive subscriptions so this was semantically incorrect. This creates another method that pulls the free trial warning and shows a dialog asking the user to subscribe if they're on one.

* Implement Tax ID Warnings throughout Admin Console and Provider Portal

* Fix linting error

* Jimmy's feedback

* remove duplicate messages keys

* revert changes to popover stories

* add back dupe myItems key for now as it was already here

* fix directive type errors

* remove variable left in error from merge conflict

* revert unintentional change to reports layout

* add back reports change

---------

Co-authored-by: Alex Morask <144709477+amorask-bitwarden@users.noreply.github.com>
2025-08-19 15:15:41 -04:00
Andreas Coroiu
1a57ad3fc5 fix(badge): [PM-24661] Improve performance of badge state calculation for large number of tabs
* refactor: rewrite the badge service to only calculate states for active tab

This also fixes an issue where the `difference` function didn't work and caused
all tabs to update for every single state update.

* fix: compilation issue

* feat: add error logging

* fix: linting

* fix: badge clearing on reload on firefox

* feat: optimize observable

* feat(wip): update all active tabs

tests are broken

* fix: existing tests

* feat: add new tests
2025-08-19 12:05:06 -04:00
Jonathan Prusik
e942645d44 [PM-24936] Prevent inline menu inheritance of potentially dangerous opacity from host body and above (#16063)
* prevent inline menu inheritance of dangerous opacity from host body and above

* cleanup and update tests

* check page opacity after html/body attribute mutations

* update tests

* cleanup
2025-08-18 20:45:35 -04:00
Will Martin
827c4c0301 [PM-15847] libs/components strict migration (#15738)
This PR migrates `libs/components` to use strict TypeScript.

- Remove `@ts-strict-ignore` from each file in `libs/components` and resolved any new compilation errors
- Converted ViewChild and ContentChild decorators to use the new signal-based queries using the [Angular signal queries migration](https://angular.dev/reference/migrations/signal-queries)
  - Made view/content children `required` where appropriate, eliminating the need for additional null checking. This helped simplify the strict migration.

---

Co-authored-by: Vicki League <vleague@bitwarden.com>
2025-08-18 15:36:45 -04:00
Justin Baur
939fd402c3 [PM-24677] Slim StateService down so it can be moved to state lib (#16021)
* Slim StateService down so it can be moved to state lib

* Fix accidental import changes

* Add `switchAccount` assertion

* Needs to use mock
2025-08-18 12:37:25 -04:00
Jonathan Prusik
0c166b3f94 remove BlockBrowserInjectionsByDomain feature flag (#16008) 2025-08-18 10:17:05 -04:00
Bernd Schoolmann
a60b7fed9a [PM-17667] Move key-generation service to KM ownership (#16015)
* Move key-generation service

* Update comment

* Add deprecation comments

* Fix firefox build

* Update comment

* Update DI import

* Update module imports
2025-08-15 23:49:49 +02:00
Vladimir Pakhomchik
931f8650cf Enhance trimAndRemoveNonPrintableText to support extended characters (#15919)
Co-authored-by: Jonathan Prusik <jprusik@users.noreply.github.com>
2025-08-15 13:26:42 -04:00
Daniel Riera
59169fb0c7 PM-23976 Autofilling not working in https://www.sketchup.com (#15990)
* PM-23976

* add space
2025-08-15 12:16:52 -04:00
Shane Melton
e7a55d3395 [PM-24710] Add a debounceTime to autofill currentPageDetails (#16029)
* [PM-24710] Add a debounceTime to currentPageDetails to ensure details collection content script has enough time to collect for details

* Adjust test observables to account for debounce

---------

Co-authored-by: Robyn MacCallum <robyntmaccallum@gmail.com>
2025-08-15 11:07:59 -04:00
Nick Krantz
7f841a4f06 remove PM8851_BrowserOnboardingNudge feature flag (#15956) 2025-08-15 08:55:37 -05:00
bw-ghapp[bot]
3643bd910e Autosync the updated translations (#16030)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2025-08-15 09:39:38 +00:00
bw-ghapp[bot]
efcc602696 Autosync the updated translations (#16026)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2025-08-15 11:09:17 +02:00
Miles Blackwood
89f797d45f Creates notification queue type standard. (#16009) 2025-08-14 18:43:48 -04:00
SmithThe4th
41ad0a7ef9 [PM-22693] Firefox - After creating a new item, the View Item screen is blank (#15868)
* Updated get cipher data to retrieve data from observable

* Fixed tests
2025-08-14 14:22:45 -04:00
Oscar Hinton
40455546d1 [CL-652] Remove bootstrap and enable tailwind preflight (#8071)
Wraps up the tailwind migration by removing bootstrap from the web vault.
2025-08-12 20:32:19 +02:00
Dave
0b057f4c68 fix(environment-selector): [PM-21214] Extension and desktop server selector have incorrect styling (#15920)
* refactor(environment-selector): [PM-21214] Lib Environment Selector Styling - Make component standalone.

* refactor(environment-selector): [PM-21214] Lib Environment Selector Styling - Convert template to bit-menu.

* refactor(environment-selector): [PM-21214] Lib Environment Selector Styling - Move component to its own folder.

* fix(environment-selector): [PM-21214] Lib Environment Selector Styling - Fix button role redundancy.

* fix(environment-selector): [PM-21214] Lib Environment Selector Styling - Remove unneeded data-testid attributes.

* fix(environment-selector): [PM-21214] Lib Environment Selector Styling - Arrow glyph should not override link styling.
2025-08-12 13:57:52 -04:00
Dave
ff11ca9133 fix(current-account-component): [Auth/PM-16263] Current account avatar outline should be blue. (#15973) 2025-08-12 12:50:17 -04:00
Nick Krantz
7ec916802b Remove pm-10609-end-user-notifications feature flag (#15958) 2025-08-11 14:25:33 -05:00
bw-ghapp[bot]
a5e9485fa1 Autosync the updated translations (#15975)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2025-08-11 15:45:32 +00:00
Nick Krantz
3c5fcfc7ef Navigate the user from the autofill nudge to the proper destination based on their browser (#15876) 2025-08-11 09:44:51 -05:00
Github Actions
f2d42138b6 Bumped client version(s) 2025-08-11 14:30:29 +00:00
bw-ghapp[bot]
9f6757dadc Autosync the updated translations (#15946)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2025-08-11 14:11:11 +02:00
Jason Ng
2ef8b1a6bf [PM-18066] new item details view (#15311)
* update item details v2 in libs for new view design. targets web, browser, and desktop
2025-08-07 13:21:24 -04:00