Give Companion UI explicit project and execution dependencies - #33
Conversation
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 87088bcbcc
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: b13a3bf6ba
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
4dd6b16 to
f6ea2e5
Compare
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: f6ea2e52cd
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
f6ea2e5 to
9068e65
Compare
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 9068e658cf
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Companion editors and project windows now receive the project, state, runtime, navigation and debugger collaborators they use. Models capture project paths when created, and Search Everywhere queries its injected runtime rather than the process-wide JDT hook.
Java editors share a small EditorContext. ScriptExecutionService centralizes authenticated execution and boolean admission rejection for UI and MCP. Result subscriptions go through CompanionSession and are removed by their owners. MainWindow pairs debugger/theme/AWT listeners with disposal and shares project-window cleanup between switching and shutdown. Queued debugger work validates project/status before opening windows.
Validation: full
:check :localBundle --warning-mode failpassed with local Maven dependencies and offline mode; the UI harness rendered the source editor, runtime tree and resource tabs successfully. Added authenticated-session/gate-race coverage and updated UI/disposal fixtures. Independent spec/standards review findings are addressed.Stacked on #32. This wires C2/C3 dependencies before C1. The temporary CompanionApp createMainWindow/scriptExecutions/session entry points are removed by #34; #35 owns the AST cache. Save as script now navigates to the saved file, recording it in navigation history.
Script execution and UI availability share the application connection predicate, including switching and shutdown. Redundant file-tree branches and the post-dereference null check are removed.
Review notes:
CompanionApp.createMainWindow(),scriptExecutions()andsession()are transitional statics that feedMainWindow.INSTANCEuntil #34 removes the singleton and the statics together. Saving an evaluator expression as a script now opens it through navigation, so it records a history entry like any other open. Search Everywhere reads the project scope once when supplying its runtime.