Skip to content

feat(focus): implement focus state, values, and platform responders - #1119

Merged
Kyle-Ye merged 22 commits into
mainfrom
feature/focus_responder
Oct 5, 2026
Merged

Kyle-Ye merged 22 commits into
mainfrom
feature/focus_responder

Conversation

@Kyle-Ye

@Kyle-Ye Kyle-Ye commented Oct 5, 2026

Copy link
Copy Markdown
Member

Summary

Connect focus bindings and focused values to shared stores and platform responders.

  • Implement focus state bindings, focused values and bindings, and DocC comments for public focus APIs.
  • Add focus stores, deferred updates, default focus evaluation, and focus view graph state.
  • Connect shared focus responders and view providers on UIKit and AppKit.
  • Add focusable options and interactions, UIKit hosted focus item lifecycle logging, and macOS focus ring rendering and delegation.

@Kyle-Ye
Kyle-Ye requested a review from Mx-Iris as a code owner October 5, 2026 15:11
@github-actions github-actions Bot added area: data-flow State, binding, environment, preference, observation, or property data flow. area: event-gesture Events, gestures, tracing, or interaction plumbing. area: hosting-bridge SwiftUI bridge, UIHosting/NSHosting, representables, and platform host views. platform: iOS iOS-specific behavior or support. platform: macOS macOS-specific behavior or support. type: feature New API, behavior, platform support, or user-facing capability. labels Oct 5, 2026
@codecov

codecov Bot commented Oct 5, 2026 •

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 3.81041% with 1035 lines in your changes missing coverage. Please review.
✅ Project coverage is 30.97%. Comparing base (b17d55b) to head (8e63e2f).
⚠️ Report is 3 commits behind head on main.

Files with missing lines Patch % Lines
Sources/OpenSwiftUI/Event/Focus/FocusedValue.swift 3.70% 182 Missing ⚠️
Sources/OpenSwiftUI/Event/Focus/Focusable.swift 0.00% 154 Missing ⚠️
Sources/OpenSwiftUI/Event/Focus/FocusStore.swift 0.71% 138 Missing ⚠️
Sources/OpenSwiftUI/Event/Focus/FocusState.swift 0.00% 128 Missing ⚠️
Sources/OpenSwiftUI/Event/Focus/FocusItem.swift 1.75% 112 Missing ⚠️
.../OpenSwiftUI/Event/Focus/FocusEffectDelegate.swift 0.00% 53 Missing ⚠️
...rces/OpenSwiftUI/Event/Focus/FocusRingHelper.swift 0.00% 45 Missing ⚠️
...rces/OpenSwiftUI/Event/Focus/FocusEffectView.swift 0.00% 41 Missing ⚠️
...urces/OpenSwiftUI/Event/Focus/FocusStoreList.swift 0.00% 35 Missing ⚠️
...urces/OpenSwiftUI/Event/Focus/FocusViewGraph.swift 46.55% 31 Missing ⚠️
... and 14 more
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1119      +/-   ##
==========================================
- Coverage   32.80%   30.97%   -1.83%     
==========================================
  Files         823      860      +37     
  Lines       66354    70441    +4087     
==========================================
+ Hits        21766    21820      +54     
- Misses      44588    48621    +4033     

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

@tuist

tuist Bot commented Oct 5, 2026 •

Copy link
Copy Markdown

🛠️ Tuist Run Report 🛠️

Tests 🧪

Scheme Status Ran test modules Commit
OpenSwiftUI ✅ 7 e13388783

Builds 🔨

Scheme Status Duration Commit
OpenSwiftUI ✅ 43.8s e13388783

@Kyle-Ye
Kyle-Ye merged commit 62528b0 into main Oct 5, 2026
6 checks passed
@Kyle-Ye
Kyle-Ye deleted the feature/focus_responder branch October 5, 2026 15:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: data-flow State, binding, environment, preference, observation, or property data flow. area: event-gesture Events, gestures, tracing, or interaction plumbing. area: hosting-bridge SwiftUI bridge, UIHosting/NSHosting, representables, and platform host views. platform: iOS iOS-specific behavior or support. platform: macOS macOS-specific behavior or support. type: feature New API, behavior, platform support, or user-facing capability.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant