Skip to content

Use the OpenSwiftUI ABI namespace for OpenSwiftUICore - #960

Merged
Kyle-Ye merged 5 commits into
mainfrom
feature/abi-name
Aug 1, 2026
Merged

Use the OpenSwiftUI ABI namespace for OpenSwiftUICore#960
Kyle-Ye merged 5 commits into
mainfrom
feature/abi-name

Conversation

@Kyle-Ye

@Kyle-Ye Kyle-Ye commented Aug 1, 2026

Copy link
Copy Markdown
Member

Summary

  • Configure OpenSwiftUICore to emit symbols under the OpenSwiftUI ABI namespace in SwiftPM and Tuist builds.
  • Remove declarations duplicated between OpenSwiftUI and OpenSwiftUICore so both frameworks can safely share that namespace.
  • Update protocol descriptor and interposition helpers to reference the shared symbol names, including the DefaultStyleModifier descriptor.

Motivation

OpenSwiftUI and OpenSwiftUICore are distributed together as one API surface. Binary consumers, including Xcode previews, need core symbols to resolve through the same OpenSwiftUI namespace exposed by the public module.

The core target previously emitted OpenSwiftUICore-prefixed symbols while binary consumers resolved them through OpenSwiftUI. Aligning the ABI name keeps source and binary distributions consistent and prevents preview loading failures caused by the mismatched symbol namespace.

Validation

  • Validated targeted hosting, observation, and image-orientation coverage with the AttributeGraph backend.
  • Verified the rebased diff has no whitespace errors.

Kyle-Ye added 4 commits August 1, 2026 15:37
Use the OpenSwiftUICore declarations for shared event, style context, and view debug types so the modules can safely share an ABI namespace.
@github-actions github-actions Bot added area: tooling Developer tooling, package manifests, Tuist, scripts, formatting, or release tooling. type: build Build system, packaging, toolchain, release, or compiler support. labels Aug 1, 2026
@Kyle-Ye
Kyle-Ye marked this pull request as ready for review August 1, 2026 07:50
@augmentcode

augmentcode Bot commented Aug 1, 2026

Copy link
Copy Markdown
🤖 Augment PR Summary

Summary: Align OpenSwiftUICore’s emitted symbols with the OpenSwiftUI ABI namespace so binary consumers resolve core symbols consistently (e.g., Xcode Previews).

Changes:

  • Add -module-abi-name OpenSwiftUI for OpenSwiftUICore in SwiftPM and Tuist/Xcode builds.
  • Remove duplicate declarations from OpenSwiftUI that would collide once both targets share the same ABI namespace.
  • Update C protocol-descriptor and interposition helpers to reference the shared OpenSwiftUI-mangled symbol names (including DefaultStyleModifier).

🤖 Was this summary useful? React with 👍 or 👎

@augmentcode augmentcode Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review completed. No suggestions at this time.

Comment augment review to trigger a new review at any time.

@augmentcode

augmentcode Bot commented Aug 1, 2026

Copy link
Copy Markdown

PR Risk Analyzer Agent🛡️

👀 Human Input Needed
A pair-review briefing is ready for you.

→ Pair Review Briefing

@augmentcode augmentcode Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Deep Code Review Agent🐛

Review completed with 0 suggestions.

@codecov

codecov Bot commented Aug 1, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 26.79%. Comparing base (617f96f) to head (77f0d70).

Additional details and impacted files
@@             Coverage Diff             @@
##             main     #960       +/-   ##
===========================================
+ Coverage   14.57%   26.79%   +12.21%     
===========================================
  Files         689      730       +41     
  Lines       46143    52761     +6618     
===========================================
+ Hits         6725    14135     +7410     
+ Misses      39418    38626      -792     

☔ View full report in Codecov by Harness.
📢 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.

@github-actions github-actions Bot added area: hosting-bridge SwiftUI bridge, UIHosting/NSHosting, representables, and platform host views. area: tests Test suites, UI tests, fixtures, snapshots, and test support code. labels Aug 1, 2026
@Kyle-Ye
Kyle-Ye merged commit 7af2e73 into main Aug 1, 2026
8 of 9 checks passed
@Kyle-Ye
Kyle-Ye deleted the feature/abi-name branch August 1, 2026 11:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: hosting-bridge SwiftUI bridge, UIHosting/NSHosting, representables, and platform host views. area: tests Test suites, UI tests, fixtures, snapshots, and test support code. area: tooling Developer tooling, package manifests, Tuist, scripts, formatting, or release tooling. type: build Build system, packaging, toolchain, release, or compiler support.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant