Add SwiftUI macOS app and improve report handling#4
Merged
Conversation
Merge separate DMARC and TLS-RPT IMAP searches into a single query (OR SUBJECT "Report Domain:" SUBJECT "TLS-RPT") and determine report type by attempting JSON parse (TLS-RPT) before XML parse (DMARC). This fixes misclassification where TLS-RPT emails matched the DMARC subject search. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Replace slug-based filenames ({slug}_{report_id}.json) with
Fnv1a_64 hash-based filenames ({16-char hex}.json) for consistent
naming across DMARC and TLS-RPT reports. Convert TLS-RPT ISO 8601
datetime to the same "YYYY-MM-DD HH:MM" format used by DMARC.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Add bundle_compiler_rt = true to the static library target so that 128-bit float builtins are included when linking from Xcode. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Add native macOS app under macos/ following the Ghostty architecture (Zig headless core + SwiftUI GUI). The app uses XCFramework built from libreports-core.a with a C modulemap for Swift interop. Features: - Three-column NavigationSplitView (sidebar/list/detail) - DMARC detail with records table matching CLI show output - TLS-RPT detail with session stats, progress bar, failure table - Badge labels for account, type, domain, and policy columns - Policy color coding (green=safe to gray=unsafe) - Search, filter by type, and fetch from menu/toolbar Build: macos/build.sh generates XCFramework and Xcode project via xcodegen. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
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.
Summary
YYYY-MM-DD HH:MMformat as DMARC--typefilter,showsupports hash ID lookupTest plan
reports fetch --account <name>correctly classifies DMARC and TLS-RPTreports listshows unified date format and hash IDsreports list --type dmarc/--type tlsrptfilters correctlyreports show <hash-id>workscd macos && ./build.sh && make openbuilds and opens Xcode project🤖 Generated with Claude Code