fleet/frontend/interfaces/activity.ts

509 lines
23 KiB
TypeScript
Raw Normal View History

import { ILabelSoftwareTitle } from "./label";
Add ability to upload custom org logos (#44390) <!-- Add the related story/sub-task/bug number, like Resolves #123, or remove if NA --> **Related issue:** Resolves #44330, Resolves #44331 # Checklist for submitter - [x] Changes file added for user-visible changes in `changes/`, `orbit/changes/` or `ee/fleetd-chrome/changes`. See [Changes files](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/guides/committing-changes.md#changes-files) for more information. ## Testing - [x] Added/updated automated tests. (I'd defer integration tests to a separate PR since this one is pretty large already.) - [x] QA'd all new/changed functionality manually. I've tested this on both the setup flow and the organization settings page. I haven't had the time to test this on other places where we render the logo (macOS setup experience / MDM migration dialog). https://github.com/user-attachments/assets/95d4eae5-3da6-40f4-98a1-8575b97d96b3 ## New Fleet configuration settings - [x] Setting(s) is/are explicitly excluded from GitOps. Will handle GitOps in a separate PR. <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Organizations can upload custom logos for light and dark modes. * Registration and Org Settings support logo file upload, preview, per-mode replace/delete, and validation (size & image formats). * Activity feed records logo changes/deletions; site nav displays uploaded logos per theme. * File uploader/preview adds a Fleet logo graphic option and improved logo validation. * Config/GitOps outputs now include separate dark/light logo fields. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-05-05 12:42:52 +00:00
import { IOrgLogoMode } from "./org_logo";
UI – Add VPP features for iPadOS and iOS (#20755) ## Addresses #20467 – part 2 ### Aggregate software: #### Software titles <img width="1616" alt="sw-titles-updated" src="https://github.com/user-attachments/assets/0b9922c7-e36e-4d2f-b204-95c3cdf9b602"> #### Software versions <img width="1616" alt="Screenshot 2024-07-29 at 6 14 21 PM" src="https://github.com/user-attachments/assets/5a097700-cd6c-45b1-a21f-9d76a733f0ae"> #### Host software <img width="1616" alt="Screenshot 2024-07-29 at 6 23 01 PM" src="https://github.com/user-attachments/assets/84e18695-f47a-4022-bd53-7f5d37ce452a"> ### Add software modal (VPP) _screenshots use mocked data - UI is flexible enough to display cleanly before and after backend is in place:_ <img width="1339" alt="happy" src="https://github.com/user-attachments/assets/8900aa93-316c-4a09-8e5a-1a1e45b0c458"> #### No apps: <img width="1572" alt="Screenshot 2024-07-29 at 6 35 03 PM" src="https://github.com/user-attachments/assets/466b9b6c-4d3d-49dd-94a9-94e395d89cb7"> #### Not enabled: <img width="1572" alt="Screenshot 2024-07-29 at 6 37 45 PM" src="https://github.com/user-attachments/assets/9bcfd480-8741-4d95-ba3b-550dee4dc673"> #### Error: <img width="1572" alt="Screenshot 2024-07-29 at 6 39 39 PM" src="https://github.com/user-attachments/assets/e944dd40-676e-4aba-9cd9-49ff319bf402"> ### Vuln support – Not supported for now: _see above screenshots for `list` endpoints_ #### Software title detail <img width="1616" alt="Screenshot 2024-07-29 at 6 47 29 PM" src="https://github.com/user-attachments/assets/2e30fd0a-21e4-4d19-bf9b-71a994bfd0e7"> #### Software version and OS detail: <img width="1616" alt="Screenshot 2024-07-29 at 6 48 28 PM" src="https://github.com/user-attachments/assets/e8fec769-ba97-4b6b-b10c-9bb4c973c732"> <img width="1616" alt="Screenshot 2024-07-29 at 6 50 25 PM" src="https://github.com/user-attachments/assets/0ac15727-e0cb-447c-8758-c58b79656d1a"> - [x] Changes file added for user-visible changes in `changes/`, - [x] Added/updated tests - [x] Manual QA for all new/changed functionality --------- Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
2024-07-30 17:14:25 +00:00
import { Platform } from "./platform";
import { IPolicy } from "./policy";
import { IQuery } from "./query";
import { ISchedulableQueryStats } from "./schedulable_query";
import { SoftwareSource } from "./software";
import { ITeamSummary } from "./team";
import { UserRole } from "./user";
export enum ActivityType {
CreatedPack = "created_pack",
DeletedPack = "deleted_pack",
EditedPack = "edited_pack",
CreatedPolicy = "created_policy",
DeletedPolicy = "deleted_policy",
EditedPolicy = "edited_policy",
CreatedSavedQuery = "created_saved_query",
DeletedSavedQuery = "deleted_saved_query",
DeletedMultipleSavedQuery = "deleted_multiple_saved_query",
EditedSavedQuery = "edited_saved_query",
CreatedTeam = "created_team",
DeletedTeam = "deleted_team",
LiveQuery = "live_query",
AppliedSpecPack = "applied_spec_pack", // fleetctl
AppliedSpecPolicy = "applied_spec_policy", // fleetctl
AppliedSpecSavedQuery = "applied_spec_saved_query", // fleetctl
AppliedSpecSoftware = "applied_spec_software", // fleetctl
AppliedSpecTeam = "applied_spec_team", // fleetctl
EditedAgentOptions = "edited_agent_options",
UserAddedBySSO = "user_added_by_sso",
UserLoggedIn = "user_logged_in",
Log failed login attempts as activities (#9430) #9119 To test the SSO changes locally you can use: https://github.com/fleetdm/fleet/blob/main/docs/Contributing/Testing-and-local-development.md#testing-sso @RachelElysia Please take a look at the UI changes (All I did was copy/paste and amend the changes for the new activity type.) IMO we shouldn't display an avatar because there's no "actual user" involved in these failed login attempts activities (by "actual user" I mean the user attributed to the activity): <img width="446" alt="Screenshot 2023-01-19 at 10 41 05" src="https://user-images.githubusercontent.com/2073526/213524771-b85901ce-eec0-4cf3-919c-73162285e20b.png"> - [X] Changes file added for user-visible changes in `changes/` or `orbit/changes/`. See [Changes files](https://fleetdm.com/docs/contributing/committing-changes#changes-files) for more information. - [X] Documented any API changes (docs/Using-Fleet/REST-API.md or docs/Contributing/API-for-contributors.md) - ~[ ] Documented any permissions changes~ - ~[ ] Input data is properly validated, `SELECT *` is avoided, SQL injection is prevented (using placeholders for values in statements)~ - ~[ ] Added support on fleet's osquery simulator `cmd/osquery-perf` for new osquery data ingestion features.~ - [X] Added/updated tests - [X] Manual QA for all new/changed functionality - ~For Orbit and Fleet Desktop changes:~ - ~[ ] Manual QA must be performed in the three main OSs, macOS, Windows and Linux.~ - ~[ ] Auto-update manual QA, from released version of component to new version (see [tools/tuf/test](../tools/tuf/test/README.md)).~
2023-01-20 15:43:22 +00:00
UserFailedLogin = "user_failed_login",
UserCreated = "created_user",
UserDeleted = "deleted_user",
HostDeleted = "deleted_host",
UserChangedGlobalRole = "changed_user_global_role",
UserDeletedGlobalRole = "deleted_user_global_role",
UserChangedTeamRole = "changed_user_team_role",
UserDeletedTeamRole = "deleted_user_team_role",
FleetEnrolled = "fleet_enrolled",
MdmEnrolled = "mdm_enrolled",
MdmUnenrolled = "mdm_unenrolled",
EditedMacosMinVersion = "edited_macos_min_version",
EditedIosMinVersion = "edited_ios_min_version",
EditedIpadosMinVersion = "edited_ipados_min_version",
Add "update new hosts to latest" to OS Updates form for MacOS (#37103) <!-- Add the related story/sub-task/bug number, like Resolves #123, or remove if NA --> **Related issue:** Resolves #36088 # Checklist for submitter If some of the following don't apply, delete the relevant line. - [X] Changes file added for user-visible changes in `changes/`, `orbit/changes/` or `ee/fleetd-chrome/changes`. See [Changes files](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/guides/committing-changes.md#changes-files) for more information. ## Testing - [X] Added/updated automated tests - [X] QA'd all new/changed functionality manually Saving this value currently results in a 400 response from the server since it's not a valid key yet. We can keep this in draft until the backend is merged if we want to e2e test with it. ### Controls -> OS Settings "Target" section #### All platforms - [X] Update success banner message to "Successfully updated." <img width="200" alt="image" src="https://github.com/user-attachments/assets/bc43ec79-41d1-4dd3-947c-8152051fd209" /> #### macOS / iOS / iPadOS - [X] Update tooltip text for "Minimum version" to `Enrolled hosts are updated to exactly this version.` <img width="250" alt="Image" src="https://github.com/user-attachments/assets/7d870224-395e-4bc9-937e-be599da57a97" /> - [X] Make "available from Apple" a link, replacing "Learn more", and link to https://fleetdm.com/learn-more-about/apple-available-os-updates <img width="250" height="363" alt="image" src="https://github.com/user-attachments/assets/8191ec2d-bf0a-4cf6-9b1a-1272c0ff69b0" /> > Note - this URL is current a 404 - [X] Remove text referring to platform from "End user experience" heading, i.e. it should just say "End user experience" for all platforms where it appears, not e.g. "End user experience on macOS" #### macOS Only - [X] Add new "Update new hosts to latest" checkbox <img width="316" height="406" alt="Image" src="https://github.com/user-attachments/assets/71aec05a-b809-436d-8bfd-cd3e14b27ea1" /> - [X] Reflects the `macos_updates.update_new_hosts` setting for the team or (for no team) global config (only testable via automated tests right now) - [X] Update End user experience text to "When a minimum version is enforced, end users see a native macOS notification (DDM) once per day." (see above) ### Global activity feed - [X] When "Update new hosts to latest" is enabled, activity should say `[Actor's name] enabled OS updates for all new macOS hosts on the [team name] team. macOS hosts will upgrade to the lastest version when they enroll.` - [X] When "Update new hosts to latest" is disabled, activity should say `[Actor's name] disabled updates for all new macOS hosts on the [team name] team.` (tested via automated tests)
2025-12-12 17:46:07 +00:00
EnabledMacosUpdateNewHosts = "enabled_macos_update_new_hosts",
DisabledMacosUpdateNewHosts = "disabled_macos_update_new_hosts",
ReadHostDiskEncryptionKey = "read_host_disk_encryption_key",
ViewedHostRecoveryLockPassword = "viewed_host_recovery_lock_password",
SetHostRecoveryLockPassword = "set_host_recovery_lock_password",
RotatedHostRecoveryLockPassword = "rotated_host_recovery_lock_password",
EnabledRecoveryLockPasswords = "enabled_recovery_lock_passwords",
DisabledRecoveryLockPasswords = "disabled_recovery_lock_passwords",
/** Note: BE not renamed (yet) from macOS even though activity is also used for iOS and iPadOS */
CreatedAppleOSProfile = "created_macos_profile",
/** Note: BE not renamed (yet) from macOS even though activity is also used for iOS and iPadOS */
DeletedAppleOSProfile = "deleted_macos_profile",
/** Note: BE not renamed (yet) from macOS even though activity is also used for iOS and iPadOS */
EditedAppleOSProfile = "edited_macos_profile",
2024-10-17 14:21:26 +00:00
AddedNdesScepProxy = "added_ndes_scep_proxy",
DeletedNdesScepProxy = "deleted_ndes_scep_proxy",
EditedNdesScepProxy = "edited_ndes_scep_proxy",
AddedDigicert = "added_digicert",
DeletedDigicert = "deleted_digicert",
EditedDigicert = "edited_digicert",
AddedConditionalAccessMicrosoft = "added_conditional_access_microsoft",
DeletedConditionalAccessMicrosoft = "deleted_conditional_access_microsoft",
EditedConditionalAccessMicrosoft = "edited_conditional_access_microsoft",
AddedCustomScepProxy = "added_custom_scep_proxy",
DeletedCustomScepProxy = "deleted_custom_scep_proxy",
EditedCustomScepProxy = "edited_custom_scep_proxy",
AddedHydrant = "added_hydrant",
DeletedHydrant = "deleted_hydrant",
EditedHydrant = "edited_hydrant",
AddedSmallstep = "added_smallstep",
DeletedSmallstep = "deleted_smallstep",
EditedSmallstep = "edited_smallstep",
2025-11-08 00:11:40 +00:00
AddedCustomESTProxy = "added_custom_est_proxy",
DeletedCustomESTProxy = "deleted_custom_est_proxy",
EditedCustomESTProxy = "edited_custom_est_proxy",
CreatedWindowsProfile = "created_windows_profile",
DeletedWindowsProfile = "deleted_windows_profile",
EditedWindowsProfile = "edited_windows_profile",
CreatedAndroidProfile = "created_android_profile",
DeletedAndroidProfile = "deleted_android_profile",
EditedAndroidProfile = "edited_android_profile",
EditedAndroidCertificate = "edited_android_certificate",
ResentCertificate = "resent_certificate",
// Note: This activity is generated for all platforms.
EnabledMacDiskEncryption = "enabled_macos_disk_encryption",
// Note: This activity is generated for all platforms.
DisabledMacDiskEncryption = "disabled_macos_disk_encryption",
AddedBootstrapPackage = "added_bootstrap_package",
DeletedBootstrapPackage = "deleted_bootstrap_package",
ChangedMacOSSetupAssistant = "changed_macos_setup_assistant",
DeletedMacOSSetupAssistant = "deleted_macos_setup_assistant",
EnabledMacOSSetupEndUserAuth = "enabled_macos_setup_end_user_auth",
DisabledMacOSSetupEndUserAuth = "disabled_macos_setup_end_user_auth",
TransferredHosts = "transferred_hosts",
EnabledWindowsMdm = "enabled_windows_mdm",
DisabledWindowsMdm = "disabled_windows_mdm",
UI - GitOps Mode: Core abstractions, first batch of applications (#26401) ## For #26229 – Part 1 ![ezgif-6bbe6d60c12ed4](https://github.com/user-attachments/assets/37a04b64-abd7-4605-b4ac-9542836ff562) - This PR contains the core abstractions, routes, API updates, and types for GitOps mode in the UI. Since this work will touch essentially every part of the Fleet UI, it is ripe for merge conflicts. To mitigate such conflicts, I'll be merging this work in a number of iterative PRs. ~To effectively gate any of this work from showing until it is all merged to `main`, [this commit](feedbb2d4c25ec2e304e1f18d409cee62f6752ed) hides the settings section that allows enabling/disabling this setting, effectively feature flagging the entire thing. In the last of these iterative PRs, that commit will be reverted to engage the entire feature. For testing purposes, reviewers can `git revert feedbb2d4c25ec2e304e1f18d409cee62f6752ed` locally~ The new settings section for this feature is feature flagged until all PRs are merged - to show the setting section while testing, run `ALLOW_GITOPS_MODE=true NODE_ENV=development yarn run webpack --progress --watch` in place of `make generate-dev` - Changes file will be added and feature flag removed in the last PR - [x] Settings page with routing, form, API integration (hidden until last PR) - [x] Activities - [x] Navbar indicator - Apply GOM conditional UI to: - [x] Manage enroll secret modal: .5 - Controls > - [x] Scripts: - Setup experience > - [x] Install software > Select software modal - [x] OS Settings > - [x] Custom settings - [x] Disk encryption - [x] OS Updates 2/18/25, added to this PR: - [x] Controls > Setup experience > Run script - [x] Software > - [x] Manage automations modal - [x] Add software > - [x] App Store (VPP) - [x] Custom package - [x] Queries - [x] Manage - [x] Automations modal - [x] New - [x] Edit - [x] Policies - [x] Manage - [x] New - [x] Edit - Manage automations - [x] Calendar events - [x] Manual QA for all new/changed functionality --------- Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
2025-02-20 16:41:07 +00:00
EnabledGitOpsMode = "enabled_gitops_mode",
DisabledGitOpsMode = "disabled_gitops_mode",
Add activities when toggling GitOps exception settings (#44094) <!-- Add the related story/sub-task/bug number, like Resolves #123, or remove if NA --> **Related issue:** For #40171 # Details Adds audit activity when enabling or disabling GitOps exceptions. # Checklist for submitter If some of the following don't apply, delete the relevant line. - [ ] Changes file added for user-visible changes in `changes/`, `orbit/changes/` or `ee/fleetd-chrome/changes`. See [Changes files](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/guides/committing-changes.md#changes-files) for more information. n/a, unreleased ## Testing - [X] Added/updated automated tests - [X] QA'd all new/changed functionality manually <img width="714" height="699" alt="image" src="https://github.com/user-attachments/assets/161bd084-347b-4cde-893e-9b385f13872c" /> For unreleased bug fixes in a release candidate, one of: - [X] Confirmed that the fix is not expected to adversely impact load test results <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Activity feed now records when GitOps exceptions (labels, software, secrets) are enabled or disabled. * **UI** * Activity messages show which specific exception was enabled or disabled. * **Tests** * Added unit and integration tests verifying generation and rendering of enable/disable exception activities, including single and multiple flips and no-op updates. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: sgress454 <553428+sgress454@users.noreply.github.com> Co-authored-by: Luke Heath <luke@fleetdm.com>
2026-04-24 18:09:31 +00:00
EnabledGitOpsException = "enabled_gitops_exception",
DisabledGitOpsException = "disabled_gitops_exception",
EnabledWindowsMdmMigration = "enabled_windows_mdm_migration",
DisabledWindowsMdmMigration = "disabled_windows_mdm_migration",
RanScript = "ran_script",
RanScriptBatch = "ran_script_batch",
ScheduledScriptBatch = "scheduled_script_batch",
CanceledScriptBatch = "canceled_script_batch",
2023-10-10 22:00:45 +00:00
AddedScript = "added_script",
UpdatedScript = "updated_script",
2023-10-10 22:00:45 +00:00
DeletedScript = "deleted_script",
EditedScript = "edited_script",
EditedWindowsUpdates = "edited_windows_updates",
LockedHost = "locked_host",
UnlockedHost = "unlocked_host",
WipedHost = "wiped_host",
Windows wipe failed acivitiy (#43795) **Related issue:** Resolves #42290 # Checklist for submitter If some of the following don't apply, delete the relevant line. - [x] Changes file added for user-visible changes in `changes/`, `orbit/changes/` or `ee/fleetd-chrome/changes`. See [Changes files](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/guides/committing-changes.md#changes-files) for more information. - [x] Input data is properly validated, `SELECT *` is avoided, SQL injection is prevented (using placeholders for values in statements), JS inline code is prevented especially for url redirects, and untrusted data interpolated into shell scripts/commands is validated against shell metacharacters. - [x] Timeouts are implemented and retries are limited to avoid infinite loops ## Testing - [x] Added/updated automated tests - [x] QA'd all new/changed functionality manually <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Failed Windows MDM wipe attempts now create a tracked "Failed wipe" activity showing the affected host and display name for visibility; UI filter and activity feed now surface this type. * **Bug Fixes** * Improved detection and reporting of wipe result statuses so real failures are reliably surfaced. * Duplicate failure responses are suppressed to avoid repeated alerts. * **Tests** * Added tests validating wipe-failure activity creation and related control flows. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: Marko Lisica <83164494+marko-lisica@users.noreply.github.com>
2026-04-22 22:53:59 +00:00
FailedWipe = "failed_wipe",
CreatedDeclarationProfile = "created_declaration_profile",
DeletedDeclarationProfile = "deleted_declaration_profile",
EditedDeclarationProfile = "edited_declaration_profile",
ResentConfigurationProfile = "resent_configuration_profile",
ResentConfigurationProfileBatch = "resent_configuration_profile_batch",
AddedSoftware = "added_software",
EditedSoftware = "edited_software",
DeletedSoftware = "deleted_software",
InstalledSoftware = "installed_software",
UninstalledSoftware = "uninstalled_software",
2024-07-16 17:16:57 +00:00
EnabledVpp = "enabled_vpp",
DisabledVpp = "disabled_vpp",
AddedAppStoreApp = "added_app_store_app",
EditedAppStoreApp = "edited_app_store_app",
2024-07-16 17:16:57 +00:00
DeletedAppStoreApp = "deleted_app_store_app",
InstalledAppStoreApp = "installed_app_store_app",
EnabledActivityAutomations = "enabled_activity_automations",
EditedActivityAutomations = "edited_activity_automations",
DisabledActivityAutomations = "disabled_activity_automations",
CanceledRunScript = "canceled_run_script",
CanceledInstallAppStoreApp = "canceled_install_app_store_app",
CanceledInstallSoftware = "canceled_install_software",
CanceledUninstallSoftware = "canceled_uninstall_software",
CanceledSetupExperience = "canceled_setup_experience",
2025-02-27 14:07:34 +00:00
EnabledAndroidMdm = "enabled_android_mdm",
DisabledAndroidMdm = "disabled_android_mdm",
Microsoft Compliance Partner backend changes (#29540) For #27042. Ready for review, just missing integration tests that I will be writing today. - [X] Changes file added for user-visible changes in `changes/`, `orbit/changes/` or `ee/fleetd-chrome/changes`. See [Changes files](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/guides/committing-changes.md#changes-files) for more information. - [X] Input data is properly validated, `SELECT *` is avoided, SQL injection is prevented (using placeholders for values in statements) - [ ] Added support on fleet's osquery simulator `cmd/osquery-perf` for new osquery data ingestion features. - [X] If database migrations are included, checked table schema to confirm autoupdate - For new Fleet configuration settings - [X] Verified that the setting can be managed via GitOps, or confirmed that the setting is explicitly being excluded from GitOps. If managing via Gitops: - [X] Verified that the setting is exported via `fleetctl generate-gitops` - [X] Added the setting to [the GitOps documentation](https://github.com/fleetdm/fleet/blob/main/docs/Configuration/yaml-files.md#L485) - [X] Verified that the setting is cleared on the server if it is not supplied in a YAML file (or that it is documented as being optional) - [x] Verified that any relevant UI is disabled when GitOps mode is enabled - For database migrations: - [X] Checked schema for all modified table for columns that will auto-update timestamps during migration. - [X] Confirmed that updating the timestamps is acceptable, and will not cause unwanted side effects. - [X] Ensured the correct collation is explicitly set for character columns (`COLLATE utf8mb4_unicode_ci`). - [x] Added/updated automated tests - [X] Manual QA for all new/changed functionality --------- Co-authored-by: jacobshandling <61553566+jacobshandling@users.noreply.github.com> Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
2025-06-11 17:22:46 +00:00
ConfiguredMSEntraConditionalAccess = "added_conditional_access_integration_microsoft",
DeletedMSEntraConditionalAccess = "deleted_conditional_access_integration_microsoft",
AddedConditionalAccessOkta = "added_conditional_access_okta",
DeletedConditionalAccessOkta = "deleted_conditional_access_okta",
HostBypassedConditionalAccess = "host_bypassed_conditional_access",
UpdatedConditionalAccessBypass = "update_conditional_access_bypass",
UI: Conditional access - Microsoft Entra (#27982) _Note - currently feature flagged. Build frontend with `ALLOW_CONDITIONAL_ACCESS=true NODE_ENV=development yarn run webpack --progress --watch` to enable this feature. Also, all of this functionality depends on the new `config.license.managed_cloud` being true, so you'll need to mock that data somehow. [This branch](https://github.com/fleetdm/fleet/tree/27043-fake-data) has the appropriate fake data for testing_ ## For #27043, #27864 ### Build front end for Fleet's integration with Microsoft Entra, allowing conditional preventtion of single sign-on for hosts failing any policies on a team #### Trigger the integration ![trigger](https://github.com/user-attachments/assets/4578568a-f64a-4390-83d9-fbec751d4b14) #### Triggered, but configuration still not verified <img width="1348" alt="√ not-verified-return-to-prefilled-form" src="https://github.com/user-attachments/assets/44d0c21f-2554-40a8-9158-d1107cff2d09" /> #### Verified, short and long tenant ids: ![ezgif-75f82492180d28](https://github.com/user-attachments/assets/015f3605-81e8-463a-be74-07bab99d9724) #### Verified –> Deleted ![√ verified - delete - deleted](https://github.com/user-attachments/assets/44b8ba70-49c9-43e7-be54-8474756a5b50) #### Enable for policies of a team ![√ enable-for-team](https://github.com/user-attachments/assets/9454b0da-059d-4991-a3ff-14e74257a3a7) #### Activities <img width="886" alt="√ activities" src="https://github.com/user-attachments/assets/d21e6185-c2f2-40b2-9c69-9b92fab58766" /> #### Unavailable for self-hosted Fleet instances: ![no-access-self-hosted](https://github.com/user-attachments/assets/56213522-b721-472f-9174-c8dac0df61f3) #### Premium only ![√ premium-only](https://github.com/user-attachments/assets/97373960-6b38-458b-be37-4c3868469182) - [x] Changes file added for user-visible changes in `changes/` - [x] Added/updated automated tests - [x] A detailed QA plan exists on the associated ticket (if it isn't there, work with the product group's QA engineer to add it) - [ ] Manual QA for all new/changed functionality --------- Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
2025-04-15 20:55:07 +00:00
// enable/disable above feature for a team
EnabledConditionalAccessAutomations = "enabled_conditional_access_automations",
DisabledConditionalAccessAutomations = "disabled_conditional_access_automations",
EscrowedDiskEncryptionKey = "escrowed_disk_encryption_key",
CreatedCustomVariable = "created_custom_variable",
DeletedCustomVariable = "deleted_custom_variable",
EditedSetupExperienceSoftware = "edited_setup_experience_software",
EditedHostIdpData = "edited_host_idp_data",
AddedCertificate = "added_certificate",
Create, list, delete Android certificates from the UI (#37314) **Related issue:** Resolves #36689 <img width="1840" height="1196" alt="Screenshot 2025-12-15 at 5 08 02 PM" src="https://github.com/user-attachments/assets/4f491c80-403f-4188-8cab-552e997c6e9c" /> <img width="1840" height="1196" alt="Screenshot 2025-12-15 at 5 09 18 PM" src="https://github.com/user-attachments/assets/b6e4d9ad-40c1-45c3-8b77-e14d17a2bc7e" /> <img width="1840" height="1196" alt="Screenshot 2025-12-15 at 5 09 22 PM" src="https://github.com/user-attachments/assets/661beee2-3ee2-4269-ab0b-ca070c1a40b8" /> If some of the following don't apply, delete the relevant line. - [x] Changes file added for user-visible changes in `changes/` - [x] Added/updated automated tests - [x] QA'd all new/changed functionality manually <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit ## Release Notes * **New Features** * Added comprehensive Android certificate management in OS Settings with create, list, and delete operations * Integrated certificate management with premium tier gating and MDM enablement checks * Supports team-scoped certificates with pagination controls * Includes validation for certificate names and certificate authority selection * **Refactor** * Generalized heading component to support multiple entity types beyond configuration profiles <sub>✏️ Tip: You can customize this high-level summary in your review settings.</sub> <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-12-16 23:39:07 +00:00
DeletedCertificate = "deleted_certificate",
InstalledCertificate = "installed_certificate",
EditedEnrollSecrets = "edited_enroll_secrets",
AddedMicrosoftEntraTenant = "added_microsoft_entra_tenant",
DeletedMicrosoftEntraTenant = "deleted_microsoft_entra_tenant",
Clear passcode frontend (#43084) <!-- Add the related story/sub-task/bug number, like Resolves #123, or remove if NA --> **Related issue:** Resolves #42369 # Checklist for submitter If some of the following don't apply, delete the relevant line. - [ ] Changes file added for user-visible changes in `changes/`, `orbit/changes/` or `ee/fleetd-chrome/changes`. See [Changes files](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/guides/committing-changes.md#changes-files) for more information. **Done in backend task for whole story** - [x] Input data is properly validated, `SELECT *` is avoided, SQL injection is prevented (using placeholders for values in statements), JS inline code is prevented especially for url redirects, and untrusted data interpolated into shell scripts/commands is validated against shell metacharacters. - [x] Timeouts are implemented and retries are limited to avoid infinite loops - [x] If paths of existing endpoints are modified without backwards compatibility, checked the frontend/CLI for any necessary changes ## Testing - [x] Added/updated automated tests - [x] QA'd all new/changed functionality manually <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Added "Clear passcode" action for iOS and iPad hosts in the host actions menu, accessible only to Premium tier users with appropriate permissions. * Added confirmation modal for clearing device passcodes. * Passcode clearing activity now appears in the activity feed with actor information. * Action is conditionally disabled during specific device states (Lost Mode, pending wipe) with contextual tooltips. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-04-07 21:36:03 +00:00
ClearedPasscode = "cleared_passcode",
EnabledManagedLocalAccount = "enabled_managed_local_account",
DisabledManagedLocalAccount = "disabled_managed_local_account",
ViewedManagedLocalAccount = "read_managed_local_account",
CreatedManagedLocalAccount = "created_managed_local_account",
Add frontend support for enrollment profile renewal failed activity (#44530) Backend PR: #44511 <!-- Add the related story/sub-task/bug number, like Resolves #123, or remove if NA --> **Related issue:** Resolves #41422 <img width="618" height="244" alt="image" src="https://github.com/user-attachments/assets/c223e37d-7051-46a6-a2ea-6bd1bdcbb53e" /> <img width="777" height="780" alt="image" src="https://github.com/user-attachments/assets/3b9ef4e9-2181-406b-a22e-e6773eba67af" /> <img width="649" height="236" alt="image" src="https://github.com/user-attachments/assets/3985faf0-a1e4-404a-b190-cb623f52339a" /> <img width="1083" height="768" alt="image" src="https://github.com/user-attachments/assets/2d4df607-4b34-435c-88db-6dc0fa09db2e" /> # Checklist for submitter If some of the following don't apply, delete the relevant line. - [ ] Changes file added for user-visible changes in `changes/`, `orbit/changes/` or `ee/fleetd-chrome/changes`. See [Changes files](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/guides/committing-changes.md#changes-files) for more information. Part of backend PR - [x] Input data is properly validated, `SELECT *` is avoided, SQL injection is prevented (using placeholders for values in statements), JS inline code is prevented especially for url redirects, and untrusted data interpolated into shell scripts/commands is validated against shell metacharacters. - [x] Timeouts are implemented and retries are limited to avoid infinite loops - [x] If paths of existing endpoints are modified without backwards compatibility, checked the frontend/CLI for any necessary changes ## Testing - [x] QA'd all new/changed functionality manually <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Added "Enrollment profile renewal failed" activity type and label. * Failure entries now appear in activity feeds and host details with a dedicated activity item and a details flow. * Users can open a failure details modal showing a status icon, host name (with fallback), relative failure time, guidance about certificate expiration, and a link to Fleet support. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-05-01 18:05:31 +00:00
FailedEnrollmentProfileRenewal = "failed_enrollment_profile_renewal",
CreatedLabel = "created_label",
EditedLabel = "edited_label",
DeletedLabel = "deleted_label",
Add ability to upload custom org logos (#44390) <!-- Add the related story/sub-task/bug number, like Resolves #123, or remove if NA --> **Related issue:** Resolves #44330, Resolves #44331 # Checklist for submitter - [x] Changes file added for user-visible changes in `changes/`, `orbit/changes/` or `ee/fleetd-chrome/changes`. See [Changes files](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/guides/committing-changes.md#changes-files) for more information. ## Testing - [x] Added/updated automated tests. (I'd defer integration tests to a separate PR since this one is pretty large already.) - [x] QA'd all new/changed functionality manually. I've tested this on both the setup flow and the organization settings page. I haven't had the time to test this on other places where we render the logo (macOS setup experience / MDM migration dialog). https://github.com/user-attachments/assets/95d4eae5-3da6-40f4-98a1-8575b97d96b3 ## New Fleet configuration settings - [x] Setting(s) is/are explicitly excluded from GitOps. Will handle GitOps in a separate PR. <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Organizations can upload custom logos for light and dark modes. * Registration and Org Settings support logo file upload, preview, per-mode replace/delete, and validation (size & image formats). * Activity feed records logo changes/deletions; site nav displays uploaded logos per theme. * File uploader/preview adds a Fleet logo graphic option and improved logo validation. * Config/GitOps outputs now include separate dark/light logo fields. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-05-05 12:42:52 +00:00
ChangedOrgLogo = "changed_org_logo",
DeletedOrgLogo = "deleted_org_logo",
}
/** This is a subset of ActivityType that are shown only for the host past activities */
export type IHostPastActivityType =
| ActivityType.RanScript
| ActivityType.LockedHost
| ActivityType.WipedHost
Windows wipe failed acivitiy (#43795) **Related issue:** Resolves #42290 # Checklist for submitter If some of the following don't apply, delete the relevant line. - [x] Changes file added for user-visible changes in `changes/`, `orbit/changes/` or `ee/fleetd-chrome/changes`. See [Changes files](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/guides/committing-changes.md#changes-files) for more information. - [x] Input data is properly validated, `SELECT *` is avoided, SQL injection is prevented (using placeholders for values in statements), JS inline code is prevented especially for url redirects, and untrusted data interpolated into shell scripts/commands is validated against shell metacharacters. - [x] Timeouts are implemented and retries are limited to avoid infinite loops ## Testing - [x] Added/updated automated tests - [x] QA'd all new/changed functionality manually <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Failed Windows MDM wipe attempts now create a tracked "Failed wipe" activity showing the affected host and display name for visibility; UI filter and activity feed now surface this type. * **Bug Fixes** * Improved detection and reporting of wipe result statuses so real failures are reliably surfaced. * Duplicate failure responses are suppressed to avoid repeated alerts. * **Tests** * Added tests validating wipe-failure activity creation and related control flows. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: Marko Lisica <83164494+marko-lisica@users.noreply.github.com>
2026-04-22 22:53:59 +00:00
| ActivityType.FailedWipe
| ActivityType.ReadHostDiskEncryptionKey
| ActivityType.ViewedHostRecoveryLockPassword
| ActivityType.SetHostRecoveryLockPassword
| ActivityType.RotatedHostRecoveryLockPassword
| ActivityType.UnlockedHost
2024-07-16 17:16:57 +00:00
| ActivityType.InstalledSoftware
| ActivityType.UninstalledSoftware
| ActivityType.InstalledAppStoreApp
| ActivityType.CanceledRunScript
| ActivityType.CanceledInstallAppStoreApp
| ActivityType.CanceledInstallSoftware
| ActivityType.CanceledUninstallSoftware
| ActivityType.CanceledSetupExperience
| ActivityType.InstalledCertificate
Clear passcode frontend (#43084) <!-- Add the related story/sub-task/bug number, like Resolves #123, or remove if NA --> **Related issue:** Resolves #42369 # Checklist for submitter If some of the following don't apply, delete the relevant line. - [ ] Changes file added for user-visible changes in `changes/`, `orbit/changes/` or `ee/fleetd-chrome/changes`. See [Changes files](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/guides/committing-changes.md#changes-files) for more information. **Done in backend task for whole story** - [x] Input data is properly validated, `SELECT *` is avoided, SQL injection is prevented (using placeholders for values in statements), JS inline code is prevented especially for url redirects, and untrusted data interpolated into shell scripts/commands is validated against shell metacharacters. - [x] Timeouts are implemented and retries are limited to avoid infinite loops - [x] If paths of existing endpoints are modified without backwards compatibility, checked the frontend/CLI for any necessary changes ## Testing - [x] Added/updated automated tests - [x] QA'd all new/changed functionality manually <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Added "Clear passcode" action for iOS and iPad hosts in the host actions menu, accessible only to Premium tier users with appropriate permissions. * Added confirmation modal for clearing device passcodes. * Passcode clearing activity now appears in the activity feed with actor information. * Action is conditionally disabled during specific device states (Lost Mode, pending wipe) with contextual tooltips. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-04-07 21:36:03 +00:00
| ActivityType.ResentCertificate
| ActivityType.ClearedPasscode
| ActivityType.ViewedManagedLocalAccount
Add frontend support for enrollment profile renewal failed activity (#44530) Backend PR: #44511 <!-- Add the related story/sub-task/bug number, like Resolves #123, or remove if NA --> **Related issue:** Resolves #41422 <img width="618" height="244" alt="image" src="https://github.com/user-attachments/assets/c223e37d-7051-46a6-a2ea-6bd1bdcbb53e" /> <img width="777" height="780" alt="image" src="https://github.com/user-attachments/assets/3b9ef4e9-2181-406b-a22e-e6773eba67af" /> <img width="649" height="236" alt="image" src="https://github.com/user-attachments/assets/3985faf0-a1e4-404a-b190-cb623f52339a" /> <img width="1083" height="768" alt="image" src="https://github.com/user-attachments/assets/2d4df607-4b34-435c-88db-6dc0fa09db2e" /> # Checklist for submitter If some of the following don't apply, delete the relevant line. - [ ] Changes file added for user-visible changes in `changes/`, `orbit/changes/` or `ee/fleetd-chrome/changes`. See [Changes files](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/guides/committing-changes.md#changes-files) for more information. Part of backend PR - [x] Input data is properly validated, `SELECT *` is avoided, SQL injection is prevented (using placeholders for values in statements), JS inline code is prevented especially for url redirects, and untrusted data interpolated into shell scripts/commands is validated against shell metacharacters. - [x] Timeouts are implemented and retries are limited to avoid infinite loops - [x] If paths of existing endpoints are modified without backwards compatibility, checked the frontend/CLI for any necessary changes ## Testing - [x] QA'd all new/changed functionality manually <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Added "Enrollment profile renewal failed" activity type and label. * Failure entries now appear in activity feeds and host details with a dedicated activity item and a details flow. * Users can open a failure details modal showing a status icon, host name (with fallback), relative failure time, guidance about certificate expiration, and a link to Fleet support. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-05-01 18:05:31 +00:00
| ActivityType.CreatedManagedLocalAccount
| ActivityType.FailedEnrollmentProfileRenewal;
/** This is a subset of ActivityType that are shown only for the host upcoming activities */
export type IHostUpcomingActivityType =
| ActivityType.RanScript
2024-07-16 17:16:57 +00:00
| ActivityType.InstalledSoftware
| ActivityType.UninstalledSoftware
| ActivityType.InstalledAppStoreApp
| ActivityType.LockedHost
| ActivityType.UnlockedHost;
export interface IActivity {
created_at: string;
id: number | string;
actor_full_name: string;
actor_id: number;
actor_gravatar: string;
actor_email?: string;
actor_api_only: boolean;
type: ActivityType;
fleet_initiated: boolean;
details?: IActivityDetails;
}
export type IHostPastActivity = Omit<IActivity, "type" | "details"> & {
type: IHostPastActivityType;
details: IActivityDetails;
};
export type IHostUpcomingActivity = Omit<
IActivity,
"id" | "type" | "details"
> & {
uuid: string;
type: IHostUpcomingActivityType;
details: IActivityDetails;
};
export interface IActivityDetails {
/** Useful for passing this data into an activity details modal */
created_at?: string;
app_store_id?: number;
bootstrap_package_name?: string;
batch_execution_id?: string;
command_uuid?: string;
host_uuid?: string;
deadline_days?: number;
deadline?: string;
Log failed login attempts as activities (#9430) #9119 To test the SSO changes locally you can use: https://github.com/fleetdm/fleet/blob/main/docs/Contributing/Testing-and-local-development.md#testing-sso @RachelElysia Please take a look at the UI changes (All I did was copy/paste and amend the changes for the new activity type.) IMO we shouldn't display an avatar because there's no "actual user" involved in these failed login attempts activities (by "actual user" I mean the user attributed to the activity): <img width="446" alt="Screenshot 2023-01-19 at 10 41 05" src="https://user-images.githubusercontent.com/2073526/213524771-b85901ce-eec0-4cf3-919c-73162285e20b.png"> - [X] Changes file added for user-visible changes in `changes/` or `orbit/changes/`. See [Changes files](https://fleetdm.com/docs/contributing/committing-changes#changes-files) for more information. - [X] Documented any API changes (docs/Using-Fleet/REST-API.md or docs/Contributing/API-for-contributors.md) - ~[ ] Documented any permissions changes~ - ~[ ] Input data is properly validated, `SELECT *` is avoided, SQL injection is prevented (using placeholders for values in statements)~ - ~[ ] Added support on fleet's osquery simulator `cmd/osquery-perf` for new osquery data ingestion features.~ - [X] Added/updated tests - [X] Manual QA for all new/changed functionality - ~For Orbit and Fleet Desktop changes:~ - ~[ ] Manual QA must be performed in the three main OSs, macOS, Windows and Linux.~ - ~[ ] Auto-update manual QA, from released version of component to new version (see [tools/tuf/test](../tools/tuf/test/README.md)).~
2023-01-20 15:43:22 +00:00
email?: string;
enrollment_id?: string | null; // unique identifier for MDM BYOD enrollments; null for other enrollments
global?: boolean;
grace_period_days?: number;
host_display_name?: string;
host_display_names?: string[];
host_expiry_window?: number;
host_id?: number;
host_ids?: number[];
host_count?: number;
canceled_count?: number;
host_platform?: string;
host_serial?: string;
install_uuid?: string;
installed_from_dep?: boolean;
labels_exclude_any?: ILabelSoftwareTitle[];
labels_include_any?: ILabelSoftwareTitle[];
location?: string; // name of location associated with VPP token
mdm_platform?: "microsoft" | "apple" | "android" | "ios" | "ipados";
minimum_version?: string;
Add ability to upload custom org logos (#44390) <!-- Add the related story/sub-task/bug number, like Resolves #123, or remove if NA --> **Related issue:** Resolves #44330, Resolves #44331 # Checklist for submitter - [x] Changes file added for user-visible changes in `changes/`, `orbit/changes/` or `ee/fleetd-chrome/changes`. See [Changes files](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/guides/committing-changes.md#changes-files) for more information. ## Testing - [x] Added/updated automated tests. (I'd defer integration tests to a separate PR since this one is pretty large already.) - [x] QA'd all new/changed functionality manually. I've tested this on both the setup flow and the organization settings page. I haven't had the time to test this on other places where we render the logo (macOS setup experience / MDM migration dialog). https://github.com/user-attachments/assets/95d4eae5-3da6-40f4-98a1-8575b97d96b3 ## New Fleet configuration settings - [x] Setting(s) is/are explicitly excluded from GitOps. Will handle GitOps in a separate PR. <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Organizations can upload custom logos for light and dark modes. * Registration and Org Settings support logo file upload, preview, per-mode replace/delete, and validation (size & image formats). * Activity feed records logo changes/deletions; site nav displays uploaded logos per theme. * File uploader/preview adds a Fleet logo graphic option and improved logo validation. * Config/GitOps outputs now include separate dark/light logo fields. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-05-05 12:42:52 +00:00
mode?: IOrgLogoMode;
name?: string;
pack_id?: number;
pack_name?: string;
platform?: Platform; // OS platform
policy_id?: number;
policy_name?: string;
profile_identifier?: string;
profile_name?: string;
public_ip?: string;
query_id?: number;
query_ids?: number[];
query_name?: string;
query_sql?: string;
role?: UserRole;
script_execution_id?: string;
2023-10-10 22:00:45 +00:00
script_name?: string;
self_service?: boolean;
software_package?: string;
software_title_id?: number;
software_title?: string;
/** Custom name set per team by admin */
software_display_name?: string;
source?: SoftwareSource;
specs?: IQuery[] | IPolicy[];
stats?: ISchedulableQueryStats;
status?: string;
targets_count?: number;
team_id?: number | null;
team_name?: string | null;
teams?: ITeamSummary[];
triggered_by?: string;
from_setup_experience?: boolean;
user_email?: string;
user_id?: number;
webhook_url?: string;
custom_variable_name?: string;
host_idp_username?: string;
idp_full_name?: string;
tenant_id?: string;
certificate_name?: string;
certificate_template_id?: number;
detail?: string;
Add activities when toggling GitOps exception settings (#44094) <!-- Add the related story/sub-task/bug number, like Resolves #123, or remove if NA --> **Related issue:** For #40171 # Details Adds audit activity when enabling or disabling GitOps exceptions. # Checklist for submitter If some of the following don't apply, delete the relevant line. - [ ] Changes file added for user-visible changes in `changes/`, `orbit/changes/` or `ee/fleetd-chrome/changes`. See [Changes files](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/guides/committing-changes.md#changes-files) for more information. n/a, unreleased ## Testing - [X] Added/updated automated tests - [X] QA'd all new/changed functionality manually <img width="714" height="699" alt="image" src="https://github.com/user-attachments/assets/161bd084-347b-4cde-893e-9b385f13872c" /> For unreleased bug fixes in a release candidate, one of: - [X] Confirmed that the fix is not expected to adversely impact load test results <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Activity feed now records when GitOps exceptions (labels, software, secrets) are enabled or disabled. * **UI** * Activity messages show which specific exception was enabled or disabled. * **Tests** * Added unit and integration tests verifying generation and rendering of enable/disable exception activities, including single and multiple flips and no-op updates. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: sgress454 <553428+sgress454@users.noreply.github.com> Co-authored-by: Luke Heath <luke@fleetdm.com>
2026-04-24 18:09:31 +00:00
exception?: string;
label_id?: number;
label_name?: string;
fleet_id?: number | null;
fleet_name?: string | null;
}
Create, list, delete Android certificates from the UI (#37314) **Related issue:** Resolves #36689 <img width="1840" height="1196" alt="Screenshot 2025-12-15 at 5 08 02 PM" src="https://github.com/user-attachments/assets/4f491c80-403f-4188-8cab-552e997c6e9c" /> <img width="1840" height="1196" alt="Screenshot 2025-12-15 at 5 09 18 PM" src="https://github.com/user-attachments/assets/b6e4d9ad-40c1-45c3-8b77-e14d17a2bc7e" /> <img width="1840" height="1196" alt="Screenshot 2025-12-15 at 5 09 22 PM" src="https://github.com/user-attachments/assets/661beee2-3ee2-4269-ab0b-ca070c1a40b8" /> If some of the following don't apply, delete the relevant line. - [x] Changes file added for user-visible changes in `changes/` - [x] Added/updated automated tests - [x] QA'd all new/changed functionality manually <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit ## Release Notes * **New Features** * Added comprehensive Android certificate management in OS Settings with create, list, and delete operations * Integrated certificate management with premium tier gating and MDM enablement checks * Supports team-scoped certificates with pagination controls * Includes validation for certificate names and certificate authority selection * **Refactor** * Generalized heading component to support multiple entity types beyond configuration profiles <sub>✏️ Tip: You can customize this high-level summary in your review settings.</sub> <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-12-16 23:39:07 +00:00
// maps activity types to their corresponding label to use when filtering activites via the dropdown
export const ACTIVITY_TYPE_TO_FILTER_LABEL: Record<ActivityType, string> = {
added_app_store_app: "Added App Store app", // Includes VPP and Android Playstore apps
added_bootstrap_package: "Added bootstrap package",
added_conditional_access_microsoft: "Added conditional access: Microsoft",
added_custom_scep_proxy: "Added certificate authority (CA): custom SCEP",
added_digicert: "Added certificate authority (CA): DigiCert",
added_microsoft_entra_tenant: "Added Microsoft Entra tenant",
added_ndes_scep_proxy: "Added certificate authority (CA): NDES",
added_script: "Added script",
added_software: "Added software",
applied_spec_pack: "GitOps: edited packs",
applied_spec_policy: "GitOps: edited policies",
Fix "query" to "report" in various places in UI (#41078) <!-- Add the related story/sub-task/bug number, like Resolves #123, or remove if NA --> **Related issue:** For #41030 # Checklist for submitter If some of the following don't apply, delete the relevant line. - [ ] Changes file added for user-visible changes in `changes/`, `orbit/changes/` or `ee/fleetd-chrome/changes`. See [Changes files](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/guides/committing-changes.md#changes-files) for more information. n/a ## Testing - [ ] Added/updated automated tests - [X] QA'd all new/changed functionality manually **Query report "Export results" file name (just dropped "Query")** <img width="481" height="35" alt="image" src="https://github.com/user-attachments/assets/c7529f1d-07d3-467c-868c-e4b49f4b6eec" /> --- **Tooltips on the New Report page** <img width="308" height="109" alt="image" src="https://github.com/user-attachments/assets/886cb49c-664a-46f3-bbe3-35712644f7ad" /> <img width="309" height="82" alt="image" src="https://github.com/user-attachments/assets/bb76f48c-548e-4059-835b-b8861f71d37a" /> --- **Report automations Example data tooltip** <img width="619" height="87" alt="image" src="https://github.com/user-attachments/assets/d400bcad-fca9-413d-a4c3-bdd2c2167d1b" /> --- **Activities filter** <img width="433" height="350" alt="image" src="https://github.com/user-attachments/assets/cf6379cc-7d64-4e0e-91bd-034e41eeec1f" /> <img width="414" height="382" alt="image" src="https://github.com/user-attachments/assets/4da59326-732d-481c-bacb-8db2965c7bb5" /> -- **Created/Edited/Deleted query activity** <img width="403" height="254" alt="image" src="https://github.com/user-attachments/assets/a87dec83-958d-4803-b42b-28e9683b3a8b" /> For unreleased bug fixes in a release candidate, one of: - [X] Confirmed that the fix is not expected to adversely impact load test results
2026-03-05 23:16:33 +00:00
applied_spec_saved_query: "GitOps: edited reports",
applied_spec_team: "GitOps: edited fleets",
applied_spec_software: "GitOps: edited software",
canceled_install_app_store_app:
"Canceled activity: install App Store (VPP) app",
canceled_install_software: "Canceled activity: install software",
canceled_run_script: "Canceled activity: run script",
canceled_uninstall_software: "Canceled activity: uninstall software",
canceled_setup_experience: "Canceled setup experience",
changed_macos_setup_assistant: "Edited macOS automatic enrollment profile",
Add ability to upload custom org logos (#44390) <!-- Add the related story/sub-task/bug number, like Resolves #123, or remove if NA --> **Related issue:** Resolves #44330, Resolves #44331 # Checklist for submitter - [x] Changes file added for user-visible changes in `changes/`, `orbit/changes/` or `ee/fleetd-chrome/changes`. See [Changes files](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/guides/committing-changes.md#changes-files) for more information. ## Testing - [x] Added/updated automated tests. (I'd defer integration tests to a separate PR since this one is pretty large already.) - [x] QA'd all new/changed functionality manually. I've tested this on both the setup flow and the organization settings page. I haven't had the time to test this on other places where we render the logo (macOS setup experience / MDM migration dialog). https://github.com/user-attachments/assets/95d4eae5-3da6-40f4-98a1-8575b97d96b3 ## New Fleet configuration settings - [x] Setting(s) is/are explicitly excluded from GitOps. Will handle GitOps in a separate PR. <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Organizations can upload custom logos for light and dark modes. * Registration and Org Settings support logo file upload, preview, per-mode replace/delete, and validation (size & image formats). * Activity feed records logo changes/deletions; site nav displays uploaded logos per theme. * File uploader/preview adds a Fleet logo graphic option and improved logo validation. * Config/GitOps outputs now include separate dark/light logo fields. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-05-05 12:42:52 +00:00
changed_org_logo: "Updated organization logo",
changed_user_global_role: "Edited user's role: global",
changed_user_team_role: "Edited user's role: fleet",
created_declaration_profile: "Added declaration (DDM) profile",
created_macos_profile: "Added configuration profile: Apple",
created_pack: "Created pack",
created_policy: "Created policy",
Fix "query" to "report" in various places in UI (#41078) <!-- Add the related story/sub-task/bug number, like Resolves #123, or remove if NA --> **Related issue:** For #41030 # Checklist for submitter If some of the following don't apply, delete the relevant line. - [ ] Changes file added for user-visible changes in `changes/`, `orbit/changes/` or `ee/fleetd-chrome/changes`. See [Changes files](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/guides/committing-changes.md#changes-files) for more information. n/a ## Testing - [ ] Added/updated automated tests - [X] QA'd all new/changed functionality manually **Query report "Export results" file name (just dropped "Query")** <img width="481" height="35" alt="image" src="https://github.com/user-attachments/assets/c7529f1d-07d3-467c-868c-e4b49f4b6eec" /> --- **Tooltips on the New Report page** <img width="308" height="109" alt="image" src="https://github.com/user-attachments/assets/886cb49c-664a-46f3-bbe3-35712644f7ad" /> <img width="309" height="82" alt="image" src="https://github.com/user-attachments/assets/bb76f48c-548e-4059-835b-b8861f71d37a" /> --- **Report automations Example data tooltip** <img width="619" height="87" alt="image" src="https://github.com/user-attachments/assets/d400bcad-fca9-413d-a4c3-bdd2c2167d1b" /> --- **Activities filter** <img width="433" height="350" alt="image" src="https://github.com/user-attachments/assets/cf6379cc-7d64-4e0e-91bd-034e41eeec1f" /> <img width="414" height="382" alt="image" src="https://github.com/user-attachments/assets/4da59326-732d-481c-bacb-8db2965c7bb5" /> -- **Created/Edited/Deleted query activity** <img width="403" height="254" alt="image" src="https://github.com/user-attachments/assets/a87dec83-958d-4803-b42b-28e9683b3a8b" /> For unreleased bug fixes in a release candidate, one of: - [X] Confirmed that the fix is not expected to adversely impact load test results
2026-03-05 23:16:33 +00:00
created_saved_query: "Added report",
created_team: "Added fleet",
created_user: "Added user",
created_windows_profile: "Added configuration profile: Windows",
deleted_app_store_app: "Deleted App Store app", // Includes VPP and Android Playstore apps
deleted_bootstrap_package: "Deleted bootstrap package",
deleted_conditional_access_microsoft: "Deleted conditional access: Microsoft",
deleted_custom_scep_proxy: "Deleted certificate authority (CA): custom SCEP",
deleted_declaration_profile: "Deleted declaration (DDM) profile",
deleted_digicert: "Deleted certificate authority (CA): DigiCert",
deleted_macos_profile: "Deleted configuration profile: Apple",
deleted_macos_setup_assistant: "Deleted macOS automatic enrollment profile",
deleted_microsoft_entra_tenant: "Deleted Microsoft Entra tenant",
Fix "query" to "report" in various places in UI (#41078) <!-- Add the related story/sub-task/bug number, like Resolves #123, or remove if NA --> **Related issue:** For #41030 # Checklist for submitter If some of the following don't apply, delete the relevant line. - [ ] Changes file added for user-visible changes in `changes/`, `orbit/changes/` or `ee/fleetd-chrome/changes`. See [Changes files](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/guides/committing-changes.md#changes-files) for more information. n/a ## Testing - [ ] Added/updated automated tests - [X] QA'd all new/changed functionality manually **Query report "Export results" file name (just dropped "Query")** <img width="481" height="35" alt="image" src="https://github.com/user-attachments/assets/c7529f1d-07d3-467c-868c-e4b49f4b6eec" /> --- **Tooltips on the New Report page** <img width="308" height="109" alt="image" src="https://github.com/user-attachments/assets/886cb49c-664a-46f3-bbe3-35712644f7ad" /> <img width="309" height="82" alt="image" src="https://github.com/user-attachments/assets/bb76f48c-548e-4059-835b-b8861f71d37a" /> --- **Report automations Example data tooltip** <img width="619" height="87" alt="image" src="https://github.com/user-attachments/assets/d400bcad-fca9-413d-a4c3-bdd2c2167d1b" /> --- **Activities filter** <img width="433" height="350" alt="image" src="https://github.com/user-attachments/assets/cf6379cc-7d64-4e0e-91bd-034e41eeec1f" /> <img width="414" height="382" alt="image" src="https://github.com/user-attachments/assets/4da59326-732d-481c-bacb-8db2965c7bb5" /> -- **Created/Edited/Deleted query activity** <img width="403" height="254" alt="image" src="https://github.com/user-attachments/assets/a87dec83-958d-4803-b42b-28e9683b3a8b" /> For unreleased bug fixes in a release candidate, one of: - [X] Confirmed that the fix is not expected to adversely impact load test results
2026-03-05 23:16:33 +00:00
deleted_multiple_saved_query: "Bulk deleted reports",
deleted_ndes_scep_proxy: "Deleted certificate authority (CA): NDES",
Add ability to upload custom org logos (#44390) <!-- Add the related story/sub-task/bug number, like Resolves #123, or remove if NA --> **Related issue:** Resolves #44330, Resolves #44331 # Checklist for submitter - [x] Changes file added for user-visible changes in `changes/`, `orbit/changes/` or `ee/fleetd-chrome/changes`. See [Changes files](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/guides/committing-changes.md#changes-files) for more information. ## Testing - [x] Added/updated automated tests. (I'd defer integration tests to a separate PR since this one is pretty large already.) - [x] QA'd all new/changed functionality manually. I've tested this on both the setup flow and the organization settings page. I haven't had the time to test this on other places where we render the logo (macOS setup experience / MDM migration dialog). https://github.com/user-attachments/assets/95d4eae5-3da6-40f4-98a1-8575b97d96b3 ## New Fleet configuration settings - [x] Setting(s) is/are explicitly excluded from GitOps. Will handle GitOps in a separate PR. <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Organizations can upload custom logos for light and dark modes. * Registration and Org Settings support logo file upload, preview, per-mode replace/delete, and validation (size & image formats). * Activity feed records logo changes/deletions; site nav displays uploaded logos per theme. * File uploader/preview adds a Fleet logo graphic option and improved logo validation. * Config/GitOps outputs now include separate dark/light logo fields. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-05-05 12:42:52 +00:00
deleted_org_logo: "Deleted organization logo",
deleted_pack: "Deleted pack",
deleted_policy: "Deleted policy",
Fix "query" to "report" in various places in UI (#41078) <!-- Add the related story/sub-task/bug number, like Resolves #123, or remove if NA --> **Related issue:** For #41030 # Checklist for submitter If some of the following don't apply, delete the relevant line. - [ ] Changes file added for user-visible changes in `changes/`, `orbit/changes/` or `ee/fleetd-chrome/changes`. See [Changes files](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/guides/committing-changes.md#changes-files) for more information. n/a ## Testing - [ ] Added/updated automated tests - [X] QA'd all new/changed functionality manually **Query report "Export results" file name (just dropped "Query")** <img width="481" height="35" alt="image" src="https://github.com/user-attachments/assets/c7529f1d-07d3-467c-868c-e4b49f4b6eec" /> --- **Tooltips on the New Report page** <img width="308" height="109" alt="image" src="https://github.com/user-attachments/assets/886cb49c-664a-46f3-bbe3-35712644f7ad" /> <img width="309" height="82" alt="image" src="https://github.com/user-attachments/assets/bb76f48c-548e-4059-835b-b8861f71d37a" /> --- **Report automations Example data tooltip** <img width="619" height="87" alt="image" src="https://github.com/user-attachments/assets/d400bcad-fca9-413d-a4c3-bdd2c2167d1b" /> --- **Activities filter** <img width="433" height="350" alt="image" src="https://github.com/user-attachments/assets/cf6379cc-7d64-4e0e-91bd-034e41eeec1f" /> <img width="414" height="382" alt="image" src="https://github.com/user-attachments/assets/4da59326-732d-481c-bacb-8db2965c7bb5" /> -- **Created/Edited/Deleted query activity** <img width="403" height="254" alt="image" src="https://github.com/user-attachments/assets/a87dec83-958d-4803-b42b-28e9683b3a8b" /> For unreleased bug fixes in a release candidate, one of: - [X] Confirmed that the fix is not expected to adversely impact load test results
2026-03-05 23:16:33 +00:00
deleted_saved_query: "Deleted report",
deleted_script: "Deleted script",
deleted_software: "Deleted software",
deleted_team: "Deleted fleet",
deleted_user: "Deleted user",
deleted_user_global_role: "Deleted user's role: global",
deleted_user_team_role: "Deleted user's role: fleet",
deleted_windows_profile: "Deleted configuration profile: Windows",
disabled_activity_automations: "Disabled activity automations",
disabled_android_mdm: "Turned off Android MDM",
disabled_conditional_access_automations:
"Disabled conditional access automations",
Add activities when toggling GitOps exception settings (#44094) <!-- Add the related story/sub-task/bug number, like Resolves #123, or remove if NA --> **Related issue:** For #40171 # Details Adds audit activity when enabling or disabling GitOps exceptions. # Checklist for submitter If some of the following don't apply, delete the relevant line. - [ ] Changes file added for user-visible changes in `changes/`, `orbit/changes/` or `ee/fleetd-chrome/changes`. See [Changes files](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/guides/committing-changes.md#changes-files) for more information. n/a, unreleased ## Testing - [X] Added/updated automated tests - [X] QA'd all new/changed functionality manually <img width="714" height="699" alt="image" src="https://github.com/user-attachments/assets/161bd084-347b-4cde-893e-9b385f13872c" /> For unreleased bug fixes in a release candidate, one of: - [X] Confirmed that the fix is not expected to adversely impact load test results <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Activity feed now records when GitOps exceptions (labels, software, secrets) are enabled or disabled. * **UI** * Activity messages show which specific exception was enabled or disabled. * **Tests** * Added unit and integration tests verifying generation and rendering of enable/disable exception activities, including single and multiple flips and no-op updates. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: sgress454 <553428+sgress454@users.noreply.github.com> Co-authored-by: Luke Heath <luke@fleetdm.com>
2026-04-24 18:09:31 +00:00
disabled_gitops_exception: "Disabled GitOps exception",
disabled_gitops_mode: "Disabled GitOps mode",
disabled_macos_disk_encryption: "Turned off disk encryption",
disabled_macos_setup_end_user_auth:
"Turned off end user authentication (setup experience)",
Add "update new hosts to latest" to OS Updates form for MacOS (#37103) <!-- Add the related story/sub-task/bug number, like Resolves #123, or remove if NA --> **Related issue:** Resolves #36088 # Checklist for submitter If some of the following don't apply, delete the relevant line. - [X] Changes file added for user-visible changes in `changes/`, `orbit/changes/` or `ee/fleetd-chrome/changes`. See [Changes files](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/guides/committing-changes.md#changes-files) for more information. ## Testing - [X] Added/updated automated tests - [X] QA'd all new/changed functionality manually Saving this value currently results in a 400 response from the server since it's not a valid key yet. We can keep this in draft until the backend is merged if we want to e2e test with it. ### Controls -> OS Settings "Target" section #### All platforms - [X] Update success banner message to "Successfully updated." <img width="200" alt="image" src="https://github.com/user-attachments/assets/bc43ec79-41d1-4dd3-947c-8152051fd209" /> #### macOS / iOS / iPadOS - [X] Update tooltip text for "Minimum version" to `Enrolled hosts are updated to exactly this version.` <img width="250" alt="Image" src="https://github.com/user-attachments/assets/7d870224-395e-4bc9-937e-be599da57a97" /> - [X] Make "available from Apple" a link, replacing "Learn more", and link to https://fleetdm.com/learn-more-about/apple-available-os-updates <img width="250" height="363" alt="image" src="https://github.com/user-attachments/assets/8191ec2d-bf0a-4cf6-9b1a-1272c0ff69b0" /> > Note - this URL is current a 404 - [X] Remove text referring to platform from "End user experience" heading, i.e. it should just say "End user experience" for all platforms where it appears, not e.g. "End user experience on macOS" #### macOS Only - [X] Add new "Update new hosts to latest" checkbox <img width="316" height="406" alt="Image" src="https://github.com/user-attachments/assets/71aec05a-b809-436d-8bfd-cd3e14b27ea1" /> - [X] Reflects the `macos_updates.update_new_hosts` setting for the team or (for no team) global config (only testable via automated tests right now) - [X] Update End user experience text to "When a minimum version is enforced, end users see a native macOS notification (DDM) once per day." (see above) ### Global activity feed - [X] When "Update new hosts to latest" is enabled, activity should say `[Actor's name] enabled OS updates for all new macOS hosts on the [team name] team. macOS hosts will upgrade to the lastest version when they enroll.` - [X] When "Update new hosts to latest" is disabled, activity should say `[Actor's name] disabled updates for all new macOS hosts on the [team name] team.` (tested via automated tests)
2025-12-12 17:46:07 +00:00
disabled_macos_update_new_hosts: "Disabled OS updates for new macOS hosts",
disabled_vpp: "Disabled Volume Purchasing Program (VPP)",
disabled_windows_mdm: "Turned off Windows MDM",
disabled_windows_mdm_migration: "Turned off Windows MDM migration",
edited_activity_automations: "Edited activity automations",
edited_agent_options: "Edited agent options",
edited_app_store_app: "Edited App Store app", // Includes VPP and Android Playstore apps
edited_conditional_access_microsoft: "Edited conditional access: Microsoft",
edited_custom_scep_proxy: "Edited certificate authority (CA): custom SCEP",
edited_declaration_profile: "GitOps: edited declaration (DDM) profiles",
edited_digicert: "Edited certificate authority (CA): DigiCert",
edited_ios_min_version: "OS updates: edited iOS",
edited_ipados_min_version: "OS updates: edited iPadOS",
edited_macos_min_version: "OS updates: edited macOS",
edited_macos_profile: "GitOps: edited configuration profiles: Apple",
edited_ndes_scep_proxy: "Edited certificate authority (CA): NDES",
edited_pack: "Edited pack",
edited_policy: "Edited policy",
Fix "query" to "report" in various places in UI (#41078) <!-- Add the related story/sub-task/bug number, like Resolves #123, or remove if NA --> **Related issue:** For #41030 # Checklist for submitter If some of the following don't apply, delete the relevant line. - [ ] Changes file added for user-visible changes in `changes/`, `orbit/changes/` or `ee/fleetd-chrome/changes`. See [Changes files](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/guides/committing-changes.md#changes-files) for more information. n/a ## Testing - [ ] Added/updated automated tests - [X] QA'd all new/changed functionality manually **Query report "Export results" file name (just dropped "Query")** <img width="481" height="35" alt="image" src="https://github.com/user-attachments/assets/c7529f1d-07d3-467c-868c-e4b49f4b6eec" /> --- **Tooltips on the New Report page** <img width="308" height="109" alt="image" src="https://github.com/user-attachments/assets/886cb49c-664a-46f3-bbe3-35712644f7ad" /> <img width="309" height="82" alt="image" src="https://github.com/user-attachments/assets/bb76f48c-548e-4059-835b-b8861f71d37a" /> --- **Report automations Example data tooltip** <img width="619" height="87" alt="image" src="https://github.com/user-attachments/assets/d400bcad-fca9-413d-a4c3-bdd2c2167d1b" /> --- **Activities filter** <img width="433" height="350" alt="image" src="https://github.com/user-attachments/assets/cf6379cc-7d64-4e0e-91bd-034e41eeec1f" /> <img width="414" height="382" alt="image" src="https://github.com/user-attachments/assets/4da59326-732d-481c-bacb-8db2965c7bb5" /> -- **Created/Edited/Deleted query activity** <img width="403" height="254" alt="image" src="https://github.com/user-attachments/assets/a87dec83-958d-4803-b42b-28e9683b3a8b" /> For unreleased bug fixes in a release candidate, one of: - [X] Confirmed that the fix is not expected to adversely impact load test results
2026-03-05 23:16:33 +00:00
edited_saved_query: "Edited report",
edited_script: "Edited script",
edited_software: "Edited software",
edited_windows_profile: "GitOps: edited configuration profiles: Windows",
edited_windows_updates: "OS updates: edited Windows",
enabled_activity_automations: "Enabled activity automations",
enabled_android_mdm: "Turned on Android MDM",
enabled_conditional_access_automations:
"Enabled conditional access automations",
Add activities when toggling GitOps exception settings (#44094) <!-- Add the related story/sub-task/bug number, like Resolves #123, or remove if NA --> **Related issue:** For #40171 # Details Adds audit activity when enabling or disabling GitOps exceptions. # Checklist for submitter If some of the following don't apply, delete the relevant line. - [ ] Changes file added for user-visible changes in `changes/`, `orbit/changes/` or `ee/fleetd-chrome/changes`. See [Changes files](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/guides/committing-changes.md#changes-files) for more information. n/a, unreleased ## Testing - [X] Added/updated automated tests - [X] QA'd all new/changed functionality manually <img width="714" height="699" alt="image" src="https://github.com/user-attachments/assets/161bd084-347b-4cde-893e-9b385f13872c" /> For unreleased bug fixes in a release candidate, one of: - [X] Confirmed that the fix is not expected to adversely impact load test results <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Activity feed now records when GitOps exceptions (labels, software, secrets) are enabled or disabled. * **UI** * Activity messages show which specific exception was enabled or disabled. * **Tests** * Added unit and integration tests verifying generation and rendering of enable/disable exception activities, including single and multiple flips and no-op updates. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: sgress454 <553428+sgress454@users.noreply.github.com> Co-authored-by: Luke Heath <luke@fleetdm.com>
2026-04-24 18:09:31 +00:00
enabled_gitops_exception: "Enabled GitOps exception",
enabled_gitops_mode: "Enabled GitOps mode",
enabled_macos_disk_encryption: "Turned on disk encryption",
enabled_macos_setup_end_user_auth:
"Turned on end user authentication (setup experience)",
Add "update new hosts to latest" to OS Updates form for MacOS (#37103) <!-- Add the related story/sub-task/bug number, like Resolves #123, or remove if NA --> **Related issue:** Resolves #36088 # Checklist for submitter If some of the following don't apply, delete the relevant line. - [X] Changes file added for user-visible changes in `changes/`, `orbit/changes/` or `ee/fleetd-chrome/changes`. See [Changes files](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/guides/committing-changes.md#changes-files) for more information. ## Testing - [X] Added/updated automated tests - [X] QA'd all new/changed functionality manually Saving this value currently results in a 400 response from the server since it's not a valid key yet. We can keep this in draft until the backend is merged if we want to e2e test with it. ### Controls -> OS Settings "Target" section #### All platforms - [X] Update success banner message to "Successfully updated." <img width="200" alt="image" src="https://github.com/user-attachments/assets/bc43ec79-41d1-4dd3-947c-8152051fd209" /> #### macOS / iOS / iPadOS - [X] Update tooltip text for "Minimum version" to `Enrolled hosts are updated to exactly this version.` <img width="250" alt="Image" src="https://github.com/user-attachments/assets/7d870224-395e-4bc9-937e-be599da57a97" /> - [X] Make "available from Apple" a link, replacing "Learn more", and link to https://fleetdm.com/learn-more-about/apple-available-os-updates <img width="250" height="363" alt="image" src="https://github.com/user-attachments/assets/8191ec2d-bf0a-4cf6-9b1a-1272c0ff69b0" /> > Note - this URL is current a 404 - [X] Remove text referring to platform from "End user experience" heading, i.e. it should just say "End user experience" for all platforms where it appears, not e.g. "End user experience on macOS" #### macOS Only - [X] Add new "Update new hosts to latest" checkbox <img width="316" height="406" alt="Image" src="https://github.com/user-attachments/assets/71aec05a-b809-436d-8bfd-cd3e14b27ea1" /> - [X] Reflects the `macos_updates.update_new_hosts` setting for the team or (for no team) global config (only testable via automated tests right now) - [X] Update End user experience text to "When a minimum version is enforced, end users see a native macOS notification (DDM) once per day." (see above) ### Global activity feed - [X] When "Update new hosts to latest" is enabled, activity should say `[Actor's name] enabled OS updates for all new macOS hosts on the [team name] team. macOS hosts will upgrade to the lastest version when they enroll.` - [X] When "Update new hosts to latest" is disabled, activity should say `[Actor's name] disabled updates for all new macOS hosts on the [team name] team.` (tested via automated tests)
2025-12-12 17:46:07 +00:00
enabled_macos_update_new_hosts: "Enabled OS updates for new macOS hosts",
enabled_vpp: "Enabled Volume Purchasing Program (VPP)",
enabled_windows_mdm: "Turned on Windows MDM",
enabled_windows_mdm_migration: "Turned on Windows MDM migration",
fleet_enrolled: "Host enrolled",
installed_app_store_app: "Installed App Store (VPP) app",
installed_software: "Install software",
Fix "query" to "report" in various places in UI (#41078) <!-- Add the related story/sub-task/bug number, like Resolves #123, or remove if NA --> **Related issue:** For #41030 # Checklist for submitter If some of the following don't apply, delete the relevant line. - [ ] Changes file added for user-visible changes in `changes/`, `orbit/changes/` or `ee/fleetd-chrome/changes`. See [Changes files](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/guides/committing-changes.md#changes-files) for more information. n/a ## Testing - [ ] Added/updated automated tests - [X] QA'd all new/changed functionality manually **Query report "Export results" file name (just dropped "Query")** <img width="481" height="35" alt="image" src="https://github.com/user-attachments/assets/c7529f1d-07d3-467c-868c-e4b49f4b6eec" /> --- **Tooltips on the New Report page** <img width="308" height="109" alt="image" src="https://github.com/user-attachments/assets/886cb49c-664a-46f3-bbe3-35712644f7ad" /> <img width="309" height="82" alt="image" src="https://github.com/user-attachments/assets/bb76f48c-548e-4059-835b-b8861f71d37a" /> --- **Report automations Example data tooltip** <img width="619" height="87" alt="image" src="https://github.com/user-attachments/assets/d400bcad-fca9-413d-a4c3-bdd2c2167d1b" /> --- **Activities filter** <img width="433" height="350" alt="image" src="https://github.com/user-attachments/assets/cf6379cc-7d64-4e0e-91bd-034e41eeec1f" /> <img width="414" height="382" alt="image" src="https://github.com/user-attachments/assets/4da59326-732d-481c-bacb-8db2965c7bb5" /> -- **Created/Edited/Deleted query activity** <img width="403" height="254" alt="image" src="https://github.com/user-attachments/assets/a87dec83-958d-4803-b42b-28e9683b3a8b" /> For unreleased bug fixes in a release candidate, one of: - [X] Confirmed that the fix is not expected to adversely impact load test results
2026-03-05 23:16:33 +00:00
live_query: "Ran live report",
locked_host: "Locked host",
mdm_enrolled: "MDM turned on",
mdm_unenrolled: "MDM turned off",
ran_script: "Ran script",
ran_script_batch: "Bulk ran script",
scheduled_script_batch: "Scheduled script batch",
canceled_script_batch: "Canceled script batch",
read_host_disk_encryption_key: "Viewed disk encryption key",
viewed_host_recovery_lock_password: "Viewed Recovery Lock password",
set_host_recovery_lock_password: "Set Recovery Lock password",
rotated_host_recovery_lock_password:
"Triggered Recovery Lock password rotation",
enabled_recovery_lock_passwords: "Turned on Recovery Lock passwords",
disabled_recovery_lock_passwords: "Turned off Recovery Lock passwords",
resent_configuration_profile: "Resent configuration profile",
resent_configuration_profile_batch: "Bulk resent configuration profile",
transferred_hosts: "Transferred hosts",
uninstalled_software: "Uninstall software",
unlocked_host: "Unlocked host",
updated_script: "Updated script",
user_added_by_sso: "Added user via JIT",
user_failed_login: "User login: failed",
user_logged_in: "User login: success",
wiped_host: "Wiped host",
Windows wipe failed acivitiy (#43795) **Related issue:** Resolves #42290 # Checklist for submitter If some of the following don't apply, delete the relevant line. - [x] Changes file added for user-visible changes in `changes/`, `orbit/changes/` or `ee/fleetd-chrome/changes`. See [Changes files](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/guides/committing-changes.md#changes-files) for more information. - [x] Input data is properly validated, `SELECT *` is avoided, SQL injection is prevented (using placeholders for values in statements), JS inline code is prevented especially for url redirects, and untrusted data interpolated into shell scripts/commands is validated against shell metacharacters. - [x] Timeouts are implemented and retries are limited to avoid infinite loops ## Testing - [x] Added/updated automated tests - [x] QA'd all new/changed functionality manually <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Failed Windows MDM wipe attempts now create a tracked "Failed wipe" activity showing the affected host and display name for visibility; UI filter and activity feed now surface this type. * **Bug Fixes** * Improved detection and reporting of wipe result statuses so real failures are reliably surfaced. * Duplicate failure responses are suppressed to avoid repeated alerts. * **Tests** * Added tests validating wipe-failure activity creation and related control flows. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: Marko Lisica <83164494+marko-lisica@users.noreply.github.com>
2026-04-22 22:53:59 +00:00
failed_wipe: "Failed wipe",
added_conditional_access_integration_microsoft:
"Added conditional access integration: Microsoft",
deleted_conditional_access_integration_microsoft:
"Deleted conditional access integration: Microsoft",
escrowed_disk_encryption_key: "Escrowed disk encryption key",
created_custom_variable: "Created custom variable",
deleted_custom_variable: "Deleted custom variable",
[ActivityType.HostDeleted]: "Host deleted",
[ActivityType.AddedHydrant]: "Added certificate authority (CA): Hydrant",
[ActivityType.DeletedHydrant]: "Deleted certificate authority (CA): Hydrant",
[ActivityType.EditedHydrant]: "Edited certificate authority (CA): Hydrant",
[ActivityType.AddedSmallstep]: "Added certificate authority (CA): Smallstep",
[ActivityType.DeletedSmallstep]:
"Deleted certificate authority (CA): Smallstep",
[ActivityType.EditedSmallstep]:
"Edited certificate authority (CA): Smallstep",
[ActivityType.AddedCustomESTProxy]:
"Added certificate authority (CA): custom EST",
[ActivityType.DeletedCustomESTProxy]:
"Deleted certificate authority (CA): custom EST",
[ActivityType.EditedCustomESTProxy]:
"Edited certificate authority (CA): custom EST",
[ActivityType.CreatedAndroidProfile]: "Added configuration profile: Android",
[ActivityType.DeletedAndroidProfile]:
"Deleted configuration profile: Android",
[ActivityType.EditedAndroidProfile]:
"GitOps: edited configuration profiles: Android",
[ActivityType.EditedAndroidCertificate]:
"GitOps: edited certificate templates: Android",
[ActivityType.ResentCertificate]: "Resent certificate",
[ActivityType.AddedConditionalAccessOkta]: "Added conditional access: Okta",
[ActivityType.HostBypassedConditionalAccess]:
"Host bypassed conditional access",
[ActivityType.UpdatedConditionalAccessBypass]:
"Updated conditional access experience",
[ActivityType.DeletedConditionalAccessOkta]:
"Deleted conditional access: Okta",
[ActivityType.EditedSetupExperienceSoftware]:
"Edited setup experience software",
[ActivityType.EditedHostIdpData]: "Edited host identity provider (IdP) data",
[ActivityType.AddedCertificate]: "Added certificate",
Create, list, delete Android certificates from the UI (#37314) **Related issue:** Resolves #36689 <img width="1840" height="1196" alt="Screenshot 2025-12-15 at 5 08 02 PM" src="https://github.com/user-attachments/assets/4f491c80-403f-4188-8cab-552e997c6e9c" /> <img width="1840" height="1196" alt="Screenshot 2025-12-15 at 5 09 18 PM" src="https://github.com/user-attachments/assets/b6e4d9ad-40c1-45c3-8b77-e14d17a2bc7e" /> <img width="1840" height="1196" alt="Screenshot 2025-12-15 at 5 09 22 PM" src="https://github.com/user-attachments/assets/661beee2-3ee2-4269-ab0b-ca070c1a40b8" /> If some of the following don't apply, delete the relevant line. - [x] Changes file added for user-visible changes in `changes/` - [x] Added/updated automated tests - [x] QA'd all new/changed functionality manually <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit ## Release Notes * **New Features** * Added comprehensive Android certificate management in OS Settings with create, list, and delete operations * Integrated certificate management with premium tier gating and MDM enablement checks * Supports team-scoped certificates with pagination controls * Includes validation for certificate names and certificate authority selection * **Refactor** * Generalized heading component to support multiple entity types beyond configuration profiles <sub>✏️ Tip: You can customize this high-level summary in your review settings.</sub> <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-12-16 23:39:07 +00:00
[ActivityType.DeletedCertificate]: "Deleted certificate",
[ActivityType.InstalledCertificate]: "Installed certificate",
[ActivityType.EditedEnrollSecrets]: "Edited enroll secrets",
Clear passcode frontend (#43084) <!-- Add the related story/sub-task/bug number, like Resolves #123, or remove if NA --> **Related issue:** Resolves #42369 # Checklist for submitter If some of the following don't apply, delete the relevant line. - [ ] Changes file added for user-visible changes in `changes/`, `orbit/changes/` or `ee/fleetd-chrome/changes`. See [Changes files](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/guides/committing-changes.md#changes-files) for more information. **Done in backend task for whole story** - [x] Input data is properly validated, `SELECT *` is avoided, SQL injection is prevented (using placeholders for values in statements), JS inline code is prevented especially for url redirects, and untrusted data interpolated into shell scripts/commands is validated against shell metacharacters. - [x] Timeouts are implemented and retries are limited to avoid infinite loops - [x] If paths of existing endpoints are modified without backwards compatibility, checked the frontend/CLI for any necessary changes ## Testing - [x] Added/updated automated tests - [x] QA'd all new/changed functionality manually <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Added "Clear passcode" action for iOS and iPad hosts in the host actions menu, accessible only to Premium tier users with appropriate permissions. * Added confirmation modal for clearing device passcodes. * Passcode clearing activity now appears in the activity feed with actor information. * Action is conditionally disabled during specific device states (Lost Mode, pending wipe) with contextual tooltips. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-04-07 21:36:03 +00:00
[ActivityType.ClearedPasscode]: "Cleared passcode",
[ActivityType.EnabledManagedLocalAccount]: "Turned on managed local account",
[ActivityType.DisabledManagedLocalAccount]:
"Turned off managed local account",
[ActivityType.ViewedManagedLocalAccount]: "Viewed managed account",
[ActivityType.CreatedManagedLocalAccount]: "Created managed account",
Add frontend support for enrollment profile renewal failed activity (#44530) Backend PR: #44511 <!-- Add the related story/sub-task/bug number, like Resolves #123, or remove if NA --> **Related issue:** Resolves #41422 <img width="618" height="244" alt="image" src="https://github.com/user-attachments/assets/c223e37d-7051-46a6-a2ea-6bd1bdcbb53e" /> <img width="777" height="780" alt="image" src="https://github.com/user-attachments/assets/3b9ef4e9-2181-406b-a22e-e6773eba67af" /> <img width="649" height="236" alt="image" src="https://github.com/user-attachments/assets/3985faf0-a1e4-404a-b190-cb623f52339a" /> <img width="1083" height="768" alt="image" src="https://github.com/user-attachments/assets/2d4df607-4b34-435c-88db-6dc0fa09db2e" /> # Checklist for submitter If some of the following don't apply, delete the relevant line. - [ ] Changes file added for user-visible changes in `changes/`, `orbit/changes/` or `ee/fleetd-chrome/changes`. See [Changes files](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/guides/committing-changes.md#changes-files) for more information. Part of backend PR - [x] Input data is properly validated, `SELECT *` is avoided, SQL injection is prevented (using placeholders for values in statements), JS inline code is prevented especially for url redirects, and untrusted data interpolated into shell scripts/commands is validated against shell metacharacters. - [x] Timeouts are implemented and retries are limited to avoid infinite loops - [x] If paths of existing endpoints are modified without backwards compatibility, checked the frontend/CLI for any necessary changes ## Testing - [x] QA'd all new/changed functionality manually <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Added "Enrollment profile renewal failed" activity type and label. * Failure entries now appear in activity feeds and host details with a dedicated activity item and a details flow. * Users can open a failure details modal showing a status icon, host name (with fallback), relative failure time, guidance about certificate expiration, and a link to Fleet support. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-05-01 18:05:31 +00:00
[ActivityType.FailedEnrollmentProfileRenewal]:
"Enrollment profile renewal failed",
[ActivityType.CreatedLabel]: "Created label",
[ActivityType.EditedLabel]: "Edited label",
[ActivityType.DeletedLabel]: "Deleted label",
};