Skip to content

Enhance Env WebUI and plugin development workflows - #299

Merged
BernardXiong merged 11 commits into
RT-Thread:masterfrom
BernardXiong:feature/env-ux-improvements
Oct 4, 2026
Merged

BernardXiong merged 11 commits into
RT-Thread:masterfrom
BernardXiong:feature/env-ux-improvements

Conversation

@BernardXiong

Copy link
Copy Markdown
Member

概述 / Summary

完善 Env 的 WebUI 项目体验和插件开发流程,统一网络配置,并改进命令行失败处理及远程浏览器启动。
Improve the Env WebUI project experience and plugin development workflows, unify network configuration, and improve CLI failure handling and remote browser launching.

主要变更 / Changes

  • 项目首页 / Project Home
    支持后台 SCons 构建、清理、日志查看及 ELF 产物展示。
    Support background SCons builds, cleanup, build logs, and ELF artifact discovery.

  • 项目文档 / Project Documents
    支持 Markdown、目录、代码高亮、图片、Mermaid 和 PlantUML,并限制工作区资源访问范围。
    Render Markdown, tables of contents, syntax highlighting, images, Mermaid, and PlantUML with workspace-bounded resource access.

  • 网络设置 / Network Settings
    统一代理、GitHub/Gitee 下载选择、PyPI 源和超时配置,接入包管理、SDK、插件市场及 Python 引导。
    Share proxy, GitHub/Gitee download selection, PyPI index, and timeout policies across package management, SDK downloads, the plugin market, and Python bootstrapping.

  • 命令行可靠性 / CLI Reliability
    传播失败结果和退出码,确保 SDK 操作恢复工作目录、参数及环境上下文。
    Propagate failures and exit codes, and restore the working directory, arguments, and environment context after SDK operations.

  • 插件清单 / Plugin Manifests
    支持 SVG/PNG 图标及工作区启动条件,补充打包校验和安装诊断。
    Support SVG/PNG icons and workspace launch requirements, with package validation and installation diagnostics.

  • 插件开发工具 / Plugin Development Kit
    新增 epack test、push/publish 工作流,官方插件升级至 1.1.0。
    Add epack test and push/publish workflows, and upgrade the official plugin to version 1.1.0.

  • 浏览器启动 / Browser Launching
    支持 VS Code Server helper 和 Remote CLI,避免桥接失败时误启动远程系统浏览器。
    Open URLs through the VS Code Server helper or Remote CLI without launching a remote system browser when the bridge fails.

  • 文档与静态资源 / Documentation and Static Assets
    同步中英文文档、前端依赖和静态构建产物。
    Update bilingual documentation, frontend dependencies, and generated static assets.

验证 / Validation

  • Python 回归测试 / Python regression tests: 230 passed, 2 skipped.
  • 前端单元测试 / Frontend unit tests: 26 passed.
  • Playwright E2E: 16 passed, 1 skipped,覆盖桌面和移动端 / covering desktop and mobile.
  • TypeScript 类型检查通过 / TypeScript type checking passed.
  • 生产构建通过,重建产物与已提交静态资源逐文件一致。
    Production build passed; rebuilt assets matched the committed static resources byte-for-byte.

行为说明 / Behavior Notes

  • 未指定插件时,WebUI 默认进入项目首页。
    WebUI opens the project home by default when no plugin is specified.
  • 网络设置仅作用于 Env 请求和子进程,不修改全局 Git、pip 或 Shell 配置。
    Network settings apply only to Env requests and child processes, without modifying global Git, pip, or shell configuration.
  • epack test 使用临时安装目录,不提供权限隔离沙箱。
    epack test uses a temporary installation directory and does not provide a security sandbox.
  • PlantUML 在线渲染会向外部服务发送图表源码;敏感图表应使用本地 Mermaid。
    Online PlantUML rendering sends diagram source to an external service; use local Mermaid rendering for sensitive diagrams.

新增持久化代理、下载镜像、PyPI 和超时策略,并接入包下载、SDK、插件市场及 Python 引导。

子进程使用独立网络环境,不改写全局配置;补充代理绕过、配置刷新和引导测试。
统一布尔结果和显式退出码,向调用方传播包管理、menuconfig、SDK 和 WebUI 命令失败。

SDK 操作始终恢复工作目录、argv 和环境上下文,并补充失败路径回归测试。
扩展插件清单和 JSON Schema,支持 SVG/PNG 图标及文件、目录和布尔组合启动条件。

打包与安装诊断校验图标资源,新增工作区条件评估器及相关测试。
新增 epack test 临时安装测试及 push/publish 市场发布,支持 token 文件、发布说明和全网卡 WebUI 测试。

临时测试可忽略主机 PATH 命令冲突,官方 epack 升级至 1.1.0,并补充工作流测试。
新增项目首页、后台 SCons 构建与清理、Markdown/图表渲染、工作区插件导航及网络设置接口。

同步前端依赖和可复现静态产物,补充后端、前端单元及桌面/移动端端到端测试。
识别 VS Code 终端,优先使用 Server browser helper 或 Remote CLI 将 WebUI URL 交给客户端。

远程桥接失败时保留启动链接且不误开远程系统浏览器,覆盖显式选项、失败降级和桥接测试。
同步中英文插件文档,说明 epack 测试发布、图片图标、工作区条件、网络策略及 VS Code 浏览器桥接。

补充项目文档、图表、目录和资源安全限制说明,并更新清单规范示例。
移除宿主 Python 包预安装与默认 pyocd 安装,统一由 Env venv 管理运行依赖。

精简 Arch 安装流程,保留系统工具依赖,并补充安装脚本与 venv 引导回归测试。
以中英文说明首次激活时在 .venv 中安装运行依赖,替换宿主 Python 包安装建议。

明确 pyocd/OpenOCD 不属于基础安装,以及后续可选 Env 插件的提供方式。
将插件图标背景从橙色警告底色调整为协调的中性灰绿配色,适配浅色和深色主题。

补充桌面、移动端插件中心及详情弹窗的视觉回归测试。
固定 Vite 入口、代码分块和静态资源文件名,清理旧哈希构建产物,降低 Git 版本管理噪声。

宿主静态资源改为 no-cache 以确保固定路径重新加载最新 JS/CSS,插件资源保留现有缓存策略并补充服务端测试。
@BernardXiong
BernardXiong merged commit ec2c251 into RT-Thread:master Oct 4, 2026
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