Skip to content

[Pull Request] Dev=UI separate si#9

Open
StardustSeemsInk wants to merge 5 commits into
dev=mainfrom
dev=UI-separate-SI
Open

[Pull Request] Dev=UI separate si#9
StardustSeemsInk wants to merge 5 commits into
dev=mainfrom
dev=UI-separate-SI

Conversation

@StardustSeemsInk

Copy link
Copy Markdown
Member

What does this PR do?

将Dashboard的后端逻辑分离为Core项目(和Core.Contract项目),并添加了Workflow相关的功能(包括BlockScript与蓝图,它们的互译与编译运行/debug模式运行,前端编辑器窗口与工作流库管理界面)。

This pull request introduces significant improvements to the plugin loader's command-line parsing, connection handling, and application lifecycle management across both the console and WPF entry points. It adds robust asynchronous APIs, enhanced debugging output, and ensures graceful shutdown of connections. Additionally, all projects are updated to target .NET 10.0 for consistency and future compatibility.

Core improvements to argument parsing and plugin loading:

  • Refactored ArgsParser to support asynchronous parsing with ParseAsync, and added LoadWithoutBlockingAsync for non-blocking plugin loading, suitable for GUI hosts like WPF. Both methods improve error handling and connection setup, and provide detailed debug output. [1] [2] [3]
  • Added comprehensive debug logging throughout the plugin loading and connection process, including connection attempts, plugin registration, and message sending, to aid in troubleshooting and development. [1] [2] [3] [4]

Connection management and graceful shutdown:

  • Improved CommunicationManager.Connect with detailed state checks, timeout handling, and robust exception logging; ensures that WebSocket connections are established reliably or fail with clear diagnostics.
  • Added global exception handlers in Program.cs to catch and log unhandled exceptions and unobserved task exceptions, preventing silent failures.
  • Updated WPF application's App.xaml.cs to use the new non-blocking loader and to gracefully close the WebSocket connection on exit. [1] [2] [3]

Project configuration updates:

  • Updated all project files to target .NET 10.0 (and .NET 10.0-windows for WPF/WinForms), ensuring compatibility and access to the latest language/runtime features. [1] [2] [3]

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