Skip to content

Add configurable LookInside server support#868

Merged
Kyle-Ye merged 2 commits into
mainfrom
feature/lookinside_server
May 20, 2026
Merged

Add configurable LookInside server support#868
Kyle-Ye merged 2 commits into
mainfrom
feature/lookinside_server

Conversation

@Kyle-Ye
Copy link
Copy Markdown
Member

@Kyle-Ye Kyle-Ye commented May 20, 2026

Summary

  • Add environment-controlled LookInside/LookIn server selection for the Example Debug targets, defaulting to LookInside and rejecting both servers being enabled together.
  • Share the OpenSwiftUI EnvManager and inspector server configuration through Tuist ProjectDescriptionHelpers for Project.swift and Tuist package settings.
  • Keep the SwiftPM fallback for Tuist/Package.swift minimal with both inspector server dependencies disabled, and disable both servers for the UI test action.

@Kyle-Ye Kyle-Ye changed the title [codex] Add configurable LookInside server support Add configurable LookInside server support May 20, 2026
@Kyle-Ye Kyle-Ye force-pushed the feature/lookinside_server branch from 21d1dec to 9cafecc Compare May 20, 2026 19:03
@Kyle-Ye Kyle-Ye marked this pull request as ready for review May 20, 2026 19:04
@augmentcode
Copy link
Copy Markdown

augmentcode Bot commented May 20, 2026

🤖 Augment PR Summary

Summary: This PR makes the Example project’s debug inspector server configurable via environment variables, allowing selection between LookInsideServer and LookinServer (or disabling both).

Changes:

  • Adds a shared EnvManager + environment-provider abstraction under Tuist ProjectDescriptionHelpers
  • Introduces OpenSwiftUIExampleServerConfiguration to resolve OPENSWIFTUI_EXAMPLE_LOOKINSIDE_SERVER/OPENSWIFTUI_EXAMPLE_LOOKIN_SERVER and reject enabling both
  • Updates Example/Project.swift to configure the env manager early, resolve server config, and conditionally add the chosen inspector server dependency
  • Updates Tuist’s Package.swift to conditionally add the corresponding package dependency and product type/destination mappings when running under Tuist
  • Keeps the non-Tuist SwiftPM fallback minimal by disabling both inspector server dependencies
  • Disables both inspector servers for the CI UI-test action via $GITHUB_ENV
  • Documents the new environment variables and expected values in Example/README.md

Technical Notes: Release configurations exclude inspector-server-related source globs while debug builds can include one chosen server (defaulting to LookInside) unless explicitly disabled.

🤖 Was this summary useful? React with 👍 or 👎

Copy link
Copy Markdown

@augmentcode augmentcode Bot left a comment

Choose a reason for hiding this comment

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

Review completed. 2 suggestions posted.

Fix All in Augment

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


public func withDomain<T>(_ domain: String, perform: () throws -> T) rethrows -> T {
domains.append(domain)
defer { domains.removeAll { $0 == domain } }
Copy link
Copy Markdown

@augmentcode augmentcode Bot May 20, 2026

Choose a reason for hiding this comment

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

withDomain appends domain then defer { domains.removeAll { $0 == domain } }, which will also remove any previously-registered occurrences of the same domain (and can break later lookups). Consider only removing the entry added by this call so nested/duplicate domains don’t wipe global state.

Severity: medium

Fix This in Augment

🤖 Was this useful? React with 👍 or 👎, or 🚀 if it prevented an incident/outage.

Comment thread Example/Project.swift
.external(name: "OpenSwiftUI"),
.external(name: "Equatable"),
] + privateFrameworkDependencies
] + privateFrameworkDependencies + debugServerDependencies
Copy link
Copy Markdown

@augmentcode augmentcode Bot May 20, 2026

Choose a reason for hiding this comment

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

appDependencies always includes debugServerDependencies, so Release configs may still link/embed LookInside/Lookin frameworks even though only some source files are excluded. If the intent is “Debug targets only”, you may want to ensure Release configurations don’t carry these dependencies at all.

Severity: medium

Fix This in Augment

🤖 Was this useful? React with 👍 or 👎, or 🚀 if it prevented an incident/outage.

@codecov
Copy link
Copy Markdown

codecov Bot commented May 20, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 25.73%. Comparing base (11e3b51) to head (9cafecc).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #868   +/-   ##
=======================================
  Coverage   25.72%   25.73%           
=======================================
  Files         677      677           
  Lines       47008    47008           
=======================================
+ Hits        12095    12096    +1     
+ Misses      34913    34912    -1     

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

@Kyle-Ye Kyle-Ye merged commit 7472dc4 into main May 20, 2026
7 of 10 checks passed
@Kyle-Ye Kyle-Ye deleted the feature/lookinside_server branch May 20, 2026 19:15
@Kyle-Ye Kyle-Ye added area: example Example apps, previews, sample projects, screenshots, or demo assets. type: feature New API, behavior, platform support, or user-facing capability. labels May 20, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: example Example apps, previews, sample projects, screenshots, or demo assets. 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