Skip to content

fix(profiles): show each profile's bundle id in the unfiltered list - #26

Merged
hanrw merged 1 commit into
mainfrom
fix/profiles-bundle-id
Sep 23, 2026
Merged

hanrw merged 1 commit into
mainfrom
fix/profiles-bundle-id

Conversation

@hanrw

@hanrw hanrw commented Sep 23, 2026 •

Copy link
Copy Markdown
Member

Stacked on #25, since both change the same listProfiles call. Merge order: #23, then #24, then #25, then this one.

Problem

asc profiles list without --bundle-id-id returned bundleIdId: "" for every profile. That also broke its listProfiles affordance, which rendered as asc profiles list --bundle-id-id with no value. The mapper reads the bundle ID from relationship data, and Apple only sends that data when the request asks for it with include=bundleId. The existing unit-test fixture included the data anyway, so the tests passed.

Fix

GET /v1/profiles now passes include: [.bundleID].

Tests

  • New test: the unfiltered list request asks Apple for include=bundleId. It failed before the fix.
  • Full swift test passes.

Live check (read-only)

  • All 6 profiles now show their bundle ID, and their affordances are complete commands.
  • Each bundle ID matches: --bundle-id-id <id> returns the same profiles.
  • Apple's GET /v1/profiles leaves out Xcode-managed "Team" profiles, while the per-bundle endpoint includes them. That's Apple's behaviour and unchanged here.

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Bug Fixes
    • profiles list now includes bundle IDs in profile records when no bundle ID filter is supplied.

profiles list without --bundle-id-id returned bundleIdId "" for every
profile: the mapper reads the bundle ID from relationship data, which
Apple only sends when the request asks for it with include=bundleId.

Verified live: 6/6 profiles now carry their bundle ID, and each matches
the profiles returned by --bundle-id-id for that bundle.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Sep 23, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

Navigate logical layers of code changes, visualize relationships, and explore their blast radius.

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Advanced

Run ID: 382fa10c-d803-4f3e-8cb0-8deac3d1e430

📥 Commits

Reviewing files that changed from the base of the PR and between bed5a4c and 00886eb.

📒 Files selected for processing (3)
  • CHANGELOG.md
  • Sources/Infrastructure/CodeSigning/SDKProfileRepository.swift
  • Tests/InfrastructureTests/CodeSigning/SDKProfileRepositoryTests.swift

Included review availability: Your plan provides up to 2 included reviews per hour; 0 remain after this review.


📝 Walkthrough

Walkthrough

When listProfiles runs without a bundle ID filter, its profiles request now includes the bundle ID relationship. A test checks the query parameter, and the Unreleased changelog records the change.

Changes

Profile listing

Layer / File(s) Summary
Request inclusion and validation
Sources/Infrastructure/CodeSigning/SDKProfileRepository.swift, Tests/InfrastructureTests/CodeSigning/SDKProfileRepositoryTests.swift, CHANGELOG.md
listProfiles adds include: [.bundleID] to the profiles request. A test checks that an unfiltered request includes include=bundleId. The changelog records the change.

Priority: ⬇️ Low

Estimated code review effort: 2 (Simple) | ~8 minutes

Change: Bug fix

Merge Risk: ⚪ Minimal · up to 00886

Unfiltered profile listings now request bundle-ID relationship data, addressing the reported empty bundle IDs. No actionable merge-blocking risk is evident, so the change is ready to merge after normal checks.

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 1 functions across 2 files. (1 skipped: 1 … Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and concisely describes the main change: showing each profile's bundle ID in the unfiltered profiles list.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Full details: Docstring Coverage

Explanation

Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 1 functions across 2 files. (1 skipped: 1 unsupported.)

  • Fix all pre-merge checks with AI
✨ Finishing Touches 💡 1
📝 Generate docstrings 💡
  • Commit to this branch
  • Create a new PR
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@hanrw
hanrw changed the base branch from fix/list-pagination to main September 23, 2026 04:54
@hanrw hanrw closed this Sep 23, 2026
@hanrw hanrw reopened this Sep 23, 2026
@hanrw
hanrw merged commit abe1c19 into main Sep 23, 2026
2 checks passed
@hanrw
hanrw deleted the fix/profiles-bundle-id branch September 23, 2026 05:15
@codecov

codecov Bot commented Sep 23, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 81.85%. Comparing base (1cb6332) to head (00886eb).
⚠️ Report is 5 commits behind head on main.

Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##             main      #26      +/-   ##
==========================================
+ Coverage   81.75%   81.85%   +0.09%     
==========================================
  Files         473      473              
  Lines       13862    13864       +2     
==========================================
+ Hits        11333    11348      +15     
+ Misses       2529     2516      -13     
Files with missing lines Coverage Δ
...rastructure/CodeSigning/SDKProfileRepository.swift 70.49% <100.00%> (+1.00%) ⬆️

... and 2 files with indirect coverage changes

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

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.

1 participant