Skip to content

[Feature] Big changes in the UI and how the setup is done (proposal to land in steps) #131

@maatheusgois-dd

Description

@maatheusgois-dd

Over the last few days I accumulated a meaningful set of changes in my fork (Compare) that I'd like to propose landing back into johnno1962/InjectionNext main.
Everything below was developed and tested against Xcode 26.3 on macOS, using the fork's InjectionLite + DLKit submodules.

Rather than opening one mega-PR, I'd like to split this into ~7 incremental PRs so each one stays reviewable. Happy to adjust the order / granularity, just tell me what you prefer.

New Icons

Image

New nav bar

Image

Configs

Image Image Image Image Image Image Image Image Image Image Image

Console log (instead of the last error)

Image

Proposed merge plan (in order) - After your PR closed to the Xcode26.3 change

Each step is an independent PR, stacked on top of the previous one. I'll rebase on your main before each.

  1. PR 1 — Compiler/runtime fixes (non-UI).
    WMO flag filter, ControlServer start order + logging, watch menu title, @MainActor fixes, safer signal handlers, warning silencing. No behavior change for existing users.
  2. PR 2 — Assets + Makefile (help to development).
    AppIcon asset catalog, red status asset, Makefile. Pure additions / cosmetics.
  3. PR 3 — SwiftUI migration (status bar + settings + project picker).
    The big UI change. Old XIB/AppKit removed in the same PR to avoid dead code. (can impact the minimal os to build because now is swiftUI)
  4. PR 4 — Project picker enhancements.
    Browse option, "Select Project" status bar action, reuse running Xcode.
    Depends on PR 3.
  5. PR 5 — Build-system settings UI.
    Auto-detect + override + hybrid SDK-filter fallback + Bazel-path skipping.
  6. PR 6 — In-app console + LogManager.
    stdout/stderr capture, dedup, CAS/SIGPIPE hinting.
  7. PR 7 — MCP server + event tracker. (only new methods)
    Optional feature, disabled by default; can be its own SPM target so it doesn't bloat the default app.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions