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

737 Commits

Author SHA1 Message Date
Alex Morask
d9d8050998 [PM-25463] Work towards complete usage of Payments domain (#16532)
* Use payment domain

* Fixing lint and test issue

* Fix organization plans tax issue

* PM-26297: Use existing billing address for tax calculation if it exists

* PM-26344: Check existing payment method on submit
2025-10-01 10:26:47 -05:00
Vijay Oommen
6499ecb6ee PM-26329 bug fixes to the cards (#16665) 2025-09-30 11:55:27 -05:00
Nick Krantz
727689d827 [PM-24534] Archive via CLI (#16502)
* refactor `canInteract` into a component level usage.

- The default service is going to be used in the CLI which won't make use of the UI-related aspects

* all nested entities to be imported from the vault

* initial add of archive command to the cli

* add archive to oss serve

* check for deleted cipher when attempting to archive

* add searchability/list functionality for archived ciphers

* restore an archived cipher

* unarchive a cipher when a user is editing it and has lost their premium status

* add missing feature flags

* re-export only needed services from the vault

* add needed await

* add prompt when applicable for editing an archived cipher

* move cipher archive service into `common/vault`

* fix testing code
2025-09-30 10:45:04 -04:00
Vijay Oommen
0bfc5daa7c [PM-26074] All Activities tab - Updated UI (#16587)
* PM-26074 simplified and update the all-activities tab

* PM-26074 removed learn more

* PM-26074 fixing missing line
2025-09-29 20:19:14 +00:00
Leslie Tilton
e784622f67 [PM-25613] Add report trigger logic (#16615)
* Add password trigger logic to report service. Also updated api to use classes that properly handle encstring with placeholders for upcoming usage

* Fix merged test case conflict

* Fix type errors and test cases. Make create data functions for report and summary
2025-09-29 14:37:23 -05:00
Vijay Oommen
4f79cc8c52 PM-26073 remove learn more (#16571) 2025-09-29 14:23:59 -05:00
Alex
3da89ee4e3 [PM-25616] Refactor app-table-row-scrollable component to use openApplication (#16523) 2025-09-29 10:28:55 -04:00
Vijay Oommen
90fb57817a [PM-25931] Integrations - can save only if owner (#16570) 2025-09-29 08:27:21 -05:00
Alex
979e370235 [PM-26031] Drawer Service State Refactoring (#16580)
* refactor(risk-insights-data.service): unify drawer state management with BehaviorSubject

- Replace individual drawer properties with unified drawerDetailsSubject
- Add reactive Observable getters for drawer state checking
- Update all drawer methods to use centralized state management

* risk-insights.component: add special case drawer state sync in component

- Add private _isDrawerOpen property for internal state tracking
- Subscribe to drawerDetails$ changes with takeUntilDestroyed cleanup
- Implement getter/setter for isDrawerOpen to sync component <-> service
- Enable two-way binding while maintaining reactive patterns

* risk-insights.component.html: replace drawer template with unified observable patterns

- Replace dataService.openDrawer with isDrawerOpen special case getter
- Wrap drawer in @if block with drawerDetails$ | async for single subscription
- Update isActiveDrawerType() calls to reactive isActiveDrawerType$() | async
- Replace direct property access with unified drawerDetails object
- Use modern @if control flow syntax for better performance

* all-applications.component.html: replace drawer state with reactive observable patterns

- Replace dataService.drawerInvokerId with drawerDetails$ | async in card highlighting
- Update app-table-row-scrollable input from isDrawerIsOpenForThisRecord function to openApplication string

* critical-applications.component.html: replace drawer state with reactive observable patterns

- Replace dataService.drawerInvokerId with drawerDetails$ | async in card highlighting
- Update table component binding from isDrawerIsOpenForThisRecord to openApplication
- Use reactive drawer state checking for consistent behavior with all-applications

* all-applications.component.ts: remove deprecated drawer state functions

- Remove unused trackByFunction that's no longer needed in template
- Remove getSelectedUrls function that's not used anywhere
- Remove isDrawerOpenForTableRow replaced by reactive openApplication binding
- Clean up unused ApplicationHealthReportDetail import
- Simplifies component interface following reactive pattern migration

* critical-applications.component.ts: remove deprecated drawer state functions

- Remove unused trackByFunction that's no longer needed in template
- Remove isDrawerOpenForTableRow replaced by reactive openApplication binding

* app-table-row-scrollable.component.html: replace drawer function calls with string comparison

- Replace isDrawerIsOpenForThisRecord(row.applicationName) with row.applicationName === openApplication
- Use direct string comparison instead of function calls for better performance
- Matches updated component input from function to string property
- Simplifies template logic following reactive pattern migration

* fix(risk-insights-data.service.ts): restore drawer toggle behavior in setter methods

- Add toggle logic to check if same drawer type and invoker are already open
- Close drawer when clicking same button twice (preserves original UX)
- Switch drawer content when clicking different button
- Maintains reactive patterns while restoring expected behavior

* revert to drawer state functions to maintain scope of task
- the logic replacing these functions will be in pr16523

* fix(risk-insights-data.service.ts): restore boolean isActiveDrawerType function per review feedback

- Keep original isActiveDrawerType() as boolean function using drawerDetailsSubject.value
- Maintain isActiveDrawerType$() as Observable version for reactive templates
- Apply same pattern to isDrawerOpenForInvoker() for consistency
- Addresses review feedback to preserve existing function signatures

* refactor(risk-insights-data.service.ts): use destructuring in drawer setter methods per review feedback

* refactor(all-applications.component.html): optimize single subscription for drawer state per review feedback

* refactor(critical-applications.component.html): optimize single subscription for drawer state per review feedback

* refactor(risk-insights.component.html): use boolean drawer type functions per review feedback

* fix(browser-system-notification.service.ts): restore eslint disable comment removed by prettier

---------

Co-authored-by: Tom <144813356+ttalty@users.noreply.github.com>
2025-09-26 15:25:16 -05:00
Alex
8ba22f3080 [PM-25609] use password health service (#16482)
* isValidCipher and findWeakPasswordDetails

* auditPasswordLeaks$

* missing deps fix

* refactor: remove unused dependencies from RiskInsightsReportService

- Remove PasswordStrengthServiceAbstraction and AuditService from constructor
- Update module dependency injection to only provide these services to PasswordHealthService
- Remove unused imports and mock services from test file
- Ensure proper separation of concerns where password health logic is centralized in PasswordHealthService
2025-09-26 14:59:38 -04:00
Leslie Tilton
466bf18d51 [PM-25614] Add Encrichment Logic for Risk Insights Data Service (#16577)
* Add encryption logic. Minor updates to critical apps service

* Fix possibly null type
2025-09-26 09:53:08 -05:00
Alex
1c823ed9f6 Enhance accessibility by adding tabindex attributes to sortable table headers and options button in app-table-row-scrollable.component.html (#16597) 2025-09-25 20:03:08 -04:00
cd-bitwarden
c57d7955e8 fixing spacing issues (#16378) 2025-09-23 10:44:52 -04:00
Tom
5c1a1ce6df Just adding the report application type (#16492) 2025-09-23 10:30:04 -04:00
rr-bw
ce84125473 Revert "feat(sso-config): Auth/[PM-18470] Pre-populate Key Connector URL (#16…" (#16534)
This reverts commit debe7b1f19.
2025-09-22 10:13:29 -07:00
rr-bw
debe7b1f19 feat(sso-config): Auth/[PM-18470] Pre-populate Key Connector URL (#16506)
When Key Connector is a valid selection, setup a listener to changes to the Member Decryption Options form radio selection:
- If radio selection is Key Connector, set a default KC URL
- If radio selection is NOT Key Connector, clear the KC URL
2025-09-22 10:02:20 -07:00
Rui Tomé
b455cb5986 [PM-24146] Remove stateProvider.activeUserId from ProviderService (#16258)
* Refactor provider service calls to include userId parameter

- Updated multiple components and services to pass userId when fetching provider data.
- Adjusted the ProviderService interface to require userId for get, get$, and getAll methods.
- Ensured consistent handling of userId across various components, enhancing data retrieval based on active user context.

* Remove deprecated type safety comments and use the getById utility for fetching providers.

* Update ProviderService methods to return undefined for non-existent providers

- Modified the return types of get$ and get methods in ProviderService to allow for undefined values, enhancing type safety.
- Adjusted the providers$ method to return only defined Provider arrays, ensuring consistent handling of provider data.

* Enhance provider permissions guard tests to include userId parameter

- Updated test cases in provider-permissions.guard.spec.ts to pass userId when calling ProviderService methods.
- Mocked AccountService to provide active account details for improved test coverage.
- Ensured consistent handling of userId across all relevant test scenarios.

* remove promise based api's from provider service, continue refactor

* cleanup observable logic

* cleanup

---------

Co-authored-by: Brandon <btreston@bitwarden.com>
2025-09-22 11:06:28 -04:00
Vijay Oommen
9ff7c0f714 PM-25983 Toast on successful save/delete (#16528) 2025-09-22 09:18:10 -05:00
Alex
57734a7a5c [PM-19322] Risk Insights Accessibility (#16221)
* pm-19322 / replace a tag with button

* pm-19324 / focusable dirt cards

* pm-19324 / focus for all apps dirt cards

* pm-19325 / items in table focusable

* wrap dirt cards in button

* wrap span in button

* safari fixes
2025-09-22 09:16:15 -05:00
Leslie Tilton
fb7b29d6b3 [PM-25610] Add Refactored Report Aggregation Logic (#16476)
* Add new aggregation logic and update legacy function names

* Update test cases

* Fix test types
2025-09-19 14:40:32 -04:00
Alex Morask
d8339f0196 [PM-23513] Complete usage of OrganizationWarningsService (#16272)
* Use OrganizationWarningsService in AC VaultComponent

* Use OrganizationWarningsService in OrgSwitcherComponent

* Use OrganizationWarningsService in VaultFilterComponent

* Use OrganizationWarningsService in VaultComponent

* Use OrganizationWarningsService in SM OverviewComponent

* Remove TrialFlowService from unused codepaths

* Remove TrialFlowService

* Refresh free trial warning on standard payment method update

* Fix lint errors

* Fix lint errors

* Remove FF

* Fix free trial banner on deprecated ac vault component
2025-09-19 11:26:48 -05:00
Will Martin
cf929edb9c [Cl-726] layout spacing updates (#15979) 2025-09-19 08:32:30 -07:00
Vijay Oommen
792f7e9c55 Fix table header sort indicator and enable drawer open on row click (#16439) (#16440)
Co-authored-by: Maximilian Power <post@maximilianpower.com>
2025-09-19 10:01:46 -05:00
Vijay Oommen
012ff03bef PM-25991 changed validation from pattern to min length (#16496) 2025-09-19 14:16:57 +00:00
Tom
d4cf7217e3 [PM-25838] Adding new properties to the summary and renaming the type (#16477)
* Adding new properties to the summary and renaming the type

* properties were missing from not saving

* fixing type issues and missed renaming
2025-09-18 15:18:41 -05:00
Leslie Tilton
20c8a1ff25 [PM-25608] PasswordHealthService cleanup (#16471)
* Update password health service and test cases

* Fix linting errors
2025-09-18 14:42:10 -04:00
Alex
d6cd30cf54 [PM-25607] Separate Models and account for legacy (#16448)
* organize password-health.ts contents into new model files

* revert naming

* revert to state of use save service pr draft

* LEGACY_MemberDetailsFlat

* legacy updates to password health file

* update imports

* fix import errors

* - revert unnecessary encrypteddatamodel changes
-add it back to password-health.ts
- revert the type changes of variables in EncryptedDataWithKey

* quick fix
2025-09-18 13:08:07 -05:00
Vijay Oommen
3aaa266c4e [PM-25878] Activity Tab - Critical App Count (#16474) 2025-09-18 12:48:01 -05:00
Vijay Oommen
57705791db PM-25931 fixing bugs found by QA (#16472) 2025-09-18 11:03:00 -05:00
Vijay Oommen
f04b24851c [PM-25874] Activity Tab - At Risk Members Card (#16469)
* PM-25869 add a new tab called Activity in risk insights

* PM-25869 fixed type errors

* PM-25874 Activity card for At-risk member count
2025-09-18 11:10:46 -04:00
Vijay Oommen
8d4d38d334 [PM-25869] add a new tab called Activity in risk insights (#16454) 2025-09-18 08:00:17 -05:00
Vijay Oommen
59396f0262 [PM-24655] Delete an existing Integration (#16382) 2025-09-16 09:30:11 -05:00
Vijay Oommen
befc756a02 [PM-25694] [Defect] Secrets manager + AC integrations page not listing any integrations (#16401) 2025-09-16 08:58:01 -05:00
Alex
0998508738 [PM-25606] move data mapping methods to helper file (#16400)
* move data mapping methods to helper file

* revert to original naming
2025-09-15 07:24:38 -07:00
Tom
f20ed9f0e9 [PM- 25678] Applications api endpoints (#16387)
* Adding the applications api endpoints and test cases

* Changing observable names
2025-09-12 10:09:12 -04:00
Leslie Tilton
31d5b639e9 [PM-20578] [PM-20579] Merge existing feature branch into main (#16364)
* PM-20578 Added api to fetch and save data (#15334)

* [PM-20579] Update risk-insights report service to use api service with encryption (#15357)

* Fix type error

* Fix paths for changed key generation service

* Finalize the api services

* Fixing test case for summary date range

* Fixing report service tests. Encryption will be modified in the future

* Fixing encryption service tests

* fixing linting issues

---------

Co-authored-by: Vijay Oommen <voommen@livefront.com>
Co-authored-by: Tom <ttalty@bitwarden.com>
2025-09-11 14:17:13 -04:00
Vijay Oommen
4857855c11 [PM-23824] Implement HEC integration (#16274) 2025-09-11 08:10:42 -05:00
Thomas Rittson
afe3cbd78f [PM-25306] Policy documentation and reorganization (#16193)
* Add README for adding policy UI in Admin Console
* Update existing policy UIs to be standalone
* Reorganize files and use barrel files
* Use token to inject policies into PolicyListService
2025-09-11 17:04:48 +05:30
cd-bitwarden
2894e40f2d [SM-1573] Fixing css issues relating to virtual scroll for secrets list (#16365)
* undoing unintentional style changes

* fixing virtual scroll css
2025-09-10 20:06:12 -04:00
Vicki League
926f587ea2 [CL-581] Update svgs to new designs and make responsive (#16219) 2025-09-10 17:23:53 -04:00
Alex Morask
4907820383 [PM-24964] Stripe-hosted bank account verification (#16220)
* Implement bank account hosted URL verification with webhook handling notification

* [PM-25491] Create org/provider bank account warning needs to be updated
2025-09-09 12:22:45 -05:00
Vijay Oommen
8e0bba689e Update messages.json with copy edits for unmarking a critical application (#16301) (#16337)
Co-authored-by: Maximilian Power <post@maximilianpower.com>
2025-09-09 09:24:26 -05:00
Vijay Oommen
fee824c15c [PM-25492] Update en/messages.json with minor empty state text adjustments (#16299) (#16338)
* Update en/messages.json with minor empty state text adjustments

* Updated 118n strings

Co-authored-by: Maximilian Power <post@maximilianpower.com>
2025-09-09 09:24:06 -05:00
Brandon Treston
b93602b09e [PM-24412] Make billing api service call in members component non blocking (#16103)
* refactor organization to signal, unblock loading due to api call

* continue refactor WIP

* clean up

* refactor billingMetadata signal to observble

* deffer billing call

* refactor billingMetadata

* cleanup, add comment

* qa bug: add missing param
2025-09-08 09:42:02 -04:00
cd-bitwarden
92b92488d9 [SM-1548] Updating the secrets list to use <bit-table-scroll> (#16201)
* Updating the secrets list to use <bit-table-scroll>

* fixing virtaul scroll issue
2025-09-05 20:19:47 -04:00
cd-bitwarden
493788c9d0 [SM-1564] Fixing issues (#16295)
* Fixing issues

* fixes
2025-09-05 17:15:28 +00:00
Thomas Avery
a6b7c7f75c [PM-23626] Require userId for makeOrgKey on the key service (#15864)
* Update key service

* Update consumers

* Add unit test coverage for consumer services

* Add unit test coverage for organization-billing service
2025-09-05 09:51:01 -05:00
Rui Tomé
8c598b8783 [PM-22839] Update Device Approvals visibility based on SSO configuration (#16144)
* Add ssoEnabled and ssoMemberDecryptionType properties to ProfileOrganizationResponse

* Add SSO support to Organization model with ssoEnabled and ssoMemberDecryptionType properties, and implement related tests

* Upsert organization SSO settings in memory after save

Updates organization data in memory with new SSO configuration values
to ensure immediate UI updates for Device Approvals page visibility.

* Refactor SSO component to simplify upsertOrganizationWithSsoChanges method

- Updated the method signature to accept a single OrganizationSsoRequest object instead of separate parameters.
- Adjusted the internal logic to directly use properties from the OrganizationSsoRequest for updating the organization state.

* Specify OrganizationData type for updatedOrganization in SSO component
2025-09-05 11:22:55 +01:00
Andreas Coroiu
b957a0c28f [PM-24646] Add licensed browser builds (#16252)
* feat: create separate bit licensed browser

* feat: refactor webpack config

* fix: mv2 build not working

* feat: add bit versions of all commands

* feat: add bit CI builds

* fix: scss missing from build
2025-09-04 08:21:50 +02:00
Tom
4027b78e20 [PM-24101] Switching to use the orgKeys$ from the key service instead of getOrgKey (#15781)
* Switching to use the orgKeys$ from the key service instead of getOrgKey

* Using account service instead of state provider

* First try for fixing test cases

* fixing test cases

* PM-24101 fix identified by failing test

* Error checking on the orgId

* Private method did not need error check

* Setting OrganizationId type

* Fixing test cases for setting org id

* Moving the get of critical apps to the init

* The critical apps component was being set again

---------

Co-authored-by: voommen-livefront <voommen@livefront.com>
2025-09-03 14:18:50 -04:00