Skip to content

Keep ClassIsland GUI dormant on ExusiAI startup - #87

Merged
SQGTteacher merged 41 commits into
mainfrom
feat/theme-bridge
Oct 18, 2026
Merged

SQGTteacher merged 41 commits into
mainfrom
feat/theme-bridge

Conversation

@SQGTteacher

Copy link
Copy Markdown
Owner

Fix

ClassIsland plugin activation previously called host.Start(), which shows the information island whenever ExusiAI enables installed plugins. Activation now only registers contributions; explicit tray/page commands still start the original Avalonia runtime on demand.

Regression coverage

  • Activation, navigation/tray registration and host theme updates must leave the runtime stopped, invisible and without startup errors.
  • Activation honors cancellation.

Validation

  • Local Release build of plugin and Extension.Runtime.Tests: 0 warnings, 0 errors.
  • git diff --check passed.
  • Windows runtime tests require PR CI; not executable on the local Linux host.

FileViewer and RollCall activation paths were inspected and do not open their GUI. ArkPets retains its explicit user-configured pet autostart.

ExusiAI renders with WPF and the embedded ClassIsland renders with Avalonia,
each on its own compositor, so the two surfaces cannot share a visual tree.
Integrate at the theme boundary instead: the shell theme reaches the embedded
island as variant plus accent, and nothing else.

- Add the opt-in IWpfHostThemeExtension contract and a HostTheme record that
  carries only IsDark and the accent.
- WpfExtensionCoordinator pushes the current theme when an extension attaches
  and again on every theme change, isolated per package.
- ClassIslandPlugin forwards it. ClassIslandHost retains the last value and
  applies it on AppStarted, so a theme pushed during startup is not lost.
- ClassIsland.Desktop.Program gains SetEmbeddedTheme, beside the existing
  embedded control entry points.

The rest of the shell palette deliberately does not cross the boundary, so the
upstream FluentAvalonia design language and the XAML theme pack stay intact.

Verified: Release build reports 0 errors and the 61-test suite passes,
including two new tests for the contract. The reflection target was confirmed
present in the packaged ClassIsland.Desktop.dll. Runtime repaint behaviour and
the live accent change were not exercised.
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 18, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-18T01:07:55.217869Z bab9398 PR opened
ℹ️ 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" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@SQGTteacher
SQGTteacher merged commit 5ec9b0c into main Oct 18, 2026
1 check passed
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.

1 participant