Skip to content

feat: show MacPacker icons for archive files - #297

Open
athousanddetails wants to merge 2 commits into
sarensw:mainfrom
athousanddetails:feat/archive-document-icons
Open

athousanddetails wants to merge 2 commits into
sarensw:mainfrom
athousanddetails:feat/archive-document-icons

Conversation

@athousanddetails

@athousanddetails athousanddetails commented Oct 4, 2026 •

Copy link
Copy Markdown

What changed

Finder currently shows a generic icon for MacPacker-owned archive files. This adds a document icon using MacPacker's orange zipper palette and registers it for all 44 document types in both the Direct and Store app bundles. The icon is generated from the included Swift drawing script.

Verification

  • Direct and Store Release builds succeeded. Both bundles contain ArchiveDocument.icns, and every declared document type in both built Info.plists references that file.
  • Both Info.plists pass plutil -lint. The architecture check passed for all 15 bundled Mach-O files, each with arm64 and x86_64 slices.
  • Previewed the current ZIP document icon and the new icon, captured without the cursor. The second image previews the new asset; macOS file associations were left unchanged during evidence capture.

Verification notes

Before:

Current ZIP icon

After:

New MacPacker archive document icon

Changelog

The approved “Show MacPacker icons for archive files” entry is now in the untagged changelog block with all 16 existing languages and PR link 297. All five changelog tests passed.

AI disclosure

Codex was the primary author. The app builds, bundle registration, icon rendering, and screenshots were manually checked under the requesting human contributor's account. Maintainer review remains required.

Summary by CodeRabbit

  • New Features
    • MacPacker now displays its archive document icon for supported archive files, disk images, installers, Windows executables, and split archives.
    • The icon is available across the supported file types in both MacPacker editions. These changes are listed in the version 1.0.1 changelog.

@coderabbitai

coderabbitai Bot commented Oct 4, 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: 03607ee9-6d31-4865-a61c-1b8f511b68cf
📥 Commits

Reviewing files that changed from the base of the PR and between 518110d and a3ef5ce.

📒 Files selected for processing (5)
  • Config/products/macpacker.json
  • MacPacker/ArchiveDocument.icns
  • MacPacker/Info.plist
  • MacPacker/Info_Store.plist
  • scripts/generate-archive-document-icon.swift

Included review availability: This review used your included allowance. Your plan provides up to 4 included reviews per hour; 1 remain after this review.


📝 Walkthrough

Walkthrough

The change adds a Swift script that creates an archive document icon, assigns the icon to supported document types in both property lists, and adds a localized version 1.0.1 changelog entry.

Changes

Archive Document Icon

Layer / File(s) Summary
Generate the archive document icon
scripts/generate-archive-document-icon.swift
The script renders ten iconset PNG sizes and invokes /usr/bin/iconutil to create the requested .icns file.
Assign the icon to document types
MacPacker/Info.plist, MacPacker/Info_Store.plist, Config/products/macpacker.json
Both property lists set ArchiveDocument.icns for supported document types. The product changelog adds a localized feature entry that links issue 297.

Priority: ⬇️ Low

Estimated code review effort: 3 (Moderate) | ~20 minutes

Change: Feature

Suggested reviewers: sarensw

Merge Risk: ⚪ Minimal · up to a3ef5

The icon declarations and project configuration support inclusion in both app bundles. No actionable issue remains beyond normal build verification.

Architecture Summary

Architecture risk: 🔵 Low · up to a3ef5

The change affects 3 systems.

Changed systems: scripts, MacPacker, Config

Architecture concerns
No architecture-level concerns identified.

Review details

Systems and components

  • observed — scripts (service) was modified; 1 changed file maps to changed impact.
  • observed — MacPacker (service) was modified; 2 changed files map to changed impact.
  • observed — Config (service) was modified; 1 changed file maps to changed impact.

Before / after behavior

  • observed — Modified behavior in Config/products/macpacker.json: Added a version 1.0.1 feature entry with localized titles announcing MacPacker icons for archive files and linking issue 297.
  • observed — Modified behavior in MacPacker/Info.plist: Adds ArchiveDocument.icns as the icon for the 7Z document type.
  • observed — Modified behavior in MacPacker/Info.plist: Adds ArchiveDocument.icns as the icon for the LZ4 document type.
  • observed — Modified behavior in MacPacker/Info.plist: Adds ArchiveDocument.icns as the icon for the LZ4 tarball document type.
🚥 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 2 functions across 1 files. (3 skipped: 3 … Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
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.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly summarizes the main change: adding MacPacker icons for archive files.
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 2 functions across 1 files. (3 skipped: 3 unsupported.)

  • Fix all pre-merge checks with AI
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create a new PR
  • Autopilot · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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.

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