Skip to content

fix(bridge): accept null project values in umbrella handshakes - #8

Merged
dannote merged 1 commit into
elixir-vibe:masterfrom
lATAl:fix/umbrella-ready-handshake
Sep 13, 2026
Merged

dannote merged 1 commit into
elixir-vibe:masterfrom
lATAl:fix/umbrella-ready-handshake

Conversation

@lATAl

@lATAl lATAl commented Sep 13, 2026

Copy link
Copy Markdown
Contributor

Problem

Umbrella roots can omit the :app entry in mix.exs, as shown in the official Elixir guide. For these projects, Pi.Bridge.Info returns nil for the project application, which becomes project: null in the JSON ready message.

The extension only accepts project as a string or an omitted field. It rejects this valid handshake, leaving the embedded bridge stuck in the starting state.

Changes

  • Allow BridgeInfo.project to be a string, null, or omitted in both the TypeScript type and the runtime schema.
  • Extend protocol tests to accept project: null while continuing to reject invalid values such as numbers.
  • Add an integration test that starts the bridge against a temporary umbrella project, verifies project: null in the ready handshake, and runs an AST search.

@dannote
dannote merged commit 7416430 into elixir-vibe:master Sep 13, 2026
1 check passed
@dannote

dannote commented Sep 13, 2026

Copy link
Copy Markdown
Collaborator

Great finds, thank you for the fixes and regression tests! All three merged.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants