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

771 Commits

Author SHA1 Message Date
Alex
f5f9d1881e [PM-27291] preserve critical app flags when generating new reports (#17008) 2025-10-24 12:20:40 -04:00
Oscar Hinton
fc26a21b85 DIRT - Prefer signal & change detection (#16939) 2025-10-24 11:17:58 -05:00
rr-bw
ce84d2f117 fix(sso-config): (Auth) [PM-27244] Refactor KC URL Handling (#16995)
Addresses some bugs with the Key Connector URL form field.
2025-10-23 15:02:37 -07:00
Oscar Hinton
e3f943364f Billing - Prefer signal & change detection (#16944) 2025-10-23 15:02:01 -05:00
Alex
d6785037ba PM-27254 Fix password change progress card reactivity (#16984) 2025-10-23 14:53:39 -04:00
Oscar Hinton
3790e09673 AC - Prefer signal & change detection (#16948)
* Modernize Angular

* Remove conflicted files
2025-10-23 11:25:48 -04:00
Brandon Treston
0691583b50 [PM-23133] refactor members component (#16703)
* WIP: added new services, refactor members to use billing service and member action service

* replace dialog logic and user logic with service implementations

* WIP

* wip add tests

* add tests, continue refactoring

* clean up

* move BillingConstraintService to billing ownership

* fix import

* fix seat count not updating if feature flag is disabled

* refactor billingMetadata, clean up
2025-10-23 11:16:17 -04:00
Oscar Hinton
29dccd6352 Auth - Prefer signal & change detection (#16950) 2025-10-22 21:28:47 -04:00
Leslie Tilton
03d636108d [PM-23680] Report Applications data (#16819)
* Move files to folders. Delete unused component. Move model to file

* Move risk insights services to folder structure capturing domains, api, and view organization. Move mock data

* Remove legacy risk insight report code

* Move api model to file

* Separate data service and orchestration of data to make the data service a facade

* Add orchestration updates for fetching applications as well as migrating data.

* Updated migration of critical applications and merged old saved data to new critical applications on report object

* Update test cases

* Fixed test case after merge. Cleaned up per comments on review

* Fixed decryption and encryption issue when not using existing content key

* Fix type errors

* Fix test update

* Fixe remove critical applications

* Fix report generating flag not being reset

* Removed extra logs
2025-10-22 10:36:51 -05:00
Vijay Oommen
cc954ed123 [PM-27204] New Feature Flag for datadog and crowdstrike (#16968) 2025-10-22 10:10:56 -05:00
Alex Morask
5b2682ff21 [PM-26356] Remove client-side pre-consolidated billing code (#16707)
* Remove legacy provider files

* Removing index files to make file re-org easier

* Move manage-clients.component and associated API invocation to AC

* Move add-existing-organization-dialog.component to AC

* Move manage-client-name-dialog.component and associated API call to AC

* Move misc clients files to AC

* Move create-client-dialog.component and associated API call to AC

* Move manage-client-subscription-dialog.component to AC

* Update provider-layout.component

* Cleanup

* Fix linting
2025-10-21 14:15:29 -05:00
Alex
a5dd42396c [PM-27024] password progress card at risk detection (#16955)
* [PM-27024] Fix password change progress card to track only critical apps and detect new at-risk passwords
- Filter at-risk password count to critical applications only
- Update state logic to transition back to assign tasks when new at-risk passwords detected
- Only create security tasks for critical applications with at-risk passwords
- Show 'X new passwords at-risk' message when tasks exist and new at-risk passwords appear

* spec
2025-10-21 08:02:44 -07:00
Vijay Oommen
d19e1efb77 PM-26956 enable help link for cards (#16938) 2025-10-21 08:43:16 -05:00
tangowithfoxtrot
cd08a71a0b fix: add Datadog org integration service to SM integrations module (#16866) 2025-10-16 10:34:32 -05:00
rr-bw
df1dd168dc fix(sso-config): (Auth) [PM-26927] Bugfix for Key Connector URL (#16863)
The Key Connector URL was getting overwritten back to the default URL on `submit()` because `valueChanges` gets triggered during `submit()`. This fix adds a check to make sure we only set the default URL when changing TO Key Connector from a different decryption option. In other words, don't overwrite back to the default URL during `submit()`.

Also removes the trailing slash `/` from the default URL.
2025-10-15 13:45:05 -07:00
Addison Beck
0dd09caef7 build(browser): integrate nx (#16712) 2025-10-14 06:27:10 -04:00
Alex
8a76b28e08 fix text (#16857) 2025-10-13 19:38:23 +00:00
Kyle Denney
6ee41343a5 [PM-25379] Refactor org metadata (#16759)
* removing unused properties from org metadata

* removing further properties from the response and replacing them with data already available

* [PM-25379] new org metadata service for new endpoint

* don't need strict ignore

* forgot unit tests

* added cache busting to metadata service

not used yet - waiting for a decision on moving a portion of this to AC
2025-10-13 10:49:52 -05:00
Addison Beck
14e7ee4818 build(web): integrate nx (#16706) 2025-10-13 06:31:17 -04:00
Alex
85113f2f0a [PM-26203] new apps dialog (#16696) 2025-10-09 11:22:12 -04:00
Vijay Oommen
ab995045fd PM-26508 when password change is requested, the all-activity table count will change (#16753) 2025-10-08 14:15:59 -05:00
Shane Melton
9f0a565241 [PM-25682] Migrate CipherView and subviews to be TS strict compliant (#16463)
* [PM-25682] Remove ts-strict-ignore from Vault view models and update types to be strict

* [PM-25682] Ignore ViewEncryptableKeys error for old decrypt methods

* [PM-25682] Add null/undefined as possible types for isNull* and other helpers that include null checks internally

* [PM-25682] Use patchValue instead of setValue which does not support undefined values

* [PM-25682] Add type assertions and other misc. null checks where necessary

* [PM-25682] Fix importers specs

* [PM-25682] Cleanup card view/details

* [PM-25682] Fix cipher view hasAttachment helper

* [PM-25682] Cleanup unecessary null assignments in notification.background.spec.ts

* [PM-25682] Ensure linkedId is undefined instead of null

* [PM-25682] Cleanup misc typing errors

* [PM-25682] Make the CipherId required

* [PM-25682] Undo CipherId assertions

* [PM-25682] Undo brand initial value change

* [PM-25682] Update SshKeyView

* [PM-25682] Add constructor to Fido2CredentialView

* [PM-25682] Prettier

* [PM-25682] Fix strict type warnings after merge with main

* [PM-25682] Cleanup cipher view spec

* [PM-25682] Cleanup new type warnings after merge

* [PM-25682] Undo removed eslint-disable-next-line comment

* [PM-25682] Fix flaky test

* [PM-25682] Use satisfies instead of as for Fido2CredentialAutofillView
2025-10-07 11:40:57 -04:00
rr-bw
2127f71f5d feat(sso-config): (Auth) [PM-18470] Pre-populate Key Connector URL (#16536)
On the SSO Config page, when Key Connector is a valid option, setup a listener to changes to the Member Decryption Options form radio selection:

- If radio selection is Key Connector: set a default URL
- If radio selection is NOT Key Connector: clear the URL
2025-10-07 08:35:18 -07:00
Graham Walker
801700d441 PM-26015 Datadog integration card (#16559)
* PM-26015 adding Datadog integration card

* PM-26015 removing 2 changes

* PM-26015 Removing 1 change

* PM-26015 adding datadog integration card

* PM-26015 fixing code to accept new toast owner changes

* PM-26015 fixing linting error

* PM-26015 fixing pr comment
2025-10-07 09:37:59 -05:00
Addison Beck
ddc840027a build(cli): integrate nx (#16648)
* build(cli): integrate nx

* refactor(project.json): rename "bit" builds to "commercial"

* refactor(webpack.base): implement DEFAULT_PARAMS

* refactor(webpack.base): move DEFAULT_PARAMS out of buildConfig
2025-10-07 09:48:02 -04:00
Derek Nance
9aed9aa08e [PM-25910] Refactor webpack config (#16616)
This commit restructures the webpack configs for each project (i.e. web, browser, desktop, cli) such that each project has a base config that is shared in a way that requires less hard-coding of info, and more like simply calling a function with a few properties.
2025-10-06 15:31:06 -05:00
Alex
f29e5e223d [PM-26185] new app metric card (#16658)
* new messages.json keys

* button changes for dirt activity card

* dummy data

* newApplicationsCount and temp toast

* Added third dirt-activity-card component after the existing two cards

* added newApplications to setAllAppsReportSummary

* make button smaller

* cleanup/nice-to-haves

* remove comment

* simplify activity card icon logic to use nullable iconClass

* use buttonText presence to determine button display in activity card

* apps needing review card
- I think accidentally deleted when resolving merge conflicts

* buttonClick.observed && buttonText
2025-10-06 12:29:59 -07:00
Leslie Tilton
8c81ccc1c5 [PM-25611][PM-25612] Update components to use persistance code (#16655)
* 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

* Update Risk Insights Report Data Type

* Update encryption usage and test cases. Moved mock data

* Remove unused variable

* Move all-application constructor

* Update all applications and risk insights to look at fetched logic

* Fix name of variable. Fetch last report run

* Cleanup all and critical application tabs drawer dependencies

* Rename components from tool to dirt. Hook up all applications to use reportResult summary

* Critical application cleanup. Trigger refetch of report for enriching when critical applications change

* Fix type errors

* Rename loader from tools to dirt. Cleanup

* Add activity tab updates using data service

* Use safeProviders in access intelligence

* Fix refresh button not appearing. Change "refresh" to "run report"

* Remove multiple async calls for isRunningReport

* Fix report button not showing

* Add no report ran message

* Fix password change on critical applications
2025-10-06 12:01:06 -05:00
Oscar Hinton
8cf379d997 [PM-22305] Upgrade typescript to 5.8 (#15044)
Upgrade to the latest supported typescript version in Angular.

Resolved TS errors by:
  - adding `: any` which is what the compiler previously implied and now warns about.
  - adding `toJSON` to satisfy requirement.
2025-10-06 12:39:40 -04:00
Vijay Oommen
a3696ea3c1 PM-26495 Activity tab empty state changed (#16726) 2025-10-03 12:03:00 -05:00
Vijay Oommen
856903e661 PM-26416 updated description of at-risk members card (#16724) 2025-10-03 10:32:09 -05:00
Vijay Oommen
0443c87867 [PM-26018] All Activity tab - Password change metric (#16644) 2025-10-03 08:58:07 -05:00
cd-bitwarden
cb20889a94 [SM-1489] machine account event logs (#15997)
* 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

* Adding machine account event logs

* lint fix

* Update event.service.ts

* removing duplicate function issue from merge

* Update service-accounts-list.component.ts

* fixing message

* Fixes to QA bugs

* lint fix

* linter for messages is annoying

* lint
2025-10-03 09:52:00 +02:00
rr-bw
de3759fa85 refactor(sso-config-tweaks): [Auth/PM-933] Tweaks to SSO Config Page (#16374)
Makes some tweaks to the SSO config page:
- SSO Identifier: update hint text
- Single Sign-On Service URL: make required, remove hint text
- Client Secret: make hidden by default (add view/hide toggle)
2025-10-01 08:54:33 -07:00
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