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

676 Commits

Author SHA1 Message Date
Jared Snider
062f5f9bd7 refactor(SsoComponentRename): [Auth/PM-26745] Rename SSO management component to SsoManageComponent (#16893)
* PM-26745 - SsoComponent renamed to SsoManageComponent

* PM-26745 - SsoManageComponent - attempt to make strict ts.

* PM-26745 - Make SSO manage meet strict TS requirements
2025-10-30 10:11:57 -04:00
Thomas Avery
94f778006f Fix lint (#17113) 2025-10-29 19:49:48 +00:00
Oscar Hinton
d85b9986d0 [CL-901] [CL-903] Unowned - Prefer signal & change detection (#16949) 2025-10-29 13:42:19 -05:00
Bernd Schoolmann
ee420258e6 Remove deprecated encstring usage from dirt code (#17100) 2025-10-29 11:46:50 -05:00
Maciej Zieniuk
ff30df3dd6 [PM-19300] Session timeout policy (#16583)
* Session timeout policy

* default "custom" is 8 hours, validation fixes

* ownership update

* default max allowed timeout is not selected

* adjusting defaults, fixing backwards compatibility, skip type confirmation dialog when switching between the never and on system lock

* unit test coverage

* wording update, custom hours, minutes jumping on errors

* wording update

* wrong session timeout action dropdown label

* show dialog as valid when opened first time, use @for loop, use controls instead of get

* dialog static opener

* easier to understand type value listener

* unit tests

* explicit maximum allowed timeout required error

* eslint revert
2025-10-28 20:28:34 +01:00
Alex
2058c772ac [PM-26352] drawers for activity cards (#16895)
* new drawer functions for crit apps

* logic for triggering the drawer functions in components

* cleanup unused logic and rename "navigation" to "action"
- ... since the click is now triggering the drawer instead of navigating to another tab/page

* null check for reportData in drawer methods

* use criticalReportResults$ to avoid duplicating logic

* use criticalReportResults$ to avoid dupe logic

* remove unused code
2025-10-28 08:44:42 -07:00
Alex
32a40a91f5 [PM-26929] filter at risk passwords count to only critical apps (#16879)
* filter at risk passwords count to only critical apps

* PM-26929 assign tasks to those apps that are marked as critical

---------

Co-authored-by: voommen-livefront <voommen@livefront.com>
2025-10-27 11:38:49 -07:00
Thomas Avery
bd89c0ce6d [PM-23628] Require userId for fetching provider keys (#16993)
* remove getProviderKey and expose providerKeys$

* update consumers
2025-10-27 11:04:17 -05:00
tangowithfoxtrot
93227324bf [SM-1465] - Add Terraform provider to integrations page (#16876)
* fix: add Datadog org integration service to SM integrations module

* misc: add Terraform provider integration card

* misc: update Ansible integration link
2025-10-27 10:22:13 -05:00
Bryan Cunningham
f452f39f3c [CL-847] Card consolidation (#16952)
* created shared card directive

* WIP

* use base card in anon layout

* use bit-card for pricing card component

* add base card to integration cards

* add base card to reports cards

* add base card to integration card

* use card content on report card

* use base card directive on base component

* update dirt card to use bit-card

* run prettier. fix whitespace

* add missing imports to report list stories

* add base card story and docs
2025-10-27 11:14:42 -04:00
Andreas Coroiu
64590cb3c8 [PM-25911] Add commercial sdk internal as dependency (#16883)
* feat: add commercial sdk as optional dependency

* feat: add alias to CLI

* feat: add alias to browser

* feat: add alias to web

* fix: revert optional - we cant omit optional dependencies or the builds break

* feat: remove commercial package from browser build

* feat: remove commercial package from cli build

* feat: remove commercial package from web build

* chore: add commercial sdk to renovate

* fix: windows cli workflow

* fix: accidental change

* feat: add lint for version string

* undo weird merge changes
2025-10-27 15:17:20 +01: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
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
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
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
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