Skip to content

Initial support for in-house apps on iOS/iPadOS - #34802

Merged
mna merged 20 commits into
mainfrom
mna-feat-in-house-apps-reflog-fix
Oct 28, 2025
Merged

Initial support for in-house apps on iOS/iPadOS#34802
mna merged 20 commits into
mainfrom
mna-feat-in-house-apps-reflog-fix

Conversation

@mna

@mna mna commented Oct 27, 2025

Copy link
Copy Markdown
Contributor

Related issue: Resolves #30936

Feature branch for #30936, all code has already been reviewed and approved in individual PRs.

What with the strange branch name? That's due to some git issues when fixing conflicts and rebasing. This is the good feature branch to merge, the other (messed-up) PRs have been closed.

jahzielv and others added 17 commits October 7, 2025 14:17
> Fixes #32989 (partially)

- **initial db setup**
- **basic crud method**

<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #

# Checklist for submitter

If some of the following don't apply, delete the relevant line.

- [x] Input data is properly validated, `SELECT *` is avoided, SQL
injection is prevented (using placeholders for values in statements)

## Testing

- [x] Added/updated automated tests
- [x] QA'd all new/changed functionality manually

## Database migrations

- [x] Checked table schema to confirm autoupdate
- [x] Checked schema for all modified table for columns that will
auto-update timestamps during migration.
- [x] Ensured the correct collation is explicitly set for character
columns (`COLLATE utf8mb4_unicode_ci`).
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #32944 #32989

# 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.


## Testing

- [x] Added/updated automated tests
- [ ] 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

---------

Co-authored-by: Jahziel Villasana-Espinoza <jahzielv@gmail.com>
Co-authored-by: Martin Angers <martin.n.angers@gmail.com>
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Partial #33086 

# Checklist for submitter

- [x] Input data is properly validated, `SELECT *` is avoided, SQL
injection is prevented (using placeholders for values in statements)

## Testing

- [ ] Added/updated automated tests
I haven't added tests yet as too many things are missing (enqueue an IPA
install request, XML of the command, etc.), I'll circle back to it later
when more of the story is implemented - noted as todo in the ticket).
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #32946

# 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.

## Testing

- [x] Added/updated automated tests
- [x] QA'd all new/changed functionality manually
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
Fixes #33039 

# Checklist for submitter

If some of the following don't apply, delete the relevant line.

## Testing

- [x] Added/updated automated tests

- [x] QA'd all new/changed functionality manually
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #33976

# 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.

## Testing

- [x] Added/updated automated tests
- [ ] 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
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Fixes #33089 

# Checklist for submitter

If some of the following don't apply, delete the relevant line.

- [x] Input data is properly validated, `SELECT *` is avoided, SQL
injection is prevented (using placeholders for values in statements)

## Testing

- [x] Added/updated automated tests
- [x] QA'd all new/changed functionality manually
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->

closes #33977 

# Checklist for submitter

If some of the following don't apply, delete the relevant line.


- [x] Input data is properly validated, `SELECT *` is avoided, SQL
injection is prevented (using placeholders for values in statements)

## Testing

- [x] Added/updated automated tests
- [x] QA'd all new/changed functionality manually
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #

# 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.

## 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)
- [ ] QA'd all new/changed functionality manually
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #34283

# 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.

- [x] Input data is properly validated, `SELECT *` is avoided, SQL
injection is prevented (using placeholders for values in statements)

## 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
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #33086

# Checklist for submitter

- [x] Input data is properly validated, `SELECT *` is avoided, SQL
injection is prevented (using placeholders for values in statements)

## Testing

- [x] Added/updated automated tests

---------

Co-authored-by: Jahziel Villasana-Espinoza <jahzielv@gmail.com>
@mna mna changed the title [DO NOT MERGE] Mna feat in house apps reflog fix Initial support for in-house apps on iOS/iPadOS Oct 27, 2025
@codecov

codecov Bot commented Oct 27, 2025

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 82.14790% with 379 lines in your changes missing coverage. Please review.
✅ Project coverage is 66.23%. Comparing base (437cb9c) to head (c95cdf7).
⚠️ Report is 1 commits behind head on main.

Files with missing lines Patch % Lines
server/datastore/mysql/in_house_apps.go 82.93% 50 Missing and 28 partials ⚠️
server/datastore/mysql/activities.go 80.24% 33 Missing and 32 partials ⚠️
ee/server/service/in_house_apps.go 60.00% 42 Missing and 14 partials ⚠️
server/datastore/mysql/software.go 91.73% 26 Missing and 24 partials ⚠️
server/service/software_installers.go 0.00% 34 Missing ⚠️
ee/server/service/software_installers.go 58.69% 14 Missing and 5 partials ⚠️
server/service/apple_mdm.go 72.91% 5 Missing and 8 partials ⚠️
pkg/file/ipa.go 63.63% 6 Missing and 6 partials ⚠️
server/datastore/mysql/vpp.go 73.91% 4 Missing and 8 partials ⚠️
server/datastore/mysql/labels.go 52.94% 8 Missing ⚠️
... and 8 more
Additional details and impacted files
@@            Coverage Diff             @@
##             main   #34802      +/-   ##
==========================================
+ Coverage   66.04%   66.23%   +0.19%     
==========================================
  Files        2066     2071       +5     
  Lines      172701   174580    +1879     
  Branches     6952     6989      +37     
==========================================
+ Hits       114061   115635    +1574     
- Misses      48118    48315     +197     
- Partials    10522    10630     +108     
Flag Coverage Δ
backend 67.87% <82.14%> (+0.19%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@mna
mna marked this pull request as ready for review October 27, 2025 19:21
@mna
mna requested review from a team, georgekarrv and sharon-fdm as code owners October 27, 2025 19:21
@mna

mna commented Oct 28, 2025

Copy link
Copy Markdown
Contributor Author

The failing test TestIntegrationsMDM/TestSetupExperienceFlowWithSoftwareAndScriptForceRelease passes locally and seems unrelated at first glance. If it does turn out to fail repeatedly I'll make sure to fix it in main ASAP.

EDIT: all green on main, looks like flakiness: cab7cc1

@mna
mna merged commit cab7cc1 into main Oct 28, 2025
44 of 46 checks passed
@mna
mna deleted the mna-feat-in-house-apps-reflog-fix branch October 28, 2025 12:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Use API to deploy in-house (enterprise) iOS/iPadOS package

5 participants