Pine
|
686fee9c69
|
任务系统前端 v2:发布表单 v2 字段、六段标书、接单/交付/退出、验收/返工按钮
|
2026-09-05 03:41:04 +08:00 |
|
Pine
|
ae3ab5feb5
|
阶段5: 完整引入上游 OS Shell + Hub + Mailbox
- os/ 67 文件(DesktopOS/Dock/Launcher/MenuBar/MissionControl/NotificationCenter/AppStore/Window 系统 + os*Store/hooks)
- pages/Hub + api/modules/hub.ts + ImportHubModal(已有)
- Inbox 采用上游 Mailbox(approvals/messages 双 Tab + MailAccessControlDrawer/useMailPendingCount/mailDetail),保留云超服 Harvest 组件
- App.tsx 引入 OS Shell 分支(isOsPath→DesktopOSPage, Router 外)+ /hub/admin 路由 + BackendModeRouter + RuntimeAvailabilityGuard,保留云超服 AuthGuard/chatSocket/OPC 主题/vi-th-my-lo
- 双改合并:usePluginLoader(loadPawApp)/pluginMarket(isMarketPluginApp)/registry store(removeBySource)/hostExternals(removePlugin)/LanguageSwitcher(persistRemotely+ja-ru-pt-id)/BackendLoadingPage(override props)/ApprovalCard(reasoning)/auth.ts(mode)/auth/gate.ts
- SidebarSettingsPanel 加 Desktop Mode 入口(OS Shell 切换)
- locales 合并 os/hub/projectDirectory/inbox/account(zh/en/vi 用上游,lo/my/th 用 en 占位)
- 验证:tsc 0 错误、build 通过(1m23s)、阶段5 新增 35 文件 271 测试全过;全量回归 30 失败均预存在(stash 验证)
|
2026-09-04 10:36:41 +08:00 |
|
Pine
|
158582bc1a
|
fix(apps): 修复云超服市场应用安装后无法打开、无法卸载
打开问题:
- 根因:前端 loadAllPlugins() 仅在启动时加载插件 bundle,安装新应用后
路由未注册,AppCenter 打开显示 not loaded
- usePluginLoader 新增 loadPluginById(),按需加载单个应用 bundle
- AppMarket 安装成功后立即调用 loadPluginById 注册路由
- AppCenter 打开应用时若路由缺失自动尝试加载并给出可读提示
卸载问题:
- 根因:scoped id(@kmu/incubator 含 '/')无法在 URL 中表达,
后端 uninstall_pawapp 直接拒绝含 '/' 的 id
- 后端新增 POST /pawapps/uninstall(body 传 app_id),优先走插件
加载器卸载,fallback 按目录删除,并做 scoped id 路径穿越防护
- 前端 pawappApi.uninstall 改用 POST body
- fallback 目录扫描支持 scoped 命名空间(@scope/name 子目录)
|
2026-09-03 18:13:03 +08:00 |
|
Pine
|
8c01e4ec7b
|
fix: moduleRegistry 模块未找到警告降级为 debug
异步注册期间模块未就绪是正常的,不影响功能(lazyImportWithRetry 会回退到原始模块)。
降级为 console.debug 避免控制台被警告刷屏。
|
2026-09-03 11:05:45 +08:00 |
|
Pine
|
4033647628
|
feat(console): 主菜单栏插件/应用菜单聚合到自动'应用'分组(算力分组之后)
- store.ts: menuRegistry 对 primary.portal 的非原生游离顶层菜单项
(非 builtin、非分组、无有效 parentId)自动聚合到 core.apps-group
'应用' 分组,order 306 紧跟算力分组(core.compute-group 305)之后;
分组不带 roles → 对所有登录账号可见
- hostExternals.ts: registerRoutes 的 legacy 菜单落点从
primary.settings/plugins-group 改为 primary.portal(由聚合收进'应用'分组),
删除 ensurePluginsGroup
- 更新 hostExternals.compat.test 断言 + 新增 menu.test 聚合用例(20/20 通过)
|
2026-09-01 21:06:51 +08:00 |
|
Pine
|
9b30f681c6
|
feat: 智能体控制台前端(console)
- React+antd+zustand,注册表驱动路由/菜单/权限
- Tauri 桌面壳、后端托管 SPA、跨标签页消息队列
|
2026-08-23 22:43:18 +08:00 |
|