48343 edit config profile UI - #49333
Merged
Merged
Conversation
… OS-update LocURI
Edit profile modal (contents and/or labels), pencil row action replacing the labels-filter button per design, updateProfile API client, and the edited_configuration_profile activity in the global feed.
- Premium-gate team resolution in the profile update and delete paths: svc.EnterpriseOverrides is nil on Fleet Free, so team-scoped edits and deletes panicked after a premium-to-free downgrade - Preserve Fleet-variable associations on labels-only edits (Apple, Windows, DDM) -- clearing them broke variable-driven redelivery - Enforce PayloadScope conflicts and cross-platform name uniqueness on Apple profile content edits, matching the create/GitOps paths - Route post-update reads to the primary DB and dedupe the labels-only validation blocks
…fig-profile-fixes
Main introduced Android profile Fleet-variable tracking and a DDM scope column after the edit endpoint was written: - UpdateMDMAndroidConfigProfile now takes usesFleetVars and applies the same content-only variable-association semantics as Apple/Windows - a labels-only DDM edit carries the existing scope so the upsert's unconditional scope write can't clear it
JordanMontgomery
temporarily deployed
to
Docker Hub
July 15, 2026 13:55 — with
GitHub Actions
Inactive
andymFleet
previously approved these changes
Jul 20, 2026
andymFleet
left a comment
Contributor
There was a problem hiding this comment.
On the whole looks good to me. Just a small question on one Gitops tooltip and some suggested test coverage for the allowed file extensions. See comments.
JordanMontgomery
temporarily deployed
to
Docker Hub
July 20, 2026 15:06 — with
GitHub Actions
Inactive
JordanMontgomery
temporarily deployed
to
Docker Hub
July 20, 2026 15:57 — with
GitHub Actions
Inactive
JordanMontgomery
temporarily deployed
to
Docker Hub
July 20, 2026 17:06 — with
GitHub Actions
Inactive
JordanMontgomery
temporarily deployed
to
Docker Hub
July 20, 2026 19:28 — with
GitHub Actions
Inactive
JordanMontgomery
dismissed stale reviews from MagnusHJensen and andymFleet
July 21, 2026 12:20
The base branch was changed.
JordanMontgomery
temporarily deployed
to
Docker Hub
July 21, 2026 12:20 — with
GitHub Actions
Inactive
MagnusHJensen
approved these changes
Jul 21, 2026
7 tasks
JordanMontgomery
added a commit
that referenced
this pull request
Jul 21, 2026
<!-- Add the related story/sub-task/bug number, like Resolves #123, or remove if NA --> **Related issue:** Resolves #48342 & #48343 Cherrypick of #49141 and #49333 # 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 - [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] Where appropriate, [automated tests simulate multiple hosts and test for host isolation](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/reference/patterns-backend.md#unit-testing) (updates to one hosts's records do not affect another) - [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 the ability to edit existing Apple, Windows, Android, and Apple DDM configuration profiles. - Profile content can be replaced, or label targeting can be updated without changing the profile file. - Added an edit action and modal to the configuration profile list. - Improved activity feed messages for individual and batch profile edits. - **Bug Fixes** - Improved validation, error messages, profile size handling, and activity tracking during edits. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: Andrew Mellor <andrewmellor@fleetdm.com>
This was referenced Aug 6, 2026
This was referenced Aug 17, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Related issue: Resolves #48343
Checklist for submitter
If some of the following don't apply, delete the relevant line.
No changes file as this is covered by the base feature branch
Changes file added for user-visible changes in
changes/,orbit/changes/oree/fleetd-chrome/changes.See Changes files for more information.
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.Timeouts are implemented and retries are limited to avoid infinite loops
If paths of existing endpoints are modified without backwards compatibility, checked the frontend/CLI for any necessary changes
Testing
Added/updated automated tests
Where appropriate, automated tests simulate multiple hosts and test for host isolation (updates to one hosts's records do not affect another)
QA'd all new/changed functionality manually
Summary by CodeRabbit