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

611 Commits

Author SHA1 Message Date
Vijay Oommen
6499ecb6ee PM-26329 bug fixes to the cards (#16665) 2025-09-30 11:55:27 -05: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
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
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
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
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
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
cd-bitwarden
1d5115f190 Making accessing a project only use one api call to getbyprojectid (#15854) 2025-08-27 13:51:02 -04:00
Alex
4dd7e0cafa Messages: unmark critical (#16146)
* Unmark as critical

* Revert "Unmark as critical"

This reverts commit 3fa79fc498.

* rename unmarkAsCriticalApp -> unmarkAsCritical
2025-08-27 09:41:42 -07:00
Thomas Rittson
4f09ae52ab [PM-25203] Resolve circular dependencies through LooseComponentsModule (#16157)
* Update modules to not import loose-components

Instead they should import their dependencies directly.
Only OssModule imports loose-components.module.ts.

* Remove unused imports and exports
2025-08-27 17:40:32 +05:30
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
Kyle Denney
999ade9707 [PM-24552] - remove code for feature flag (#16022) 2025-08-20 10:31:20 -05:00
cd-bitwarden
ad145fc4ff [SM-1274] Add Project Events to the Log List in Admin Console (#15442)
* Adding enums for additional event logs for secrets

* updating messages

* Updating messages to be consistent for logs

* Displaying project logs, and fixing search query param searching in projects list, having deleted log for secrets and projects not show as a link

* Viewing secret and project event logs in event modal, adding to the context menu for secrets and projects the ability to view the logs if user has permission. Restricting logs to SM projs and Secs if the logged in user has event log access but not SM access.

* lint

* Lint Fixes

* fix to messages file

* fixing lint

* Bug fix, make sure event logs related to service accounts are still links that take you to the object

* removing unused import
2025-08-20 10:45:58 -04: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
Bernd Schoolmann
16696fe464 Move sm key-generation-service imports (#16079) 2025-08-19 06:40:20 -07:00